[mpich-commits] [mpich] MPICH primary repository branch, master, updated. v3.1rc2-209-gba3badf

mysql vizuser noreply at mpich.org
Fri Jan 31 15:39:55 CST 2014


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "MPICH primary repository".

The branch, master has been updated
       via  ba3badffa335a4e8841b02ad377241b271f27528 (commit)
      from  ea817af419894afbea6a2442c21b0b962fe5f087 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.mpich.org/mpich.git/commitdiff/ba3badffa335a4e8841b02ad377241b271f27528

commit ba3badffa335a4e8841b02ad377241b271f27528
Author: Pavan Balaji <balaji at mcs.anl.gov>
Date:   Fri Jan 31 03:54:34 2014 -0600

    Delete some windows-related code.
    
    This patch only removes the most obvious pieces of windows code.
    There is certainly more windows-related code remaining.
    
    Signed-off-by: Ken Raffenetti <raffenet at mcs.anl.gov>

diff --git a/COPYRIGHT.rtf b/COPYRIGHT.rtf
deleted file mode 100644
index e60715a..0000000
--- a/COPYRIGHT.rtf
+++ /dev/null
@@ -1,56 +0,0 @@
-{\rtf1\ansi\ansicpg1252\uc1\deff0\stshfdbch0\stshfloch0\stshfhich0\stshfbi0\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
-{\f2\fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}{\f36\froman\fcharset238\fprq2 Times New Roman CE;}{\f37\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f39\froman\fcharset161\fprq2 Times New Roman Greek;}
-{\f40\froman\fcharset162\fprq2 Times New Roman Tur;}{\f41\froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f42\froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f43\froman\fcharset186\fprq2 Times New Roman Baltic;}
-{\f44\froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f56\fmodern\fcharset238\fprq1 Courier New CE;}{\f57\fmodern\fcharset204\fprq1 Courier New Cyr;}{\f59\fmodern\fcharset161\fprq1 Courier New Greek;}
-{\f60\fmodern\fcharset162\fprq1 Courier New Tur;}{\f61\fmodern\fcharset177\fprq1 Courier New (Hebrew);}{\f62\fmodern\fcharset178\fprq1 Courier New (Arabic);}{\f63\fmodern\fcharset186\fprq1 Courier New Baltic;}
-{\f64\fmodern\fcharset163\fprq1 Courier New (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;
-\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{
-\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext0 Normal;}{\*\cs10 \additive \ssemihidden Default Paragraph Font;}{\*
-\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv 
-\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1024\langfe1024\cgrid\langnp1024\langfenp1024 \snext11 \ssemihidden Normal Table;}{\s15\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 
-\f2\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext15 \styrsid10161903 Plain Text;}{\*\cs16 \additive \ul\cf2 \sbasedon10 \styrsid2708603 Hyperlink;}}{\*\latentstyles\lsdstimax156\lsdlockeddef0}{\*\rsidtbl \rsid748235\rsid1846685
-\rsid1861041\rsid1902449\rsid2708603\rsid2974454\rsid2980031\rsid3285676\rsid4213780\rsid5981626\rsid6841942\rsid7408673\rsid8087515\rsid8157125\rsid8341836\rsid8730958\rsid8859827\rsid9716655\rsid10161903\rsid10827371\rsid11693622\rsid12919832
-\rsid13004935\rsid13125986\rsid13447879\rsid14161470\rsid14766798\rsid15560263\rsid15802605\rsid15822176\rsid16341196\rsid16413980\rsid16598965}{\*\generator Microsoft Word 11.0.5604;}{\info{\title COPYRIGHT}{\author David Ashton}{\operator David Ashton}
-{\creatim\yr2004\mo1\dy31\hr1\min12}{\revtim\yr2004\mo1\dy31\hr1\min12}{\version2}{\edmins1}{\nofpages1}{\nofwords226}{\nofchars1289}{\nofcharsws1512}{\vern24689}}\margl1319\margr1319 
-\widowctrl\ftnbj\aenddoc\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1319\dgvorigin1440\dghshow1\dgvshow1
-\jexpand\viewkind1\viewscale150\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct\asianbrkrule\nojkernpunct\rsidroot15560263 
-\fet0\sectd \linex0\endnhere\sectlinegrid360\sectdefaultcl\sectrsid10161903\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang 
-{\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7
-\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain 
-\qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2708603 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid2708603 COPYRIGHT
-\par }\pard \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2708603 {\insrsid2708603 
-\par The following is a notice of limited availability of the code, and disclaimer}{\insrsid2708603  }{\insrsid2708603 which must be included in the prologue of the code and in all source listings}{\insrsid2708603  }{\insrsid2708603 of the code.
-\par 
-\par Copyright Notice
-\par  + 2002 University of Chicago
-\par 
-\par Permission is hereby granted to use, reproduce, prepare derivative works, and}{\insrsid2708603  }{\insrsid2708603 to redistribute to others.  This software was authored by:
-\par 
-\par Argonne National Laboratory Group
-\par W. Gropp: (630) 252-4318; FAX: (630) 252-5986; e-mail: gropp at mcs.anl.gov
-\par E. Lusk:  (630) 252-7852; FAX: (630) 252-5986; e-mail: lusk at mcs.anl.gov
-\par Mathematics and Computer Science Division
-\par Argonne National Laboratory, Argonne IL 60439
-\par 
-\par 
-\par }\pard \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2708603 {\insrsid2708603 GOVERNMENT LICENSE
-\par }\pard \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2708603 {\insrsid2708603 
-\par Portions of this material resulted from work developed under a U.S.}{\insrsid2708603  }{\insrsid2708603 Government Contract and are subject to the following license: the Government}{\insrsid2708603  }{\insrsid2708603 
-is granted for itself and others acting on its behalf a paid-up, nonexclusive,}{\insrsid2708603  }{\insrsid2708603 irrevocable worldwide license in this computer software to reproduce, prepare}{\insrsid2708603  }{\insrsid2708603 
-derivative works, and perform publicly and display publicly.
-\par 
-\par }\pard \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2708603 {\insrsid2708603 DISCLAIMER
-\par }\pard \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2708603 {\insrsid2708603 
-\par This computer code material was prepared, in part, as an account of work}{\insrsid2708603  }{\insrsid2708603 sponsored by an agency of the United States Government.  Neither the United}{\insrsid2708603  }{\insrsid2708603 
-States, nor the University of Chicago, nor any of their employees, makes any}{\insrsid2708603  }{\insrsid2708603 warranty express or implied, or assumes any legal liability or responsibility}{\insrsid2708603  }{\insrsid2708603 
-for the accuracy, completeness, or usefulness of any information, apparatus,}{\insrsid2708603  }{\insrsid2708603 product, or process disclosed, or represents that its use would not infringe}{\insrsid2708603  }{\insrsid2708603 privately owned rights.
-\par }\pard \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2708603 {\insrsid2708603 
-\par Portions of this code were written by Microsoft. Those portions are Copyright (c) 2007 Microsoft Corporation.}{\insrsid2708603  }{\insrsid2708603 
-Microsoft grants permission to use, reproduce, prepare derivative works, and to redistribute to others.}{\insrsid2708603  }{\insrsid2708603
-The code is licensed "as is." The User bears the risk of using it.}{\insrsid2708603  }{\insrsid2708603
-Microsoft gives no express warranties, guarantees or conditions.}{\insrsid2708603  }{\insrsid2708603
-To the extent permitted by law, Microsoft excludes the implied warranties of merchantability,}{\insrsid2708603  }{\insrsid2708603
-fitness for a particular purpose and non-infringement.
-
-\par }\pard\plain \s15\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2708603 \f2\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid2708603\charrsid10161903 
-\par }}
diff --git a/Makefile.am b/Makefile.am
index a655575..42a76ff 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -419,7 +419,6 @@ install-pdf-local:
 	if [ ! -e ${DESTDIR}${docdir} ] ; then $(MKDIR_P) ${DESTDIR}${docdir} ; fi
 	if [ -s $(srcdir)/doc/userguide/user.pdf ] ; then $(INSTALL_DATA) $(srcdir)/doc/userguide/user.pdf ${DESTDIR}${docdir}/user.pdf ; fi
 	if [ -s $(srcdir)/doc/installguide/install.pdf ] ; then $(INSTALL_DATA) $(srcdir)/doc/installguide/install.pdf ${DESTDIR}${docdir}/install.pdf ; fi
-	if [ -s $(srcdir)/doc/smpd/smpd_pmi.pdf ] ; then $(INSTALL_DATA) $(srcdir)/doc/smpd/smpd_pmi.pdf ${DESTDIR}${docdir}/smpd_pmi.pdf ; fi
 	if [ -s $(srcdir)/doc/logging/logging.pdf ] ; then $(INSTALL_DATA) $(srcdir)/doc/logging/logging.pdf ${DESTDIR}${docdir}/logging.pdf ; fi
 
 include $(top_srcdir)/doc/Makefile.mk
diff --git a/README.vin b/README.vin
index d436a8e..036cc0f 100644
--- a/README.vin
+++ b/README.vin
@@ -570,13 +570,6 @@ mpich-%VERSION%/src/pm/mpd/README has more information about
 interactive commands for managing the ring of MPDs. The MPD process
 manager is now deprecated.
 
-smpd
----- 
-SMPD is a process manager for interoperability between Microsoft
-Windows and UNIX, where some processes are running on Windows and
-others are running on a variant of UNIX. For more information, please
-see mpich-%VERSION%/src/pm/smpd/README.
-
 gforker
 -------
 gforker is a process manager that creates processes on a single
diff --git a/README.winbin.rtf b/README.winbin.rtf
deleted file mode 100644
index b38f890..0000000
--- a/README.winbin.rtf
+++ /dev/null
@@ -1,136 +0,0 @@
-{\rtf1\ansi\ansicpg1252\uc1\deff0\stshfdbch0\stshfloch0\stshfhich0\stshfbi0\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
-{\f2\fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}{\f3\froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f10\fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings;}
-{\f36\fswiss\fcharset0\fprq2{\*\panose 020b0604030504040204}Tahoma;}{\f37\froman\fcharset238\fprq2 Times New Roman CE;}{\f38\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f40\froman\fcharset161\fprq2 Times New Roman Greek;}
-{\f41\froman\fcharset162\fprq2 Times New Roman Tur;}{\f42\froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f43\froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f44\froman\fcharset186\fprq2 Times New Roman Baltic;}
-{\f45\froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f57\fmodern\fcharset238\fprq1 Courier New CE;}{\f58\fmodern\fcharset204\fprq1 Courier New Cyr;}{\f60\fmodern\fcharset161\fprq1 Courier New Greek;}
-{\f61\fmodern\fcharset162\fprq1 Courier New Tur;}{\f62\fmodern\fcharset177\fprq1 Courier New (Hebrew);}{\f63\fmodern\fcharset178\fprq1 Courier New (Arabic);}{\f64\fmodern\fcharset186\fprq1 Courier New Baltic;}
-{\f65\fmodern\fcharset163\fprq1 Courier New (Vietnamese);}{\f397\fswiss\fcharset238\fprq2 Tahoma CE;}{\f398\fswiss\fcharset204\fprq2 Tahoma Cyr;}{\f400\fswiss\fcharset161\fprq2 Tahoma Greek;}{\f401\fswiss\fcharset162\fprq2 Tahoma Tur;}
-{\f402\fswiss\fcharset177\fprq2 Tahoma (Hebrew);}{\f403\fswiss\fcharset178\fprq2 Tahoma (Arabic);}{\f404\fswiss\fcharset186\fprq2 Tahoma Baltic;}{\f405\fswiss\fcharset163\fprq2 Tahoma (Vietnamese);}{\f406\fswiss\fcharset222\fprq2 Tahoma (Thai);}}
-{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;
-\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 
-\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext0 Normal;}{\*\cs10 \additive \ssemihidden Default Paragraph Font;}{\*
-\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv 
-\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1024\langfe1024\cgrid\langnp1024\langfenp1024 \snext11 \ssemihidden Normal Table;}{\*\cs15 \additive \b \sbasedon10 \styrsid3147644 Strong;}{
-\s16\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \cbpat9 \f36\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext16 \ssemihidden \styrsid289831 Document Map;}}{\*\latentstyles\lsdstimax156\lsdlockeddef0}
-{\*\listtable{\list\listtemplateid1008503654\listhybrid{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698705\'02\'00);}{\levelnumbers\'01;}\fbias0 \fi-360\li720
-\jclisttab\tx720\lin720 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698713\'02\'01.;}{\levelnumbers\'01;}\fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel
-\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698715\'02\'02.;}{\levelnumbers\'01;}\fi-180\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0
-\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698703\'02\'03.;}{\levelnumbers\'01;}\fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0
-\levelindent0{\leveltext\leveltemplateid67698713\'02\'04.;}{\levelnumbers\'01;}\fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
-\leveltemplateid67698715\'02\'05.;}{\levelnumbers\'01;}\fi-180\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698703
-\'02\'06.;}{\levelnumbers\'01;}\fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698713\'02\'07.;}{\levelnumbers\'01;}\fi-360\li5760
-\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698715\'02\'08.;}{\levelnumbers\'01;}\fi-180\li6480\jclisttab\tx6480\lin6480 }{\listname 
-;}\listid675112636}{\list\listtemplateid1315759790\listhybrid{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698705\'02\'00);}{\levelnumbers\'01;}\fbias0 \fi-360\li720
-\jclisttab\tx720\lin720 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698713\'02\'01.;}{\levelnumbers\'01;}\fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel
-\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698715\'02\'02.;}{\levelnumbers\'01;}\fi-180\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0
-\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698703\'02\'03.;}{\levelnumbers\'01;}\fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0
-\levelindent0{\leveltext\leveltemplateid67698713\'02\'04.;}{\levelnumbers\'01;}\fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
-\leveltemplateid67698715\'02\'05.;}{\levelnumbers\'01;}\fi-180\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698703
-\'02\'06.;}{\levelnumbers\'01;}\fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698713\'02\'07.;}{\levelnumbers\'01;}\fi-360\li5760
-\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698715\'02\'08.;}{\levelnumbers\'01;}\fi-180\li6480\jclisttab\tx6480\lin6480 }{\listname 
-;}\listid859316300}{\list\listtemplateid555228500\listhybrid{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698705\'02\'00);}{\levelnumbers\'01;}\fi-360\li720
-\jclisttab\tx720\lin720 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698713\'02\'01.;}{\levelnumbers\'01;}\fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel
-\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698715\'02\'02.;}{\levelnumbers\'01;}\fi-180\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0
-\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698703\'02\'03.;}{\levelnumbers\'01;}\fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360
-\levelindent0{\leveltext\leveltemplateid67698713\'02\'04.;}{\levelnumbers\'01;}\fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext
-\leveltemplateid67698715\'02\'05.;}{\levelnumbers\'01;}\fi-180\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698703
-\'02\'06.;}{\levelnumbers\'01;}\fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698713\'02\'07.;}{\levelnumbers\'01;}
-\fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698715\'02\'08.;}{\levelnumbers\'01;}\fi-180\li6480\jclisttab\tx6480\lin6480 }
-{\listname ;}\listid1088767487}{\list\listtemplateid-1590372490\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat8\levelspace0\levelindent0{\leveltext\leveltemplateid1829638174\'01\u-3913 ?;}{\levelnumbers;}
-\loch\af3\hich\af3\dbch\af0\fbias0 \fi-360\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 
-\fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li2160
-\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li2880\jclisttab\tx2880\lin2880 }
-{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23
-\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
-\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1
-\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
-\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid1964730855}}{\*\listoverridetable{\listoverride\listid1964730855\listoverridecount0\ls1}{\listoverride\listid675112636
-\listoverridecount0\ls2}{\listoverride\listid1088767487\listoverridecount0\ls3}{\listoverride\listid859316300\listoverridecount0\ls4}}{\*\rsidtbl \rsid289831\rsid3147644\rsid3749324\rsid5849808\rsid6959921\rsid9307247\rsid9724047\rsid10776424\rsid12541554
-\rsid12989931}{\*\generator Microsoft Word 11.0.6359;}{\info{\author David Ashton}{\operator David Ashton}{\creatim\yr2004\mo2\dy24\hr23\min34}{\revtim\yr2005\mo6\dy7\hr12\min59}{\version9}{\edmins63}{\nofpages2}{\nofwords451}{\nofchars2577}
-{\*\company Argonne National Lab}{\nofcharsws3022}{\vern24703}}\widowctrl\ftnbj\aenddoc\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\hyphcaps0\horzdoc\dghspace120\dgvspace120\dghorigin1701\dgvorigin1984\dghshow0\dgvshow3
-\jcompress\viewkind4\viewscale100\nolnhtadjtbl\rsidroot3749324 \fet0\sectd \linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3
-\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}
-{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain 
-\ql \li0\ri0\nowidctlpar\faauto\outlinelevel0\rin0\lin0\itap0\pararsid289831 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\f2\fs20\insrsid5849808 MPICH for Microsoft Windows
-\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\f2\fs20\insrsid5849808 Email bugs and error reports to:
-\par mpich-discuss at mcs.anl.gov
-\par 
-\par 
-\par }\pard \ql \li0\ri0\nowidctlpar\faauto\outlinelevel0\rin0\lin0\itap0\pararsid289831 {\f2\fs20\insrsid5849808 SYSTEM REQUIREMENTS:
-\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\f2\fs20\insrsid5849808 
-\par 
-\par 1) MS Development Environment}{\f2\fs20\insrsid3749324 , Visual Studio or gcc }{\f2\fs20\insrsid5849808 to compile C}{\f2\fs20\insrsid3749324 /C++}{\f2\fs20\insrsid5849808  MPI programs.
-\par 2) Intel Fortran 8.0}{\f2\fs20\insrsid3749324  or g77}{\f2\fs20\insrsid5849808  to compile Fortran MPI programs.
-\par 3) Administrator privileges on your machines to install the process manager, smpd.exe.
-\par 
-\par 
-\par }\pard \ql \li0\ri0\nowidctlpar\faauto\outlinelevel0\rin0\lin0\itap0\pararsid289831 {\f2\fs20\insrsid5849808 THE INSTALLER:
-\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\f2\fs20\insrsid5849808 
-\par 
-\par You must install MPICH on all machines that you want to run MPI programs on. }{\f2\fs20\insrsid3749324  Run the installer}{\f2\fs20\insrsid5849808  on each machine individually.
-\par 
-\par The installer creates the following mpich directory structure on your machine:
-\par mpich\\bin
-\par mpich\\include
-\par mpich\\lib
-\par 
-\par The include and lib directories contain the libraries needed to compile MPI programs.  The mpich dlls are copied to the Windows\\
-system32 directory.  The bin directory contains smpd.exe which is the MPICH process manager used to launch MPI programs.  mpiexec.exe}{\f2\fs20\insrsid9724047 ,}{\f2\fs20\insrsid5849808  also found in the bin directory}{\f2\fs20\insrsid9724047 ,}{
-\f2\fs20\insrsid5849808  is used to start MPICH jobs.
-\par 
-\par 
-\par }\pard \ql \li0\ri0\nowidctlpar\faauto\outlinelevel0\rin0\lin0\itap0\pararsid289831 {\f2\fs20\insrsid5849808 COMPILING:
-\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\f2\fs20\insrsid5849808 
-\par 
-\par Compiling an MPI program:
-\par {\listtext\pard\plain\f2\fs20\insrsid5849808 \hich\af2\dbch\af0\loch\f2 1)\tab}}\pard \ql \fi-360\li720\ri0\nowidctlpar\jclisttab\tx720\faauto\ls3\rin0\lin720\itap0\pararsid10776424 {\f2\fs20\insrsid5849808 
-Create a project for Visual Studio 2003, or Intel Fortran 8.0
-\par {\listtext\pard\plain\f2\fs20\insrsid5849808 \hich\af2\dbch\af0\loch\f2 2)\tab}Add mpich\\include to the include path
-\par {\listtext\pard\plain\f2\fs20\insrsid5849808 \hich\af2\dbch\af0\loch\f2 3)\tab}Add mpich\\lib to the library path
-\par {\listtext\pard\plain\f2\fs20\insrsid289831 \hich\af2\dbch\af0\loch\f2 4)\tab}}{\f2\fs20\insrsid289831 For C applications a}{\f2\fs20\insrsid5849808 dd mpi.lib to your target link command.
-\par {\listtext\pard\plain\f2\fs20\insrsid289831 \hich\af2\dbch\af0\loch\f2 5)\tab}}{\f2\fs20\insrsid289831 For }{\f2\fs20\insrsid5849808 Fortran applications add }{\f2\fs20\insrsid9724047 f}{\f2\fs20\insrsid5849808 mpich.lib to the link command.
-\par {\listtext\pard\plain\f2\fs20\insrsid5849808 \hich\af2\dbch\af0\loch\f2 6)\tab}Compile
-\par {\listtext\pard\plain\f2\fs20\insrsid5849808 \hich\af2\dbch\af0\loch\f2 7)\tab}Place your application and all the dlls it depends on in a shared location or copy them to all the nodes.
-\par {\listtext\pard\plain\f2\fs20\insrsid5849808 \hich\af2\dbch\af0\loch\f2 8)\tab}Run the application using mpiexec
-\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\f2\fs20\insrsid5849808 
-\par }{\f2\fs20\insrsid9307247 For Visual Fortran 6 use }{\f2\fs20\insrsid9724047 f}{\f2\fs20\insrsid9307247 mpichs.lib:
-\par {\listtext\pard\plain\f3\fs20\insrsid9724047 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ql \fi-360\li720\ri0\nowidctlpar\jclisttab\tx720\faauto\ls1\rin0\lin720\itap0\pararsid9307247 {\f2\fs20\insrsid9724047 f}{\f2\fs20\insrsid9307247 
-mpich.lib contains all caps cdecl: MPI_INIT
-\par {\listtext\pard\plain\f3\fs20\insrsid9724047 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\f2\fs20\insrsid9724047 f}{\f2\fs20\insrsid9307247 mpichs.lib contains all caps stdcall: MPI_INIT at 4
-\par {\listtext\pard\plain\f3\fs20\insrsid9724047 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\f2\fs20\insrsid9724047 f}{\f2\fs20\insrsid9307247 mpichg.lib or }{\f2\fs20\insrsid9724047 f}{\f2\fs20\insrsid9307247 mpichg.a contain lowercase cdecl: mpi_init__
-\par }\pard \ql \li0\ri0\nowidctlpar\faauto\outlinelevel0\rin0\lin0\itap0\pararsid289831 {\f2\fs20\insrsid9307247 For gcc/g77
-\par {\listtext\pard\plain\f2\fs20\insrsid9307247 \hich\af2\dbch\af0\loch\f2 1)\tab}}\pard \ql \fi-360\li720\ri0\nowidctlpar\jclisttab\tx720\faauto\ls2\rin0\lin720\itap0\pararsid9307247 {\f2\fs20\insrsid9307247 create a makefile
-\par {\listtext\pard\plain\f2\fs20\insrsid9307247 \hich\af2\dbch\af0\loch\f2 2)\tab}add \endash I\'85mpich\\include
-\par {\listtext\pard\plain\f2\fs20\insrsid9307247 \hich\af2\dbch\af0\loch\f2 3)\tab}add \endash L\'85mpich\\lib
-\par {\listtext\pard\plain\f2\fs20\insrsid9307247 \hich\af2\dbch\af0\loch\f2 4)\tab}}\pard \ql \fi-360\li720\ri0\nowidctlpar\jclisttab\tx720\faauto\ls2\rin0\lin720\itap0\pararsid9724047 {\f2\fs20\insrsid9307247 add \endash lmpi}{\f2\fs20\insrsid10776424 
- (for g77: -l}{\f2\fs20\insrsid9724047 f}{\f2\fs20\insrsid10776424 mpichg)}{\f2\fs20\insrsid12541554 
-\par {\listtext\pard\plain\f2\fs20\insrsid9307247 \hich\af2\dbch\af0\loch\f2 5)\tab}}\pard \ql \fi-360\li720\ri0\nowidctlpar\jclisttab\tx720\faauto\ls2\rin0\lin720\itap0\pararsid9307247 {\f2\fs20\insrsid9307247 add the rules for your source files
-\par {\listtext\pard\plain\f2\fs20\insrsid9307247 \hich\af2\dbch\af0\loch\f2 6)\tab}same as 6,7,8 above
-\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0\pararsid9307247 {\f2\fs20\insrsid9307247 
-\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\f2\fs20\insrsid9307247 
-\par }\pard \ql \li0\ri0\nowidctlpar\faauto\outlinelevel0\rin0\lin0\itap0\pararsid289831 {\f2\fs20\insrsid5849808 RUNNING MPI JOBS:
-\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\f2\fs20\insrsid5849808 
-\par 
-\par mpiexec is a command line application used to launch MPI jobs.  Bring up a command prompt to run it.  Execute "mpiexec" to see the available options.
-\par 
-\par The simplest mpiexec command is like this:
-\par mpiexec -n 3 myapp.exe
-\par 
-\par 
-\par }\pard \ql \li0\ri0\nowidctlpar\faauto\outlinelevel0\rin0\lin0\itap0\pararsid289831 {\f2\fs20\insrsid5849808 MINIMAL INSTALLATION:
-\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\f2\fs20\insrsid5849808 
-\par 
-\par If you want to have worker nodes that do not have any tools on them, you can simply copy smpd.exe to each node and execute "smpd.exe -install".  
-\par 
-\par smpd.exe is the only application required on each machine to launch MPICH jobs}{\f2\fs20\insrsid9724047 . }{\f2\fs20\insrsid5849808  }{\f2\fs20\insrsid9724047 B}{\f2\fs20\insrsid5849808 ut}{\f2\fs20\insrsid9724047 ,}{\f2\fs20\insrsid5849808 
- MPICH applications require the mpich dlls.  This requirement can be satisfied by copying the mpich dlls to the windows\\
-system32 directory on each node.  Then any mpich application can run on those systems.  This is what the installer does.  If you don't want to copy the mpich dlls to e
-ach machine, then you need to place the dlls in the same location as the executable you are going to launch.
-\par 
-\par For example, if you have a directory called \\\\myserver\\mysharedfolder and you have myapp.exe and }{\f2\fs20\insrsid3147644 *}{\f2\fs20\insrsid5849808 mpich}{\f2\fs20\insrsid3147644 *}{\f2\fs20\insrsid5849808 .dll in that directory then you can execu
-te this command:  "mpiexec -n 4 \\\\myserver\\mysharedfolder\\myapp.exe"
-\par 
-\par Note: There are several mpich dlls and depending on your build target (Fortran, C, Debug or Release) you will need the corresponding dll}{\f2\fs20\insrsid9724047 s}{\f2\fs20\insrsid5849808  in the application directory.
-\par 
-\par }{\f2\fs20\insrsid10776424 
-\par }}
\ No newline at end of file
diff --git a/autogen.sh b/autogen.sh
index c2f52e1..48b3e1d 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -149,7 +149,6 @@ do_f77=yes
 do_f77tof90=yes
 do_build_configure=yes
 do_genstates=yes
-do_smpdversion=yes
 do_atdir_check=no
 do_atver_check=yes
 do_subcfg_m4=yes
@@ -173,7 +172,7 @@ export autoreconf_args
 
 # List of steps that we will consider (We do not include depend
 # because the values for depend are not just yes/no)
-AllSteps="geterrmsgs bindings f77 f77tof90 build_configure genstates smpdversion getparms"
+AllSteps="geterrmsgs bindings f77 f77tof90 build_configure genstates getparms"
 stepsCleared=no
 
 for arg in "$@" ; do
@@ -650,24 +649,6 @@ fi
 
 
 ########################################################################
-## Update SMPD version
-########################################################################
-
-if [ "$do_smpdversion" = yes ] ; then
-    echo_n "Creating src/pm/smpd/smpd_version.h... "
-    smpdVersion=${MPICH_VERSION}
-    cat >src/pm/smpd/smpd_version.h <<EOF
-/* -*- Mode: C; c-basic-offset:4 ; -*- */
-/*  
- *  (C) 2005 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-#define SMPD_VERSION "$smpdVersion"
-EOF
-    echo "done"
-fi
-
-########################################################################
 ## Building subsys_include.m4
 ########################################################################
 if [ "X$do_subcfg_m4" = Xyes ] ; then
diff --git a/configure.ac b/configure.ac
index 8f560f2..71ee3cc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1643,7 +1643,7 @@ hasError=no
 # 
 # Then, for the selected PMI, the setup script (if any) is run.  This is
 # necessary because the setup of the PM may require information discovered
-# or provided duing the PMI setup step (e.g., smpd requires this)
+# or provided duing the PMI setup step.
 #
 # Finally, for each PM, the setup script is executed.
 # 
@@ -1688,8 +1688,7 @@ fi
 pm_name=$first_pm_name
 AC_SUBST(pm_name)
 
-# Some versions of PM and PMI require a special definition (currently, only
-# smpd requires this)
+# Some versions of PM and PMI require a special definition
 if test "$PMI_REQUIRES_READABLE_TOKENS" = "yes" ; then
     AC_DEFINE(USE_HUMAN_READABLE_TOKENS,1,[Define to use ='s and spaces in the string utilities.])
 fi
@@ -6100,9 +6099,7 @@ AC_OUTPUT(Makefile \
           doc/installguide/Makefile \
           doc/logging/Makefile \
           doc/refman/Makefile \
-          doc/smpd/Makefile \
           doc/userguide/Makefile \
-          doc/windev/Makefile \
           test/commands/cmdtests)
 
 echo 'Configuration completed.'
diff --git a/doc/Makefile.mk b/doc/Makefile.mk
index ba2d37f..405dd69 100644
--- a/doc/Makefile.mk
+++ b/doc/Makefile.mk
@@ -6,8 +6,8 @@
 ##
 
 DEVELOPER_SUBDIRS = doc/pmi doc/namepub
-DOC_SUBDIRS += doc/mansrc doc/userguide doc/installguide doc/smpd doc/logging \
-	       doc/windev doc/design
+DOC_SUBDIRS += doc/mansrc doc/userguide doc/installguide doc/logging \
+	       doc/design
 
 userdocs:
 	for dir in $(DOC_SUBDIRS) ; do \
diff --git a/doc/installguide/install.tex.vin b/doc/installguide/install.tex.vin
index 0d4672d..c07f4ee 100644
--- a/doc/installguide/install.tex.vin
+++ b/doc/installguide/install.tex.vin
@@ -649,8 +649,6 @@ Currently three process managers are distributed with MPICH
 \begin{description}
 \item[hydra] This is the default process manager tha natively uses the
 existing daemons on the system such as ssh, slurm, pbs.
-\item[smpd] This one can be used for both Linux and Windows.  It is the
-  only process manager that supports the Windows version of MPICH.
 \item[gforker] This is a simple process manager that creates all
   processes on a single machine.  It is useful both for debugging and
   for running on shared memory multiprocessors.
@@ -666,86 +664,6 @@ the \texttt{hydra} process manager, use
 \end{verbatim}
 
 
-\subsection{SMPD}
-\label{sec:smpd}
-
-\subsubsection{Configuration}
-\label{sec:smpd_configure}
-
-You may add the following configure options, 
-\texttt{--with-pm=smpd}, 
-to build and install the smpd process manager. The process manager, smpd, 
-will be installed to the bin sub-directory of the installation directory 
-of your choice specified by the \texttt{--prefix} option.
-
-smpd process managers run on each node as stand-alone daemons and need to
-be running on all nodes that will participate in MPI jobs.  smpd process 
-managers are not connected to each other and rely on a known port to 
-communicate with each other.  Note: If you want multiple users to use the 
-same nodes they must each configure their smpds to use a unique port per 
-user. 
-
-smpd uses a configuration file to store settings.  The default location is 
-\verb+~/.smpd+.  This file must not be readable by anyone other than 
-the owner and contains at least one required option - the access passphrase.
-This is stored in the configuration file as \texttt{phrase=<phrase>}. Access 
-to running smpds is authenticated using this passphrase and it must 
-not be your user password.
-
-\subsubsection{Usage and administration}
-\label{sec:smpd_usage}
-
-Users will start the smpd daemons before launching mpi jobs.  To get an 
-smpd running on a node, execute 
-\begin{verbatim}
-    smpd -s
-\end{verbatim}
-Executing this for the first time will prompt the user to create a 
-\verb+~/.smpd+ configuration file and passphrase if one does not 
-already exist.
-
-Then users can use \texttt{mpiexec} to launch MPI jobs.
-
-All options to \texttt{smpd}:
-
-\begin{description}
-\item[\texttt{smpd -s}]\mbox{}\\
-Start the smpd service/daemon for the current user.  You can add 
-\texttt{-p <port>} to specify the port to listen on.  All smpds must use
-the same port and if you don't use the default then you will have to
-add \texttt{-p <port>} to mpiexec or add the \texttt{port=<port>} to the 
-\texttt{.smpd} configuration file.
-
-\item[\texttt{smpd -r}]\mbox{}\\
-Start the smpd service/daemon in root/multi-user mode.  This is not yet
-implemented.
-
-\item[\texttt{smpd -shutdown [host]}]\mbox{}\\
-Shutdown the smpd on the local host or specified host.  Warning: this will
-cause the smpd to exit and no mpiexec or smpd commands can be issued to the
-host until smpd is started again.
-
-%\item[\texttt{smpd -start}]\mbox{}\\
-%Start the Windows smpd service on the local host.
-%
-%\item[\texttt{smpd -stop}]\mbox{}\\
-%Stop the Windows smpd on the local host.
-%
-%\item[\texttt{smpd -console [host]}]\mbox{}\\
-%Connect to a specific smpd to issue console commands.  The currently 
-%supported commands are: %get, set, delete, stat, status, shutdown and validate.
-%\begin{enumerate}
-%\item[\texttt{get <var>}]\mbox{}
-%\item[\texttt{set <var>=<value>}]\mbox{}
-%\item[\texttt{delete <var>}]\mbox{}
-%\item[\texttt{status}]\mbox{}
-%\item[\texttt{stat <var>}]\mbox{}
-%\item[\texttt{shutdown}]\mbox{}
-%\item[\texttt{validate}]\mbox{}
-%\end{enumerate}
-
-\end{description}
-
 \subsection{gforker}
 \label{sec:forker}
 \texttt{gforker} is a simple process manager that runs all processes on
diff --git a/doc/smpd/Makefile.in b/doc/smpd/Makefile.in
deleted file mode 100644
index f6d68c5..0000000
--- a/doc/smpd/Makefile.in
+++ /dev/null
@@ -1,30 +0,0 @@
-ALL: all-redirect
-SHELL = @SHELL@
-srcdir = @srcdir@
-.SUFFIXES: .pdf .dvi .tex
-
- at VPATH@
-
-LATEX      = TEXINPUTS=".:$(srcdir):$(srcdir)/../pmi:" ; export TEXINPUTS ; latex
-BIBTEX     = BIBINPUTS=".:$(srcdir):$(srcdir)/../pmi:" ; export BIBINPUTS ; bibtex
-DVIPDFM    = TEXINPUTS=".:$(srcdir):$(srcdir)/../pmi:" ; export TEXINPUTS ; dvipdfm
-LATEX2HTML = latex2html
-
-smpd_pmi.dvi: smpd_pmi.tex smpd_tree.eps
-	-$(LATEX) smpd_pmi.tex
-	-$(LATEX) smpd_pmi.tex
-	$(LATEX) smpd_pmi.tex
-
-smpd_pmi.pdf: smpd_pmi.dvi
-	$(DVIPDFM) smpd_pmi.dvi
-
-all-redirect: smpd_pmi.pdf
-
-clean:
-	-rm -f *.toc *.out *.dvi user.ps user.pdf *.aux *.blg *.bbl *.log
-
-mandoc:
-
-htmldoc:
-
-latexdoc: ALL
diff --git a/doc/smpd/smpd_pmi.tex b/doc/smpd/smpd_pmi.tex
deleted file mode 100644
index 7ce2faf..0000000
--- a/doc/smpd/smpd_pmi.tex
+++ /dev/null
@@ -1,324 +0,0 @@
-%
-%  This is a latex file that generates a reference manual for
-%  the wire protocol between an mpich process and a smpd manager.
-%
-\documentclass[dvipdfm,11pt]{article}
-\usepackage[dvipdfm]{hyperref} % Upgraded url package
-\usepackage{epsf}
-\parskip=.1in
-
-\begin{document}
-\markright{SMPD PMI Wire Protocol Reference Manual}
-\title{SMPD PMI Wire Protocol Reference Manual\\
-Version 0.1\\
-DRAFT of \today\\
-Mathematics and Computer Science Division\\
-Argonne National Laboratory}
-
-\author{David Ashton}
-
-
-\maketitle
-
-\cleardoublepage
-
-\pagenumbering{roman}
-\tableofcontents
-\clearpage
-
-\pagenumbering{arabic}
-\pagestyle{headings}
-
-
-\section{Introduction}
-
-When a user builds MPICH they have the option to choose the SMPD process
-manager to launch and manage processes in MPICH jobs.  MPICH provides
-an implementation of smpd and mpiexec to launch MPICH jobs.  MPICH
-applications communicate with the process manager using the PMI interface.
-The PMI library for smpd provides an implementation of PMI for communicating
-with SMPD process managers. This document describes the environment and wire
-protocol between the MPICH application and the SMPD manager.
-
-If a process manager implementor replicates the environment and protocol
-described in this document, they would be able to launch and manage MPICH
-jobs compiled for SMPD.
-
-An SMPD manager communicates with its child process through environment
-variables and a socket.  This document describes the environment and the 
-wire protocol on that socket.
-
-\section{SMPD manager topology}
-This section describes how SMPD is organized in MPICH.  An implementation
-of a process manager that uses the protocol described in this document is 
-not required to use this topology.  It is provided for reference.
-
-In the idle state, SMPDs reside on each node unconnected.  
-When a new job is to be launched, mpiexec first selects a list of hosts 
-to launch a job on.  Then it connects to the SMPDs and they fork or spawn 
-new managers resulting in a connected tree with mpiexec at the root.
-See figure~\ref{fig:tree}.  This tree remains for the duration of the job.
-It can grow as a result of spawn commands.  Each SMPD manager has
-a id in the tree used to route commands.  Each manager can manage multiple
-child processes.  The control socket connections between the SMPD manager
-and the child processes are referenced by context ids.  The SMPD manager
-provides the context id to the child when it launches a process.
-
-\begin{figure}
-\centerline{\epsfbox{smpd_tree.eps}}
-\caption{SMPD Manager tree}
-\label{fig:tree}
-\end{figure}
-
-\section{Child process environment}
-SMPD managers launch and manage child processes in an MPICH job.
-MPICH processes compiled with the SMPD PMI library expect the following
-environment variables to be set:
-
-\begin{description}
-\item PMI\_RANK = my rank in the process group ( 0 to N-1 )
-\item PMI\_SIZE = process group size ( N )
-\item PMI\_KVS = my keyval space name unique to my process group
-\item PMI\_DOMAIN = my keyval space domain name
-\item *PMI\_CLIQUE = my node neighbors in the form of a clique.  A clique is
-a comma separated list of ranges and numbers.  Example: 0,2..4,7
-\item PMI\_SMPD\_ID = my smpd manager node id
-\item PMI\_SMPD\_KEY = ctx\_key value to be included with PMI commands 
-from this process.
-\item PMI\_SPAWN = 0 or 1 if this process was started by a 
-PMI\_Spawn\_multiple command.
-\item PMI\_APPNUM = index of the command that started the local process
-\item **PMI\_SMPD\_FD = file descriptor/handle to convert into the PMI 
-socket context.
-\item **PMI\_HOST = host description as specified by the MPIDU\_Sock interface
-\item **PMI\_PORT = port PMI\_Host is listening on
-\item **PMI\_ROOT\_HOST = root host to connect to to establish the PMI 
-socket context.
-\item **PMI\_ROOT\_PORT = root listening port number
-\item **PMI\_ROOT\_LOCAL = 0 or 1 if the root process is to act as the root smpd manager.
-If PMI\_ROOT\_LOCAL is specfied and it is 1, the root MPICH process starts a separate
-thread or process to act as the smpd manager.  This manager listens on the specified port
-for pmi socket contexts to connect from all the processes in the job and handles smpd pmi
-commands for them.  It is an error if PMI\_ROOT\_HOST is not the same as the host where
-rank 0 is launched.
-\end{description}
-
-* If not specified, default clique contains only the local process.
-
-** Only one set of options may be specified.
-
-The three options, PMI\_SMPD\_FD, PMI\_ROOT\_HOST/PMI\_ROOT\_PORT and PMI\_HOST/PMI\_PORT
-are mutually exclusive.  If PMI\_SMPD\_FD exists then the process uses that handle
-as its connection to the SMPD manager otherwise it makes a socket connection to
-the host/port described by PMI\_ROOT\_HOST/PMI\_ROOT\_PORT or PMI\_HOST/PMI\_PORT.
-
-\section{SMPD wire commands}
-This section describes the wire protocol for PMI commands from the child
-process to the smpd manager.
-
-\subsection{Comand Format}
-Commands are variable length.
-Each command begins with a 13 byte header.  The header 
-is a NULL terminated ascii string representation of the length of the 
-command to follow the header.  After the header is a string of the length 
-described by the header.  Both the header and the command are NULL terminated.
-The header is always 13 bytes no matter where the NULL character falls.  The
-command string begins at the 14th byte and the length of the command must 
-include the NULL character.
-
-Commands contain \texttt{key=value} strings to describe the components of 
-the command.  All commands will have the following keys:
-
-\begin{itemize}
-\item \texttt{cmd=command}
-\item \texttt{src=my\_smpd\_id}
-\item \texttt{dest=dest\_smpd\_id}
-\item \texttt{tag=command\_tag}
-\item \texttt{ctx\_key=pmi\_smpd\_key}
-\end{itemize}
-
-Additional command specific keys are described in the following section.
-
-\subsection{Commands}
-\begin{description}
-\item[\texttt{init}]\mbox{}\\
-Add \texttt{name=kvsname
-key=rank
-value=nproc
-node\_id=smpd\_node\_id}.
-
-The init command is sent to the root from each process.  This lets mpiexec know
-that the processes have started and made it to PMI\_Init.
-
-Example: \texttt{cmd=init src=1 dest=0 tag=101 ctx\_key=0 name=mykvsname key=0 value=3 node\_id=1}
-\item[\texttt{finalize}]\mbox{}\\
-Add \texttt{name=kvsname
-key=rank
-node\_id=smpd\_node\_id}.
-
-The finalize command is sent to the root from each process when PMI\_Finalize is called.
-This lets mpiexec know that when the process exits it is a successful exit.
-
-Example: \texttt{cmd=finalize src=2 dest=0 tag=123 ctx\_key=0 name=mykvsname key=1 value=3 node\_id=2}
-%\item[\texttt{exit\_on\_done}]\mbox{}\\
-%Tell the root to exit when all done commands are received - used in rPMI only.
-\item[\texttt{done}]\mbox{}\\
-No more PMI commands, close the context.  This command is sent from the 
-child directly to its SMPD manager and does not receive a reply.
-
-Example: \texttt{cmd=done src=3 dest=3 tag=14 ctx\_key=0}
-\item[\texttt{exit\_on\_done}]\mbox{}\\
-The root smpd manager can and should exit when all done commands are received.
-This command is sent by the root process.
-
-Example: \texttt{cmd=exit\_on\_done src=1 dest=1 tag=13 ctx\_key=0}
-
-Is this command necessary?  Shouldn't the root smpd know that it is a root smpd
-and exit automatically when all its pmi contexts close?
-\item[\texttt{barrier}]\mbox{}\\
-Barrier across a set of processes. 
-Add \texttt{name=barrier\_name value=number\_of\_participants}.
-The result command returns SUCCESS or FAIL.
-
-Example: \texttt{cmd=barrier src=2 dest=1 tag=3 ctx\_key=1 name=kvsname value=2}
-\item[\texttt{dbcreate}]\mbox{}\\
-Create a new keyval space.  If \texttt{name=kvsname} is added to the command
-then the keyval space is created with the provided name, otherwise the 
-implementation chooses a name.
-The result command returns SUCCESS or FAIL and \texttt{name=kvsname}.
-
-Example: \texttt{cmd=dbcreate src=1 dest=1 tag=100 ctx\_key=0}
-\item[\texttt{dbdestroy}]\mbox{}\\
-Destroy a keyval space.  Add \texttt{name=kvsname}.
-The result command returns SUCCESS or FAIL.
-
-Example: \texttt{cmd=dbdestroy src=4 dest=1 tag=13 ctx\_key=1 name=kvsname}
-\item[\texttt{dbput}]\mbox{}\\
-Put a keyval into a kvs space.  Add \texttt{name=kvsname key=user\_key 
-value=user\_value}.
-The result command returns SUCCESS or FAIL.
-
-Example \texttt{cmd=dbput src=3 dest=1 tag=100 ctx\_key=0 name=kvsname key=foo value=bar}
-\item[\texttt{dbget}]\mbox{}\\
-Get a kevyal from a kvs space.  Add \texttt{name=kvsname key=user\_key}.
-The result command returns SUCCESS or FAIL and \texttt{value=val}.
-
-Example: \texttt{cmd=dbget src=4 dest=1 tag=0 ctx\_key=0 name=kvsname key=foo}
-\item[\texttt{dbfirst}]\mbox{}\\
-Start the keyval space iterator.  Add \texttt{name=kvsname}.
-The result command returns SUCCESS or FAIL and \texttt{key=key value=val}.
-
-Example: \texttt{cmd=dbfirst src=1 dest=1 tag=22 ctx\_key=0 name=kvsname}
-\item[\texttt{dbnext}]\mbox{}\\
-Get the next keyval from the iterator.  Add \texttt{name=kvsname}.
-The result command returns SUCCESS or FAIL and \texttt{key=key value=val}.
-
-Example: \texttt{cmd=dbnext src=2 dest=1 tag=12 ctx\_key=0 name=kvsname}
-\item[\texttt{spawn}]\mbox{}\\
-Spawn a new process group.  See the next section for a complete description.
-\item[\texttt{result}]\mbox{}\\
-The result of a previous command.  Result commands will always have two 
-fields, \texttt{cmd\_tag=command\_tag} and \texttt{result=result\_string}.
-The \texttt{command\_tag} matches the tag of the command the result command 
-refers to.  The \texttt{result\_string} is SUCCESS or a failure message. 
-Other return fields will be present as specified by the issued command.
-\item[\texttt{abort\_job}]\mbox{}\\
-Add \texttt{name=kvsname
-rank=rank
-error=error message
-exit\_code=exit code}.
-
-abort\_job is sent from any node to the root to abort the entire job.  This
-command represents a user abort usually caused by an MPI\_Abort call.
-
-Example: \texttt{cmd=abort\_job src=3 dest=0 tag=1 ctx\_key=0 rank=4 error=''user abort'' exit\_code=13}
-\end{description}
-
-\subsection{spawn command}
-The \texttt{spawn} command is issued by a single node to launch a set of 
-processes in a new process group.
-
-The \texttt{spawn} command is used to implement PMI\_Spawn\_multiple.
-
-The keys to the \texttt{spawn} command are the following:
-\begin{description}
-\item \texttt{ncmds = x number of commands}
-\item \texttt{cmd0 = command}
-\item \texttt{cmd1 = command}
-\item \texttt{...}
-\item \texttt{argv0 = string1 string2 string3 ...}
-\item \texttt{argv1 = string1 string2 string3 ...}
-\item \texttt{...}
-\item \texttt{maxprocs = n0 n1 n2 ... nx-1}
-\item \texttt{nkeyvals = n0 n1 n2 ... nx-1}
-\item \texttt{keyvals0 = ``0=$\backslash$``key=val$\backslash$'' 
-1=$\backslash$``key=val$\backslash$'' ... 
-n0-1=$\backslash$``key=val$\backslash$''''}
-\item \texttt{keyvals1 = ``0=$\backslash$``key=val$\backslash$'' 
-1=$\backslash$``key=val$\backslash$'' ... 
-n1-1=$\backslash$``key=val$\backslash$''''}
-\item \texttt{...}
-\item \texttt{npreput = number of preput keyvals}
-\item \texttt{preput = ``0=$\backslash$``key=val$\backslash$'' 
-1=$\backslash$``key=val$\backslash$'' ... 
-n-1=$\backslash$``key=val$\backslash$''''}
-\end{description}
-
-The \texttt{ncmds} key represents the size of the rest of the vector arguments.
-There will be \texttt{ncmds} \texttt{cmd} and \texttt{argv} keys.  \texttt{maxprocs}
-and \texttt{nkeyvals} will contain \texttt{ncmds} entries.  The values in
-\texttt{maxprocs} represent the requested number of processes to launch for the
-corresponding \texttt{cmd} command.  There will be \texttt{ncmds} \texttt{keyvals}
-keys and each \texttt{keyvals} key will contain nx keys where nx is the 
-corresponding value in \texttt{nkeyvals}.  \texttt{npreput} represents the 
-number of keys in the \texttt{preput} key.  The keys in the \texttt{preput} key
-are to be put in the keyval space of the spawned process group before any
-of the processes are launched.
-
-Example: \texttt{cmd=spawn src=3 dest=0 tag=4 ctx\_key=0 ncmds=1 cmd0=myapp
-argv0=``one $\backslash$``two args$\backslash$'' three'' maxprocs=4 
-nkeyvals=2 keyvals0=``0=$\backslash$``host=toad$\backslash$'' 
-1=$\backslash$``path=/home/me$\backslash$'''' 
-npreput=1 preput=``0=$\backslash$``port=1244$\backslash$''''}
-
-\section{string format}
-This section describes the format of key=value elements in a stream.
-
-stream := frame \vline\ frame stream
-
-frame := element frame\_char \vline\ element separ\_char frame
-
-element := key delim\_char value
-
-key := string
-
-value := string
-
-string := literal \vline\ quoted
-
-literal := array of chars without separators, deliminators, or quotes
-
-quoted := quote\_char array-of-escaped-characters quote\_char
-
-chars := ascii characters
-
-escapted chars := ascii characters with escaped quote\_chars and escape\_chars
-
-quote\_char := "
-
-escape\_char := $\backslash$
-
-delim\_char := =
-
-separ\_char := ' '
-
-frame\_char := '$\backslash$0'
-
-Example:
-
-	a=b "my name"="David Ashton" foo="He said, $\backslash$"Hi there.$\backslash$""
-	
-\bibliographystyle{plain}
-\bibliography{smpd_pmi}
-
-\end{document}
diff --git a/doc/smpd/smpd_tree.eps b/doc/smpd/smpd_tree.eps
deleted file mode 100644
index b3c4577..0000000
--- a/doc/smpd/smpd_tree.eps
+++ /dev/null
@@ -1,622 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%BoundingBox: -1 -1 323 290 
-%%Creator: Corel PHOTO-PAINT 7
-%%Title: 
-%%CreationDate: Wed Oct 15 00:19:42 2003
-%%DocumentProcessColors: Black 
-%%DocumentSuppliedResources: (atend)
-%%EndComments
-%%BeginProlog
-/AutoFlatness true def
-/AutoSteps 0 def
-/CMYKMarks false def
-/UseLevel2 false def
-%Color profile: Disabled
-%%BeginResource: procset wCorel7Dict 7.0 0
-/wCorel7Dict 300 dict def wCorel7Dict begin
-% Copyright (c)1992-96 Corel Corporation
-% All rights reserved.     v7.0 r1.0
-/bd{bind def}bind def/ld{load def}bd/xd{exch def}bd/_ null def/rp{{pop}repeat}
-bd/@cp/closepath ld/@gs/gsave ld/@gr/grestore ld/@np/newpath ld/Tl/translate ld
-/$sv 0 def/@sv{/$sv save def}bd/@rs{$sv restore}bd/spg/showpage ld/showpage{}
-bd currentscreen/@dsp xd/$dsp/@dsp def/$dsa xd/$dsf xd/$sdf false def/$SDF
-false def/$Scra 0 def/SetScr/setscreen ld/setscreen{pop pop pop}bd/@ss{2 index
-0 eq{$dsf 3 1 roll 4 -1 roll pop}if exch $Scra add exch load SetScr}bd
-/SepMode_5 where{pop}{/SepMode_5 0 def}ifelse/CurrentInkName_5 where{pop}
-{/CurrentInkName_5(Composite)def}ifelse/$ink_5 where{pop}{/$ink_5 -1 def}
-ifelse/$c 0 def/$m 0 def/$y 0 def/$k 0 def/$t 1 def/$n _ def/$o 0 def/$fil 0
-def/$C 0 def/$M 0 def/$Y 0 def/$K 0 def/$T 1 def/$N _ def/$O 0 def/$PF false
-def/s1c 0 def/s1m 0 def/s1y 0 def/s1k 0 def/s1t 0 def/s1n _ def/$bkg false def
-/SK 0 def/SM 0 def/SY 0 def/SC 0 def/$op false def matrix currentmatrix/$ctm xd
-/$ptm matrix def/$ttm matrix def/$stm matrix def/$ffpnt true def
-/CorelDrawReencodeVect[16#0/grave 16#5/breve 16#6/dotaccent 16#8/ring
-16#A/hungarumlaut 16#B/ogonek 16#C/caron 16#D/dotlessi 16#27/quotesingle
-16#60/grave 16#7C/bar
-16#82/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl
-16#88/circumflex/perthousand/Scaron/guilsinglleft/OE
-16#91/quoteleft/quoteright/quotedblleft/quotedblright/bullet/endash/emdash
-16#98/tilde/trademark/scaron/guilsinglright/oe 16#9F/Ydieresis
-16#A1/exclamdown/cent/sterling/currency/yen/brokenbar/section
-16#a8/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/minus/registered/macron
-16#b0/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered
-16#b8/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown
-16#c0/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
-16#c8/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis
-16#d0/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply
-16#d8/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls
-16#e0/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla
-16#e8/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis
-16#f0/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide
-16#f8/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def
-/L2?/languagelevel where{pop languagelevel 2 ge}{false}ifelse def
-/@BeginSysCorelDict{systemdict/Corel30Dict known{systemdict/Corel30Dict get
-exec}if}bd/@EndSysCorelDict{systemdict/Corel30Dict known{end}if}bd AutoFlatness
-{/@ifl{dup currentflat exch sub 10 gt{
-([Error: PathTooComplex; OffendingCommand: AnyPaintingOperator]\n)print flush
- at np exit}{currentflat 2 add setflat}ifelse}bd/@fill/fill ld/fill{currentflat{
-{@fill}stopped{@ifl}{exit}ifelse}bind loop setflat}bd/@eofill/eofill ld/eofill
-{currentflat{{@eofill}stopped{@ifl}{exit}ifelse}bind loop setflat}bd/@clip
-/clip ld/clip{currentflat{{@clip}stopped{@ifl}{exit}ifelse}bind loop setflat}
-bd/@eoclip/eoclip ld/eoclip{currentflat{{@eoclip}stopped{@ifl}{exit}ifelse}
-bind loop setflat}bd/@stroke/stroke ld/stroke{currentflat{{@stroke}stopped
-{@ifl}{exit}ifelse}bind loop setflat}bd}if L2?{/@ssa{true setstrokeadjust}bd}{
-/@ssa{}bd}ifelse/d/setdash ld/j/setlinejoin ld/J/setlinecap ld/M/setmiterlimit
-ld/w/setlinewidth ld/O{/$o xd}bd/R{/$O xd}bd/W/eoclip ld/c/curveto ld/C/c ld/l
-/lineto ld/L/l ld/rl/rlineto ld/m/moveto ld/n/newpath ld/N/newpath ld/P{11 rp}
-bd/u{}bd/U{}bd/A{pop}bd/q/@gs ld/Q/@gr ld/&{}bd/@j{@sv @np}bd/@J{@rs}bd/g{1
-exch sub/$k xd/$c 0 def/$m 0 def/$y 0 def/$t 1 def/$n _ def/$fil 0 def}bd/G{1
-sub neg/$K xd _ 1 0 0 0/$C xd/$M xd/$Y xd/$T xd/$N xd}bd/k{1 index type
-/stringtype eq{/$t xd/$n xd}{/$t 0 def/$n _ def}ifelse/$k xd/$y xd/$m xd/$c xd
-/$fil 0 def}bd/K{1 index type/stringtype eq{/$T xd/$N xd}{/$T 0 def/$N _ def}
-ifelse/$K xd/$Y xd/$M xd/$C xd}bd/x/k ld/X/K ld/sf{1 index type/stringtype eq{
-/s1t xd/s1n xd}{/s1t 0 def/s1n _ def}ifelse/s1k xd/s1y xd/s1m xd/s1c xd}bd/i{
-dup 0 ne{setflat}{pop}ifelse}bd/v{4 -2 roll 2 copy 6 -2 roll c}bd/V/v ld/y{2
-copy c}bd/Y/y ld/@w{matrix rotate/$ptm xd matrix scale $ptm dup concatmatrix
-/$ptm xd 1 eq{$ptm exch dup concatmatrix/$ptm xd}if 1 w}bd/@g{1 eq dup/$sdf xd
-{/$scp xd/$sca xd/$scf xd}if}bd/@G{1 eq dup/$SDF xd{/$SCP xd/$SCA xd/$SCF xd}
-if}bd/@D{2 index 0 eq{$dsf 3 1 roll 4 -1 roll pop}if 3 copy exch $Scra add exch
-load SetScr/$dsp xd/$dsa xd/$dsf xd}bd/$ngx{$SDF{$SCF SepMode_5 0 eq{$SCA}
-{$dsa}ifelse $SCP @ss}if}bd/p{/$pm xd 7 rp/$pyf xd/$pxf xd/$pn xd/$fil 1 def}
-bd/@MN{2 copy le{pop}{exch pop}ifelse}bd/@MX{2 copy ge{pop}{exch pop}ifelse}bd
-/InRange{3 -1 roll @MN @MX}bd/@sqr{dup 0 rl dup 0 exch rl neg 0 rl @cp}bd
-/currentscale{1 0 dtransform matrix defaultmatrix idtransform dup mul exch dup
-mul add sqrt 0 1 dtransform matrix defaultmatrix idtransform dup mul exch dup
-mul add sqrt}bd/@unscale{}bd/wDstChck{2 1 roll dup 3 -1 roll eq{1 add}if}bd
-/@dot{dup mul exch dup mul add 1 exch sub}bd/@lin{exch pop abs 1 exch sub}bd
-/cmyk2rgb{3{dup 5 -1 roll add 1 exch sub dup 0 lt{pop 0}if exch}repeat pop}bd
-/rgb2cmyk{3{1 exch sub 3 1 roll}repeat 3 copy @MN @MN 3{dup 5 -1 roll sub neg
-exch}repeat}bd/rgb2g{2 index .299 mul 2 index .587 mul add 1 index .114 mul add
-4 1 roll pop pop pop}bd/WaldoColor_5 where{pop}{/SetRgb/setrgbcolor ld/GetRgb
-/currentrgbcolor ld/SetGry/setgray ld/GetGry/currentgray ld/SetRgb2 systemdict
-/setrgbcolor get def/GetRgb2 systemdict/currentrgbcolor get def/SetHsb
-systemdict/sethsbcolor get def/GetHsb systemdict/currenthsbcolor get def
-/rgb2hsb{SetRgb2 GetHsb}bd/hsb2rgb{3 -1 roll dup floor sub 3 1 roll SetHsb
-GetRgb2}bd/setcmykcolor where{pop/SetCmyk_5/setcmykcolor ld}{/SetCmyk_5{
-cmyk2rgb SetRgb}bd}ifelse/currentcmykcolor where{pop/GetCmyk/currentcmykcolor
-ld}{/GetCmyk{GetRgb rgb2cmyk}bd}ifelse/setoverprint where{pop}{/setoverprint{
-/$op xd}bd}ifelse/currentoverprint where{pop}{/currentoverprint{$op}bd}ifelse
-/@tc_5{5 -1 roll dup 1 ge{pop}{4{dup 6 -1 roll mul exch}repeat pop}ifelse}bd
-/@trp{exch pop 5 1 roll @tc_5}bd/setprocesscolor_5{SepMode_5 0 eq{SetCmyk_5}{0
-4 $ink_5 sub index exch pop 5 1 roll pop pop pop pop SepsColor true eq{$ink_5 3
-gt{1 sub neg SetGry}{0 0 0 4 $ink_5 roll SetCmyk_5}ifelse}{1 sub neg SetGry}
-ifelse}ifelse}bd/findcmykcustomcolor where{pop}{/findcmykcustomcolor{5 array
-astore}bd}ifelse/setcustomcolor where{pop}{/setcustomcolor{exch aload pop
-SepMode_5 0 eq{pop @tc_5 setprocesscolor_5}{CurrentInkName_5 eq{4 index}{0}
-ifelse 6 1 roll 5 rp 1 sub neg SetGry}ifelse}bd}ifelse/@scc_5{dup type
-/booleantype eq{setoverprint}{1 eq setoverprint}ifelse dup _ eq{pop
-setprocesscolor_5 pop}{findcmykcustomcolor exch setcustomcolor}ifelse SepMode_5
-0 eq{true}{GetGry 1 eq currentoverprint and not}ifelse}bd/colorimage where{pop
-/ColorImage{colorimage}def}{/ColorImage{/ncolors xd pop/dataaq xd{dataaq
-ncolors dup 3 eq{/$dat xd 0 1 $dat length 3 div 1 sub{dup 3 mul $dat 1 index
-get 255 div $dat 2 index 1 add get 255 div $dat 3 index 2 add get 255 div rgb2g
-255 mul cvi exch pop $dat 3 1 roll put}for $dat 0 $dat length 3 idiv
-getinterval pop}{4 eq{/$dat xd 0 1 $dat length 4 div 1 sub{dup 4 mul $dat 1
-index get 255 div $dat 2 index 1 add get 255 div $dat 3 index 2 add get 255 div
-$dat 4 index 3 add get 255 div cmyk2rgb rgb2g 255 mul cvi exch pop $dat 3 1
-roll put}for $dat 0 $dat length ncolors idiv getinterval}if}ifelse}image}bd
-}ifelse/setcmykcolor{1 5 1 roll _ currentoverprint @scc_5/$ffpnt xd}bd
-/currentcmykcolor{0 0 0 0}bd/setrgbcolor{rgb2cmyk setcmykcolor}bd
-/currentrgbcolor{currentcmykcolor cmyk2rgb}bd/sethsbcolor{hsb2rgb setrgbcolor}
-bd/currenthsbcolor{currentrgbcolor rgb2hsb}bd/setgray{dup dup setrgbcolor}bd
-/currentgray{currentrgbcolor rgb2g}bd}ifelse/WaldoColor_5 true def/@sft{$tllx
-$pxf add dup $tllx gt{$pwid sub}if/$tx xd $tury $pyf sub dup $tury lt{$phei
-add}if/$ty xd}bd/@stb{pathbbox/$ury xd/$urx xd/$lly xd/$llx xd}bd/@ep{{cvx exec
-}forall}bd/@tp{@sv/$in true def 2 copy dup $lly le{/$in false def}if $phei sub
-$ury ge{/$in false def}if dup $urx ge{/$in false def}if $pwid add $llx le{/$in
-false def}if $in{@np 2 copy m $pwid 0 rl 0 $phei neg rl $pwid neg 0 rl 0 $phei
-rl clip @np $pn cvlit load aload pop 7 -1 roll 5 index sub 7 -1 roll 3 index
-sub Tl matrix currentmatrix/$ctm xd @ep pop pop pop pop}{pop pop}ifelse @rs}bd
-/@th{@sft 0 1 $tly 1 sub{dup $psx mul $tx add{dup $llx gt{$pwid sub}{exit}
-ifelse}loop exch $phei mul $ty exch sub 0 1 $tlx 1 sub{$pwid mul 3 copy 3 -1
-roll add exch @tp pop}for pop pop}for}bd/@tv{@sft 0 1 $tlx 1 sub{dup $pwid mul
-$tx add exch $psy mul $ty exch sub{dup $ury lt{$phei add}{exit}ifelse}loop 0 1
-$tly 1 sub{$phei mul 3 copy sub @tp pop}for pop pop}for}bd/$fm 0 def/wfill{1
-$fm eq{fill}{eofill}ifelse}bd/wclip{1 $fm eq{clip}{eoclip}ifelse}bd/@pf{@gs
-$ctm setmatrix $pm concat @stb wclip Bburx Bbury $pm itransform/$tury xd/$turx
-xd Bbllx Bblly $pm itransform/$tlly xd/$tllx xd/$wid $turx $tllx sub def/$hei
-$tury $tlly sub def @gs $vectpat{1 0 0 0 0 _ $o @scc_5{wfill}if}{$t $c $m $y $k
-$n $o @scc_5{SepMode_5 0 eq $pfrg or{$tllx $tlly Tl $wid $hei scale <00> 8 1
-false[8 0 0 1 0 0]{}imagemask}{/$bkg true def}ifelse}if}ifelse @gr $wid 0 gt
-$hei 0 gt and{$pn cvlit load aload pop/$pd xd 3 -1 roll sub/$phei xd exch sub
-/$pwid xd $wid $pwid div ceiling 1 add/$tlx xd $hei $phei div ceiling 1 add
-/$tly xd $psx 0 eq{@tv}{@th}ifelse}if @gr @np/$bkg false def}bd/@Pf{@sv
-SepMode_5 0 eq $Psc 0 ne or $ink_5 3 eq or{0 J 0 j[]0 d $t $c $m $y $k $n $o
- at scc_5 pop $ctm setmatrix 72 1000 div dup matrix scale dup concat dup Bburx
-exch Bbury exch itransform ceiling cvi/Bbury xd ceiling cvi/Bburx xd Bbllx exch
-Bblly exch itransform floor cvi/Bblly xd floor cvi/Bbllx xd $Prm aload pop $Psn
-load exec}{1 SetGry wfill}ifelse @rs @np}bd/F{matrix currentmatrix $sdf{$scf
-$sca $scp @ss}if $fil 1 eq{@pf}{$fil 2 eq{@ff}{$fil 3 eq{@Pf}{$t $c $m $y $k $n
-$o @scc_5{wfill}{@np}ifelse}ifelse}ifelse}ifelse $sdf{$dsf $dsa $dsp @ss}if
-setmatrix}bd/f{@cp F}bd/S{matrix currentmatrix $ctm setmatrix $SDF{$SCF $SCA
-$SCP @ss}if $T $C $M $Y $K $N $O @scc_5{matrix currentmatrix $ptm concat stroke
-setmatrix}{@np}ifelse $SDF{$dsf $dsa $dsp @ss}if setmatrix}bd/s{@cp S}bd/B{@gs
-F @gr S}bd/b{@cp B}bd/_E{5 array astore exch cvlit xd}bd/@cc{currentfile $dat
-readhexstring pop}bd/@sm{/$ctm $ctm currentmatrix def}bd/@E{/Bbury xd/Bburx xd
-/Bblly xd/Bbllx xd}bd/@c{@cp}bd/@p{/$fil 1 def 1 eq dup/$vectpat xd{/$pfrg true
-def}{@gs $t $c $m $y $k $n $o @scc_5/$pfrg xd @gr}ifelse/$pm xd/$psy xd/$psx xd
-/$pyf xd/$pxf xd/$pn xd}bd/@P{/$fil 3 def/$Psn xd/$Psc xd array astore/$Prm xd
-}bd/@ii{concat 3 index 3 index m 3 index 1 index l 2 copy l 1 index 3 index l 3
-index 3 index l clip pop pop pop pop}bd/tcc{@cc}def/@i{@sm @gs @ii 6 index 1 ne
-{/$frg true def pop pop}{1 eq{s1t s1c s1m s1y s1k s1n $O @scc_5/$frg xd}{/$frg
-false def}ifelse 1 eq{@gs $ctm setmatrix F @gr}if}ifelse @np/$ury xd/$urx xd
-/$lly xd/$llx xd/$bts xd/$hei xd/$wid xd/$dat $wid $bts mul 8 div ceiling cvi
-string def $bkg $frg or{$SDF{$SCF $SCA $SCP @ss}if $llx $lly Tl $urx $llx sub
-$ury $lly sub scale $bkg{$t $c $m $y $k $n $o @scc_5 pop}if $wid $hei abs $bts
-1 eq{$bkg}{$bts}ifelse[$wid 0 0 $hei neg 0 $hei 0 gt{$hei}{0}ifelse]/tcc load
-$bts 1 eq{imagemask}{image}ifelse $SDF{$dsf $dsa $dsp @ss}if}{$hei abs{tcc pop}
-repeat}ifelse @gr $ctm setmatrix}bd/@I{@sm @gs @ii @np/$ury xd/$urx xd/$lly xd
-/$llx xd/$ncl xd/$bts xd/$hei xd/$wid xd/$dat $wid $bts mul $ncl mul 8 div
-ceiling cvi string def $ngx $llx $lly Tl $urx $llx sub $ury $lly sub scale $wid
-$hei abs $bts[$wid 0 0 $hei neg 0 $hei 0 gt{$hei}{0}ifelse]/@cc load false $ncl
-ColorImage $SDF{$dsf $dsa $dsp @ss}if @gr $ctm setmatrix}bd/COMP 0 def L2?{
-/@I_2{@sm @gs @ii @np/$ury xd/$urx xd/$lly xd/$llx xd/$ncl xd/$bts xd/$hei xd
-/$wid xd/$dat $wid $bts mul $ncl mul 8 div ceiling cvi string def $ngx $ncl 1
-eq{/DeviceGray}{$ncl 3 eq{/DeviceRGB}{/DeviceCMYK}ifelse}ifelse setcolorspace
-$llx $lly Tl $urx $llx sub $ury $lly sub scale 8 dict begin/ImageType 1 def
-/Width $wid def/Height $hei abs def/BitsPerComponent $bts def/Decode $ncl 1 eq
-{[0 1]}{$ncl 3 eq{[0 1 0 1 0 1]}{[0 1 0 1 0 1 0 1]}ifelse}ifelse def
-/ImageMatrix[$wid 0 0 $hei neg 0 $hei 0 gt{$hei}{0}ifelse]def/DataSource
-currentfile/ASCII85Decode filter COMP 1 eq{/DCTDecode filter}{COMP 2 eq
-{/RunLengthDecode filter}if}ifelse def currentdict end image $SDF{$dsf $dsa
-$dsp @ss}if @gr $ctm setmatrix}bd}{/@I_2{}bd}ifelse/@B{@gs S @gr F}bd/@b{@cp @B
-}bd/@sep{CurrentInkName_5(Composite)eq{/$ink_5 -1 def}{CurrentInkName_5(Cyan)
-eq{/$ink_5 0 def}{CurrentInkName_5(Magenta)eq{/$ink_5 1 def}{CurrentInkName_5
-(Yellow)eq{/$ink_5 2 def}{CurrentInkName_5(Black)eq{/$ink_5 3 def}{/$ink_5 4
-def}ifelse}ifelse}ifelse}ifelse}ifelse}bd/@whi{@gs -72000 dup m -72000 72000 l
-72000 dup l 72000 -72000 l @cp 1 SetGry fill @gr}bd/@neg{[{1 exch sub}/exec cvx
-currenttransfer/exec cvx]cvx settransfer @whi}bd/deflevel 0 def/@sax{/deflevel
-deflevel 1 add def}bd/@eax{/deflevel deflevel dup 0 gt{1 sub}if def deflevel 0
-gt{/eax load}{eax}ifelse}bd/eax{{exec}forall}bd/@rax{deflevel 0 eq{@rs @sv}if}
-bd/@daq{dup type/arraytype eq{{}forall}if}bd/@BMP{/@cc xd 12 index 1 gt
-UseLevel2 true eq and{7 -2 roll pop pop @I_2}{11 index 1 eq{12 -1 roll pop @i}
-{7 -2 roll pop pop @I}ifelse}ifelse}bd systemdict/pdfmark known not{/pdfmark
-/cleartomark ld}if
-end
-%%EndResource
-%%EndProlog
-%%BeginSetup
-wCorel7Dict begin
- at BeginSysCorelDict
-2.6131 setmiterlimit
-1.00 setflat
-/$fst 128 def
-%%EndSetup
-
-%%Page: 1 1
-%LogicalPage: 1
-%%BeginPageSetup
- at sv
- at sm
- at sv
-%%EndPageSetup
- at rax %Note: Object
-0.00000 0.00000 322.41600 289.44000 @E
- 0 O 0 @g
-0.00 0.00 0.00 0.00 k
-/$fm 0 def
-0.00000 0.00000 m
-0.00000 289.44000 L
-322.41600 289.44000 L
-322.41600 0.00000 L
-0.00000 0.00000 L
- at c
-F
-
- at rax 161.20800 144.72000 483.62400 -144.72000 @E
- 0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 sf 
-430 386 1 1 0 0 1137413 -1021081 0 1 0 -1021080 1137412 0 [0.00028346 0.00000000 0.00000000 0.00028346 0.00000000 289.43998941] /@cc load @BMP
-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7f000000000000000000000000000000000000000000000000003ffffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7fffffffffffffffffffffffffffffffffffffffffffffffff9ffffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7fffffffffffffffffffffffffffffffffffffffffffffffff9ffffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7fffffffffffffffffffffffffffffffffffffffffffffffffaffffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7fffffffffffffffffffffffffffffffffffffffffffffffffaffffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7fffffffffffffffffffffffffffffffffffffffffffffffffb7fffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7fffffffffffffffffffffffffffffffffffffffffffffffffb7fffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7fffffffffffffffffffffffffffffffffffffffffffffffffbbfffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7fffffffffffffffffffffffffffffffffffffffffffffffffbbfffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7fffffffffffffffffffffffffffffffffffffffffffffffffbdfffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7fffffffffffffffffffffffffffffffffffffffffffffffffbdfffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7fffffffffffffffffffffffffffffffffffffffffffffffffbefffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7ffffffffffffffffffffffffffffffffffffffe1ff0ffffffbefffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7ffffffffffffffffffffffffffffffffffffffe1ff0ffffffbf7ffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7ffffffffffffffffffffffffffffffffffffffe1ff0ffffffbf7ffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7ffffffffffffffffffffffffffffffffffffffe1ff0ffffffbfbffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7ffffffffffffffffffffff843c0fe03c3ffc21e01f00fffffbfbffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7ffffffffffffffffffffff003807c01c3ff801e00f007ffffbfdffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7ffffffffffffffffffffff0c39c3879c3ff861e10f087ffffbfdffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7ffffffffffffffffffffff0c3bc30fdc3ff861e1870c3ffffbfeffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7ffffffffffffffffffffff0c3e030ffc3ff861e1870c3ffffbfeffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7ffffffffffffffffffffff0c3c07001c3ffc01e1870c3ffffbff7fffffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7ffffffffffffffffffffff0c380f001c3ffe01e1870c3ffffbffbfffffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7ffffffffffffffffffffff0c387f0e1c3fffe1e1870c3ffffbffbfffffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7ffffffffffffffffffffff0c387b8e1c3ffde1e1870c3ffffbffdfffffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7ffffffffffffffffffffff0c3c03c03c07fc03e00f007ffffbffdfffffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7ffffffffffffffffffffff0c3e03e07c27fc07e11f08fffffbffefffffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7fffffffffffffffffffffffffffffffffffffffffffffffffbffefffffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7fffffffffffffffffffffffffffffffffffffffffffffffffbfff7ffffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7fffffffffffffffffffffffffffffffffffffffffffffffffbfff7ffffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7fffffffffffffffffffffffffffffffffffffffffffffffffbfffbffffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7fffffffffffffffffffffffffffffffffffffffffffffffffbfffbffffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7fffffffffffffffffffffffffffffffffffffffffffffffffbfffdffffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7fffffffffffffffffffffffffffffffffffffffffffffffffbfffdffffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7fffffffffffffffffffffff00003fffffffffffffffffffffbfffeffffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7fffffffffffffffffffffff00003fffffffffffffffffffffbfffeffffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7fff03f83887e03c3e1fffe0ffffc1ffffffffffffffffffffbffff7fffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7ffe01e03007c01c3e1fffe0ffffc1ffffffffffffffffffffbffff7fffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7ffe70e1e187879c3e1fff9ffffffe7fffffffffffffffffffbffffbfffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7ffef0e1e1870fdc3e1fff9ffffffe7fffffffffffffffffffbffffbfffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7fff80e1e1870ffc3e1fff9ffffffe7fffffffffffffffffffbffffdfffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7fff01e1e187001c3e1ffc7fffffff9fffffffffffffffffffbffffdfffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7ffe03e1e187001c3e1ffc7fffffff9fffffffffffffffffffbffffefffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7ffe1fe1e1870e1c3e1ff3ffffffffe3ffffffffffffffffffbfffff7ffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7ffe1ee1f0878e1c3e1ff3ffffffffe3ffffffffffffffffffbfffff7ffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7fff00c03007c03c0603cffffffffffcffffffffffffffffffbfffffbffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7fff80c03807e07c2613cffffffffffcffffffffffffffffffbfffffbffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7fffffe1ff87ffffffffcffffffffffcffffffffffffffffffbfffffdffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7fffffe1ff87ffffffffcffffffffffcffffffffffffffffffbfffffdffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7fffffe1ff87ffffffffcffffffffffcffffffffffffffffffbfffffeffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7fffffffff87ffffffffcffffffffffcffffffffffffffffffbfffffeffffffffffffffffffffffffffffffffffffffffffffffff8
-7f7fffffffffffffffffffcffffffffffcffffffffffffffffffbffffff7fffffffffffffffffffffffffffffffffffffffffffffff8
-7f7fe07f0710fc1fc21f83cffffffffffcffffffffffffffffffbffffff7fffffffffffffffffffffffffffffffffffffffffffffff8
-7f7fc03c0600f007801e03cffffffffffcffffffffffffffffffbffffffbfffffffffffffffffffffffffffffffffffffffffffffff8
-7f7fce1c3c30f087861e1fcffffffffffcffffffffffffffffffbffffffbfffffffffffffffffffffffffffffffffffffffffffffff8
-7f7fde1c3c30e1c3861e1fcffffffffffcffffffffffffffffffbffffffdfffffffffffffffffffffffffffffffffffffffffffffff8
-7f7ff01c3c30e1c3861e1fcffffffffffcffffffffffffffffffbffffffdfffffffffffffffffffffffffffffffffffffffffffffff8
-7f7fe03c3c30e1c3861e1ff3ffffffffe3ffffffffffffffffffbffffffefffffffffffffffffffffffffffffffffffffffffffffff8
-7f7fc07c3c30e1c3861e1ff3ffffffffe3ffffffffffffffffffbffffffefffffffffffffffffffffffffffffffffffffffffffffff8
-7f7fc3fc3c30e1c3861e1ffc7fffffff9fffffffffffffffffffbfffffff7ffffffffffffffffffffffffffffffffffffffffffffff8
-7f7fc3dc3e10f087861e1ffc7fffffff9fffffffffffffffffffbfffffff7ffffffffffffffffffffffffffffffffffffffffffffff8
-7f7fe0180600f007861c03ff9ffffffe7fc3ffffffffffffffffbfffffffbffffffffffffffffffffffffffffffffffffffffffffff8
-7f7ff0180700fc1f861c03ff9ffffffe7fc3ffffffffffffffffbfffffffbffffffffffffffffffffffffffffffffffffffffffffff8
-7f7ffffc3ff0fffffffe1fff9ffffffe7fc3ffffffffffffffffbfffffffdffffffffffffffffffffffffffffffffffffffffffffff8
-7f7ffffc3ff0fffffffe1fffe0ffffc1ffc3ffffffffffffffffbfffffffeffffffffffffffffffffffffffffffffffffffffffffff8
-7f7ffffc3ff0fffffffe1fffe0ffffc1ffc03e1861e1ffffffffbfffffffeffffffffffffffffffffffffffffffffffffffffffffff8
-7f7ffffffff0fffffffffe7fff00003fffc01e1861e1ffffffffbffffffff7fffffffffffffffffffffffffffffffffffffffffffff8
-7f7fffffffffffffffffff9fff00003fffc21e1861e1ffffffffbffffffff7fffffffffffffffffffffffffffffffffffffffffffff8
-7f7fffffffffffffffffffe7ff319cffffc30e1861e1ffffffffbffffffffbfffffffffffffffffffffffffffffffffffffffffffff8
-7f7ffffff03f83887870c3f9ff319cffffc30e1861e1ffffffffbffffffffbfffffffffffffffffffffffffffffffffffffffffffff8
-7f7fffffe01e03007870c3fe7f319cffffc30e1861e1ffffffffbffffffffdfffffffffffffffffffffffffffffffffffffffffffff8
-7f7fffffe70e1e187870c3ff9f319cfffcc30e1861e1ffffffffbffffffffdfffffffffffffffffffffffffffffffffffffffffffff8
-7f7fffffef0e1e187870c3ffe7319cfff3c30e1861e1ffffffffbffffffffefffffffffffffffffffffffffffffffffffffffffffff8
-7f7ffffff80e1e187870c3fff9319cff8fc30e1861e1ffffffffbffffffffefffffffffffffffffffffffffffffffffffffffffffff8
-7f7ffffff01e1e187870c3fffe319cfc7fc01e0083e1ffffffffbfffffffff7ffffffffffffffffffffffffffffffffffffffffffff8
-7f7fffffe03e1e187870c3ffff319cf3ffc23e11c7e1fffff1ffbfffffffff7ffffffffffffffffffffffffffffffffffffffffffff8
-7f7fffffe1fe1e187870c3ffff319c8ffffffffffffffffff1ffbfffffffffbffffffffffffffffffffffffffffffffffffffffffff8
-7f7fffffe1ee1f087870c3ffff319c7fffffffffffe1ffff01ffbfffffffffbffffffffffffffffffffffffffffffffffffffffffff8
-7f7ffffff00c0300787003ffff319cffffffffffffe1ffff01ffbfffffffffdffffffffffffffffffffffffffffffffffffffffffff8
-7f7ffffff80c0380787087ffff319cffffffffffffe1ffff01ffbfffffffffdffffffffffffffffffffffffffffffffffffffffffff8
-7f7ffffffffe1ff87fffffffff319cffffffffffffffffe001ffbfffffffffeffffffffffffffffffffffffffffffffffffffffffff8
-7f7ffffffffe1ff8787fffffff319cffffffffffffffffe001ffbfffffffffeffffffffffffffffffffffffffffffffffffffffffff8
-7f7ffffffffe1ff8787fffffff319cffffffffffffffff8001ffbffffffffff7fffffffffffffffffffffffffffffffffffffffffff8
-7f7ffffffffffff8787fffffff319cffffffffffffffff8001ffbffffffffff7fffffffffffffffffffffffffffffffffffffffffff8
-7f7ffffffffffffffffffffc000000001ffffffffffff0003fffbffffffffffbfffffffffffffffffffffffffffffffffffffffffff8
-7f7ffffffffffffffffffffc000000001ffffffffffff0003fffbffffffffffdfffffffffffffffffffffffffffffffffffffffffff8
-7f7ffffffffffffffffffffc000000001ffffffffffff0003fffbffffffffffdfffffffffffffffffffffffffffffffffffffffffff8
-7f7fffffffffffffffff0003ffffffffe0007fffffffc007ffffbffffffffffefffffffffffffffffffffffffffffffffffffffffff8
-7f7fffffffffffffffff0003ffffffffe0007fffffffc007ffffbffffffffffefffffffffffffffffffffffffffffffffffffffffff8
-7f7ffffffffffffffe00ffffffffffffffff801ffff8001fffffbfffffffffff7ffffffffffffffffffffffffffffffffffffffffff8
-7f7ffffffffffffffe00ffffffffffffffff801ffff8001fffffbfffffffffff7ffffffffffffffffffffffffffffffffffffffffff8
-7f7fffffffffffffe1ffffffffffffffffffffe1ff0003ffffffbfffffffffffbffffffffffffffffffffffffffffffffffffffffff8
-7f7fffffffffffffe1ffffffffffffffffffffe1ff0003ffffffbfffffffffffbffffffffffffffffffffffffffffffffffffffffff8
-7f7fffffffffffffe1ffffffffffffffffffffe1ff0003ffffffbfffffffffffdffffffffffffffffffffffffffffffffffffffffff8
-7f7ffffffffffffc1ffffffffffffffffffffffe0c000fffffffbfffffffffffdffffffffffffffffffffffffffffffffffffffffff8
-7f7ffffffffffffc1ffffffffffffffffffffffe0c000fffffffbfffffffffffeffffffffffffffffffffffffffffffffffffffffff8
-7f7fffffffffff83fffffffffffffffffffffffff001ffffffffbfffffffffffeffffffffffffffffffffffffffffffffffffffffff8
-7f7fffffffffff83fffffffffffffffffffffffff001ffffffffbffffffffffff7fffffffffffffffffffffffffffffffffffffffff8
-7f7ffffffffff87fffffffffffffffe03fffffffff07ffffffffbffffffffffff7fffffffffffffffffffffffffffffffffffffffff8
-7f7ffffffffff87fffffffffffffffe01fffffffff07ffffffffbffffffffffffbfffffffffffffffffffffffffffffffffffffffff8
-7f7ffffffffff87fffffffffffffffee0fffffffff07ffffffffbffffffffffffbfffffffffffffffffffffffffffffffffffffffff8
-7f7fffffffffc7ffffffffffffffffff0ffffffffff9ffffffffbffffffffffffdfffffffffffffffffffffffffffffffffffffffff8
-7f7fffffffffc7fe1861e10f0c3c21f10fc0787ffff9ffffffffbffffffffffffdfffffffffffffffffffffffffffffffffffffffff8
-7f7fffffffff3ffe1861c00f0c3801e00f80387ffffe3fffffffbffffffffffffefffffffffffffffffffffffffffffffffffffffff8
-7f7fffffffff3ffe1861c30f0c3861c30f0f387ffffe3fffffffbffffffffffffefffffffffffffffffffffffffffffffffffffffff8
-7f7ffffffffcfffe1861c30f0c3861c30e1fb87fffffcfffffffbfffffffffffff7ffffffffffffffffffffffffffffffffffffffff8
-7f7ffffffffcfffe1861c30f0c3861c30e1ff87fffffcfffffffbfffffffffffffbffffffffffffffffffffffffffffffffffffffff8
-7f7ffffffffcfffe1861e00f0c3c01c30e00387fffffcfffffffbfffffffffffffbffffffffffffffffffffffffffffffffffffffff8
-7f7ffffffffcfffe1861f00f0c3e01c30e00387fffffcfffffffbfffffffffffffdffffffffffffffffffffffffffffffffffffffff8
-7f7ffffffffcfffe1861ff0f0c3fe1c30e1c387fffffcfffffffbfffffffffffffdffffffffffffffffffffffffffffffffffffffff8
-7f7fffffffe3fffe1861ef0f0c3de1e10f1c387ffffff3ffffffbfffffffffffffeffffffffffffffffffffffffffffffffffffffff8
-7f7fffffffe3fffe0083e01f003c03e00f80780ffffff3ffffffbfffffffffffffeffffffffffffffffffffffffffffffffffffffff8
-7f7fffffffe3fffe11c7e03f087c07f00fc0f84ffffff3ffffffbffffffffffffff7fffffffffffffffffffffffffffffffffffffff8
-7f7fffffffe3fffffffffffffffffffffffffffffffff3ffffffbffffffffffffff7fffffffffffffffffffffffffffffffffffffff8
-7f7fffffffe3fffffffffffffffffffffffffffffffff3ffffffbffffffffffffffbfffffffffffffffffffffffffffffffffffffff8
-7f7fffffffe3fffffffffffffffffffffffffffffffff3ffffffbffffffffffffffbfffffffffffffffffffffffffffffffffffffff8
-7f7fffffffe3fffffffffffffffffffffffffffffffff3ffffffbffffffffffffffdfffffffffffffffffffffffffffffffffffffff8
-7f7fffffffe3fffffffffffffffffffffffffffffffff3ffffffbffffffffffffffdfffffffffffffffffffffffffffffffffffffff8
-7f7fffffffe3ffffffffffffffffc3fffffffffffffff3ffffffbffffffffffffffefffffffffffffffffffffffffffffffffffffff8
-7f7fffffffe3ffffffffffffffffc3fffffffffffffff3ffffffbffffffffffffffefffffffffffffffffffffffffffffffffffffff8
-7f7fffffffe3ffffffffffffffffc3fffffffffffffff3ffffffbfffffffffffffff7ffffffffffffffffffffffffffffffffffffff8
-7f7ffffffffcffffffffffffffffc3ffffffffffffffcfffffffbfffffffffffffff7ffffffffffffffffffffffffffffffffffffff8
-7f7ffffffffcffffffffe07c30c3c03f10ffffffffffcfffffffbfffffffffffffffbffffffffffffffffffffffffffffffffffffff8
-7f7ffffffffcffffffffc03c30c3c01e00ffffffffffcfffffffbfffffffffffffffbffffffffffffffffffffffffffffffffffffff8
-7f7ffffffffcffffffffce1c30c3c21c30ffffffffffcfffffffbfffffffffffffffdffffffffffffffffffffffffffffffffffffff8
-7f7ffffffffcffffffffde1c30c3c30c30ffffffffffcfffffffbfffffffffffffffdffffffffffffffffffffffffffffffffffffff8
-7f7fffffffff3ffffffff01c30c3c30c30fffffffffe3fffffffbfffffffffffffffeffffffffffffffffffffffffffffffffffffff8
-7f7fffffffff3fffffffe03c30c3c30c30fffffffffe3fffffffbffffffffffffffff7fffffffffffffffffffffffffffffffffffff8
-7f7fffffffffc7ffffffc07c30c3c30c30fffffffff83fffffffbffffffffffffffff7fffffffffffffffffffffffffffffffffffff8
-7f7fffffffffc7ffffffc3fc30c3c30c30fffffffff83fffffffbffffffffffffffffbfffffffffffffffffffffffffffffffffffff8
-7f7fffffffffc7ffffffc3dc30c3c30e10fffffffff83fffffffbffffffffffffffffbfffffffffffffffffffffffffffffffffffff8
-7f7fffffffffc07fffffe01c0107c01e00ffffffff0003ffffffbffffffffffffffffdfffffffffffffffffffffffffffffffffffff8
-7f7fffffffffc07ffffff01c238fc23f00ffffffff0003ffffffbffffffffffffffffdfffffffffffffffffffffffffffffffffffff8
-7f7fffffffff0003fffffffffffffffff0fffffff0e00007ffffbffffffffffffffffefffffffffffffffffffffffffffffffffffff8
-7f7fffffffff0003fffffffffffffffff0fffffff0e00007ffffbffffffffffffffffefffffffffffffffffffffffffffffffffffff8
-7f7ffffffffc07fc1ffffffffffffffff0fffffe0ffe00000fffbfffffffffffffffff7ffffffffffffffffffffffffffffffffffff8
-7f7ffffffffc07fc1ffffffffffffffff0fffffe0ffe00000fffbfffffffffffffffff7ffffffffffffffffffffffffffffffffffff8
-7f7ffffffffc07fc1ffffffffffffffffffffffe0ffe00000fffbfffffffffffffffffbffffffffffffffffffffffffffffffffffff8
-7f7fffffffe03fffe1ffffffffffffffffffffe1fffff00001ffbfffffffffffffffffbffffffffffffffffffffffffffffffffffff8
-7f7fffffffe03fffe1ffffffffffffffffffffe1fffff00001ffbfffffffffffffffffdffffffffffffffffffffffffffffffffffff8
-7f7fffffff80fffffe00ffffffffffffffff801fffffffe001ffbfffffffffffffffffdffffffffffffffffffffffffffffffffffff8
-7f7fffffff80fffffe00ffffffffffffffff801fffffffe001ffbfffffffffffffffffeffffffffffffffffffffffffffffffffffff8
-7f7ffffffe03ffffffff0003ffffffffe0007fffffffffffc1ffbfffffffffffffffffeffffffffffffffffffffffffffffffffffff8
-7f7ffffffe03ffffffff0003ffffffffe0007fffffffffffc1ffbffffffffffffffffff7ffffffffffffc03ffffffffffffffffffff8
-7f7ffffff81ffffffffffffc000000001fffffffffffffffffffbffffffffffffffffff7ffffffffffff3fcffffffffffffffffffff8
-7f7ffffff81ffffffffffffc000000001fffffffffffffffffffbffffffffffffffffffbfffffffffffefff7fffffffffffffffffff8
-7f7ffffff81ffffffffffffc000000001fffffffffffffffffffbffffffffffffffffffbfffffffffffdfffbfffffffffffffffffff8
-7f7ffffff87fffffffffffffffffffffffffffffffffffffffffbffffffffffffffffffdfffffffffffbfffdfffffffffffffffffff8
-7f7ffffff87fffffffffffffffffffffffffffffffffffffffffbffffffffffffffffffefffffffffff7fffefffffffffffffffffff8
-7f7fffffffffffffffffffffffffffffffffffffffffffffffffbffffffffffffffffffefffffffffff7fffefffffffffffffffffff8
-7f7fffffffffffffffffffffffffffffffffffffffffffffffffbfffffffffffffffffff7ffffffffff7fffefffffffffffffffffff8
-7f7fffffffffffffffffffffffffffffffffffffffffffffffffbfffffffffffffffffff7ffffffffff7fffefffffffffffffffffff8
-7f7fffffffffffffffffffffffffffffffffffffffffffffffffbfffffffffffffffffffbffffffffff7fffefffffffffffffffffff8
-7f7fffffffffffffffffffffffffffffffffffffffffffffffffbfffffffffffffffffffbffffffffffbfffdfffffffffffffffffff8
-7f7fffffffffffffffffffffffffffffffffffffffffffffffffbfffffffffffffffffffdffffffffffdfffbfffffffffffffffffff8
-7f7fffffffffffffffffffffffffffffffffffffffffffffffffbfffffffffffffffffffdffffffffffefff7fffffffffffffffffff8
-7f7fffffffffffffffffffffffffffffffffffffffffffffffffbfffffffffffffffffffefffffffffff3fcffffffffffffffffffff8
-7f7fffffffffffffffffffffffffffffffffffffffffffffffffbfffffffffffffffffffefffffffffffc03ffffffffffffffffffff8
-7f7fffffffffffffffffffffffffffffffffffffffffffffffffbffffffffffffffffffff7ffffffffffd57ffffffffffffffffffff8
-7f7fffffffffffffffffffffffffffffffffffffffffffffffffbffffffffffffffffffff7ffffffffffd57ffffffffffffffffffff8
-7f7fffffffffffffffffffffffffffffffffffffffffffffffffbffffffffffffffffffffbffffffffffd57ffffffffffffffffffff8
-7f7fffffffffffffffffffffffffffffffffffffffffffffffffbffffffffffffffffffffbffffffffffd57ffffffffffffffffffff8
-7f000000000000000000000000000000000000000000000000003ffffffffffffffffffffdffffffffffd57ffffffffffffffffffff8
-7fc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdffffffffffd57ffffffffffffffffffff8
-7ff8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffffffd57ffffffffffffffffffff8
-7fff0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffffff80007fffffffffffffffffff8
-7ffff1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffe07fff81ffffffffffffffffff8
-7ffffe3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffe1ffffffe1fffffffffffffffff8
-7fffffc7ffffffffffffffffffffffffffffffffffffffffffffffffc000000000000000003fffff9ffffffffe7ffffffffffffffff8
-7ffffff8ffffffffffffffffffffffffffffffffffffffffffffffffdfffffffffffffffffbffffe7fffffffff9ffffffffffffffff8
-7fffffff1fffffffffffffffffffffffffffffffffffffffffffffffdfffffffffffffffffbffff9ffffffffffe7fffffffffffffff8
-7fffffffe1ffffffffffffffffffffffffffffffffffffffffffffffdfffffffffffffffffbfffe7fffff87ffff9fffffffffffffff8
-7ffffffffe3fffffffffffffffffffffffffffffffffffffffffffffdfffffffc03fffffffbfffdffffff87ffffefffffffffffffff8
-7fffffffffc7ffffffffffffffffffffffffffffffffffffffffffffdfffffff3fcfffffffbfffbffffff87fffff7ffffffffffffff8
-7ffffffffff8ffffffffffffffffffffffffffffffffffffffffffffdffffffefff7ffffffbfff7ffffe001fffffbffffffffffffff8
-7fffffffffff1fffffffffffffffffffffffffffffffffffffffffffdffffffdfffbffffffbfff7ffffe001fffffbffffffffffffff8
-7fffffffffffe3ffffffffffffffffffffffffffffffffffffffffffdffffffbfffdffffffbffefffffe001fffffdffffffffffffff8
-7ffffffffffffc7fffffffffffffffffffffffffffffffffffffffffdffffff7fffeffffffbffefffffe387fffffdffffffffffffff8
-7fffffffffffff87ffffffffffffffffffffffffffffffffffffffffdffffff7fffeffffffbffeffffff387fffffdffffffffffffff8
-7ffffffffffffff8ffffffffffffffffffffffffffffffffffffffffdffffff7fffeffffffbffeffffff987fffffdffffffffffffff8
-7fffffffffffffff1fffffffffffffffffffffffffffffffffffffffdffffff7fffeffffffbffeffffff887fffffdffffffffffffff8
-7fffffffffffffffe3ffffffffffffffffffffffffffffffffffffffdffffff7fffeffffffbfff7fffffc07fffffbffffffffffffff8
-7ffffffffffffffffc7fffffffffffffffffffffffffffffffffffffdffffffbfffdffffffbffe7fffffe07fffffbffffffffffffff8
-7fffffffffffffffff8fffffffffffffffffffffffffffffffffffffdffffffdfffbffffffbff83ffffff07fffff7ffffffffffffff8
-7ffffffffffffffffff0ffffffffffffffffffffffffffffffffffffdffffffefff7ffffffbfe05ffffff07ffffefffffffffffffff8
-7fffffffffffffffffff1fffffffffffffffffffffffffffffffffffdfffffff3fcfffffffbfc0e7fffffffffff9fffffffffffffff8
-7fffffffffffffffffffe3ffffffffffffffffffffffffffffffffffdfffffffc03fffffffbf03f9ffffffffffe7fffffffffffffff8
-7ffffffffffffffffffffc7fffffffffffffffffffffffffffffffffdfffffffd57fffffffbe0ffe7fffffffff9ffffffffffffffff8
-7fffffffffffffffffffff8fffffffffffffffffffffffffffffffffdfffffffd57fffffffb81fff9ffffffffe7ffffffffffffffff8
-7ffffffffffffffffffffff1ffffffffffffffffffffffffffffffffdfffffffd57fffffffa07fffe1ffffffe1fffffffffffffffff8
-7ffffffffffffffffffffffe1fffffffffffffffffffffffffffffffdfffffffd57fffffff80fffffe07fff81ffffffffffffffffff8
-7fffffffffffffffffffffffe3ffffffffffffffffffffffffffffffdfffffffd57fffffff03fffffff80007fffffffffffffffffff8
-7ffffffffffffffffffffffffc7fffffffffffffffffffffffffffffdfffffffd57ffffffc0ffffffffffffffffffffffffffffffff8
-7fffffffffffffffffffffffff8fffffffffffffffffffffffffffffdfffffffd57ffffff81ffffffffffffffffffffffffffffffff8
-7ffffffffffffffffffffffffff1ffffffffffffffffffffffffffffdffffffc0003ffffe03ffffffffffffffffffffffffffffffff8
-7ffffffffffffffffffffffffffe3fffffffffffffffffffffffffffdfffff03fffc0fffc1bffffffffffffffffffffffffffffffff8
-7fffffffffffffffffffffffffffc7ffffffffffffffffffffffffffdffff0fffffff0ff03bffffffffffffffffffffffffffffffff8
-7ffffffffffffffffffffffffffff87fffffffffffffffffffffffffdfffcfffffffff3c0fbffffffffffffffffffffffffffffffff8
-7fffffffffffffffffffffffffffff8fffffffffffffffffffffffffdfff3fffffffffc81fbffffffe01ffffe01ffffffffffffffff8
-7ffffffffffffffffffffffffffffff1ffffffffffffffffffffffffdffcfffffffffff07fbffffff9fe7fff9fe7fffffffffffffff8
-7ffffffffffffffffffffffffffffffe3fffffffffffffffffffffffdff3fffffffffffcffbffffff7ffbfff7ffbfffffffffffffff8
-7fffffffffffffffffffffffffffffffc7ffffffffffffffffffffffdfefffffffffffff7fbfffffefffdffefffdfffffffffffffff8
-7ffffffffffffffffffffffffffffffff8ffffffffffffffffffffffdfdfffff800fffffbfbfffffdfffeffdfffefffffffffffffff8
-7fffffffffffffffffffffffffffffffff0fffffffffffffffffffffdfbfffff800fffffdfbfffffbffff7fbffff7ffffffffffffff8
-7ffffffffffffffffffffffffffffffffff1ffffffffffffffffffffdfbfffff800fffffdfbfffffbffff7fbffff7ffffffffffffff8
-7ffffffffffffffffffffffffffffffffffe3fffffffffffffffffffdf7fffffc3ffffffefbfffffbffff7fbffff7ffffffffffffff8
-7fffffffffffffffffffffffffffffffffffc7ffffffffffffffffffdf7fffffe0ffffffefbfffffbffff7fbffff7ffffffffffffff8
-7ffffffffffffffffffffffffffffffffffff8ffffffffffffffffffdf7ffffff87fffffefbfffffbffff7fbffff7ffffffffffffff8
-7fffffffffffffffffffffffffffffffffffff1fffffffffffffffffdf7ffffffc3fffffefbfffffdfffeffdfffefffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffe1ffffffffffffffffdf7ffffffc3fffffefbfffffefffdffefffdfffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffe3fffffffffffffffdfbffffffe1fffffdfbffffff7ffbfff7ffbfffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffc7ffffffffffffffdfbffffffe1fffffdfbffffff9fe7fff9fe7fffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffff8ffffffffffffffdfdfffffbc1fffffbfbffffffe01ffffe01ffffffffffffffff8
-7fffffffffffe1ffffffffffffffffffffffffffff1fffffffffffffdfefffff801fffff3fbffffffeabffffeadffffffffffffffff8
-7fffffffffffe1ffffffffffffffffffffffffffffe3ffffffffffffdfe3ffff803ffffc0fbfffffff55ffffd6bffffffffffffffff8
-7fffffffffffe1fffffffffffffffffffffffffffffc3fffffffffffdfc0ffffc07ffff201bfffffff55ffffd5bffffffffffffffff8
-7fffffffffffe1ffffffffffffffffffffffffffffffc7ffffffffffdf8f3fffffffffcf803fffffff55ffffadbffffffffffffffff8
-7ffffffe1861e01f0f80c1c1e03f07fffffffffffffff8ffffffffffdf1fcfffffffff3fe00fffffff55ffffab7ffffffffffffffff8
-7ffffffe1861e00f0f0061c3c01c03ffffffffffffffff1fffffffffde3ff0fffffff0fffc01ffffffaaffffab7ffffffffffffffff8
-7ffffffe1861e10f0e1e7087879c3bffffffffffffffffe3ffffffffdc7fff03fffc0fffff807fffffa800075b7ffffffffffffffff8
-7ffffffe1861e1870c3f780f0fd87bfffffffffffffffffc7fffffffd0fffffc0003ffffffa00ffffe07fff816fffffffffffffffff8
-7ffffffe1861e1870c3ff80f0ff87fffffffffffffffffff8fffffffc1ffffffffffffffffbc01ffe1ffffffe1fffffffffffffffff8
-7ffffffe1861e1870c007c1f00187ffffffffffffffffffff0ffffffc7ffffffffffffffffbf007f9ffffffffe7ffffffffffffffff8
-7ffffffe1861e1870c00780f00187fffffffffffffff00ffff1fffff8fffffffffffffffffbfe01e7fffffffff9ffffffffffffffff8
-7ffffffe1861e1870c38780f0e187bfffffffffffffcff3fffe3ffff1fffffffffffffffffbffc09ffffffffffe7fffffffffffffff8
-7ffffffe1861e1870e3870878e1c33fffffffffffffbffdffffc7ffe1fffffffffffffffffbfff27ffffc0fffff9fffffffffffffff8
-7ffffffe0083e00f0f00e1c3c03c03fffffffffffff7ffefffff8ffc5fffffffffffffffffbfffdfffff803ffffefffffffffffffff8
-7ffffffe11c7e11f0f81c1c1e07f07ffffffffffffeffff7fffff1f8dfffffffffffffffffbfffbfffff003fffff7ffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffdffffbfffffe11dfffffffffffffffffbfff7ffffe0e1fffffbffffffffffffff8
-7fffffffffffffff0fffffffffffffffffffffffffdffffbffffffe3dfffffffffffffffffbfff7ffffe1e1fffffbffffffffffffff8
-7fffffffffffffff0fffffffffffffffffffffffffdffffbffffffc45fffffffffffffffffbffefffffe1e1fffffdffffffffffffff8
-7fffffffffffffff0fffffffffffffffffffffffffdffffbffffff8f8000000000000000003ffefffffe001fffffdffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffdffffbfffffe1ffffffffffffffffffffffefffffe003fffffdffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffeffff7fffffc3ffffffffffffffffffffffefffffe107fffffdffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffff7ffeffffff8fffffffffffffffffffffffefffffe0fffffffdffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffbffdffffff1ffffffffffffffffffffffff7fffff07ffffffbffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffcff3fffffe3ffffffffffffffffffffffff7fffff803fffffbffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffff00ffffffc7ffffffffffffffffffffffffbfffffc03fffff7ffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffffaaffffff8fffffffffffffffffffffffffdffffff03ffffefffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffffaaffffff1fffffffffffffffffffffffffe7fffffffffff9fffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffffaafffffe3ffffffffffffffffffffffffff9ffffffffffe7fffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffffaafffffc7ffffffffffffffffffffffffffe7fffffffff9ffffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffffaafffff8ffffffffffffffffffffffffffff9ffffffffe7ffffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffffaaffffe1ffffffffffffffffffffffffffffe1ffffffe1fffffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffffaaffffc3fffffffffffffffffffffffffffffe07fff81ffffffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffffaaffff8ffffffffffffffffffffffffffffffff80007fffffffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffffaaffff1ffffffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7ffffffffffffffffff80007ffffffffffffffffffffaafffe3ffffffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7ffffffffffffffffe07fff81ffffffffffffffffff0000ffc7ffffffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7fffffffffffffffe1ffffffe1fffffffffffffffc0ffff038fffffffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7fffffffffffffff9ffffffffe7fffffffffffffc3ffffffc0fffffffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7ffffffffffffffe7fffffffff9fffffffffffff3ffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7ffffffffffffff9ffffffffffe7fffffffffffcffffffffff3ffffffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7fffffffffffffe7ffffc0fffff9fffffffffff3ffffffffffcffffffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7fffffffffffffdfffff807ffffeffffffffffcfffff003ffff3fffffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7fffffffffffffbfffff003fffff7fffffffffbfffff003ffffdffffffffffffffffffffffffffffffff807ffffffffffffffffffff8
-7fffffffffffff7ffffe0c1fffffbfffffffff7fffff003ffffefffffffffffffffffffffffffffffffe7f9ffffffffffffffffffff8
-7fffffffffffff7ffffe1e1fffffbffffffffeffffffe1ffffff7ffffffffffffffffffffffffffffffdffeffffffffffffffffffff8
-7ffffffffffffefffffe1e1fffffc000000000ffffffe1ffffff7ffffffffffffffffffffffffffffffbfff7fffffffffffffffffff8
-7ffffffffffffefffffe1e1fffff8000000000ffffffe1ffffffbffffffffffffffffffffffffffffff7fffbfffffffffffffffffff8
-7ffffffffffffefffffe1e1fffffc000000001ffffffe1ffffffbfffffffffffffffffffffffffffffeffffdffffffffc3870ffffff8
-7ffffffffffffefffffe1e1fffffdffffffffdffffffe1ffffffbfffffffffffffffffffffffffffffeffffdffffffffc3870ffffff8
-7ffffffffffffefffffe1e1fffffdffffffffdffffffe1ffffffbfffffffffffffffffffffffffffffeffffdffffffffc3870ffffff8
-7fffffffffffff7ffffe0c1fffffbffffffffdffffff01ffffffbfffffffffffffffffffffffffffffeffffdffffffffc3870ffffff8
-7fffffffffffff7fffff003fffffbffffffffeffffff01ffffff7fffffffffffffffffffffffffffffeffffdfffffffffffffffffff8
-7fffffffffffffbfffff807fffff7ffffffffeffffff01ffffff7ffffffffffffffffffffffffffffff7fffbfffffffffffffffffff8
-7fffffffffffffdfffffc0fffffeffffffffff7fffffe1fffffefffffffffffffffffffffffffffffffbfff7fffffffffffffffffff8
-7fffffffffffffe7fffffffffff9ffffffffffbfffffe1fffffdfffffffffffffffffffffffffffffffdffeffffffffffffffffffff8
-7ffffffffffffff9ffffffffffe7ffffffffffcffffffffffff3fffffffffffffffffffffffffffffffe7f9ffffffffffffffffffff8
-7ffffffffffffffe7fffffffff9ffffffffffff3fffffffffecfffffffffffffffffffffffffffffffff807ffffffffffffffffffff8
-7fffffffffffffff9ffffffffe7ffffffffffffcfffffffffc3fffffffffffffffffffffffffffffffffab7ffffffffffffffffffff8
-7fffffffffffffffe1ffffffe1ffffffffffffff3ffffffffc3fffffffffffffffffffffffffffffffffab7ffffffffffffffffffff8
-7ffffffffffffffffe07fff81fffffffffffffffc3ffffffc21fffffffffffffffffffffffffffffffffab7ffffffffffffffffffff8
-7ffffffffffffffffff80007fffffffffffffffffc0ffff03f07ffffffffffffffffffffffffffffffffab7ffffffffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffff0000fff83ffffffffffffffffffffffffffffffffab7ffffffffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffffffffffc1fffffffffffffffffffffffffffffff80007fffffffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffff0fffffffffffffffffffffffffffffe07fff81ffffffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffff87fffffffffffffffffffffffffffe1ffffffe1fffffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffc3fffffffffffffffffffffffffff9ffffffffe7ffffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffe1ffffffffffffffffffffffffffe7fffffffff9ffffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffffffffffff07fffffffffffffffffffffffff9ffffffffffe7fffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffffffffffff83ffffffe01ffffe01ffffffffe7ffff80fffff9fffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffffffffffffc1ffffff9fe7fff9fe7fffffffdfffff003ffffefffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffff0ffffff7ffbfff7ffbfffffffbfffff003fffff7ffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffff87ffffefffdffefffdfffffff7fffff3c1fffffbffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffc3ffffdfffeffdfffefffffff7ffffffe1fffffbffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffe1ffffbffff7fbffff7fffffefffffffe1fffffdffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffffffffffffff0ffffbffff7fbffff7fffffeffffff801fffffdffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffffffffffffff83fffbffff7fbffff7fffffeffffff803fffffdffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffffffffffffffc1fffbffff7fbffff7fffffeffffff807fffffdffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffffffffffffffe0fffbffff7fbffff7fffffeffffff87ffffffdffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffff87ffdfffeffdfffefffffff7fffff87ffffffbffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffc3ffefffdffefffdffffffd7fffff801fffffbffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffe1fff7ffbfff7ffbffffff03fffff801fffff7ffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffffffffffffffff0fff9fe7fff9fe7fffffc0dfffff801ffffefffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffffffffffffffff83ffe01ffffe01ffffff01e7fffffffffff9fffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffffffffffffffffc1ffeabffffeabfffffc07f9ffffffffffe7fffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffffffffffffffffe0fff55ffffd9bfffff81ffe7fffffffff9ffffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffff87ff55ffffd57ffffe07fff9ffffffffe7ffffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffc7ffaaffffb57ffff81ffffe1ffffffe1fffffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1ffaaffffab7fffe03fffffe07fff81ffffffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0ffab7fff6b7fff80ffffffff80007fffffffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff83fd57fff5b7fff03ffffffffffffffffffffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1fd5bffedafffc0fffffffffffffffffffffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0fea800036fff03fffffffffffffffffffffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff87e07fff81ffc07fffffffffffffffffffffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc21ffffffe1f01ffffffffffffffffffffffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1ffffffffe607ffffffffffffffffffffffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffff81fffffffffffffffffffffffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9ffff00ffffe7fffffffffffffffffffffffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffe003ffff9ffffffffffff807ffffffffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffdffffe003ffffefffffffffffe7f9ffffffffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbffffe7c1fffff7ffffffffffdffeffffffffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffe1fffffbffffffffffbfff7fffffffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffe1fffffbffffffffff7fffbfffffffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffe03fffffdfffffffffeffffdfffffffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffe0ffffffdfffffffffeffffdfffffffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffe03fffffdfffffffffeffffdfffffffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffffe1fffffdfffffffffeffffdfffffffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffe7e1fffffdfffffffffeffffdfffffffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffe001fffffbffffffffff7fffbfffffffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffe003fffffbffffffffffbfff7fffffffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbfffff007fffff7ffffffffffdffeffffffffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffdffffffffffffefffffffffffe7f9ffffffffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffff9ffffffffffff807ffffffffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9ffffffffffe07fffffffffffaafffffffffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffff901fffffffffffaafffffffffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9ffffffffe7c07ffffffffffaafffffffffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1ffffffe1ff01ffffffffffaafffffffffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe07fff81fffc07fffffffffaafffffffffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80007fffff01fffffffffaafffffffffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc07fffffff80007fffffffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01fffffe07fff81ffffffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc07fffe1ffffffe1fffffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01fff9ffffffffe7ffffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc07fe7fffffffff9ffffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01f9ffffffffffe7fffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc067ffffc1fffff9fffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01fffffe0fffffefffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcbfffffe0ffffff7ffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffff07fffffbffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffff87fffffbffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffff83fffffdffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffffc3fffffdffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffffc1fffffdffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffffe0fffffdffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffc07fffffffffffffffffffffffffffffffffeffffffff0fffffdffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffc03ffffffffffffffffffffffffffffffffff7fffffff07ffffbffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffdc1ffffffffffffffffffffffffffffffffff7fffff8007ffffbffffffffffffff8
-7fffffffffffffffffffffffffffffffffffffffffe1ffffffffffffffffffffffffffffffffffbfffff8007ffff7ffffffffffffff8
-7ffffffffe01f87e1e1ff803fff0fc3c21e187843e21f80f0fffe1f87f01f80fffffffffffffffdfffff8007fffefffffffffffffff8
-7ffffffffc00787e1e1ff801fff0fc3801e187003c01f0070fffe1f87e00f007ffffffffffffffe7fffffffffff9fffffffffffffff8
-7ffffffffc00787e1e1ff800fff0fc3861e1870c3861e1e70fffe1f87c3ce1e7fffffffffffffff9ffffffffffe7fffffffffffffff8
-7ffffffffcfc38661e1ff8707ff0cc3861e1870c3861c3f70fffe1f8787ec3f7fffffffffffffffe7fffffffff9ffffffffffffffff8
-7ffffffffffc38661e1ff8783ff0cc3861e1870c3861c3ff0fffe1f8787fc3ffffffffffffffffff9ffffffffe7ffffffffffffffff8
-7fffffffffe038421e01f87c3ff0843c01e187803861c0070fffe1f87800c007ffffffffffffffffe1ffffffe1fffffffffffffffff8
-7fffffffff0078421e00787c3ff0843e01e187c03861c0070fffe1f87800c007fffffffffffffffffe07fff81ffffffffffffffffff8
-7ffffffffe00f8421e00787c3ff0843fe1e187fc3861c3870fffe1f87870c387fffffffffffffffffff80007fffffffffffffffffff8
-7ffffffffc03f8181e1c387c3ff0303de1e187bc3c21e3870fffe1f87c70e387fffffffffffffffffffffffffffffffffffffffffff8
-7ffffffffc3ff8181e1c38783ff0303c03e007807c01f00f01ffe1f80e01f00ffffffffffffffffffffffffffffffffffffffffffff8
-7ffffffffc3e78181e1c38707ff0303c07e10f80fe01f81f09ffe1f84f03f81ffffffffffffffffffffffffffffffffffffffffffff8
-7ffffffffc00783c1e0038007ff0783ffffffffffffffffffffe001ffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7ffffffffe00783c1e007800fff0783ffffffffffffffffffffe001ffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7fffffffff80f83c1e00f803fff0783ffffffffffffffffffffe001ffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8
-7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8
-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-%%PageTrailer
- at rs
- at rs
-%%Trailer
- at EndSysCorelDict
-end
-%%DocumentSuppliedResources: procset wCorel7Dict
-%%EOF
diff --git a/doc/userguide/user.tex.vin b/doc/userguide/user.tex.vin
index d33e801..80c2e8b 100644
--- a/doc/userguide/user.tex.vin
+++ b/doc/userguide/user.tex.vin
@@ -282,120 +282,6 @@ extensions to mpiexec can be found at
 \url{http://wiki.mpich.org/mpich/index.php/Using\_the\_Hydra\_Process\_Manager}
 
 
-\subsection{Extensions for SMPD Process Management Environment}
-\label{sec:extensions-smpd}
-
-SMPD is an alternate process manager that runs on both Unix and Windows.
-It can launch jobs across both platforms if the binary formats match 
-(big/little endianness and size of C types-- \texttt{int},
-\texttt{long}, \texttt{void*}, etc).
-
-
-\subsubsection{\texttt{mpiexec} arguments for SMPD}
-\label{sec:mpiexec-smpd}
-
-\texttt{mpiexec} for smpd accepts the standard MPI \texttt{mpiexec}
-options.  Execute
-\begin{verbatim}
-    mpiexec
-\end{verbatim}
-or
-\begin{verbatim}
-    mpiexec -help2
-\end{verbatim}
-to print the usage options.  Typical usage:
-\begin{verbatim}
-    mpiexec -n 10 myapp.exe
-\end{verbatim}
-All options to \texttt{mpiexec}:
-\begin{description}
-\item[\texttt{-n x}]
-\item[\texttt{-np x}]\mbox{}\\
-  launch \texttt{x} processes
-\item[\texttt{-localonly x}]
-\item[\texttt{-np x -localonly}]\mbox{}\\
-  launch \texttt{x} processes on the local machine
-\item[\texttt{-machinefile filename}]\mbox{}\\
-  use a file to list the names of machines to launch on
-\item[\texttt{-host hostname}]\mbox{}\\
-  launch on the specified host.
-\item[\texttt{-hosts n host1 host2 ... hostn}]
-\item[\texttt{-hosts n host1 m1 host2 m2 ... hostn mn}]\mbox{}\\
-  launch on the specified hosts.
-  In the second version the number of processes = m1 + m2 + ... + mn
-\item[\texttt{-dir drive:$\backslash$my$\backslash$working$\backslash$directory}]
-\item[\texttt{-wdir /my/working/directory}]\mbox{}\\
-  launch processes with the specified working directory. (\texttt{-dir}
-  and \texttt{-wdir} are equivalent)
-\item[\texttt{-env var val}]\mbox{}\\
-  set environment variable before launching the processes
-%\item[\texttt{-nocolor}]\mbox{}\\
-%  don't use process specific output coloring
-%\item[\texttt{-nompi}]\mbox{}\\
-%  launch processes without the mpi startup mechanism
-\item[\texttt{-exitcodes}]\mbox{}\\
-  print the process exit codes when each process exits.
-\item[\texttt{-noprompt}]\mbox{}\\
-  prevent \texttt{mpiexec} from prompting for user credentials.  Instead errors will
-be printed and \texttt{mpiexec} will exit.
-\item[\texttt{-localroot}]\mbox{}\\
-  launch the root process directly from mpiexec if the host is local.
-  (This allows the root process to create windows and be debugged.)
-\item[\texttt{-port port}]
-\item[\texttt{-p port}]\mbox{}\\
-  specify the port that \texttt{smpd} is listening on.
-\item[\texttt{-phrase passphrase}]\mbox{}\\
-  specify the passphrase to authenticate connections to \texttt{smpd} with.
-\item[\texttt{-smpdfile filename}]\mbox{}\\
-  specify the file where the \texttt{smpd} options are stored including the 
-passphrase. (unix only option)
-%\item[\texttt{-soft Fortran90\_triple}]\mbox{}\\
-%  acceptable number of processes to launch up to maxprocs
-\item[\texttt{-path search\_path}]\mbox{}\\
-  search path for executable, ; separated
-% This will probably not be implemented.
-%\item[\texttt{-arch architecture}]\mbox{}\\
-%  sun, linux, rs6000, ...
-\item[\texttt{-timeout seconds}]\mbox{}\\
-  timeout for the job. 
-\end{description}
-Windows specific options:
-\begin{description}
-\item[\texttt{-map drive:$\backslash\backslash$host$\backslash$share}]\mbox{}\\
-  map a drive on all the nodes
-  this mapping will be removed when the processes exit
-\item[\texttt{-logon}]\mbox{}\\
-  prompt for user account and password
-\item[\texttt{-pwdfile filename}]\mbox{}\\
-  read the account and password from the file specified.
-
-  put the account on the first line and the password on the second
-%\item[\texttt{-nomapping}]\mbox{}\\
-%  don't try to map the current directory on the remote nodes
-\item[\texttt{-nopopup\_debug}]\mbox{}\\
-  disable the system popup dialog if the process crashes
-%\item[\texttt{-dbg}]\mbox{}\\
-%  catch unhandled exceptions
-\item[\texttt{-priority class[:level]}]\mbox{}\\
-  set the process startup priority class and optionally level.\mbox{}\\
-  class = 0,1,2,3,4   = idle, below, normal, above, high\mbox{}\\
-  level = 0,1,2,3,4,5 = idle, lowest, below, normal, above, highest\mbox{}\\
-  the default is -priority 2:3
-\item[\texttt{-register}]\mbox{}\\
-  encrypt a user name and password to the Windows registry.
-\item[\texttt{-remove}]\mbox{}\\
-  delete the encrypted credentials from the Windows registry.
-\item[\texttt{-validate [-host hostname]}]\mbox{}\\
-  validate the encrypted credentials for the current or specified host.
-\item[\texttt{-delegate}]\mbox{}\\
-  use passwordless delegation to launch processes.
-\item[\texttt{-impersonate}]\mbox{}\\
-  use passwordless authentication to launch processes.
-\item[\texttt{-plaintext}]\mbox{}\\
-  don't encrypt the data on the wire.
-\end{description}
-
-
 \subsection{Extensions for the gforker Process Management Environment}
 \label{sec:extensions-forker}
 \texttt{gforker} is a process management system for starting
diff --git a/doc/windev/Makefile.in b/doc/windev/Makefile.in
deleted file mode 100644
index a836d93..0000000
--- a/doc/windev/Makefile.in
+++ /dev/null
@@ -1,76 +0,0 @@
-ALL: all-redirect
-SHELL = @SHELL@
-srcdir = @srcdir@
-MPICH_VERSION = @MPICH_VERSION@
-
-.SUFFIXES: .pdf .dvi .tex
-
-# Set these to the location of the web and ftp locations for the documents
-WEBDIR = /mcs/www/mpi/mpich2/docs
-FTPDIR = /home/ftp/pub/mpi/mpich2
-
- at VPATH@
-
-LATEX      = TEXINPUTS=".:$(srcdir):" ; export TEXINPUTS ; latex
-BIBTEX     = BIBINPUTS=".:$(srcdir):" ; export BIBINPUTS ; bibtex
-DVIPDFM    = TEXINPUTS=".:$(srcdir):" ; export TEXINPUTS ; dvipdfm
-LATEX2HTML = latex2html
-
-# Update the %MPICH_VERSION% with current version string.
-windev.tex: windev.tex.vin
-	sed -e "s/%MPICH_VERSION%/${MPICH_VERSION}/g" $? > $@
-
-windev.dvi: windev.tex
-	-$(LATEX) windev.tex
-	-$(LATEX) windev.tex
-	$(LATEX)  windev.tex
-
-windev.pdf: windev.dvi
-	$(DVIPDFM) windev.dvi
-
-# Use latex2html to create the HTML version.  There are several 
-# steps needed to workaround features of latex2html
-# 1. latex2html needs the windev.aux file, so we run a latex step if
-#    necessary
-# 2. latex2html is not compatible with VPATH builds (it runs in the
-#    directory that contains the source file), so we copy the source
-#    file.  If more source files are added, this step will need to 
-#    be changed
-windev.aux: windev.tex
-	$(LATEX) windev.tex
-
-windev/windev.html: windev.aux windev.tex
-	$(LATEX2HTML) windev.tex
-
-# Here are some thoughts on using tohtml
-#	tohtml -debugfile -default -dosnl -gaudy \
-#              -basedef $(srcdir)/../mpiman.def $(srcdir)/windev.tex
-#	tohtml -default -dosnl -gaudy -basedef $(srcdir)/../mpiman.def \
-#	$(srcdir)/windev.tex
-
-all-redirect: windev.pdf
-
-mandoc:
-
-htmldoc:
-
-latexdoc: ALL
-
-clean:
-	-rm -f *.dvi *.log *.out *.aux *.toc *.bbl *.blg *.pdf *.ps
-
-distclean: clean
-
-install: windev.pdf windev/windev.html
-	@if [ -z "$(WEBDIR)" ] ; then echo "No WEBDIR set" ; exit 1 ; fi
-	@if [ ! -d $(WEBDIR) ] ; then echo "Create $(WEBDIR) first" ; exit 1 ;fi
-	@if [ -z "$(FTPDIR)" ] ; then echo "No FTPDIR set" ; exit 1 ; fi
-	@if [ ! -d $(FTPDIR) ] ; then echo "Create $(FTPDIR) first" ; exit 1 ;fi
-	cp windev.pdf $(WEBDIR)/windev.pdf
-	cp -rp windev $(WEBDIR)/windev-new
-	rm -rf $(WEBDIR)/windev
-	mv -f $(WEBDIR)/windev-new $(WEBDIR)/windev
-	cp windev.pdf $(FTPDIR)/windev.pdf
-	cp -rp windev $(FTPDIR)/windev-new
-	rm -rf $(WEBDIR)/windev
-	mv -f $(FTPDIR)/windev-new $(FTPDIR)/windev
diff --git a/doc/windev/getdotin.bat b/doc/windev/getdotin.bat
deleted file mode 100755
index 1d5f4c9..0000000
--- a/doc/windev/getdotin.bat
+++ /dev/null
@@ -1,40 +0,0 @@
-IF "%1" == "--help" GOTO HELP
-IF "%CVS_HOST%" == "" set CVS_HOST=harley.mcs.anl.gov
-GOTO AFTERHELP
-:HELP
-REM
-REM Usage:
-REM    getdotin
-REM      1) check out mpich from cvs
-REM         the environment variable USERNAME is used to checkout mpich
-REM         If this variable is not set or is set to the wrong mcs user:
-REM           set USERNAME=mymcsusername
-REM
-REM Prerequisites:
-REM  ssh in your path
-GOTO END
-:AFTERHELP
-set CVS_RSH=ssh
-REM bash -c "echo cd `pwd` && echo autogen.sh" > bashcmds.txt
-REM bash --login < bashcmds.txt
-echo cd /sandbox/%USERNAME% > sshcmds.txt
-echo mkdir dotintmp >> sshcmds.txt
-echo cd dotintmp >> sshcmds.txt
-if "%1" == "" GOTO EXPORT_HEAD
-echo cvs -d /home/MPI/cvsMaster export -r %1 mpichallWithMPE >> sshcmds.txt
-GOTO AFTER_EXPORT_HEAD
-:EXPORT_HEAD
-echo cvs -d /home/MPI/cvsMaster export -r HEAD mpichallWithMPE >> sshcmds.txt
-:AFTER_EXPORT_HEAD
-echo cd mpich >> sshcmds.txt
-echo autogen.sh >> sshcmds.txt
-echo tar cvf dotin.tar `find . -name "*.h.in"` >> sshcmds.txt
-echo gzip dotin.tar >> sshcmds.txt
-echo exit >> sshcmds.txt
-ssh -l %USERNAME% %CVS_HOST% < sshcmds.txt
-scp %USERNAME%@%CVS_HOST%:/sandbox/%USERNAME%/dotintmp/mpich/dotin.tar.gz .
-ssh -l %USERNAME% %CVS_HOST% rm -rf /sandbox/%USERNAME%/dotintmp
-del sshcmds.txt
-tar xvfz dotin.tar.gz
-del dotin.tar.gz
-REM cscript winconfigure.wsf --cleancode --enable-timer-type=queryperformancecounter
diff --git a/doc/windev/testmpich.wsf b/doc/windev/testmpich.wsf
deleted file mode 100755
index 576d87f..0000000
--- a/doc/windev/testmpich.wsf
+++ /dev/null
@@ -1,2470 +0,0 @@
-<package>
-<job id="testmpich">
-    <runtime>
-        <description>This script checks out mpich and builds it and the test suites </description>
-        <named
-            name = "buildonly"
-            helpstring = "build mpich and the test suites"
-            type = "simple"
-            required = "false"
-        />
-        <named
-			name = "buildbatch"
-			helpstring = "build mpich, the test suites, and the batch files to run the tests"
-			type = "simple"
-			required = "false"
-		/>
-        <named
-            name = "testonly"
-            helpstring = "run the test suites"
-            type = "simple"
-            required = "false"
-        />
-        <named
-            name = "tag"
-            helpstring = "check out mpich using the version tag specified"
-            type = "string"
-            required = "false"
-        />
-        <named
-            name = "test"
-            helpstring = "build and run the tests specified: c++, mpich, intel, mpich"
-            type = "string"
-            required = "false"
-        />
-        <named
-            name = "fortran"
-            helpstring = "build the fortran tests"
-            type = "boolean"
-            required = "false"
-        />
-		<named
-			name = "ch"
-			helpstring = "channel to build"
-			type = "string"
-			required = "false"
-		/>
-		<named
-			name = "remove-cvs-dirs"
-			helpstring = "delete the directories before checking them out"
-			type = "simple"
-			required = "false"
-		/>
-        <named
-            name = "mpich"
-            helpstring = "path to mpich"
-            type = "string"
-            required = "false"
-        />
-        <named
-            name = "mpichi"
-            helpstring = "path to installed mpich"
-            type = "string"
-            required = "false"
-        />
-        <named
-            name = "test_installed"
-            helpstring = "test the installed mpich"
-            type = "simple"
-            required = "false"
-        />
-        <named
-            name = "make"
-            helpstring = "make mpich or use existing build"
-            type = "boolean"
-            required = "false"
-        />
-        <named
-            name = "configure"
-            helpstring = "configure mpich or use existing configuration"
-            type = "boolean"
-            required = "false"
-        />
-        <named
-            name = "mpich"
-            helpstring = "path to mpich test suite"
-            type = "string"
-            required = "false"
-        />
-        <named
-            name = "cpp"
-            helpstring = "path to c++ test suite"
-            type = "string"
-            required = "false"
-        />
-        <named
-            name = "intel"
-            helpstring = "path to intel test suite"
-            type = "string"
-            required = "false"
-        />
-        <named
-            name = "ssh-user"
-            helpstring = "user name to use with ssh commands"
-            type = "string"
-            required = "false"
-        />
-        <named
-            name = "ssh"
-            helpstring = "ssh command name - default = ssh"
-            type = "string"
-            required = "false"
-        />
-        <named
-			name = "cvs_host"
-			helpstring = "cvs host to use - cvs -d username at cvs_host:rootdir co mpichallWithMPE"
-			type = "string"
-			required = "false"
-        />
-        <named
-            name = "noexecute"
-            helpstring = "generate batch files and don't execute any tests"
-            type = "simple"
-            required = "false"
-        />
-        <named
-            name = "vs05"
-            helpstring = "add compiler options for VS 2005 to minimize warnings"
-            type = "simple"
-            required = "false"
-        />
-        <named
-			name = "batch"
-			helpstring = "create batch files for each test suite"
-			type = "boolean"
-			required = "false"
-		/>
-		<named
-			name = "localonly"
-			helpstring = "add -localonly to the mpiexec command"
-			type = "simple"
-			required = "false"
-		/>
-		<named
-			name = "summarize"
-			helpstring = "create the summary directory by parsing the previously created tests.output files"
-			type = "simple"
-			required = "false"
-		/>
-		<named
-			name = "win64"
-			helpstring = "use the win64 include directory"
-			type = "simple"
-			required = "false"
-		/>
-    </runtime>
-<object id="f" progid="Scripting.FileSystemObject" />
-<object id="WshShell" progid="WScript.Shell" />
-<object id="WshNetwork" progid="WScript.Network" />
-<script language="VBScript">
-
-' global variables
-'Dim WshShell
-'Set WshShell = CreateObject("WScript.Shell")
-'Set WshNetwork = WScript.CreateObject("WScript.Network")
-set env = WshShell.Environment("PROCESS")
-'Set f = WScript.CreateObject("Scripting.FileSystemObject")
-Set root_folder = f.GetFolder(".")
-hostname = WshNetwork.ComputerName 
-rootdir = ""
-bTestMPICH = true
-bTestCPP = true
-bTestINTEL = true
-bTestMPICH = true
-bBuildOnly = false
-bTestOnly = false
-cvsTag = "HEAD"
-bCheckoutMPICH = true
-bConfigureMPICH = true
-bConfigureMPICHTests = true
-bMakeMPICH = true
-bCheckoutMPICH = true
-bCheckoutCPP = true
-bCheckoutINTEL = true
-pathMPICH = ""
-pathMPICHInstalled = ""
-pathMPICH = ""
-pathCPP = ""
-pathINTEL = ""
-username = env("USERNAME")
-mpich_outputdir = ""
-intel_rootdir = ""
-CC = "cl"
-CPP = "cl"
-FC = "ifort"
-CPPFLAGS = " /nologo /EHsc /W4 /DHAVE_MPI_CXX /DUSE_STDARG /DHAVE_WINDOWS_H /DHAVE_LONG_LONG_INT /DHAVE_LONG_DOUBLE /DHAVE_MPI_DARRAY_SUBARRAY"
-CFLAGS = " /nologo /W4 /DUSE_STDARG /DHAVE_WINDOWS_H /DHAVE_LONG_LONG_INT /DHAVE_LONG_DOUBLE /DHAVE_MPI_DARRAY_SUBARRAY /DMPICH_SKIP_MPICXX"
-'mpichlib = "mpichd.lib"
-mpichlib = "mpi.lib"
-fmpichlib = "fmpich.lib"
-cppmpichlib = "cxx.lib"
-bFortran = true
-bRemoveDirs = false
-cvs_host = "harley.mcs.anl.gov"
-cvs_root_dir = "/home/MPI/cvsMaster"
-temp_out_name = "tempout.txt"
-ssh_cmd = "ssh"
-scp_cmd = "scp"
-channel = ""
-mpiexec = "mpiexec"
-testdirname = "testmpich"
-mpiexec_args = ""
-timeoutarg = " -timeout 180"
-bCommandsOnly = False
-commands_filename = "runcommands.bat"
-bBatch = False
-bSummarize = False
-bBatchFilesOnly = false
-bWin64 = false
-
-' er.xsl file contents required to display the summary.xml files
-erfilecontents = _
-"<?xml version='1.0' ?>" & vbCrLf & _
-"<!-- <xsl:stylesheet  xmlns:xsl=""http://www.w3.org/TR/WD-xsl""> -->" & vbCrLf & _
-"<xsl:stylesheet  xmlns:xsl=""http://www.w3.org/1999/XSL/Transform"" version=""1.0"">" & vbCrLf & _
-"<!-- <xsl:output method=""html""/>-->" & vbCrLf & _
-"<xsl:template match=""/"">" & vbCrLf & _
-"" & vbCrLf & _
-"<html>" & vbCrLf & _
-"<head>" & vbCrLf & _
-"<title>MPICH Error Report</title>" & vbCrLf & _
-"</head>" & vbCrLf & _
-"<body>" & vbCrLf & _
-"    <h1> Error Report </h1>" & vbCrLf & _
-"    <table border=""2"" bgcolor=""Green"">" & vbCrLf & _
-"    <xsl:apply-templates select=""MPITESTRESULTS""/>" & vbCrLf & _
-"    </table>" & vbCrLf & _
-"</body>" & vbCrLf & _
-"</html>" & vbCrLf & _
-"</xsl:template>" & vbCrLf & _
-"" & vbCrLf & _
-"<xsl:template match=""MPITESTRESULTS"">" & vbCrLf & _
-"    <xsl:apply-templates select=""DATE""/>" & vbCrLf & _
-"    <xsl:apply-templates select=""MPITEST""/>" & vbCrLf & _
-"</xsl:template>" & vbCrLf & _
-"" & vbCrLf & _
-"<xsl:template match=""DATE"">" & vbCrLf & _
-"    <tr><td bgcolor=""white"" colspan=""4"">Test run on  <xsl:value-of select="".""/></td></tr>" & vbCrLf & _
-"</xsl:template>" & vbCrLf & _
-"" & vbCrLf & _
-"<xsl:template match=""MPITEST"">" & vbCrLf & _
-"    <tr bgcolor=""white"">" & vbCrLf & _
-"    <td valign=""top"">" & vbCrLf & _
-"    <xsl:value-of select=""NAME""/>" & vbCrLf & _
-"    </td><td valign=""top"">" & vbCrLf & _
-"    <xsl:value-of select=""STATUS""/>" & vbCrLf & _
-"    </td><td WIDTH=""40%""><pre>" & vbCrLf & _
-"    <xsl:value-of select=""TESTDIFF""/>" & vbCrLf & _
-"    </pre>" & vbCrLf & _
-"    </td>" & vbCrLf & _
-"    <td valign=""top"">" & vbCrLf & _
-"    <pre>" & vbCrLf & _
-"    <xsl:value-of select=""TRACEBACK""/>" & vbCrLf & _
-"    </pre>" & vbCrLf & _
-"    </td>" & vbCrLf & _
-"    </tr>" & vbCrLf & _
-"</xsl:template>" & vbCrLf & _
-"" & vbCrLf & _
-"<xsl:template match=""TRACEBACK"">" & vbCrLf & _
-"    <a>" & vbCrLf & _
-"    <xsl:attribute name=""HREF"">" & vbCrLf & _
-"    <xsl:value-of select="".""/>" & vbCrLf & _
-"    </xsl:attribute>" & vbCrLf & _
-"    Traceback" & vbCrLf & _
-"    </a>" & vbCrLf & _
-"</xsl:template>" & vbCrLf & _
-"" & vbCrLf & _
-"" & vbCrLf & _
-"</xsl:stylesheet>" & vbCrLf
-
-
-' check if we are running cscript or wscript
-bEcho = false
-If InStr(1, LCase(WScript.FullName), "cscript") > 0 Then
-	bEcho = true
-End If
-Function cEcho(str)
-	If bEcho Then
-		On Error Resume Next
-		WScript.Echo str
-		if err <> 0 then
-			num_chars = Len(str) / 2
-			if num_chars > 4096 then
-				num_chars = 4096
-			end if
-			WScript.Echo Left(str, num_chars) & vbCrLf & "..." & vbCrLf
-			WScript.Echo Right(str, num_chars)
-		end if
-	End If
-End Function
-
-' parse the command line arguments
-
-if WScript.Arguments.Named.Exists("noexecute") then
-	bCommandsOnly = true
-	if WScript.Arguments.Named.Item("noexecute") <> "" then
-		commands_filename = WScript.Arguments.Named.Item("noexecute")
-	end if
-	set commands_file = f.CreateTextFile(commands_filename, true)
-end if
-
-if WScript.Arguments.Named.Exists("vs05") then
-	CPPFLAGS = CPPFLAGS & " /D_CRT_SECURE_NO_DEPRECATE"
-	CFLAGS = CFLAGS & " /D_CRT_SECURE_NO_DEPRECATE"
-end if
-
-if WScript.Arguments.Named.Exists("buildonly") then
-	bBuildOnly = true
-end if
-
-if WScript.Arguments.Named.Exists("buildbatch") then
-	bBatchFilesOnly = true
-	bBatch = true
-end if
-
-if WScript.Arguments.Named.Exists("testonly") then
-	bTestOnly = true
-end if
-
-if WScript.Arguments.Named.Exists("summarize") then
-	bSummarize = true
-	bBatch = true
-	bTestOnly = true
-end if
-
-if WScript.Arguments.Named.Exists("localonly") then
-	mpiexec_args = mpiexec_args & " -localonly"
-end if
-
-if WScript.Arguments.Named.Exists("batch") then
-	bBatch = WScript.Arguments.Named.Item("batch")
-end if
-
-if WScript.Arguments.Named.Exists("remove-cvs-dirs") then
-	bRemoveDirs = true
-end if
-
-if WScript.Arguments.Named.Exists("fortran") then
-	bFortran = WScript.Arguments.Named.Item("fortran")
-end if
-
-if WScript.Arguments.Named.Exists("tag") then
-	cvsTag = WScript.Arguments.Named.Item("tag")
-end if
-
-if WScript.Arguments.Named.Exists("ch") then
-	Select Case WScript.Arguments.Named.Item("ch")
-		Case "sock"
-		Case "ssm"
-			channel = "ch3ssmDebug"
-		Case "essm"
-			channel = "ch3essmDebug"
-		Case "shm"
-			channel = "ch3shmDebug"
-		Case "sshm"
-			channel = "ch3sshmDebug"
-		Case "ib"
-			channel = "ch3ibDebug"
-	End Select
-end if
-
-if WScript.Arguments.Named.Exists("mpich") then
-	bCheckoutMPICH = false
-	bMakeMPICH = false
-	bConfigureMPICH = false
-	bConfigureMPICHTests = false
-	pathMPICH = WScript.Arguments.Named.Item("mpich")
-	mpiexec = pathMPICH & "\bin\mpiexec.exe"
-end if
-
-if WScript.Arguments.Named.Exists("mpichi") then
-	bMakeMPICH = false
-	bConfigureMPICH = false
-	pathMPICHInstalled = WScript.Arguments.Named.Item("mpichi")
-	mpiexec = pathMPICHInstalled & "\bin\mpiexec.exe"
-end if
-
-if WScript.Arguments.Named.Exists("test_installed") then
-	bMakeMPICH = false
-	bConfigureMPICH = false
-	On Error Resume Next
-	pathMPICHInstalled = WshShell.RegRead("HKLM\Software\MPICH\Path")
-	if err <> 0 then
-		cEcho "MPICH not installed on this machine."
-		WScript.Quit
-	end if
-	if Right(pathMPICHInstalled, 1) = "\" then
-		pathMPICHInstalled = Left(pathMPICHInstalled, Len(pathMPICHInstalled) - 1)
-	end if
-	mpiexec = """" & pathMPICHInstalled & "\bin\mpiexec.exe"""
-	cEcho "Testing installed mpich: " & pathMPICHInstalled
-end if
-
-if WScript.Arguments.Named.Exists("make") then
-	bMakeMPICH = WScript.Arguments.Named.Item("make")
-end if
-
-if WScript.Arguments.Named.Exists("configure") then
-	bConfigureMPICH = WScript.Arguments.Named.Item("configure")
-end if
-
-if WScript.Arguments.Named.Exists("mpich") then
-	bCheckoutMPICH = false
-	pathMPICH = WScript.Arguments.Named.Item("mpich")
-end if
-
-if WScript.Arguments.Named.Exists("intel") then
-	bCheckoutINTEL = false
-	pathINTEL = WScript.Arguments.Named.Item("intel")
-end if
-
-if WScript.Arguments.Named.Exists("cpp") then
-	bCheckoutCPP = false
-	pathCPP = WScript.Arguments.Named.Item("cpp")
-end if
-
-if WScript.Arguments.Named.Exists("ssh_user") then
-	username = WScript.Arguments.Named.Item("ssh_user")
-end if
-
-if WScript.Arguments.Named.Exists("ssh-user") then
-	username = WScript.Arguments.Named.Item("ssh-user")
-end if
-
-if WScript.Arguments.Named.Exists("ssh") then
-	ssh_cmd = WScript.Arguments.Named.Item("ssh")
-end if
-
-if WScript.Arguments.Named.Exists("cvs_host") then
-	cvs_host = WScript.Arguments.Named.Item("cvs_host")
-end if
-
-if WScript.Arguments.Named.Exists("cvs-host") then
-	cvs_host = WScript.Arguments.Named.Item("cvs-host")
-end if
-
-if WScript.Arguments.Named.Exists("win64") then
-	bWin64 = true
-	mpichlib = mpichlib & " bufferoverflowU.lib"
-	fmpichlib = fmpichlib & " bufferoverflowU.lib"
-end if
-
-if WScript.Arguments.Named.Exists("test") then
-	tests = Split(WScript.Arguments.Named.Item("test"), ",")
-	bTestMPICH = false
-	bTestCPP = false
-	bTestINTEL = false
-	bTestMPICH = false
-	for each test in tests
-		Select Case test
-			Case "c++"
-				bTestCPP = true
-			Case "mpich"
-				bTestMPICH = true
-			Case "intel"
-				bTestINTEL = true
-			Case Else
-				cEcho "unknown test: " & test
-		End Select
-	next
-end if
-
-' test the command line parsing
-'tests = ""
-'if bTestMPICH then
-'	tests = tests & "mpich "
-'end if
-'if bTestCPP then
-'	tests = tests & "c++ "
-'end if
-'if bTestINTEL then
-'	tests = tests & "intel "
-'end if
-'if bTestMPICH then
-'	tests = tests & "mpich "
-'end if
-'if bBuildOnly then
-'	cEcho "buildonly"
-'end if
-'if bTestOnly then
-'	cEcho "testonly"
-'end if
-'cEcho tests
-'cEcho "cvsTag = " & cvsTag
-'WScript.Quit
-
-' utility functions
-last_commands_dir = ""
-Function RunCommand(cmd_line)
-	if bCommandsOnly then
-		if WshShell.CurrentDirectory <> last_commands_dir then
-			commands_file.WriteLine("cd " & WshShell.CurrentDirectory)
-		end if
-		last_commands_dir = WshShell.CurrentDirectory
-		commands_file.WriteLine(cmd_line & " 2>&1")
-		RunCommand = ""
-	else
-		Set oExec = WshShell.Exec("cmd /C " & cmd_line & " 2>&1")
-		cmd_output = oExec.StdOut.ReadAll()
-		'cmd_output = cmd_output & oExec.StdErr.ReadAll()
-		RunCommand = cmd_output
-	end if
-End Function
-
-Function RunEchoCommand(cmd_line)
-	cEcho cmd_line
-	cmd_line = "cmd /C " & cmd_line & " 2>&1"
-	Set oExec = WshShell.Exec(cmd_line)
-	while not oExec.Stdout.AtEndOfStream
-		cEcho oExec.Stdout.ReadLine()
-	wend
-End Function
-
-Function RunEchoCommandError(cmd_line)
-	cEcho cmd_line
-	cmd_line = "cmd /C " & cmd_line & " 2>&1"
-	Set oExec = WshShell.Exec(cmd_line)
-	while not oExec.Stdout.AtEndOfStream
-		cEcho oExec.Stdout.ReadLine()
-	wend
-	RunEchoCommand = oExec.ExitCode
-End Function
-
-Function RunEchoCommandToFile(cmd_line, file)
-	cEcho cmd_line
-	cmd_line = "cmd /C " & cmd_line & " 2>&1"
-	Set oExec = WshShell.Exec(cmd_line)
-	while not oExec.Stdout.AtEndOfStream
-		line = oExec.Stdout.ReadLine()
-		cEcho line
-		file.Write(line)
-	wend
-	RunEchoCommandToFile = oExec.ExitCode
-End Function
-
-Function ReplaceBetweenTags(str, tag1, find_str, tag2, replace_str)
-	Dim index, left_str, right_str, start_index, end_index
-	index = InStr(str, find_str)
-	If index = 0 Then
-		'MsgBox find_str & " not found in: " & str
-		ReplaceBetweenTags = str
-		Exit Function
-	End If
-	left_str = Left(str, index)
-	right_str = Right(str, Len(str) - index)
-	start_index = InStrRev(left_str, tag1)
-	If start_index = 0 Then
-		'MsgBox tag1 & " not found in: " & left_str
-		ReplaceBetweenTags = str
-		Exit Function
-	End If
-	end_index = InStr(right_str, tag2)
-	If end_index = 0 Then
-		'MsgBox tag2 & " not found in: " & right_str
-		ReplaceBetweenTags = str
-		Exit Function
-	End If
-	end_index = end_index + index
-	ReplaceBetweenTags = Left(str, start_index-1) & replace_str & Right(str, Len(str) - end_index - Len(tag2) + 1)
-End Function
-
-Function ReplaceBetweenTagsAll(str, tag1, find_str, tag2, replace_str)
-	str2 = ReplaceBetweenTags(str, tag1, find_str, tag2, replace_str)
-	while str <> str2
-		str = str2
-		str2 = ReplaceBetweenTags(str, tag1, find_str, tag2, replace_str)
-	wend
-	ReplaceBetweenTagsAll = str
-End Function
-
-Function ParseFailed(str)
-	set rx = new RegExp
-	' remove the passed fields
-	rx.Global = True
-	rx.Pattern = "<MPITEST>.*" & vbCrLf & "<NAME>.*</NAME>.*" & vbCrLf & "<STATUS>pass</STATUS>.*" & vbCrLf & "</MPITEST>.*" & vbCrLf
-	str = rx.Replace(str, "")
-	' remove failures due to missing executables
-	str = ReplaceBetweenTagsAll(str, "<MPITEST>", "no executable, test skipped", "</MPITEST>" & vbCrLf, "")
-	ParseFailed = str
-End Function
-
-Function CountInstances(filename, str)
-	set fin = f.OpenTextFile(filename)
-	set rx = new RegExp
-	rx.Global = True
-	rx.Pattern = str
-	count = 0
-	if not fin.AtEndOfStream then
-		Set Matches = rx.Execute(fin.ReadAll())
-		For Each Match in Matches
-			count = count + 1
-		Next
-	end if
-	CountInstances = count
-End Function
-
-Function CheckOut(package)
-	Select Case package
-		Case "mpich"
-			if bRemoveDirs and f.FolderExists("mpich") then
-				f.DeleteFolder "mpich", true
-			end if
-			co = "mpichallWithMPE"
-		Case "mpich"
-			if bRemoveDirs and f.FolderExists("mpi1") then
-				f.DeleteFolder "mpi1", true
-			end if
-			co = "-d mpi1 mpich/examples/test"
-		Case "c++"
-			if bRemoveDirs and f.FolderExists("mpicxxtest") then
-				f.DeleteFolder "mpicxxtest", true
-			end if
-			co = "mpicxxtest"
-		Case "intel"
-			if bRemoveDirs and f.FolderExists("IntelMPITEST") then
-				f.DeleteFolder "IntelMPITEST", true
-			end if
-			co = "IntelMPITEST"
-		Case Else
-			if bRemoveDirs and f.FolderExists(package) then
-				f.DeleteFolder package, true
-			end if
-			co = package
-	End Select
-	cmd = "cvs -q -d :ext:" & username & "@" & cvs_host & ":" & cvs_root_dir & " co " & co
-	'cEcho cmd
-	env("CVS_RSH") = ssh_cmd
-	RunEchoCommand cmd
-	if package = "mpich" then
-		cEcho "changing into directory " & WshShell.CurrentDirectory & "\mpi1"
-		WshShell.CurrentDirectory = "mpi1"
-		cmd = "cvs -q co -d io romio/test"
-		'cEcho cmd
-		RunEchoCommand cmd
-		cEcho "changing into directory " & rootdir
-		WshShell.CurrentDirectory = rootdir
-	end if
-End Function
-
-num_files = 0
-Function internalFindFiles(ByRef files, folder, filename)
-	For Each sub_folder in folder.SubFolders
-		internalFindFiles files, sub_folder, filename
-	Next
-	For Each file in folder.Files
-		If file.Name = filename Then
-			files.Add num_files, file.Path
-			num_files = num_files + 1
-		End If
-	Next
-End Function
-Function FindFiles(ByRef files, folder, filename)
-	files.RemoveAll()
-	num_files = 0
-	internalFindFiles files, folder, filename
-End Function
-
-Function BuildMPICHTestList(filename, testlistfile)
-	Set fin = f.OpenTextFile(filename)
-	while not fin.AtEndOfStream
-		line = fin.ReadLine()
-		line = Trim(line)
-		' Find and parse the RunTest lines
-		if InStr(1, line, "RunTest") then
-			words = Split(line, " ", -1, 1)
-			if UBound(words) > 2 then
-				testlistfile.WriteLine(words(1) & " " & words(2))
-			end if
-		end if
-		' The romio tests don't use RunTest lines so find and parse lines with "$mpirun -np" in them.
-		if InStr(1, line, "$mpirun -np") > 0 and InStr(1, line, "FILENAME") > 0 then
-			words = Split(line, " ", -1, 1)
-			if UBound(words) > 3 then
-				if InStr(1, words(3), "./") then
-					testlistfile.WriteLine(Right(words(3), len(words(3))-2) & " " & words(2))
-				else
-					testlistfile.WriteLine(words(3) & " " & words(2))
-				end if
-			end if
-		end if
-	wend
-	fin.Close()
-End Function
-
-Function BuildMPICHMakefile(filename, outputfile)
-	Set fin = f.OpenTextFile(filename)
-	while not fin.AtEndOfStream
-		line = fin.ReadLine()
-		line = Trim(line)
-		' FIXME: Add code to handle the io\Makefile.in format
-		if InStr(1, line, " -o ", 1) > 0 and InStr(1, line, ".o", 1) > 0 then
-			if InStr(1, line, "FLINKER") then
-				bFort = true
-				ext = ".f"
-			else
-				bFort = false
-				ext = ".c"
-			end if
-			first = InStr(1, line, " -o ")
-			last = InStr(first+4, line, " ")
-			test = Mid(line, first + 4, last - first - 4)
-			test = Replace(test, "./", "")
-			if test <> "$*" then
-				if bFort then
-					cmd = FC & " /nologo -o " & test & ".exe"
-				else
-					cmd = CC & CFLAGS & " -o " & test & ".exe"
-				end if
-				words = Split(line, " ", -1, 1)
-				for each word in words
-					if instr(1, word, ".o") then
-						cmd = cmd & " " & Replace(filename, "Makefile.in", Replace(word, ".o", ext))
-					end if
-				next
-				if bFort then
-					cmd = cmd & " " & fmpichlib '& " " & mpichlib
-				else
-					cmd = cmd & " " & mpichlib
-				end if
-				cEcho cmd
-				if not bFortran and bFort then
-					result = "not building fortran"
-				else
-					if f.FileExists(test & ".exe") then
-						f.DeleteFile(test & ".exe")
-					end if
-					'result = RunCommand(cmd)
-				end if
-				'cEcho result
-				outputfile.WriteLine(cmd)
-				'outputfile.Write(result)
-				stdoutfile = Replace(filename, "Makefile.in", test & ".std")
-				if f.FileExists(stdoutfile) then
-					f.CopyFile stdoutfile, mpich_outputdir, true
-				end if
-			end if
-		end if
-	wend
-	fin.Close()
-End Function
-
-Function BuildCPPMakefile(filename)
-	Set fin = f.OpenTextFile(filename)
-	Set buildout = f.CreateTextFile("build.out", True)
-	Set testlistout = f.CreateTextFile("testlist", True)
-	while not fin.AtEndOfStream
-		line = fin.ReadLine()
-		line = Trim(line)
-		if InStr(1, line, " -o ", 1) > 0 then
-			first = InStr(1, line, " -o ")
-			last = InStr(first+4, line, " ")
-			test = Mid(line, first + 4, last - first - 4)
-			test = Replace(test, "./", "")
-			' check to make sure we've matched a valid source file
-			if f.FileExists(Replace(filename, "Makefile.in", test & ".cc ")) then
-				cmd = CPP & CPPFLAGS & " /DTEST_ROUTINE=" & test & " /DTEST_NAME=\""" & test & "\"" -o " & test & ".exe "
-				cmd = cmd & "/Tp" & Replace(filename, "Makefile.in", test & ".cc ")
-				if test <> "range" then ' the range test provides its own main and conflicts with the suplementary source files
-					cmd = cmd & "/Tp" & Replace(filename, "Makefile.in", "cxxtest.cc ")
-					cmd = cmd & "/Tp" & Replace(filename, "Makefile.in", "initialized1.cc ")
-					cmd = cmd & "/Tp" & Replace(filename, "Makefile.in", "messages.cc ")
-					cmd = cmd & "/Tp" & Replace(filename, "Makefile.in", "stack.cc ")
-					cmd = cmd & "/Tp" & Replace(filename, "Makefile.in", "signal.cc ")
-				end if
-				cmd = cmd & cppmpichlib & " " & mpichlib
-				cEcho cmd
-				if f.FileExists(test & ".exe") then
-					f.DeleteFile(test & ".exe")
-				end if
-				result = RunCommand(cmd)
-				cEcho result
-				buildout.WriteLine(cmd)
-				buildout.Write(result)
-				if test = "range" then
-					testlistout.WriteLine(test & " 8")
-				else
-					if test <> "initialized1" then ' initialized1 is an invalid test so skip it
-						testlistout.WriteLine(test & " 4")
-					end if
-				end if
-			end if
-		end if
-	wend
-	fin.Close()
-	buildout.Close()
-	testlistout.Close()
-End Function
-
-Function BuildINTELTest(testdir, np, buildout, testlistout)
-	bCTest = false
-	bFortranTest = false
-	cmd = ""
-	test = Mid(testdir, InStrRev(testdir, "\")+1)
-	if f.FileExists(testdir & "\node.c") then
-		bCTest = true
-		cmd = CC & CFLAGS & " -o " & test & ".exe "
-	end if
-	if f.FileExists(testdir & "\node.f") then
-		bFortranTest = true
-		test = test & "f" ' add an f to the fortran tests to prevent name collisions with the c tests
-		cmd = FC & " /nologo /fpp -o " & test & ".exe "
-	end if
-	if bCTest then
-		cmd = cmd & "-I" & intel_rootdir & "\include "
-		for each file in f.GetFolder(testdir).Files
-			if Instr(file.Name, ".c") > 0 then
-				cmd = cmd & testdir & "\" & file.Name & " "
-			end if
-		next
-		cmd = cmd & intel_rootdir & "\lib\libmpitest.c " & mpichlib
-	end if
-	if bFortranTest then
-		cmd = cmd & "-I" & intel_rootdir & "\include "
-		for each file in f.GetFolder(testdir).Files
-			if Instr(file.Name, ".f") > 0 or Instr(file.Name, ".F") > 0 then
-				cmd = cmd & testdir & "\" & file.Name & " "
-			end if
-		next
-		cmd = cmd & intel_rootdir & "\lib\libmpitestf.f " & fmpichlib '& " " & mpichlib
-	end if
-'	cEcho cmd
-'	if f.FileExists("node.obj") then
-'		f.DeleteFile("node.obj")
-'	end if
-	' If you don't delete the old object file you can link previous code when a build fails
-	buildout.WriteLine("del node.obj")
-
-	do_command = false
-	if bCTest then
-		do_command = true
-	end if
-	if bFortranTest then
-		' If this is a fortran test, let the global variable determine whether we compile it or not.
-		do_command = bFortran
-	end if
-	
-	if do_command then
-		' redirect the output to a file to prevent output buffer deadlock
-		cmd = cmd '& " > cmdout.txt"
-		if f.FileExists(test & ".exe") then
-			f.DeleteFile(test & ".exe")
-		end if
-'		result = RunCommand(cmd)
-'		if f.FileExists("cmdout.txt") then
-'			set outfile = f.OpenTextFile("cmdout.txt")
-'			if not outfile.AtEndOfStream then
-'				result = outfile.ReadAll()
-'			else
-'				result = ""
-'			end if
-'			outfile.Close()
-'			f.DeleteFile("cmdout.txt")
-'		end if
-	else
-'		result = "skipping build"
-		cmd = "REM skipping build"
-	end if
-
-'	cEcho result
-	buildout.WriteLine(cmd)
-'	buildout.Write(result)
-	testlistout.WriteLine(test & " " & np)
-End Function
-
-Function BuildMPICHTestList(filename, srcdir, buildout)
-	cEcho "building testlist: " & filename
-	buildout.WriteLine("building testlist: " & filename)
-	set fin = f.OpenTextFile(filename)
-	while not fin.AtEndOfStream
-		twostrings = split(Trim(fin.ReadLine()), " ", -1, 1)
-		if not IsNull(twostrings) then
-			count = 0
-			for each s in twostrings
-				count = count + 1
-			next
-			if count > 1 then
-				test = twostrings(0)
-				basefilename = Replace(filename, "testlist", test)
-				bCTest = false
-				bFortranTest = false
-				bCppTest = false
-				cmd = ""
-				If f.FileExists(basefilename & ".c") Then
-					bCTest = true
-					cmd = CC & CFLAGS & " -o " & test & ".exe "
-					cmd = cmd & "-I" & srcdir & "\include " & basefilename & ".c "
-					cmd = cmd & srcdir & "\util\mtest.c " & mpichlib & " ws2_32.lib" ' the join test needs the socket library
-				ElseIf f.FileExists(basefilename & ".f") Then
-					bFortranTest = true
-					cmd = FC & " /nologo /fpp -o " & test & ".exe "
-					cmd = cmd & "-I" & srcdir & "\include " & basefilename & ".f "
-					cmd = cmd & srcdir & "\f77\util\mtestf.f " & fmpichlib '& " " & mpichlib
-				ElseIf f.FileExists(basefilename & ".cxx") Then
-					bCppTest = true
-					cmd = CPP & CPPFLAGS & " -o " & test & ".exe "
-					cmd = cmd & "-I" & srcdir & "\include " & basefilename & ".cxx "
-					cmd = cmd & srcdir & "\cxx\util\mtest.cxx " & cppmpichlib & " " & mpichlib
-				Else
-					cmd = "no source file " & basefilename & ".c .f or .cxx"
-				End If
-
-				cEcho cmd
-				do_command = false
-				if bCTest then
-					do_command = true
-				end if
-				if bFortranTest then
-					' If this is a fortran test, let the global variable determine whether we compile it or not.
-					do_command = bFortran
-				end if
-				if bCppTest then
-					do_command = true
-				end if
-	
-				if do_command then
-					' redirect the output to a file to prevent output buffer deadlock
-					cmd = cmd '& " > cmdout.txt"
-					if f.FileExists(test & ".exe") then
-						f.DeleteFile(test & ".exe")
-					end if
-'					result = RunCommand(cmd)
-'					if f.FileExists("cmdout.txt") then
-'						set outfile = f.OpenTextFile("cmdout.txt")
-'						if not outfile.AtEndOfStream then
-'							result = outfile.ReadAll()
-'						else
-'							result = ""
-'						end if
-'						outfile.Close()
-'						f.DeleteFile("cmdout.txt")
-'					end if
-				else
-					cmd = "REM skipping build"
-				end if
-
-'				cEcho result
-				buildout.WriteLine(cmd)
-'				buildout.Write(result)
-			end if
-		end if
-	wend
-End Function
-
-Function ReplaceAts( str )
-	Dim regEx, Match, Matches
-	Set regEx = New RegExp
-	regEx.Pattern = "@.*@"
-	regEx.IgnoreCase = True
-	regEx.Global = True
-	Set Matches = regEx.Execute(str)
-	For Each Match in Matches
-		Select Case Match
-			Case "@F77_AINT@"
-				str = Replace(str, "@F77_AINT@", "INTEGER")
-			Case "@OPT_FCMDLINE@"
-				str = Replace(str, "@OPT_FCMDLINE@", "")
-			Case "@OPT_FREAL2@"
-				str = Replace(str, "@OPT_FREAL2@", "C ")
-			Case "@OPT_FREAL4@"
-				str = Replace(str, "@OPT_FREAL4@", "")
-			Case "@OPT_FREAL8@"
-				str = Replace(str, "@OPT_FREAL8@", "")
-			Case "@OPT_FDOUBLE_COMPLEX@"
-				str = Replace(str, "@OPT_FDOUBLE_COMPLEX@", "")
-			Case "@OPT_FINT1@"
-				str = Replace(str, "@OPT_FINT1@", "")
-			Case "@OPT_FINT2@"
-				str = Replace(str, "@OPT_FINT2@", "")
-			Case "@OPT_FINT4@"
-				str = Replace(str, "@OPT_FINT4@", "")
-		End Select
-	Next
-	ReplaceAts = str
-End Function
-
-Function CountTests(outdir)
-	Set fin = f.OpenTextFile(outdir & "testlist")
-	num_tests = 0
-	while not fin.AtEndOfStream
-		line = fin.ReadLine()
-		line = Trim(line)
-		twostrings = split(line, " ", -1, 1)
-		if not IsNull(twostrings) then
-			count = 0
-			for each s in twostrings
-				count = count + 1
-			next
-			if count = 2 then
-			 if Left(twostrings(0), 1) <> "#" then
-			  if Len(twostrings(1)) > 0 then
-				num_tests = num_tests + 1
-			  end if
-			 end if
-			end if
-		end if
-	wend
-	fin.Close()
-	CountTests = num_tests
-End Function
-
-Function BuildMPICHTestSuite(srcdir, builddir)
-	mpich_outputdir = f.GetAbsolutePathName(builddir) & "\"
-	if Not f.FolderExists(builddir) then
-		f.CreateFolder(builddir)
-	end if
-
-	set makefilein_files = CreateObject("Scripting.Dictionary")
-	set test_files = CreateObject("Scripting.Dictionary")
-	FindFiles makefilein_files, f.GetFolder(srcdir), "Makefile.in"
-	FindFiles test_files, f.GetFolder(srcdir), "runtests.in"
-
-	' move into the build directory
-	cEcho "changing into directory " & builddir
-	WshShell.CurrentDirectory = builddir
-
-	set buildout = f.CreateTextFile("build.bat", True)
-	a = makefilein_files.Items
-	If makefilein_files.Count > 0 Then
-		For i = 0 to makefilein_files.Count - 1
-			BuildMPICHMakefile a(i), buildout
-		Next
-	End If
-	buildout.Close()
-	RunCommand("build.bat 2>&1 | tee build.out")
-	' for some reason the mpich test suite copies longuser.exe to use in then -np 4 case
-	' rather than just making two entries in the runtests.in file
-	if f.FileExists(mpich_outputdir & "longuser.exe") then
-		f.CopyFile mpich_outputdir & "longuser.exe", mpich_outputdir & "longuser1.exe"
-	end if
-
-	set testlistout = f.CreateTextFile("testlist", True)
-	a = test_files.Items
-	if test_files.Count > 0 Then
-		for i = 0 to test_files.Count - 1
-			BuildMPICHTestList a(i), testlistout
-		next
-	end if
-	testlistout.Close()
-
-	' move back to the root directory
-	cEcho "changing into directory " & rootdir
-	WshShell.CurrentDirectory = rootdir
-End Function
-
-Function RunMPICHTestSuite(outdir)
-	cEcho "changing into directory " & outdir
-	WshShell.CurrentDirectory = outdir
-	cur_test = 1
-	num_tests = CountTests(outdir)
-	set fcmds = f.CreateTextFile(outdir & "mpich_cmds.bat")
-	set fout = f.CreateTextFile(outdir & "summary.xml")
-	Set fin = f.OpenTextFile(outdir & "testlist")
-	if not f.FileExists("er.xsl") then
-		set erfile = f.CreateTextFile(outdir & "er.xsl")
-		erfile.Write(erfilecontents)
-		erfile.Close()
-	end if
-	fout.WriteLine("<?xml version='1.0' ?>")
-	fout.WriteLine("<?xml-stylesheet href=""er.xsl"" type=""text/xsl"" ?>")
-	fout.WriteLine("<MPITESTRESULTS>")
-	fout.WriteLine("<DATE>" & Date)
-	fout.WriteLine("</DATE>")
-	fout.WriteLine("<MPISOURCE></MPISOURCE>")
-	while not fin.AtEndOfStream
-		line = fin.ReadLine()
-		line = Trim(line)
-		twostrings = split(line, " ", -1, 1)
-		if not IsNull(twostrings) then
-			count = 0
-			for each s in twostrings
-				count = count + 1
-			next
-			if count = 2 then
-			 if Left(twostrings(0), 1) <> "#" then
-			  if Len(twostrings(1)) > 0 then
-				exe = outdir & twostrings(0) & ".exe"
-				cmd = mpiexec & mpiexec_args & timeoutarg & " -n " + twostrings(1) + " " + exe
-				cEcho "test " & cur_test & " of " & num_tests
-				cur_test = cur_test + 1
-			 	cEcho cmd
-				fout.WriteLine("<MPITEST>")
-				fout.WriteLine("<NAME>" & twostrings(0) & "</NAME>")
-				if f.FileExists(exe) then
-				    fcmds.WriteLine(cmd & " > " & twostrings(0) & "." & twostrings(1) & ".output")
-				    if bCommandsOnly then
-				        result = "not executing test"
-				        if WshShell.CurrentDirectory <> last_commands_dir then
-							commands_file.WriteLine("cd " & WshShell.CurrentDirectory)
-						end if
-						last_commands_dir = WshShell.CurrentDirectory
-				        commands_file.WriteLine(cmd & " 2>&1")
-				    else
-					    result = RunCommand(cmd)
-					end if
-				else
-					result = "no executable, test skipped"
-					num_skipped = num_skipped + 1
-				end if
-				cEcho result
-				if (Instr(result, " No Errors") or Instr(result, "No errors")) And len(result) < 14 Then
-					fout.WriteLine("<STATUS>pass</STATUS>")
-					num_passed = num_passed + 1
-				else
-					std = ""
-					altstd = ""
-					fstd = ""
-					stdfilename = outdir & twostrings(0) & ".std"
-					if f.FileExists(stdfilename) then
-						set stdfile = f.OpenTextFile(stdfilename, 1, false)
-						' std contains the file minus the first and last lines
-						' altstd contains the entire file
-						' fstd contains the same as std with one space added to the beginning of each line
-						std = stdfile.ReadLine()
-						altstd = std & vbCrLf
-						std = stdfile.ReadLine() & vbCrLf
-						altstd = altstd & std
-						fstd = " " & std
-						while not stdfile.AtEndOfStream
-							line = stdfile.ReadLine()
-							if not stdfile.AtEndOfStream then
-								std = std & line & vbCrLf
-								altstd = altstd & line & vbCrLf
-								fstd = fstd & " " & line & vbCrLf
-							else
-								altstd = altstd & line & vbCrLf
-							end if
-						wend
-						stdfile.Close()
-					end if
-					if (std <> "") and (result = std or result = altstd or result = fstd) then
-						fout.WriteLine("<STATUS>pass</STATUS>")
-						num_passed = num_passed + 1
-					else
-						if std <> "" then
-							cEcho "************* std ***************"
-			 				cEcho std
-			 				cEcho "************* != ****************"
-			 				cEcho result
-			 				cEcho "*********************************"
-						end if
-						fout.WriteLine("<STATUS>fail</STATUS>")
-						fout.WriteLine("<TESTDIFF>")
-						cmd = Replace(cmd, "&", "&")
-						cmd = Replace(cmd, "<", "<")
-						cmd = Replace(cmd, ">", ">")
-						fout.WriteLine(cmd)
-						if std <> "" then
-							fout.WriteLine("************* std ***************")
-							std = Replace(std, "&", "&")
-							std = Replace(std, "<", "<")
-							std = Replace(std, ">", ">")
-							fout.WriteLine(std)
-							fout.WriteLine("************* != ****************")
-						end if
-						result = Replace( result, "&", "&" )
-						result = Replace( result, "<", "<" )
-						result = Replace( result, ">", ">" )
-						fout.WriteLine(result)
-						if std <> "" then
-							fout.WriteLine("*********************************")
-						end if
-						fout.WriteLine("</TESTDIFF>")
-						if f.FileExists(exe) then
-							num_failed = num_failed + 1
-						end if
-					end if
-				end if
-				fout.WriteLine("</MPITEST>")
-			  end if
-			 end if
-			end if
-		end if
-	wend
-	fin.Close()
-	fout.WriteLine("</MPITESTRESULTS>")
-	fout.Close()
-	fcmds.Close()
-	' move back to the root directory
-	cEcho "changing into directory " & rootdir
-	WshShell.CurrentDirectory = rootdir
-End Function
-
-Function RunMPICHTestSuiteBatch(outdir)
-	cEcho "changing into directory " & outdir
-	WshShell.CurrentDirectory = outdir
-	cur_test = 1
-	num_tests = CountTests(outdir)
-
-	if not bSummarize then
-		' first pass generates the batch file
-		set fcmds = f.CreateTextFile(outdir & "mpich_cmds.bat")
-		Set fin = f.OpenTextFile(outdir & "testlist")
-		while not fin.AtEndOfStream
-			line = fin.ReadLine()
-			line = Trim(line)
-			twostrings = split(line, " ", -1, 1)
-			if not IsNull(twostrings) then
-				count = 0
-				for each s in twostrings
-					count = count + 1
-				next
-				if count = 2 then
-				 if Left(twostrings(0), 1) <> "#" then
-				  if Len(twostrings(1)) > 0 then
-					exe = outdir & twostrings(0) & ".exe"
-					cmd = mpiexec & mpiexec_args & timeoutarg & " -n " + twostrings(1) + " " + exe
-					fcmds.WriteLine("REM test " & cur_test & " of " & num_tests)
-					cur_test = cur_test + 1
-					if f.FileExists(exe) then
-					    fcmds.WriteLine(cmd & " 2>&1 | tee " & twostrings(0) & "." & twostrings(1) & ".output")
-					else
-						fcmds.WriteLine("REM no executable, test skipped")
-					end if
-				  end if
-				 end if
-				end if
-			end if
-		wend
-		fin.Close()
-		fcmds.Close()
-
-		' run the tests
-		if Not bCommandsOnly then
-			if not bBatchFilesOnly Then
-				RunEchoCommand(outdir & "mpich_cmds.bat")
-			end if
-		end if
-	end if
-
-	if not bBatchFilesOnly then
-		' second pass parses the output
-		set fout = f.CreateTextFile(outdir & "summary.xml")
-		if not f.FileExists("er.xsl") then
-			set erfile = f.CreateTextFile(outdir & "er.xsl")
-			erfile.Write(erfilecontents)
-			erfile.Close()
-		end if
-		fout.WriteLine("<?xml version='1.0' ?>")
-		fout.WriteLine("<?xml-stylesheet href=""er.xsl"" type=""text/xsl"" ?>")
-		fout.WriteLine("<MPITESTRESULTS>")
-		fout.WriteLine("<DATE>" & Date)
-		fout.WriteLine("</DATE>")
-		fout.WriteLine("<MPISOURCE></MPISOURCE>")
-		Set fin = f.OpenTextFile(outdir & "testlist")
-		while not fin.AtEndOfStream
-			line = fin.ReadLine()
-			line = Trim(line)
-			twostrings = split(line, " ", -1, 1)
-			if not IsNull(twostrings) then
-				count = 0
-				for each s in twostrings
-					count = count + 1
-				next
-				if count = 2 then
-				 if Left(twostrings(0), 1) <> "#" then
-				  if Len(twostrings(1)) > 0 then
-					exe = outdir & twostrings(0) & ".exe"
-					cmd = mpiexec & mpiexec_args & timeoutarg & " -n " + twostrings(1) + " " + exe
-					fout.WriteLine("<MPITEST>")
-					fout.WriteLine("<NAME>" & twostrings(0) & "</NAME>")
-					if f.FileExists(exe) then
-					    if bCommandsOnly then
-					        result = "not executing test"
-					        if WshShell.CurrentDirectory <> last_commands_dir then
-								commands_file.WriteLine("cd " & WshShell.CurrentDirectory)
-							end if
-							last_commands_dir = WshShell.CurrentDirectory
-					        commands_file.WriteLine(cmd & " 2>&1 | tee " & twostrings(0) & "." & twostrings(1) & ".output")
-					    else
-							if f.FileExists(twostrings(0) & "." & twostrings(1) & ".output") then
-								Set foutput = f.OpenTextFile(twostrings(0) & "." & twostrings(1) & ".output")
-								if not foutput.AtEndOfStream then
-									result = foutput.ReadAll()
-								else
-									result = ""
-								end if
-								foutput.Close()
-							else
-								result = ""
-							end if
-						end if
-					else
-						result = "no executable, test skipped"
-						num_skipped = num_skipped + 1
-					end if
-					if (Instr(result, " No Errors") or Instr(result, "No errors")) And len(result) < 14 Then
-						fout.WriteLine("<STATUS>pass</STATUS>")
-						num_passed = num_passed + 1
-					else
-						std = ""
-						altstd = ""
-						fstd = ""
-						stdfilename = outdir & twostrings(0) & ".std"
-						if f.FileExists(stdfilename) then
-							set stdfile = f.OpenTextFile(stdfilename, 1, false)
-							' std contains the file minus the first and last lines
-							' altstd contains the entire file
-							' fstd contains the same as std with one space added to the beginning of each line
-							std = stdfile.ReadLine()
-							altstd = std & vbCrLf
-							std = stdfile.ReadLine() & vbCrLf
-							altstd = altstd & std
-							fstd = " " & std
-							while not stdfile.AtEndOfStream
-								line = stdfile.ReadLine()
-								if not stdfile.AtEndOfStream then
-									std = std & line & vbCrLf
-									altstd = altstd & line & vbCrLf
-									fstd = fstd & " " & line & vbCrLf
-								else
-									altstd = altstd & line & vbCrLf
-								end if
-							wend
-							stdfile.Close()
-						end if
-						if (std <> "") and (result = std or result = altstd or result = fstd) then
-							fout.WriteLine("<STATUS>pass</STATUS>")
-							num_passed = num_passed + 1
-						else
-							if std <> "" then
-								cEcho "************* std ***************"
-				 				cEcho std
-				 				cEcho "************* != ****************"
-				 				cEcho result
-				 				cEcho "*********************************"
-							end if
-							fout.WriteLine("<STATUS>fail</STATUS>")
-							fout.WriteLine("<TESTDIFF>")
-							cmd = Replace(cmd, "&", "&")
-							cmd = Replace(cmd, "<", "<")
-							cmd = Replace(cmd, ">", ">")
-							fout.WriteLine(cmd)
-							if std <> "" then
-								fout.WriteLine("************* std ***************")
-								std = Replace(std, "&", "&")
-								std = Replace(std, "<", "<")
-								std = Replace(std, ">", ">")
-								fout.WriteLine(std)
-								fout.WriteLine("************* != ****************")
-							end if
-							result = Replace( result, "&", "&" )
-							result = Replace( result, "<", "<" )
-							result = Replace( result, ">", ">" )
-							fout.WriteLine(result)
-							if std <> "" then
-								fout.WriteLine("*********************************")
-							end if
-							fout.WriteLine("</TESTDIFF>")
-							if f.FileExists(exe) then
-								num_failed = num_failed + 1
-							end if
-						end if
-					end if
-					fout.WriteLine("</MPITEST>")
-				  end if
-				 end if
-				end if
-			end if
-		wend
-		fin.Close()
-		fout.WriteLine("</MPITESTRESULTS>")
-		fout.Close()
-	end if
-
-	' move back to the root directory
-	cEcho "changing into directory " & rootdir
-	WshShell.CurrentDirectory = rootdir
-End Function
-
-Function BuildCPPTestSuite(srcdir, builddir)
-	if not f.FileExists(srcdir & "\cxxtestconf.h") then
-		set fout = f.CreateTextFile(srcdir & "\cxxtestconf.h")
-		fout.WriteLine("#ifndef CXXTESTCONF_H")
-		fout.WriteLine("#define CXXTESTCONF_H")
-		fout.WriteLine("#define HAVE_EXCEPTIONS")
-		fout.WriteLine("#define HAVE_IOSTREAM")
-		fout.WriteLine("#define USE_XMLOUT")
-		fout.WriteLine("#endif")
-		fout.Close()
-	end if
-	if f.FileExists(srcdir & "\Makefile.in") then
-		filename = f.GetAbsolutePathName(srcdir & "\Makefile.in")
-		if Not f.FolderExists(builddir) then
-			f.CreateFolder(builddir)
-		end if
-		cEcho "changing into directory " & builddir
-		WshShell.CurrentDirectory = builddir
-		BuildCPPMakefile filename
-		' move back to the root directory
-		cEcho "changing into directory " & rootdir
-		WshShell.CurrentDirectory = rootdir
-	end if
-End Function
-
-Function RunCPPTestSuite(outdir)
-	cEcho "changing into directory " & outdir
-	WshShell.CurrentDirectory = outdir ' the c++ suite must be run from the output directory because the tests assume summary.xml is in the current directory
-	cur_test = 1
-	num_tests = CountTests(outdir)
-	set fcmds = f.CreateTextFile(outdir & "cpp_cmds.bat")
-	set fout = f.CreateTextFile(outdir & "summary.xml")
-	Set fin = f.OpenTextFile(outdir & "testlist")
-	if not f.FileExists("er.xsl") then
-		set erfile = f.CreateTextFile(outdir & "er.xsl")
-		erfile.Write(erfilecontents)
-		erfile.Close()
-	end if
-	fout.WriteLine("<?xml version='1.0' ?>")
-	fout.WriteLine("<?xml-stylesheet href=""er.xsl"" type=""text/xsl"" ?>")
-	fout.WriteLine("<MPITESTRESULTS>")
-	fout.WriteLine("<DATE>" & Date)
-	fout.WriteLine("</DATE>")
-	fout.WriteLine("<MPISOURCE></MPISOURCE>")
-	fout.Close()
-	while not fin.AtEndOfStream
-		line = fin.ReadLine()
-		line = Trim(line)
-		twostrings = split(line, " ", -1, 1)
-		if not IsNull(twostrings) then
-			count = 0
-			for each s in twostrings
-				count = count + 1
-			next
-			if count = 2 then
-			 if Left(twostrings(0), 1) <> "#" then
-			  if Len(twostrings(1)) > 0 then
-				exe = outdir & twostrings(0) & ".exe"
-				cmd = mpiexec & mpiexec_args & timeoutarg & " -n " + twostrings(1) + " " + exe
-				cEcho "test " & cur_test & " of " & num_tests
-				cur_test = cur_test + 1
-			 	cEcho cmd
-				if f.FileExists(exe) then
-				    fcmds.WriteLine(cmd & " > " & twostrings(0) & "." & twostrings(1) & ".output")
-				    if bCommandsOnly then
-				        result = "not executing test"
-				        if WshShell.CurrentDirectory <> last_commands_dir then
-							commands_file.WriteLine("cd " & WshShell.CurrentDirectory)
-						end if
-						last_commands_dir = WshShell.CurrentDirectory
-				        commands_file.WriteLine(cmd & " 2>&1")
-				    else
-					    result = RunCommand(cmd)
-					end if
-				else
-					result = "no executable, test skipped"
-					num_skipped = num_skipped + 1
-				end if
-				cEcho result
-			  end if
-			 end if
-			end if
-		end if
-	wend
-	fin.Close()
-	set fout = f.OpenTextFile(outdir & "summary.xml", 8, True)
-	fout.WriteLine("</MPITESTRESULTS>")
-	fout.Close()
-	fcmds.Close()
-	' move back to the root directory
-	cEcho "changing into directory " & rootdir
-	WshShell.CurrentDirectory = rootdir
-End Function
-
-Function RunCPPTestSuiteBatch(outdir)
-	cEcho "changing into directory " & outdir
-	WshShell.CurrentDirectory = outdir ' the c++ suite must be run from the output directory because the tests assume summary.xml is in the current directory
-	cur_test = 1
-	num_tests = CountTests(outdir)
-
-	if not bSummarize then
-		' first pass creates the batch file
-		set fcmds = f.CreateTextFile(outdir & "cpp_cmds.bat")
-		Set fin = f.OpenTextFile(outdir & "testlist")
-		while not fin.AtEndOfStream
-			line = fin.ReadLine()
-			line = Trim(line)
-			twostrings = split(line, " ", -1, 1)
-			if not IsNull(twostrings) then
-				count = 0
-				for each s in twostrings
-					count = count + 1
-				next
-				if count = 2 then
-				 if Left(twostrings(0), 1) <> "#" then
-				  if Len(twostrings(1)) > 0 then
-					exe = outdir & twostrings(0) & ".exe"
-					cmd = mpiexec & mpiexec_args & timeoutarg & " -n " + twostrings(1) + " " + exe
-					fcmds.WriteLine("REM test " & cur_test & " of " & num_tests)
-					cur_test = cur_test + 1
-				 	'cEcho cmd
-					if f.FileExists(exe) then
-					    fcmds.WriteLine(cmd & " 2>&1 | tee " & twostrings(0) & "." & twostrings(1) & ".output")
-					    if bCommandsOnly then
-					        if WshShell.CurrentDirectory <> last_commands_dir then
-								commands_file.WriteLine("cd " & WshShell.CurrentDirectory)
-							end if
-							last_commands_dir = WshShell.CurrentDirectory
-					        commands_file.WriteLine(cmd & " 2>&1 | tee " & twostrings(0) & "." & twostrings(1) & ".output")
-						end if
-					else
-						fcmds.WriteLine("REM no executable, test skipped")
-						num_skipped = num_skipped + 1
-					end if
-				  end if
-				 end if
-				end if
-			end if
-		wend
-		fin.Close()
-		fcmds.Close()
-
-		' run the tests
-		if not bCommandsOnly then
-			if not bBatchFilesOnly then
-				if f.FileExists(outdir & "summary.xml") then
-					f.DeleteFile(outdir & "summary.xml")
-				end if
-				RunEchoCommand(outdir & "cpp_cmds.bat")
-			end if
-		end if
-	end if
-
-	if not bBatchFilesOnly then
-		' create summary2.xml from summary.xml with the correct header and footer
-		set fout = f.CreateTextFile(outdir & "summary2.xml")
-		if not f.FileExists("er.xsl") then
-			set erfile = f.CreateTextFile(outdir & "er.xsl")
-			erfile.Write(erfilecontents)
-			erfile.Close()
-		end if
-		fout.WriteLine("<?xml version='1.0' ?>")
-		fout.WriteLine("<?xml-stylesheet href=""er.xsl"" type=""text/xsl"" ?>")
-		fout.WriteLine("<MPITESTRESULTS>")
-		fout.WriteLine("<DATE>" & Date)
-		fout.WriteLine("</DATE>")
-		fout.WriteLine("<MPISOURCE></MPISOURCE>")
-		If f.FileExists(outdir & "summary.xml") Then
-			set fin = f.OpenTextFile(outdir & "summary.xml") ' summary.xml is created by the tests themselves
-			if not fin.AtEndOfStream then
-				fout.Write(fin.ReadAll())
-			end if
-		End If
-		fout.WriteLine("</MPITESTRESULTS>")
-		fout.Close()
-	end if
-
-	' move back to the root directory
-	cEcho "changing into directory " & rootdir
-	WshShell.CurrentDirectory = rootdir
-End Function
-
-Function BuildINTELTestSuite(srcdir, builddir)
-	intel_rootdir = f.GetAbsolutePathName(srcdir)
-	if Not f.FolderExists(builddir) then
-		f.CreateFolder(builddir)
-	end if
-	cEcho "changing into directory " & builddir
-	WshShell.CurrentDirectory = builddir
-	set buildout = f.CreateTextFile("build.bat", True)
-	set testlistout = f.CreateTextFile("testlist", True)
-	' create foptions.h
-	if (not f.FileExists(intel_rootdir & "\include\foptions.h")) and f.FileExists(intel_rootdir & "\include\foptions.h.in") then
-		set fin = f.OpenTextFile(intel_rootdir & "\include\foptions.h.in")
-		set fout = f.CreateTextFile(intel_rootdir & "\include\foptions.h")
-		contents = fin.ReadAll()
-		contents = ReplaceAts(contents)
-		fout.Write(contents)
-		fin.Close()
-		fout.Close()
-	end if
-
-	' build the tests in each of the various testlists
-	if f.FileExists(intel_rootdir & "\Test\testlist2l") then
-		set fin = f.OpenTextFile(intel_rootdir & "\Test\testlist2l")
-		while not fin.AtEndOfStream
-			line = fin.ReadLine()
-			line = Replace(line, "/", "\")', 1, -1, 1)
-			BuildINTELTest intel_rootdir & "\Test\" & line, "2", buildout, testlistout
-		wend
-		fin.Close()
-	end if
-	if f.FileExists(intel_rootdir & "\Test\testlist2-2l") then
-		set fin = f.OpenTextFile(intel_rootdir & "\Test\testlist2-2l")
-		while not fin.AtEndOfStream
-			line = fin.ReadLine()
-			line = Replace(line, "/", "\")', 1, -1, 1)
-			BuildINTELTest intel_rootdir & "\Test\" & line, "2", buildout, testlistout
-		wend
-		fin.Close()
-	end if
-	if f.FileExists(intel_rootdir & "\Test\testlist4") then
-		set fin = f.OpenTextFile(intel_rootdir & "\Test\testlist4")
-		while not fin.AtEndOfStream
-			line = fin.ReadLine()
-			line = Replace(line, "/", "\")', 1, -1, 1)
-			BuildINTELTest intel_rootdir & "\Test\" & line, "4", buildout, testlistout
-		wend
-		fin.Close()
-	end if
-	if f.FileExists(intel_rootdir & "\Test\testlist4lg") then
-		set fin = f.OpenTextFile(intel_rootdir & "\Test\testlist4lg")
-		while not fin.AtEndOfStream
-			line = fin.ReadLine()
-			line = Replace(line, "/", "\")', 1, -1, 1)
-			BuildINTELTest intel_rootdir & "\Test\" & line, "4", buildout, testlistout
-		wend
-		fin.Close()
-	end if
-	if f.FileExists(intel_rootdir & "\Test\testlist6") then
-		set fin = f.OpenTextFile(intel_rootdir & "\Test\testlist6")
-		while not fin.AtEndOfStream
-			line = fin.ReadLine()
-			line = Replace(line, "/", "\")', 1, -1, 1)
-			BuildINTELTest intel_rootdir & "\Test\" & line, "6", buildout, testlistout
-		wend
-		fin.Close()
-	end if
-	buildout.Close()
-	testlistout.Close()
-	RunEchoCommand("build.bat 2>&1 | tee build.out")
-	' move back to the root directory
-	cEcho "changing into directory " & rootdir
-	WshShell.CurrentDirectory = rootdir
-End Function
-
-Function RunINTELTestSuite(outdir)
-	cEcho "changing into directory " & outdir
-	WshShell.CurrentDirectory = outdir
-	cur_test = 1
-	num_tests = CountTests(outdir)
-	set fcmds = f.CreateTextFile(outdir & "intel_cmds.bat")
-	set fout = f.CreateTextFile(outdir & "summary.xml")
-	Set fin = f.OpenTextFile(outdir & "testlist")
-	if not f.FileExists("er.xsl") then
-		set erfile = f.CreateTextFile(outdir & "er.xsl")
-		erfile.Write(erfilecontents)
-		erfile.Close()
-	end if
-	fout.WriteLine("<?xml version='1.0' ?>")
-	fout.WriteLine("<?xml-stylesheet href=""er.xsl"" type=""text/xsl"" ?>")
-	fout.WriteLine("<MPITESTRESULTS>")
-	fout.WriteLine("<DATE>" & Date)
-	fout.WriteLine("</DATE>")
-	fout.WriteLine("<MPISOURCE></MPISOURCE>")
-	while not fin.AtEndOfStream
-		line = fin.ReadLine()
-		line = Trim(line)
-		twostrings = split(line, " ", -1, 1)
-		if not IsNull(twostrings) then
-			count = 0
-			for each s in twostrings
-				count = count + 1
-			next
-			if count = 2 then
-			 if Left(twostrings(0), 1) <> "#" then
-			  if Len(twostrings(1)) > 0 then
-				exe = outdir & twostrings(0) & ".exe"
-				cmd = mpiexec & mpiexec_args & timeoutarg & " -n " + twostrings(1) + " " + exe
-				cEcho "test " & cur_test & " of " & num_tests
-				cur_test = cur_test + 1
-			 	cEcho cmd
-				fout.WriteLine("<MPITEST>")
-				fout.WriteLine("<NAME>" & twostrings(0) & "</NAME>")
-				if f.FileExists(exe) then
-				    fcmds.WriteLine(cmd & " > " & twostrings(0) & "." & twostrings(1) & ".output")
-				    if bCommandsOnly then
-				        result = "not executing test"
-				        if WshShell.CurrentDirectory <> last_commands_dir then
-							commands_file.WriteLine("cd " & WshShell.CurrentDirectory)
-						end if
-						last_commands_dir = WshShell.CurrentDirectory
-				        commands_file.WriteLine(cmd & " 2>&1")
-				    else
-					    result = RunCommand(cmd)
-					end if
-				else
-					result = "no executable, test skipped"
-					num_skipped = num_skipped + 1
-				end if
-				cEcho result
-				if (Instr(result, "No errors") And len(result) < 14) or (Instr(result, "PASSED") > 0) Then
-					fout.WriteLine("<STATUS>pass</STATUS>")
-					num_passed = num_passed + 1
-				else
-					fout.WriteLine("<STATUS>fail</STATUS>")
-					fout.WriteLine("<TESTDIFF>")
-					result = cmd & vbCrLf & result
-					result = Replace( result, "&", "&" )
-					result = Replace( result, "<", "<" )
-					result = Replace( result, ">", ">" )
-					fout.WriteLine(result)
-					fout.WriteLine("</TESTDIFF>")
-					if f.FileExists(exe) then
-						num_failed = num_failed + 1
-					end if
-				end if
-				fout.WriteLine("</MPITEST>")
-			  end if
-			 end if
-			end if
-		end if
-	wend
-	fin.Close()
-	fout.WriteLine("</MPITESTRESULTS>")
-	fout.Close()
-	fcmds.Close()
-	' move back to the root directory
-	cEcho "changing into directory " & rootdir
-	WshShell.CurrentDirectory = rootdir
-End Function
-
-Function RunINTELTestSuiteBatch(outdir)
-	cEcho "changing into directory " & outdir
-	WshShell.CurrentDirectory = outdir
-	cur_test = 1
-	num_tests = CountTests(outdir)
-
-	if not bSummarize then
-		' first pass generates the commands
-		set fcmds = f.CreateTextFile(outdir & "intel_cmds.bat")
-		Set fin = f.OpenTextFile(outdir & "testlist")
-		while not fin.AtEndOfStream
-			line = fin.ReadLine()
-			line = Trim(line)
-			twostrings = split(line, " ", -1, 1)
-			if not IsNull(twostrings) then
-				count = 0
-				for each s in twostrings
-					count = count + 1
-				next
-				if count = 2 then
-				 if Left(twostrings(0), 1) <> "#" then
-				  if Len(twostrings(1)) > 0 then
-					exe = outdir & twostrings(0) & ".exe"
-					cmd = mpiexec & mpiexec_args & timeoutarg & " -n " + twostrings(1) + " " + exe
-					fcmds.WriteLine("REM test " & cur_test & " of " & num_tests)
-					cur_test = cur_test + 1
-					if f.FileExists(exe) then
-					    fcmds.WriteLine(cmd & " 2>&1 | tee " & twostrings(0) & "." & twostrings(1) & ".output")
-					    if bCommandsOnly then
-					        result = "not executing test"
-					        if WshShell.CurrentDirectory <> last_commands_dir then
-								commands_file.WriteLine("cd " & WshShell.CurrentDirectory)
-							end if
-							last_commands_dir = WshShell.CurrentDirectory
-					        commands_file.WriteLine(cmd & " 2>&1 | tee " & twostrings(0) & "." & twostrings(1) & ".output")
-						end if
-					else
-						fcmds.WriteLine("REM no executable, test skipped")
-					end if
-				  end if
-				 end if
-				end if
-			end if
-		wend
-		fin.Close()
-		fcmds.Close()
-
-		' run the tests
-		if not bCommandsOnly then
-			if not bBatchFilesOnly then
-				RunEchoCommand(outdir & "intel_cmds.bat")
-			end if
-		end if
-	end if
-
-	if not bBatchFilesOnly then
-		' second pass parses the output
-		set fout = f.CreateTextFile(outdir & "summary.xml")
-		if not f.FileExists("er.xsl") then
-			set erfile = f.CreateTextFile(outdir & "er.xsl")
-			erfile.Write(erfilecontents)
-			erfile.Close()
-		end if
-		fout.WriteLine("<?xml version='1.0' ?>")
-		fout.WriteLine("<?xml-stylesheet href=""er.xsl"" type=""text/xsl"" ?>")
-		fout.WriteLine("<MPITESTRESULTS>")
-		fout.WriteLine("<DATE>" & Date)
-		fout.WriteLine("</DATE>")
-		fout.WriteLine("<MPISOURCE></MPISOURCE>")
-		Set fin = f.OpenTextFile(outdir & "testlist")
-		while not fin.AtEndOfStream
-			line = fin.ReadLine()
-			line = Trim(line)
-			twostrings = split(line, " ", -1, 1)
-			if not IsNull(twostrings) then
-				count = 0
-				for each s in twostrings
-					count = count + 1
-				next
-				if count = 2 then
-				 if Left(twostrings(0), 1) <> "#" then
-				  if Len(twostrings(1)) > 0 then
-					exe = outdir & twostrings(0) & ".exe"
-					cmd = mpiexec & mpiexec_args & timeoutarg & " -n " + twostrings(1) + " " + exe
-					fout.WriteLine("<MPITEST>")
-					fout.WriteLine("<NAME>" & twostrings(0) & "</NAME>")
-					if f.FileExists(exe) then
-					    if bCommandsOnly then
-					        result = "not executing test"
-					    else
-							if f.FileExists(twostrings(0) & "." & twostrings(1) & ".output") then
-								Set foutput = f.OpenTextFile(twostrings(0) & "." & twostrings(1) & ".output")
-								if not foutput.AtEndOfStream then
-									result = foutput.ReadAll()
-								else
-									result = ""
-								end if
-								foutput.Close()
-							else
-								result = ""
-							end if
-						end if
-					else
-						result = "no executable, test skipped"
-						num_skipped = num_skipped + 1
-					end if
-					if (Instr(result, "No errors") And len(result) < 14) or (Instr(result, "PASSED") > 0) Then
-						fout.WriteLine("<STATUS>pass</STATUS>")
-						num_passed = num_passed + 1
-					else
-						fout.WriteLine("<STATUS>fail</STATUS>")
-						fout.WriteLine("<TESTDIFF>")
-						result = cmd & vbCrLf & result
-						result = Replace( result, "&", "&" )
-						result = Replace( result, "<", "<" )
-						result = Replace( result, ">", ">" )
-						fout.WriteLine(result)
-						fout.WriteLine("</TESTDIFF>")
-						if f.FileExists(exe) then
-							num_failed = num_failed + 1
-						end if
-					end if
-					fout.WriteLine("</MPITEST>")
-				  end if
-				 end if
-				end if
-			end if
-		wend
-		fin.Close()
-		fout.WriteLine("</MPITESTRESULTS>")
-		fout.Close()
-	end if
-
-	' move back to the root directory
-	cEcho "changing into directory " & rootdir
-	WshShell.CurrentDirectory = rootdir
-End Function
-
-'Function BuildMPICHTestSuite(srcdir, builddir)
-'	cEcho "changing into directory " & srcdir
-'	WshShell.CurrentDirectory = srcdir
-'	RunEchoCommand "cscript createprojects.wsf"
-'	RunEchoCommand "devenv.com test.sln /build Debug"
-'	' move back to the root directory
-'	cEcho "changing into directory " & rootdir
-'	WshShell.CurrentDirectory = rootdir
-'End Function
-
-'Function RunMPICHTestSuite(outdir)
-'	cEcho "changing into directory " & outdir
-'	WshShell.CurrentDirectory = outdir
-'	RunEchoCommand "cscript runtests.wsf /config:Debug"
-'	' move back to the root directory
-'	cEcho "changing into directory " & rootdir
-'	WshShell.CurrentDirectory = rootdir
-'End Function
-
-Function BuildMPICHTestSuite(srcdir, builddir)
-	if Not f.FolderExists(builddir) then
-		f.CreateFolder(builddir)
-	end if
-
-	set testlists = CreateObject("Scripting.Dictionary")
-	FindFiles testlists, f.GetFolder(srcdir), "testlist"
-
-	' move into the build directory
-	cEcho "changing into directory " & builddir
-	WshShell.CurrentDirectory = builddir
-
-	set buildout = f.CreateTextFile("build.bat", True)
-	set testlistout = f.CreateTextFile("testlist", True)
-	a = testlists.Items
-	If testlists.Count > 0 Then
-		For i = 0 to testlists.Count - 1
-			BuildMPICHTestList a(i), srcdir, buildout
-			' copy the testlist in to the master testlist
-			set fin = f.OpenTextFile(a(i))
-			contents = fin.ReadAll()
-			fin.Close()
-			testlistout.Write(contents)
-		Next
-	End If
-	buildout.Close()
-	testlistout.Close()
-	RunEchoCommand("build.bat 2>&1 | tee build.out")
-
-	' move back to the root directory
-	cEcho "changing into directory " & rootdir
-	WshShell.CurrentDirectory = rootdir
-End Function
-
-Function RunMPICHTestSuite(outdir)
-	cEcho "changing into directory " & outdir
-	WshShell.CurrentDirectory = outdir
-	cur_test = 1
-	num_tests = CountTests(outdir)
-	set fcmds = f.CreateTextFile(outdir & "mpich_cmds.bat")
-	set fout = f.CreateTextFile(outdir & "summary.xml")
-	Set fin = f.OpenTextFile(outdir & "testlist")
-	if not f.FileExists("er.xsl") then
-		set erfile = f.CreateTextFile(outdir & "er.xsl")
-		erfile.Write(erfilecontents)
-		erfile.Close()
-	end if
-	fout.WriteLine("<?xml version='1.0' ?>")
-	fout.WriteLine("<?xml-stylesheet href=""er.xsl"" type=""text/xsl"" ?>")
-	fout.WriteLine("<MPITESTRESULTS>")
-	fout.WriteLine("<DATE>" & Date)
-	fout.WriteLine("</DATE>")
-	fout.WriteLine("<MPISOURCE></MPISOURCE>")
-	while not fin.AtEndOfStream
-		line = fin.ReadLine()
-		line = Trim(line)
-		twostrings = split(line, " ", -1, 1)
-		if not IsNull(twostrings) then
-			count = 0
-			for each s in twostrings
-				count = count + 1
-			next
-			if count = 2 then
-			 if Left(twostrings(0), 1) <> "#" then
-			  if Len(twostrings(1)) > 0 then
-				exe = outdir & twostrings(0) & ".exe"
-				cmd = mpiexec & mpiexec_args & timeoutarg & " -n " + twostrings(1) + " " + exe
-				cEcho "test " & cur_test & " of " & num_tests
-				cur_test = cur_test + 1
-			 	cEcho cmd
-				fout.WriteLine("<MPITEST>")
-				fout.WriteLine("<NAME>" & twostrings(0) & "</NAME>")
-				if f.FileExists(exe) then
-				    fcmds.WriteLine(cmd & " > " & twostrings(0) & "." & twostrings(1) & ".output")
-				    if bCommandsOnly then
-				        result = "not executing test"
-				        if WshShell.CurrentDirectory <> last_commands_dir then
-							commands_file.WriteLine("cd " & WshShell.CurrentDirectory)
-						end if
-						last_commands_dir = WshShell.CurrentDirectory
-				        commands_file.WriteLine(cmd & " 2>&1")
-				    else
-					    result = RunCommand(cmd)
-					end if
-				else
-					result = "no executable, test skipped"
-					num_skipped = num_skipped + 1
-				end if
-				cEcho result
-				if (Instr(result, "No Errors") And len(result) < 14) Then
-					fout.WriteLine("<STATUS>pass</STATUS>")
-					num_passed = num_passed + 1
-				else
-					fout.WriteLine("<STATUS>fail</STATUS>")
-					fout.WriteLine("<TESTDIFF>")
-					result = cmd & vbCrLf & result
-					result = Replace( result, "&", "&" )
-					result = Replace( result, "<", "<" )
-					result = Replace( result, ">", ">" )
-					fout.WriteLine(result)
-					fout.WriteLine("</TESTDIFF>")
-					if f.FileExists(exe) then
-						num_failed = num_failed + 1
-					end if
-				end if
-				fout.WriteLine("</MPITEST>")
-			  end if
-			 end if
-			end if
-		end if
-	wend
-	fin.Close()
-	fout.WriteLine("</MPITESTRESULTS>")
-	fout.Close()
-	fcmds.Close()
-	' move back to the root directory
-	cEcho "changing into directory " & rootdir
-	WshShell.CurrentDirectory = rootdir
-End Function
-
-Function RunMPICHTestSuiteBatch(outdir)
-	cEcho "changing into directory " & outdir
-	WshShell.CurrentDirectory = outdir
-	cur_test = 1
-	num_tests = CountTests(outdir)
-
-	if not bSummarize then
-		' first pass generates the commands
-		set fcmds = f.CreateTextFile(outdir & "mpich_cmds.bat")
-		Set fin = f.OpenTextFile(outdir & "testlist")
-		while not fin.AtEndOfStream
-			line = fin.ReadLine()
-			line = Trim(line)
-			twostrings = split(line, " ", -1, 1)
-			if not IsNull(twostrings) then
-				count = 0
-				for each s in twostrings
-					count = count + 1
-				next
-				if count = 2 then
-				 if Left(twostrings(0), 1) <> "#" then
-				  if Len(twostrings(1)) > 0 then
-					exe = outdir & twostrings(0) & ".exe"
-					cmd = mpiexec & mpiexec_args & timeoutarg & " -n " + twostrings(1) + " " + exe
-					fcmds.WriteLine("REM test " & cur_test & " of " & num_tests)
-					cur_test = cur_test + 1
-					if f.FileExists(exe) then
-					    fcmds.WriteLine(cmd & " 2>&1 | tee " & twostrings(0) & "." & twostrings(1) & ".output")
-					    if bCommandsOnly then
-					        result = "not executing test"
-					        if WshShell.CurrentDirectory <> last_commands_dir then
-								commands_file.WriteLine("cd " & WshShell.CurrentDirectory)
-							end if
-							last_commands_dir = WshShell.CurrentDirectory
-					        commands_file.WriteLine(cmd & " 2>&1 | tee " & twostrings(0) & "." & twostrings(1) & ".output")
-						end if
-					else
-						fcmds.WriteLine("REM no executable, test skipped")
-					end if
-				  end if
-				 end if
-				end if
-			end if
-		wend
-		fin.Close()
-		fcmds.Close()
-
-		' run the tests
-		if not bCommandsOnly then
-			if not bBatchFilesOnly then
-				RunEchoCommand(outdir & "mpich_cmds.bat")
-			end if
-		end if
-	end if
-
-	if not bBatchFilesOnly then
-		' second pass parses the results
-		set fout = f.CreateTextFile(outdir & "summary.xml")
-		if not f.FileExists("er.xsl") then
-			set erfile = f.CreateTextFile(outdir & "er.xsl")
-			erfile.Write(erfilecontents)
-			erfile.Close()
-		end if
-		fout.WriteLine("<?xml version='1.0' ?>")
-		fout.WriteLine("<?xml-stylesheet href=""er.xsl"" type=""text/xsl"" ?>")
-		fout.WriteLine("<MPITESTRESULTS>")
-		fout.WriteLine("<DATE>" & Date)
-		fout.WriteLine("</DATE>")
-		fout.WriteLine("<MPISOURCE></MPISOURCE>")
-		Set fin = f.OpenTextFile(outdir & "testlist")
-		while not fin.AtEndOfStream
-			line = fin.ReadLine()
-			line = Trim(line)
-			twostrings = split(line, " ", -1, 1)
-			if not IsNull(twostrings) then
-				count = 0
-				for each s in twostrings
-					count = count + 1
-				next
-				if count = 2 then
-				 if Left(twostrings(0), 1) <> "#" then
-				  if Len(twostrings(1)) > 0 then
-					exe = outdir & twostrings(0) & ".exe"
-					cmd = mpiexec & mpiexec_args & timeoutarg & " -n " + twostrings(1) + " " + exe
-					fout.WriteLine("<MPITEST>")
-					fout.WriteLine("<NAME>" & twostrings(0) & "</NAME>")
-					if f.FileExists(exe) then
-					    if bCommandsOnly then
-					        result = "not executing test"
-					    else
-							if f.FileExists(twostrings(0) & "." & twostrings(1) & ".output") then
-								Set foutput = f.OpenTextFile(twostrings(0) & "." & twostrings(1) & ".output")
-								if not foutput.AtEndOfStream then
-									result = foutput.ReadAll()
-								else
-									result = ""
-								end if
-								foutput.Close()
-							else
-								result = ""
-							end if
-						end if
-					else
-						result = "no executable, test skipped"
-						num_skipped = num_skipped + 1
-					end if
-					if (Instr(result, "No Errors") And len(result) < 14) Then
-						fout.WriteLine("<STATUS>pass</STATUS>")
-						num_passed = num_passed + 1
-					else
-						fout.WriteLine("<STATUS>fail</STATUS>")
-						fout.WriteLine("<TESTDIFF>")
-						result = cmd & vbCrLf & result
-						result = Replace( result, "&", "&" )
-						result = Replace( result, "<", "<" )
-						result = Replace( result, ">", ">" )
-						fout.WriteLine(result)
-						fout.WriteLine("</TESTDIFF>")
-						if f.FileExists(exe) then
-							num_failed = num_failed + 1
-						end if
-					end if
-					fout.WriteLine("</MPITEST>")
-				  end if
-				 end if
-				end if
-			end if
-		wend
-		fin.Close()
-		fout.WriteLine("</MPITESTRESULTS>")
-		fout.Close()
-	end if
-
-	' move back to the root directory
-	cEcho "changing into directory " & rootdir
-	WshShell.CurrentDirectory = rootdir
-End Function
-
-' main script code
-
-if Not f.FolderExists(testdirname) then
-	f.CreateFolder(testdirname)
-end if
-cEcho "changing into directory " & WshShell.CurrentDirectory & "\" & testdirname
-WshShell.CurrentDirectory = testdirname
-rootdir = root_folder.Path
-if Right(rootdir, 1) = "\" then
-	rootdir = rootdir & testdirname & "\"
-else
-	rootdir = rootdir & "\" & testdirname & "\"
-end if
-cEcho rootdir
-if Not f.FolderExists("summary") then
-	f.CreateFolder("summary")
-end if
-
-' check out and build code
-if not bTestOnly then
-
-	' set the INCLUDE and LIB environment variables to be used by the command line build tools
-	old_include = env("INCLUDE")
-	old_lib = env("LIB")
-	if pathMPICHInstalled <> "" then
-		' FIXME: mpitestconf.h needs to be copied to this include directory if the mpich test suite is to be run
-		env("INCLUDE") = old_include & ";" & pathMPICHInstalled & "\include"
-		env("LIB") = old_lib & ";" & pathMPICHInstalled & "\lib"
-	else
-		if pathMPICH = "" then
-			if bWin64 then
-				env("INCLUDE") = old_include & ";" & rootdir & "mpich\src\include" & ";" & rootdir & "mpich\src\include\win64"
-			else
-				env("INCLUDE") = old_include & ";" & rootdir & "mpich\src\include" & ";" & rootdir & "mpich\src\include\win32"
-			end if
-			env("LIB") = old_lib & ";" & rootdir & "mpich\lib"
-		else
-			if bWin64 then
-				env("INCLUDE") = old_include & ";" & pathMPICH & "\src\include" & ";" & pathMPICH & "\src\include\win64"
-			else
-				env("INCLUDE") = old_include & ";" & pathMPICH & "\src\include" & ";" & pathMPICH & "\src\include\win32"
-			end if
-			env("LIB") = old_lib & ";" & pathMPICH & "\lib"
-		end if
-	end if
-
-	if bCheckoutMPICH then
-		' check out mpich locally
-		CheckOut("mpich")
-		WshShell.CurrentDirectory = "mpich"
-		' check out mpich remotely, run autogen.sh and tar up the .h.in files
-		set fout = f.CreateTextFile("sshcmds.txt")
-		fout.WriteLine( "cd /sandbox/" & username )
-		fout.WriteLine( "mkdir " & hostname & "dotintmp" )
-		fout.WriteLine( "cd " & hostname & "dotintmp" )
-		fout.WriteLine( "cvs -d " & cvs_root_dir & " export -r " & cvsTag & " mpichallWithMPE" )
-		fout.WriteLine( "cd mpich" )
-		fout.WriteLine( "autogen.sh" )
-		fout.WriteLine( "tar cvf dotin.tar `find . -name ""*.h.in""`" )
-		fout.WriteLine( "gzip dotin.tar" )
-		fout.WriteLine( "exit" )
-		fout.Close()
-		' FIXME : are two 2>&1 allowed?
-		cmd = ssh_cmd & " -l " & username & " " & cvs_host & " 2>&1 < sshcmds.txt"
-		'cEcho cmd
-		RunEchoCommand cmd
-		f.DeleteFile("sshcmds.txt")
-		' copy the .h.in tarball
-		RunEchoCommand scp_cmd & " " & username & "@" & cvs_host & ":/sandbox/" & username & "/" & hostname & "dotintmp/mpich/dotin.tar.gz ."
-		' remove the remote temporary directory
-		RunEchoCommand ssh_cmd & " -l " & username & " " & cvs_host & " rm -rf /sandbox/" & username & "/" & hostname & "dotintmp"
-		' extract the .h.in files and delete the tarball
-		RunEchoCommand "tar xvfz dotin.tar.gz"
-		if f.FileExists("dotin.tar.gz") then
-			f.DeleteFile("dotin.tar.gz")
-		end if
-		WshShell.CurrentDirectory = rootdir
-	end if
-
-	if bConfigureMPICH then
-		if pathMPICH <> "" then
-			WshShell.CurrentDirectory = pathMPICH
-		else
-			WshShell.CurrentDirectory = "mpich"
-		end if
-		if bFortran then
-			RunEchoCommand "cscript winconfigure.wsf --cleancode"
-		else
-			RunEchoCommand "cscript winconfigure.wsf --remove-fortran --cleancode"
-		end if
-		WshShell.CurrentDirectory = rootdir
-	else
-		if bConfigureMPICHTests then
-			if pathMPICH <> "" then
-				WshShell.CurrentDirectory = pathMPICH
-			else
-				WshShell.CurrentDirectory = "mpich"
-			end if
-			RunEchoCommand "cscript winconfigure.wsf --testdir"
-			WshShell.CurrentDirectory = rootdir
-		end if
-	end if
-
-	if bMakeMPICH then
-		' stop a running smpd
-		smpd = ""
-		On Error resume next
-		smpd = WshShell.RegRead("HKLM\SOFTWARE\MPICH\SMPD\binary")
-		if Len(smpd) > 0 then
-			error = RunEchoCommandError(smpd & " -remove")
-		end if
-		' make the mpich libraries and dlls
-		if pathMPICH <> "" then
-			WshShell.CurrentDirectory = pathMPICH
-		else
-			WshShell.CurrentDirectory = "mpich"
-		end if
-		'error = RunEchoCommandError("devenv.com mpich.sln /build ch3sockDebug")
-		'if error <> 0 then
-		'	WScript.Echo("Error building the sock channel")
-		'	WScript.Quit
-		'end if
-		'error = RunEchoCommandError("devenv.com mpich.sln /project mpichs /build ch3sockDebug")
-		'if error <> 0 then
-		'	WScript.Echo("Error building the sock channel static library")
-		'	WScript.Quit
-		'end if
-		error = RunEchoCommandError("devenv.com mpich.sln /build ch3sockRelease")
-		if error <> 0 then
-			WScript.Echo("Error building the sock channel release target")
-			WScript.Quit
-		end if
-		error = RunEchoCommandError("devenv.com mpich.sln /project mpichs /build ch3sockRelease")
-		if error <> 0 then
-			WScript.Echo("Error building the sock channel release target static library")
-			WScript.Quit
-		end if
-		'error = RunEchoCommandError("devenv.com mpich.sln /build Debug")
-		'if error <> 0 then
-		'	WScript.Echo("Error building the utilities and process manager")
-		'	WScript.Quit
-		'end if
-		error = RunEchoCommandError("devenv.com mpich.sln /build Release")
-		if error <> 0 then
-			WScript.Echo("Error building the release target utilities and process manager")
-			WScript.Quit
-		end if
-		if bFortran then
-			'error = RunEchoCommandError("devenv.com mpich.sln /build fortDebug")
-			'if error <> 0 then
-			'	WScript.Echo("Error building the fortran interface")
-			'	WScript.Quit
-			'end if
-			error = RunEchoCommandError("devenv.com mpich.sln /build fortRelease")
-			if error <> 0 then
-				WScript.Echo("Error building the release target fortran interface")
-				WScript.Quit
-			end if
-			'error = RunEchoCommandError("devenv.com mpich.sln /build gfortDebug")
-			'if error <> 0 then
-			'	WScript.Echo("Error building the cdecl fortran interface")
-			'	WScript.Quit
-			'end if
-			'error = RunEchoCommandError("devenv.com mpich.sln /build gfortRelease")
-			'if error <> 0 then
-			'	WScript.Echo("Error building the release target cdecl fortran interface")
-			'	WScript.Quit
-			'end if
-			'error = RunEchoCommandError("devenv.com mpich.sln /build sfortDebug")
-			'if error <> 0 then
-			'	WScript.Echo("Error building the stdcall fortran interface")
-			'	WScript.Quit
-			'end if
-			'error = RunEchoCommandError("devenv.com mpich.sln /build sfortRelease")
-			'if error <> 0 then
-			'	WScript.Echo("Error building the release target stdcall fortran interface")
-			'	WScript.Quit
-			'end if
-		end if
-		'WshShell.CurrentDirectory = "maint"
-		'RunEchoCommand "makegcclibs.bat"
-		'WshShell.CurrentDirectory = ".."
-		'error = RunEchoCommandError("devenv.com examples\examples.sln /project cpi /build Release")
-		if channel <> "" then
-			error = RunEchoCommandError("devenv.com mpich.sln /build " & channel)
-			if error <> 0 then
-				WScript.Echo("Error building the " & channel & " channel")
-				WScript.Quit
-			end if
-		end if
-		mpiexec = WshShell.CurrentDirectory & "\bin\mpiexec.exe"
-		' install the newly built smpd
-		error = RunEchoCommandError(WshShell.CurrentDirectory & "\bin\smpd.exe -install")
-		WshShell.CurrentDirectory = rootdir
-	end if
-
-	if bTestMPICH then
-		if bCheckoutMPICH then
-			CheckOut("mpich")
-		end if
-		BuildMPICHTestSuite "mpi1", "buildMPICH"
-	end if
-
-	if bTestCPP then
-		if bCheckoutCPP then
-			CheckOut("c++")
-		end if
-		BuildCPPTestSuite "mpicxxtest", "buildCPP"
-	end if
-
-	if bTestINTEL then
-		if bCheckoutINTEL then
-			CheckOut("intel")
-		end if
-		BuildINTELTestSuite "IntelMPITEST", "buildINTEL"
-	end if
-
-	if bTestMPICH then
-		'BuildMPICHTestSuite "mpich\test\mpi", ""
-		if pathMPICH = "" then
-			BuildMPICHTestSuite rootdir & "mpich\test\mpi", "buildMPICH"
-		else
-			BuildMPICHTestSuite pathMPICH & "\test\mpi", "buildMPICH"
-		end if
-	end if
-
-end if
-
-' run test suites
-if not bBuildOnly then
-	if not bBatchFilesOnly then
-		if not f.FileExists(rootdir & "summary\er.xsl") then
-			set erfile = f.CreateTextFile(rootdir & "summary\er.xsl")
-			erfile.Write(erfilecontents)
-			erfile.Close()
-		end if
-		set webpage = f.CreateTextFile(rootdir & "summary\index.html", True)
-		webpage.WriteLine("<HTML>")
-		webpage.WriteLine("<BODY>")
-		webpage.WriteLine("<H2>Test suite summary page</H2>")
-		webpage.WriteLine("Date: " & Date() & "<BR>")
-		webpage.WriteLine("<TABLE>")
-	end if
-	if bTestMPICH then
-		if bBatch then
-			RunMPICHTestSuiteBatch(rootdir & "buildMPICH\")
-		else
-			RunMPICHTestSuite(rootdir & "buildMPICH\")
-		end if
-		if not bBatchFilesOnly then
-			f.CopyFile rootdir & "buildMPICH\summary.xml", rootdir & "summary\summary.mpich.xml", True
-			set fin = f.OpenTextFile(rootdir & "summary\summary.mpich.xml")
-			set fout = f.CreateTextFile(rootdir & "summary\summary.mpich.failed.xml", True)
-			fout.Write(ParseFailed(fin.ReadAll()))
-			fin.Close()
-			fout.Close()
-			mpich_failed = CountInstances(rootdir & "summary\summary.mpich.failed.xml", "<STATUS>fail</STATUS>")
-			mpich_passed = CountInstances(rootdir & "summary\summary.mpich.xml", "<STATUS>pass</STATUS>")
-			mpich_skipped = CountInstances(rootdir & "summary\summary.mpich.xml", "no executable, test skipped")
-			webpage.WriteLine("<TR><TD>MPICH</TD><TD>failed</TD><TD><A HREF=""summary.mpich.failed.xml"">" & mpich_failed & "</A></TD><TD>passed</TD><TD>" & mpich_passed & "</TD><TD>skipped</TD><TD>" & mpich_skipped & "</TD><TD><A HREF=""summary.mpich.xml"">summary.xml</A></TD>")
-		end if
-	end if
-	if bTestCPP then
-		if bBatch then
-			RunCPPTestSuiteBatch(rootdir & "buildCPP\")
-		else
-			RunCPPTestSuite(rootdir & "buildCPP\")
-		end if
-		if not bBatchFilesOnly then
-			f.CopyFile rootdir & "buildCPP\summary.xml", rootdir & "summary\summary.cpp.xml", True
-			set fin = f.OpenTextFile(rootdir & "summary\summary.cpp.xml")
-			set fout = f.CreateTextFile(rootdir & "summary\summary.cpp.failed.xml", True)
-			fout.Write(ParseFailed(fin.ReadAll()))
-			fin.Close()
-			fout.Close()
-			cpp_failed = CountInstances(rootdir & "summary\summary.cpp.failed.xml", "<STATUS>fail</STATUS>")
-			cpp_passed = CountInstances(rootdir & "summary\summary.cpp.xml", "<STATUS>pass</STATUS>")
-			cpp_skipped = CountInstances(rootdir & "summary\summary.cpp.xml", "no executable, test skipped")
-			webpage.WriteLine("<TR><TD>C++</TD><TD>failed</TD><TD><A HREF=""summary.cpp.failed.xml"">" & cpp_failed & "</A></TD><TD>passed</TD><TD>" & cpp_passed & "</TD><TD>skipped</TD><TD>" & cpp_skipped & "</TD><TD><A HREF=""summary.cpp.xml"">summary.xml</A></TD>")
-		end if
-	end if
-	if bTestINTEL then
-		if bBatch then
-			RunINTELTestSuiteBatch(rootdir & "buildINTEL\")
-		else
-			RunINTELTestSuite(rootdir & "buildINTEL\")
-		end if
-		if not bBatchFilesOnly then
-			f.CopyFile rootdir & "buildINTEL\summary.xml", rootdir & "summary\summary.intel.xml", True
-			set fin = f.OpenTextFile(rootdir & "summary\summary.intel.xml")
-			set fout = f.CreateTextFile(rootdir & "summary\summary.intel.failed.xml", True)
-			fout.Write(ParseFailed(fin.ReadAll()))
-			fin.Close()
-			fout.Close()
-			intel_failed = CountInstances(rootdir & "summary\summary.intel.failed.xml", "<STATUS>fail</STATUS>")
-			intel_passed = CountInstances(rootdir & "summary\summary.intel.xml", "<STATUS>pass</STATUS>")
-			intel_skipped = CountInstances(rootdir & "summary\summary.intel.xml", "no executable, test skipped")
-			webpage.WriteLine("<TR><TD>INTEL</TD><TD>failed</TD><TD><A HREF=""summary.intel.failed.xml"">" & intel_failed & "</A></TD><TD>passed</TD><TD>" & intel_passed & "</TD><TD>skipped</TD><TD>" & intel_skipped & "</TD><TD><A HREF=""summary.intel.xml"">summary.xml</A></TD>")
-		end if
-	end if
-	if bTestMPICH then
-		if bBatch then
-			'RunMPICHTestSuiteBatch(rootdir & "mpich\test\mpi")
-			RunMPICHTestSuiteBatch(rootdir & "buildMPICH\")
-		else
-			'RunMPICHTestSuite(rootdir & "mpich\test\mpi")
-			RunMPICHTestSuite(rootdir & "buildMPICH\")
-		end if
-		if not bBatchFilesOnly then
-			f.CopyFile rootdir & "buildMPICH\summary.xml", rootdir & "summary\summary.mpich.xml", True
-			set fin = f.OpenTextFile(rootdir & "summary\summary.mpich.xml")
-			set fout = f.CreateTextFile(rootdir & "summary\summary.mpich.failed.xml", True)
-			fout.Write(ParseFailed(fin.ReadAll()))
-			fin.Close()
-			fout.Close()
-			mpich_failed = CountInstances(rootdir & "summary\summary.mpich.failed.xml", "<STATUS>fail</STATUS>")
-			mpich_passed = CountInstances(rootdir & "summary\summary.mpich.xml", "<STATUS>pass</STATUS>")
-			mpich_skipped = CountInstances(rootdir & "summary\summary.mpich.xml", "no executable, test skipped")
-			webpage.WriteLine("<TR><TD>MPICH</TD><TD>failed</TD><TD><A HREF=""summary.mpich.failed.xml"">" & mpich_failed & "</A></TD><TD>passed</TD><TD>" & mpich_passed & "</TD><TD>skipped</TD><TD>" & mpich_skipped & "</TD><TD><A HREF=""summary.mpich.xml"">summary.xml</A></TD>")
-		end if
-	end if
-	if not bBatchFilesOnly then
-		webpage.WriteLine("</TABLE>")
-		webpage.WriteLine("</BODY>")
-		webpage.WriteLine("</HTML>")
-		webpage.Close()
-	end if
-	
-	' Send the results of the tests to the Nightly Build server.
-	' Insert code here ...
-end if
-
-</script>
-</job>
-</package>
diff --git a/doc/windev/windev.tex.vin b/doc/windev/windev.tex.vin
deleted file mode 100644
index 57fb895..0000000
--- a/doc/windev/windev.tex.vin
+++ /dev/null
@@ -1,1194 +0,0 @@
-% -*- Mode: latex; -*-
-\documentclass[dvipdfm,11pt]{article}
-\usepackage[dvipdfm]{hyperref} % Upgraded url package
-\parskip=.1in
-
-% Formatting conventions for contributors
-% 
-% A quoting mechanism is needed to set off things like file names, command
-% names, code fragments, and other strings that would confuse the flow of
-% text if left undistinguished from preceding and following text.  In this
-% document we use the LaTeX macro '\texttt' to indicate such text in the
-% source, which normally produces, when used as in '\texttt{special text}',
-% the typewriter font.
-
-% It is particularly easy to use this convention if one is using emacs as
-% the editor and LaTeX mode within emacs for editing LaTeX documents.  In
-% such a case the key sequence ^C^F^T (hold down the control key and type
-% 'cft') produces '\texttt{}' with the cursor positioned between the
-% braces, ready for the special text to be typed.  The closing brace can
-% be skipped over by typing ^e (go to the end of the line) if entering
-% text or ^C-} to just move the cursor past the brace.
-
-% LaTeX mode is usually loaded automatically.  At Argonne, one way to 
-% get several useful emacs tools working for you automatically is to put
-% the following in your .emacs file.
-
-% (require 'tex-site)
-% (setq LaTeX-mode-hook '(lambda ()
-%          		 (auto-fill-mode 1)
-%          		 (flyspell-mode 1)
-%          		 (reftex-mode 1)
-% 			 (setq TeX-command "latex")))
-
-
-\begin{document}
-\markright{MPICH Windows Development Guide}
-\title{{\bf MPICH Windows Development Guide}\thanks{This work was supported by the
-    Mathematical, Information, and Computational Sciences Division
-    subprogram of the Office of Advanced Scientific Computing Research,
-    SciDAC Program, Office of Science, U.S. Department of Energy, under
-    Contract DE-AC02-06CH11357.}\\
-  Version %MPICH_VERSION%\\
-  Mathematics and Computer Science Division\\
-  Argonne National Laboratory}
-
-\author{
-Pavan Balaji\\
-Darius Buntinas\\
-Ralph Butler\\
-Anthony Chan\\
-David Goodell\\
-William Gropp\\
-Jayesh Krishna\\
-Rob Latham\\
-Ewing Lusk\\
-Guillaume Mercier\\
-Rob Ross\\
-Rajeev Thakur\\[2.0ex]
-\textbf{Past Contributors:}\\
-David Ashton\\
-Brian Toonen
-}
-
-\maketitle
-\cleardoublepage
-
-\pagenumbering{roman}
-\tableofcontents
-\clearpage
-
-\pagenumbering{arabic}
-\pagestyle{headings}
-
-\section{Introduction}
-\label{sec:intro}
-This manual describes how to set up a Windows machine to build and test MPICH on.
-
-\section{Build machine}
-\label{sec:machine}
-
-Build a Windows XP or Windows Server 2003 machine. This machine should have access to
-the internet to be able to download the MPICH source code.
-
-\section{Test machine}
-\label{sec:test_machine}
-
-Build a Windows XP or Windows Server 2003 machine on a 32bit CPU.
-Also build a Windows Server 2003 X64 machine to test the Win64 distribution.
-
-\section{Software}
-
-This section describes the software necessary to build MPICH.
-
-\subsection{Packages}
-\label{sec:packages}
-
-To build MPICH you will need:
-\begin{enumerate}
-\item Microsoft Visual Studio 2005
-\item The latest version of Microsoft .NET framework
-\item Microsoft Platform SDK
-\item Cygwin - full installation
-\item Intel Fortran compiler IA32
-\item Intel Fortran compiler EMT64
-\item Java SDK
-\end{enumerate}
-
-Microsoft Visual Studio 2005 can be found on the CDs from an MSDN subscription.
-
-The Platform SDK can also be found on the MSDN CDs or downloaded from Microsoft.com.  The
-latest version as of the writing of this document was Platform SDK - Windows Server 2003 SP1.
-The platform SDK usually has an up-to-date version of headers and libraries.
-
-The Intel Fortran compilers need to be installed after Developer Studio and the PSDK because
-they integrate themselves into those two products.  The regular IA32 compiler needs to be 
-installed and the EMT64 compiler needs to be installed.  They are two separate packages and 
-they require a license file to use.  The license file is for a single user on a single 
-machine.
-
-Cygwin needs to be installed to get svn, perl and ssh. By default the Cygwin installer might
-not install all the required packages, so make sure that the required packages are selected
-during the install. MPICH also requires autoconf version 2.62 or above. The OpenPA library
-used by MPICH requires the automake package. Select to use the DOS file format when installing
-Cygwin.
-
-Assuming you installed Cygwin to the default \texttt{c:$\backslash$cygwin} directory, add 
-\texttt{c:$\backslash$cygwin$\backslash$bin} to your PATH environment variable.  This is 
-required so the automated scripts can run tools like ssh and perl without specifying the 
-full path.
-
-The Java SDK needs to be installed so the logging library can be compiled. After installing
-the SDK set the JAVA\_HOME environment variable to point to the installation directory. 
-
-Run the following command from a command prompt to change the Windows script engine from
-GUI mode to console mode:
-\begin{verbatim}
-cscript //H:cscript
-\end{verbatim}
-
-\section{Building MPICH}
-\label{sec:building}
-
-This section describes how to make various packages once you have a working build machine.
-
-\subsection{Visual Studio automated 32bit build}
-\label{sec:vsbuild}
-
-The easist way to build an MPICH distribution is to use the Visual Studio environment
-and the makewindist.bat script from the top level of the mpich source tree.  You can check
-out mpich from SVN or you can simply copy this batch file from the distribution.  The batch
-file knows how to check out mpich so it the only file required to make a distribution.
-
-The product GUIDs need to be changed when a new release is created.  To do this run 
-``\texttt{perl update\_windows\_version $<$new\_version$>$}''.  Run this script with mpich/maint 
-as the current directory so the project files can be found.  Example:
-\begin{verbatim}
-perl update_windows_version 1.0.8
-\end{verbatim}
-
-Or you can modify the project files by hand. Edit mpich/maint/mpichi.vdproj. The ProductCode
-and PackageCode entries need to be changed to use new GUIDs.  Under Unix or Windows, uuidgen can 
-be used to generate a new GUID.  The ProductVersion entry needs to be changed to match the 
-version of MPICH. Once the version and GUIDs have been updated, commit the changes to
-mpichi.vdproj to SVN. Now you can build a distribution.
-
-Bring up a build command prompt by selecting Start$\to$Progams$\to$Microsoft Visual Studio 
-2005$\to$Visual Studio 2005 Tools$\to$Visual Studio 2005 Command Prompt.
-
-Change directories to wherever you want to create the distribution.  mpich will be checked 
-out under the current directory.  Run the makewindist batch file:
-
-\begin{verbatim}
-makewindist.bat --with-checkout
-\end{verbatim}
-
-The batch file executes the following steps:
-\begin{enumerate}
-\item Check out trunk from the MPICH svn repository.
-\item Run \texttt{autogen.sh} to generate the autogenerated files
-\item Run ``\texttt{winconfigure.wsf --cleancode}'' to configure mpich for Windows and output
-all the generated files like mpi.h and the fortran interface files, etc.
-\item Run the Visual Studio command line tool to build all the components of MPICH.  This
-includes each of the channels - sock, nemesis, ssm, shm, and the multi-threaded sock
-channel.  Two versions of each channel are built, the regular release build and the rlog
-profiled version.  The mpi wrapper channel selector dll is built and three Fortran interfaces
-are built, one for each set of common symbol types and calling conventions.  mpiexec and
-smpd are built along with the Windows GUI tools and the Cygwin libraries.  (These are the Cygwin
-link libraries to use the Windows native build of MPICH, not a Unix-style build of MPICH
-under Cygwin.)
-\item Package up everthing into \texttt{maint$\backslash$ReleaseMSI$\backslash$mpich.msi}.
-\end{enumerate}
-
-When the batch file is finished you will be left with a mpich.msi file that can be used to
-install MPICH on any Win32 machine.  This file can be re-named to match the release naming 
-conventions.
-
-\subsubsection{Automated build from the source distribution}
-Follow the steps mentioned below to build MPICH from a source tarball.
-\begin{enumerate}
-\item unzip/untar the source distribution
-\item Open a Visual Studio Command Prompt
-\item cd into the mpich-xxx directory
-\item execute ``\texttt{winconfigure.wsf --cleancode}''
-\item execute ``\texttt{makewindist.bat --with-curdir}''
-\end{enumerate}
-
-\subsubsection{Building without Fortran}
-If you don't have a Fortran compiler you can use winconfigure.wsf to remove the
-Fortran projects.  Execute \texttt{winconfigure.wsf --remove-fortran --cleancode}
-Then you can build the projects without Fortran support.  If you want to use the
-\texttt{makewindist.bat} script you will need to remove the Fortran lines from
-it before executing it.
-
-\subsection{Platform SDK builds}
-\label{sec:psdk_build}
-
-The makefile in the \texttt{mpich$\backslash$winbuild} directory builds a distribution based 
-on the compilers specified in the environment. The following targets can all be built with
-this mechanism:
-\begin{itemize}
-\item Win64 X64
-\item Win64 IA64
-\item Win32 x86
-\end{itemize}
-
-Follow the steps below to build MPICH.
-\begin{enumerate}
-\item Open a Cygwin bash shell and check out mpich: 
-
-\texttt{svn checkout https://svn.mcs.anl.gov/repos/mpi/mpich2/trunk mpich}.
-\item cd into mpich directory
-\item run \texttt{autogen.sh}
-\item Open a Visual Studio command prompt
-\item From within the Visual Studio command prompt run
-    \texttt{winconfigure.wsf --cleancode}
-\end{enumerate}
-
-To build the Win64 X64 distribution do the following:
-\begin{enumerate}
-\item Bring up a build command prompt from the PSDK.  It can be found here: Start$\to$Programs
-$\to$Microsoft Platform SDK for Windows Server 2003 SP1$\to$Open Build Environment Window$\to$
-Windows Server 2003 64-bit Build Environment$\to$Set Win Svr 2003 x64 Build Env (Retail)
-\item Run \texttt{$\backslash$Program Files$\backslash$Intel$\backslash$Fortran$\backslash$compiler80$\backslash$Ia32e$\backslash$Bin$\backslash$ifortvars.bat}
-\item cd into \texttt{mpich$\backslash$winbuild}
-\item run \texttt{build.bat 2>\&1 | tee build.x64.out}
-\end{enumerate}
-
-For building the installer for Win64 x64, open the mpich solution file, mpich.sln, using
-Visual Studio 2005 and build the Installerx64 solution. The installer, \texttt{mpich.msi}
-will be available at \texttt{mpich$\backslash$maint$\backslash$ReleaseMSIx64} directory.
-
-
-The Visual Studio 2005 compiler provides a Cross tools command prompt for building
-X64 applications. However the current makefile depends on environment variables not available
-with the Cross tools command prompt.
-
-To build the Win64 IA64 distribution do the following:
-\begin{enumerate}
-\item Bring up a build command prompt from the PSDK.  It can be found here: Start$\to$Programs
-$\to$Microsoft Platform SDK for Windows Server 2003 SP1$\to$Open Build Environment Window$\to$
-Windows Server 2003 64-bit Build Environment$\to$Set Win Svr 2003 IA64 Build Env (Retail)
-\item Run \texttt{$\backslash$Program Files$\backslash$Intel$\backslash$Fortran$\backslash$compiler80$\backslash$Itanium$\backslash$Bin$\backslash$ifortvars.bat}
-\item cd into \texttt{mpich$\backslash$winbuild}
-\item run \texttt{build.bat 2>\&1 | tee build.ia64.out}
-\end{enumerate}
-
-To build the Win32 x86 distribution do the following:
-\begin{enumerate}
-\item Bring up a build command prompt from the PSDK.  It can be found here: Start$\to$Programs
-$\to$Microsoft Platform SDK for Windows Server 2003 SP1$\to$Open Build Environment Window$\to$
-Windows 2000 Build Environment$\to$Set Windows 2000 Build Environment (Retail)
-\item Run \texttt{$\backslash$Program Files$\backslash$Intel$\backslash$Fortran$\backslash$compiler80$\backslash$Ia32$\backslash$Bin$\backslash$ifortvars.bat}
-\item cd into \texttt{mpich$\backslash$winbuild}
-\item run \texttt{build.bat 2>\&1 | tee build.x86.out}
-\end{enumerate}
-
-\section{Distributing MPICH builds}
-\label{sec:distribute}
-
-If you built an .msi file using the Visual Studio build process \ref{sec:vsbuild} then
-all you have to do is rename the \texttt{mpich.msi} file to something appropriate like
-\texttt{mpich-1.4-win32-ia32.msi}
-
-If you built using the Platform SDK build process \ref{sec:psdk_build} then the output files
-are left in their build locations and need to be collected and put in a zip file for
-distributing.  This process should be automated with a script.
-
-\section{Testing MPICH}
-\label{sec:testing}
-
-Run the \texttt{testmpich.wsf} script to checkout mpich, build it, install it, checkout 
-the test suites, build them, run the test suites, and collect the results in a web page.
-
-\subsection{Testing from scratch}
-Explain the use of testmpich.wsf.
-
-Run ``\texttt{testmpich.wsf}'' without any parameters and it will create a \texttt{testmpich}
-subdirectory and check out into that directory mpich and the test suites - c++, mpich, intel
-and mpich.  It will then build mpich and all the tests from the test suites.  Then it will run
-the tests and place a summary in \texttt{testmpich$\backslash$summary$\backslash$index.html}.
-
-\subsection{Testing a built mpich directory}
-Explain how to run \texttt{testmpich.wsf} if you have the mpich source tree on a machine and you 
-have already built all of mpich.
-
-Here is a sample batch file to test mpich that has already been built in c:$\backslash$mpich:
-\begin{verbatim}
-testmpich.wsf /mpich:c:\mpich /make- /configure- /buildbatch
-pushd testmpich\buildMPICH
-call mpich_cmds.bat
-popd
-pushd testmpich\buildCPP
-call cpp_cmds.bat
-popd
-pushd testmpich\buildINTEL
-call intel_cmds.bat
-popd
-pushd testmpich\buildMPICH
-call mpich_cmds.bat
-popd
-testmpich.wsf /mpich:c:\mpich /make- /configure- /summarize
-\end{verbatim}
-
-\subsection{Testing an existing installation}
-Explain the use of testmpich.wsf to test an existing installation, one that was installed
-with the .msi distribution.
-
-\section{Development issues}
-This section describes development issues that are particular to the Windows build.
-
-Whenever a .h.in file is created on the Unix side, winconfigure.wsf needs to be updated to
-create the .h file from the .h.in file.  Copy and paste an existing section in 
-winconfigure.wsf that already does this and rename the file names.
-
-When new definitions are added to the .h.in files these definitions, usually in the form HAVE\_FOO 
-or USE\_FOO, need to be added to the AddDefinitions function in winconfigure.wsf.  Simply add 
-new cases to the big case statement as needed.  winconfigure.wsf warns you of definitions that 
-are not in the case statement.
-
-Whenever a @FOO@ substitution is added on the Unix side, winconfigure.wsf needs to be updated
-to handle the substitution.  Find the ReplaceAts function in winconfigure.wsf and add the 
-substitution to the big case statement.  winconfigure.wsf warns you of new substitutions that
-have not been added to the case statement.
-
-\section{Runtime environment}
-
-This section describes the MPICH environment that is particular to Windows.
-
-\subsection{User credentials}
-mpiexec must have the user name and password to launch MPI applications in the context of
-that user.  This information can be stored in a secure encrypted manner for each user on a
-machine.  Run \texttt{mpiexec -register} to save your username and password.  Then mpiexec
-will not prompt you for this information.
-
-This is also true for a nightly build script.  The user context under which the script is 
-run must have saved credentials so mpiexec doesn't prompt for them.  So scripts won't hang,
-mpiexec provides a flag, \texttt{-noprompt}, that will cause mpiexec to print out errors in 
-cases when it normally would prompt for user input.  This can also be specified in the 
-environment with the variable MPIEXEC\_NOPROMPT.
-
-You can also save more than one set of user credentials.  Add the option \texttt{-user n}
-to the \texttt{-register}, \texttt{-remove}, \texttt{-validate}, and \texttt{mpiexec}
-commands to specify a saved user credential other than the default.  The parameter \texttt{n}
-is a non-zero positive number.  For example this will save credentials in slot 1:
-\begin{verbatim}
-mpiexec -register -user 1
-\end{verbatim}
-And this command will use the user 3 to launch a job:
-\begin{verbatim}
-mpiexec -user 3 -n 4 cpi.exe
-\end{verbatim}
-
-User credentials can also be specified in a file using the \texttt{-pwdfile filename}
-option to mpiexec.  Put the username on the first line of the file and the password
-on the second line.  If you choose this option you should make sure the file is
-only readable by the current user.
-
-\subsection{MPICH channel selection}
-MPICH for Windows comes with multiple complete implementations of MPI.  These are called
-channels and each build represents a different transport mechanism used to move MPI messages.
-The default channel (sock) uses sockets for communication.  There is channel that use only
-shared memory (shm).  There are two channels that uses both sockets and shared memory 
-(nemesis, ssm).  And there is a thread-safe version of the sockets channel (mt). We recommend
-users to use the sock, mt or nemesis channels. The shm and ssm channels will soon be deprecated.
-
-The short names for the channels are: sock, nemesis, shm, ssm, mt.
-
-These channels can be selected at runtime with an environment variable: MPICH\_CHANNEL.
-The following is an example that uses the nemesis channel instead of the default sockets
-channel:
-
-\begin{verbatim}
-mpiexec -env MPICH_CHANNEL nemesis -n 4 myapp.exe
-or
-mpiexec -channel nemesis -n 4 myapp.exe
-\end{verbatim}
-
-If you specify \texttt{auto} for the channel then mpiexec will automatically choose a
-channel for you.
-\begin{verbatim}
-mpiexec -channel auto -n 4 myapp.exe
-\end{verbatim}
-The rules are:
-\begin{enumerate}
-\item If numprocs is less than 8 on one machine, use the shm channel
-\item If running on multiple machines, use the ssm channel. This channel can be changed 
-using winconfigure.
-\end{enumerate}
-
-\subsection{MPI apps with GUI}
-Many users on Windows machines want to build GUI apps that are also MPI applications.  This is
-completely acceptable as long as the application follows the rules of MPI.  MPI\_Init must be
-called before any other MPI function and it needs to be called soon after each process starts.
-The processes must be started with mpiexec but they are not required to be console applications.
-
-The one catch is that MPI applications are hidden from view so any Windows that a user 
-application brings up will not be able to be seen.  mpiexec has an option to allow the MPI 
-processes on the local machine to be able to bring up GUIs.  Add -localroot to the mpiexec
-command to enable this capability.  But even with this option, all GUIs from processes on 
-remote machines will be hidden.
-
-So the only GUI application that MPICH cannot handle by default would be a video-wall type
-application.  But this can be done by running smpd.exe by hand on each machine instead of
-installing it as a service.  Log on to each machine and run ``\texttt{smpd.exe -stop}'' 
-to stop the service and then run ``\texttt{smpd.exe -d 0}'' to start up the smpd again.  
-As long as this process is running you will be able to run applications where every process 
-is allowed to bring up GUIs.
-
-\subsection{Security}
-MPICH can use Microsoft's SSPI interface to launch processes without using any user 
-passwords.  This is the most secure way to launch MPI jobs but it requires the machines to be 
-configured in a certain way.
-\begin{itemize}
-\item All machines must be part of a Windows domain.
-\item Each machine must have delegation enabled.
-\item Each user that will run jobs must be allowed to use delegation.
-\end{itemize}
-
-If the machines are set up this way then an administrator can set up MPICH for passwordless
-authentication.  On each node, a domain administrator needs to execute the following:
-``\texttt{smpd -register\_spn}''.
-
-Then a user can add the \texttt{-delegate} flag to their mpiexec commands and the job startup 
-will be done without any passwords.  Example:
-\begin{verbatim}
-mpiexec -delegate -n 3 cpi.exe
-\end{verbatim}
-
-With SSPI enabled you can also control access to nodes with job objects.
-
-First the nodes need to be set up so that only SSPI authentication is allowed.  An administrator
-can run the following on each node:
-\begin{enumerate}
-\item \texttt{smpd.exe -set sspi\_protect yes}
-\item \texttt{smpd.exe -set jobs\_only yes}
-\item \texttt{smpd.exe -restart}
-\end{enumerate}
-
-These settings mean that authentication must be done through SSPI and mpiexec commands will only be
-accepted for registered jobs.
-
-To register jobs an administrator or a scheduler running with administrator privileges can execute
-the following command:
-\begin{verbatim}
-mpiexec.exe -add_job <name> <domain\username> [-host <hostname>]
-\end{verbatim}
-This adds a job called ``name'' for the specified user on either the local or specified host.  Any
-name can be used but it must not collide with another job with the same name on the same host.  The
-command must be executed for each host that is to be allocated to the user.
-
-Then when the job has finished or the allotted time has expired for the user to use the nodes the 
-following command can be executed:
-\begin{verbatim}
-mpiexec.exe -remove_job <name> [-host <hostname>]
-\end{verbatim}
-This command removes the job from the local or specified host.  Any processes running on the host 
-under the specified job name will be terminated by this command.
-
-So \texttt{-add\_job} and \texttt{-remove\_job} can be used by a scheduler to create a window when a user is allowed to
-start jobs on a set of nodes.
-
-When the window is open the user can run jobs using the job name.  First the user must run:
-\begin{verbatim}
-mpiexec.exe -associate_job <name> [-host <hostname>]
-\end{verbatim}
-This will associate the user's token with the job object on the local or
-specified host.  This must be done for all of the hosts allocated to the user.  Then the user can issue
-mpiexec commands.  The mpiexec commands are of the usual format except they must contain one extra option -
-``\texttt{-job <name>}''.  This job name must match the job allocated by the \texttt{-add\_job} command.  So a typical command
-would look like this:
-\begin{verbatim}
-mpiexec.exe -job foo -machinefile hosts.txt -n 4 myapp.exe
-\end{verbatim}
-Multiple mpiexec commands can be issued until the \texttt{-remove\_job} command is issued.
-This allows the users to issue multiple 
-mpiexec commands and multiple MPI\_Comm\_spawn commands all using the same job name until the job is removed
-from the nodes.
-
-The rationale for the design where an adminstrator can create and destroy jobs but the user must first associate
-the job with his own token before running jobs is so that the administrator does not need to know the user's
-password.  In order for an administrator to do both the job allocation and association he would have to call
-LogonUser with the user name and password for each user that submits a job request.
-
-\subsection{Firewalls}
-Windows comes with a default firewall that is usually turned on by default.
-Firewalls block all TCP ports by default which renders MPICH applications inoperable
-because the default communication mechanism used by MPICH are sockets on arbitrary
-ports assigned by the operating system.  This can be solved in several ways:
-
-\begin{itemize}
-\item Turn off the firewall completely.
-\item  MPICH applications can be limited to a range of TCP ports using the 
-MPICH\_PORT\_RANGE environment variable.  If you set your firewall to allow the
-same port range then MPICH applications will run.
-\item Leave the Windows firewall on and allow exceptions for your MPICH applications.
-This can be done through the Security Center module of the Windows Control 
-Panel.  Click the Windows Firewall option in the Security Center to bring up
-the properties page and select the Exceptions tab.  Here you can add each 
-MPICH application to exempt.  Note that this exception includes the path to
-the executable so if you move the executable you will have to exempt the new
-location.  This solution obviously only will work for a small number of 
-applications since managing a large list would be difficult.  Make sure you add
-mpiexec.exe and the smpd.exe process manager to this exception list.
-\end{itemize}
-
-\subsection{MPIEXEC options}
-This section describes all the options to mpiexec.exe
-
-\begin{itemize}
-
-\item \texttt{-add\_job job\_name domain$\backslash$user [-host hostname]}
-Create a job object on the local or specified host for the specified user.
-Administrator privileges are required to execute this command.
-
-\item \texttt{-associate\_job job\_name [-host hostname]}
-Associate the current user token with the specified job on the local or specified
-host.  The current user must match the user specifed by the \texttt{-add\_job job\_name username}
-command.
-
-\item \texttt{-binding process\_binding\_scheme}
-This option is currently available only under Windows. It allows the user to
-specify a process binding scheme for the MPI processes. Currently \texttt{auto} and
-\texttt{user} are the supported binding schemes. Using \texttt{auto} as the process 
-binding scheme the process manager will choose the process binding scheme automatically 
-taking into account the load on system resources like caches. The \texttt{user} binding
-scheme can be used to provide a user defined binding for the MPI processes. The supported
-formats for specifying the binding schemes are provided below.
-
-\texttt{-binding auto}
-
-\texttt{-binding user:core1,core2}
-
-where \texttt{core1} and \texttt{core2} represent the logical processor ids. The logical
-processor ids specified are used in a round robin fashion to bind the MPI processes to the
-logical processors. Some examples are provided below.
-
-\texttt{mpiexec -n 4 -binding auto cpi.exe}
-
-In the above example the process manager binds the MPI processes to the available 
-cores automatically as mentioned above.
-
-\texttt{mpiexec -n 3 -binding user:1,3 cpi.exe}
-
-In the example above the process manager binds MPI process with rank 0 to logical 
-processor 1, rank 1 to logical processor 3, rank 2 to logical processor 1.
-
-\item \texttt{-channel channel\_name}
-This option is only available under Windows and allows the user to select which
-channel implementation of MPICH to select at runtime.  The current channels
-supported are sock, mt, ssm, and shm.  These represent the sockets, 
-multi-threaded sockets, sockets plus shared memory, and shared memory channels.
-The shared memory channels only work on one node.  The sockets, multi-threaded
-sockets, and sockets plus shared memory channels work on multiple nodes.  There
-are also profiled versions of the channels that produce RLOG files for each
-process when selected.  They are named p, mtp, ssmp, and shmp.  See the
-section on channel selection for additional information.
-
-\item \texttt{-configfile filename}
-Use the specified job configuration file to launch the job.  Each line in the
-file represents a set of options just like you would enter them on the \texttt{mpiexec}
-command line.  The one difference is that there are no colons in the file.  The
-colons are replaced by new-lines.
-
-\item \texttt{-delegate}
-Specify that you want to use passwordless SSPI delegation to launch processes.
-The machines must be configured to use SSPI as described in the section on 
-security.
-
-\item \texttt{-dir drive:$\backslash$my$\backslash$working$\backslash$directory}
-Specify the working directory for the processes.
-
-\item \texttt{-env variable value}
-Specify an environment variable and its value to set in the processes' environments.
-This option can be specified multiple times.
-
-\item \texttt{-exitcodes}
-Specify that the exit code of each process should be printed to stdout as each
-processes exits.
-
-\item \texttt{-file filename}
-Use the specified implementation specific job configuration file.  For Windows
-this option is used to specify the old MPICH 1.2.5 configuration file format.
-This is useful for users who have existing configuration files and want to upgrade
-to MPICH.
-
-\item \texttt{-genvlist a,b,c,d...}
-Specify a list of environment variables to taken from the environment local to mpiexec and propagated to the launched processes.
-
-\item \texttt{-hide\_console}
-Detach from the console so that no command prompt window will appear and consequently
-not output will be seen.
-
-\item \texttt{-host hostname}
-Specify that the processes should be launched on a specific host.
-
-\item \texttt{-hosts n host1 host2 host3 ...}
-Specify that the processes should be launched on a list of hosts.  This option
-replaces the \texttt{-n x} option.
-
-\item \texttt{-hosts n host1 m1 host2 m2 host3 m3 ...}
-Specify that the processes should be launched on a list of hosts and how many
-processes should be launched on each host.  The total number of processes 
-launched is m1 + m2 + m3 + ... mn.
-
-\item \texttt{-impersonate}
-Specify that you want to use passwordless SSPI impersonation to launch processes.
-This will create processes on the remote machines with limited access tokens.
-They wil not be able to open files on remote machines or access mapped network
-drives.
-
-\item \texttt{-job job\_name}
-Specify that the processes should be launched under the specifed job object.
-This can only be used after successful calls to \texttt{-add\_job} and \texttt{-associate\_job}.
-
-\item \texttt{-l}
-This flag causes mpiexec to prefix output to stdout and stderr with the rank of
-the process that produced the output.  (This option is the lower-case L not the
-number one)
-
-\item \texttt{-localonly x} or \texttt{-localonly}
-Specify that the processes should only be launched on the local host.  This
-option can replace the \texttt{-n x} option or be used in conjunction with it
-when it is only a flag.
-
-\item \texttt{-localroot}
-Specify that the root process should be launched on the local machine directly
-from mpiexec bypassing the smpd process manager.  This is useful for applications
-that want to create windows from the root process that are visible to the interactive
-user.  The smpd process manager creates processes in a hidden service desktop
-where you cannot interact with any GUI.
-
-\item \texttt{-logon}
-Prompt for user credentials to launch the job under.
-
-\item \texttt{-machinefile filename}
-Use the specified file to get host names to launch processes on.  Hosts are 
-selected from this file in a round robin fashion.  One host is specified per
-line.  Extra options can be specified.  The number of desired processes to
-launch on a specific host can be specified with a colon followed by a number
-after the host name: \texttt{hostname:n}.  This is usefull for multi-CPU hosts.
-If you want to specify the interface that should be used for MPI communication
-to the host you can add the \texttt{-ifhn} flag. A sample machinefile is provided
-below for reference.
-\begin{verbatim}
-    # Comment line
-    # Run two procs on hostname1
-    hostname1:2
-    # Run four procs on hostname2 but use 192.168.1.100
-    # as the interface
-    hostname2:4 -ifhn 192.168.1.100
-\end{verbatim}
-The interface can also be specified using the \texttt{ifhn=} option. The following
-line is valid in a machinefile.
-\begin{verbatim}
-    #Using ifhn= option to specify the interface
-    hostname1:2 ifhn=192.168.1.101
-\end{verbatim}
-
-\item \texttt{-map drive:$\backslash$$\backslash$host$\backslash$share}
-Specify a network mapped drive to create on the hosts before launching the 
-processes.  The mapping will be removed when the processes exit.  This option
-can be specified multiple times.
-
-\item \texttt{-mapall}
-Specify that all network mapped drives created by the user executing mpiexec
-command will be created on hosts before launching the processes. The mappings
-will be removed when the processes exit. 
-
-\item \texttt{-n x} or \texttt{-np x}
-Specify the number of processes to launch.
-
-\item \texttt{-nopm}
-This flag is used in conjunction with the \texttt{-rsh} flag.  With this flag
-specified there need not be any smpd process manager running on any of the nodes
-used in the job.  \texttt{mpiexec} provides the PMI interface and the remote
-shell command is used to start the processes.  Using these flags allows jobs to
-be started without any process managers running but the MPI dynamic process
-functions like MPI\_Comm\_spawn are consequently not available.
-
-\item \texttt{-noprompt}
-Prevent mpiexec for prompting for information.  If user credentials are needed
-to launch the processes mpiexec usually prompts for this information but this
-flag causes an error to be printed out instead.
-
-\item \texttt{-p port}
-Short version of the \texttt{-port} option.
-
-\item \texttt{-path search\_path}
-Specify the search path used to locate executables.  Separate multiple paths with semicolons.
-The path can be mixed when using both Windows and Linux machines.  For example:
-\texttt{-path c:$\backslash$temp;/home/user} is a valid search path.
-
-\item \texttt{-phrase passphrase}
-Specify the passphrase used to authenticate with the smpd process managers.
-
-\item \texttt{-plaintext}
-Specify that user credentials should go over the wire un-encrypted.  This is
-required if both Linux and Windows machines are used in the same job because
-the Linux machines cannot encrypt and decrypt the data created by the Windows
-machines.
-
-\item \texttt{-pmi\_server num\_processes or -pmiserver num\_processes}
-This option specified by itself connects to the local smpd process manager and
-starts a PMI service.  This service is used by MPICH processes to communicate
-connection information to each other.  This option is only good for a single
-MPICH job.  The input parameter is the number of processes in the job.
-\texttt{mpiexec} immediately outputs three lines of data.  The first line is the
-host name.  The second line is the port it is listening on and the third line
-is the name of the PMI KVS.  A process manager that can set environment variables
-and launch processes but does not implement the PMI service can use this option
-to start jobs.  Along with the other PMI environment variables the process 
-manager must set PMI\_HOST to the host name provided, PMI\_PORT to the port
-provided and PMI\_KVS and PMI\_DOMAIN to the KVS name provided.  It is the 
-responsibility of the process manager to set the other environment variables
-correctly like PMI\_RANK and PMI\_SIZE.  See the document on the smpd PMI implementation
-for a complete list of the environment variables.  When the job is finished the
-PMI server will exit.  This option can be executed in separate command simultaneously
-so that multiple jobs can be executed at the same time.
-
-\item \texttt{-port port}
-Specify the port where the smpd process manager is listening.
-
-\item \texttt{-priority class[:level]}
-Specify the priority class and optionally the thread priority of the processes
-to be launched.  The class can be 0,1,2,3, or 4 corresponding to idle, below,
-normal, above, and high.  The level can be 0,1,2,3,4, or 5 corresponding to
-idle, lowest, below, normal, above, highest.  The default is 2:3.
-
-\item \texttt{-pwdfile filename}
-Specify a file to read the user name and password from.  The user name should be
-on the first line and the password on the second line.
-
-\item \texttt{-quiet\_abort}
-Use this flag to prevent extensive abort messages to appear.  Instead the job 
-will simply exit with minimal error output.
-
-\item \texttt{-register [-user n]}
-Encrypt a user name and password into the Windows registry so that it can be 
-automatically retrieved by mpiexec to launch processes with.  If you specify
-a user index then you can save more than one set of credentials.  The index
-should be a positive non-zero number and does not need to be consecutive.
-
-\item \texttt{-remove [-user n]}
-Remove the encrypted credential data from the Registry.  If multiple entries are
-saved then use the \texttt{-user} option to specify which entry to remove.
-\texttt{-user all} can be specified to delete all entries.
-
-\item \texttt{-remove\_job job\_name [-host hostname]}
-Remove a job object on the local or specified host.  Any processes running under
-this job will be terminated.  Administrator privileges are required to execute
-this command.
-
-\item \texttt{-rsh or -ssh}
-Use the remote shell command to execute the processes in the job instead of
-using the smpd process manager.  The default command is ``\texttt{ssh -x}'' no
-matter whether \texttt{-rsh} or \texttt{-ssh} is used.  If this is the only
-flag specified then an smpd process manager must be running on the local host
-where \texttt{mpiexec} is executed.  \texttt{mpiexec} contacts the local smpd process to start
-a PMI service required by the MPI job and then starts the processes using the 
-remote shell command.  On the target machines the application ``\texttt{env}''
-must be available since it is used to set the appropriate environment variables
-and then start the application.  The remote shell command can be changed using
-the environment variable MPIEXEC\_RSH.  Any command can be used that takes a 
-host name and then everything after that as the user command to be launched.
-Note that you need to specify a fully qualified file name of the executable when running
-your job with the \texttt{-rsh} option. If you like to use relative paths set the working
-directory for the job using the \texttt{-wdir} option of mpiexec.
-
-\item \texttt{-smpdfile filename}
-Specify the location of the smpd configuration file.  The default is \texttt{\~/.smpd}.
-This is a Unix only option.  Under Windows the settings are stored in the Windows Registry.
-
-\item \texttt{-timeout seconds}
-Specify the maximum number of seconds the job is allowed to run.  At the end of
-the timeout period, if the job has not already exited then all processes will
-be killed.
-
-\item \texttt{-user n}
-Specify which encrypted credentials to retrieve from the Registry.  The corresponding
-entry must have been previously saved using the \texttt{-register -user n} option.
-
-\item \texttt{-validate [-user n] [-host hostname]}
-Validate that the saved credentials can be used to launch a process on the local
-or specified host.  If more that one credentials has been saved then the 
-\texttt{-user} option can be used to select which user credentials to use.
-
-\item \texttt{-verbose}
-Output trace data for mpiexec.  Only useful for debugging.
-
-\item \texttt{-wdir drive:$\backslash$my$\backslash$working$\backslash$directory}
-\texttt{-wdir} and \texttt{-dir} are synonyms.
-
-\item \texttt{-whoami}
-Print out the current user name in the format that mpiexec and smpd expect it to be.
-This is useful for users who use a screen name that is different from their user
-name.
-
-\end{itemize}
-
-\subsection{SMPD process manager options}
-This section describes some of the options for the smpd process manager.
-
-smpd.exe runs as a service under Windows.  This is required so that it can start
-processes under multiple user credentials.  Only services have the privileges
-necessary to log on users and start processes for them.  Since this is a privileged
-operation administrator rights are required to install the smpd service.  This is
-what the default installer package does.
-
-But smpd can be run in other ways for debugging or single user use.
-
-If you have smpd.exe installed first execute \texttt{smpd.exe -stop} to stop the
-service.
-
-Then you can run it by hand for single user mode or for debugging.  The flag for
-debugging single user mode is \texttt{-d debug\_output\_level}.
-
-If you run it like this you will get full trace output:
-\begin{verbatim}
-smpd.exe -d
-\end{verbatim}
-
-If you run it like this you will get no output except for errors:
-\begin{verbatim}
-smpd.exe -d 0
-\end{verbatim}
-
-Here are all the options to smpd.exe:
-\begin{itemize}
-\item \texttt{-install or -regserver}
-Install the smpd service.  Requires administrator privileges.
-\item \texttt{-remove or -uninstall or -unregserver}
-Uninstall the smpd service.  Requires administrator privileges.
-\item \texttt{-start}
-Start the smpd service.  Requires administrator privileges.
-\item \texttt{-stop}
-Stop the smpd service.  Requires administrator privileges.
-\item \texttt{-restart}
-Stop and restart the smpd service.  Requires administrator privileges.
-\item \texttt{-register\_spn}
-Register the Service Prinicipal Name for the smpd service of the local machine
-on the domain controller.  Requires DOMAIN administrator privileges.  This is
-used in conjunction with passwordless SSPI authentication described in the
-section on security.
-\item \texttt{-remove\_spn}
-Remove the Service Prinicipal Name from the domain controller for the smpd service
-of the local machine.  Requires DOMAIN administrator privileges.
-\item \texttt{-traceon filename [hostA hostB ...]}
-Turn on the trace logging of the smpd service on the local or specified hosts
-and set the output to the specified file.  The file location must be available
-on the local drive of each of the hosts.  It cannot be located on a remote 
-machine.
-\item \texttt{-traceoff [hostA hostB ...]}
-Turn off the trace logging of the smpd service on the local or specified hosts.
-\item \texttt{-port n}
-Listen on the specified port number.  If this option is not specified then smpd
-listens on the default port (8676).
-\item \texttt{-anyport}
-Listen on any port assigned by the OS.  smpd immediately prints out the port that
-it has been assigned.
-\item \texttt{-phrase passphrase}
-Use the specified passphrase to authenticate connections to the smpd either by
-mpiexec or another smpd process.
-\item \texttt{-getphrase}
-Prompt the user to input the passphrase.  This is useful if you don't want to 
-specify the phrase on the command line.
-\item \texttt{-noprompt}
-Don't prompt the user for input.  If there is missing information, print an error
-and exit.
-\item \texttt{-set option value}
-Set the smpd option to the specified value.  For example, \texttt{smpd -set logfile c:$\backslash$temp$\backslash$smpd.log} will set the log file to the 
-specified file name.  \texttt{smpd -set log yes} will turn trace logging on and
-\texttt{smpd -set log no} will turn it off.
-\item \texttt{-get option}
-Print out the value of the specified smpd option.
-\item \texttt{-hosts}
-Print the hosts that mpiexec and this smpd will use to launch processes on.  
-If the list is empty then processes will be launched on the local host only.
-\item \texttt{-sethosts hostA hostB ...}
-Set the hosts option to a list of hosts that mpiexec and smpd will use to launch
-processes on.
-\item \texttt{-d [level] or -debug [level]}
-Start the smpd in debug or single user mode with the optionally specified amount
-of output.  For example, \texttt{smpd -d} will start the smpd will lots of trace
-output and \texttt{smpd -d 0} will start the smpd with no output except for errors.
-\item \texttt{-s}
-Only available on Unix systems.  This option starts the smpd in single user daemon
-mode for the current user.
-\item \texttt{-smpdfile filename}
-On Unix systems the smpd options are stored in a file that is readable only by
-the current user (chmod 600).  This file stores the same information that would
-be stored in the Windows registry like the port and passphrase.  The default
-file is named \texttt{\~/.smpd} if this option is not specified.
-\item \texttt{-shutdown}
-Shutdown a running smpd that was started by \texttt{smpd -s} or \texttt{smpd -d}.
-\item \texttt{-printprocs}
-On a Windows machine you can run \texttt{smpd -printprocs} and it will print out
-the processes started and stopped by smpd on the current host.  The format of the
-output is \texttt{+/-pid cmd}.  Plus means a process was started and minus means
-the process has exited.  The process id is specified next and then the rest of the line
-is the command that was launched.
-\item \texttt{-enum or -enumerate}
-Print the smpd options set on the local host.
-\item \texttt{-version}
-Print the smpd version and exit.
-\item \texttt{-status [-host hostname]}
-Print the status of the smpd on the local or specified host.
-\item \texttt{-help}
-Print a brief summary of the options to smpd.
-\end{itemize}
-
-\subsection{Debugging jobs by starting them manually}
-This section describes how to start a job by hand without the use of a process
-manager so the job can be stepped through with a debugger.
-
-You can launch an MPICH job by hand if you set the minimum required environment
-variables for each process and then start the processes yourself (or in a debugger).
-
-Here is a script that sets the environment variables so that a job can be started
- on the local machine:
-The file is called \texttt{setmpi2.bat}
-\begin{verbatim}
-if ``%1'' == ``'' goto HELP
-if ``%2'' == ``'' goto HELP
-set PMI_ROOT_HOST=%COMPUTERNAME%
-set PMI_ROOT_PORT=9222
-set PMI_ROOT_LOCAL=1
-set PMI_RANK=%1
-set PMI_SIZE=%2
-set PMI_KVS=mpich
-goto DONE
-:HELP
-REM usage: setmpi2 rank size
-:DONE
-\end{verbatim}
-
-For example, to debug a two process job bring up two separate command prompts.
-In the first prompt execute \texttt{setmpi2.bat 0 2} and in the second prompt
-execute \texttt{setmpi2.bat 1 2}.  Then run your application always starting
-the root process first.  The root process must call MPI\_Init before any of the
-other processes because it is the process that listens on the port specifed by
-the environment variable PMI\_ROOT\_PORT.  Simply execute \texttt{myapp.exe} from
-each command prompt to run your job.  Or better yet run each process in a debugger.
-If you have the Microsoft developer studio installed you can run the following
-from each command prompt: \texttt{devenv.exe myapp.exe}.  This will bring up a
-debugger for each process.  Then you can step through each process and debug it.
-Remember that the first process must call MPI\_Init before any of the rest of the
-processes do.  You can restart the processes at any time as long as you restart
-all of them.
-
-The script can be modified to launch on multiple hosts by changing the line:
-\begin{verbatim}
-set PMI_ROOT_HOST=%COMPUTERNAME%
-\end{verbatim}
-to set the variable to the hostname where the root process will be started instead
-of the local host name.
-
-The limitation of this method of starting processes is that MPI spawning operations
-are not supported.  If your application calls MPI\_Comm\_spawn it will produce
-an error.
-
-\subsection{Debugging jobs using MPI Cluster Debugger}
-This section describes how to debug MPI jobs using the MPI Cluster Debugger available with Visual Studio suites. Follow the steps below to debug your MPI application (myapp.exe) locally on your machine using Visual Studio 2010
-\begin{enumerate}
-\item Select Visual Studio application project properties (Select ``\texttt{myapp.exe properties}'' item from the ``\texttt{Project}'' menu)
-\item In Debugging section (Select ``\texttt{Configuration Properties}'' and then select ``\texttt{Debugging}'' category), select ``\texttt{MPI Cluster debugger}'' as the debugger to launch from the drop down menu.
-\item Set the ``\texttt{Run Environment}'' item to ``\texttt{localhost/NUM\_PROCS\_TO\_LAUNCH}'' (e.g. localhost/3 to launch 3 MPI processes)
-\item Set the ``\texttt{Application Arguments}'' item, if your MPI application has any arguments (To specify input to your application redirect it from a text file)
-\item Set the ``\texttt{MPIExec Command}'' item to point to MPICH's mpiexec (\texttt{C:$\backslash$Program Files$\backslash$MPICH$\backslash$bin$\backslash$mpiexec.exe})
-\item Click OK to submit the project property changes
-\item Insert break points in the Visual Studio explorer window
-\item Press F5 to start debugging your code. Note that multiple windows pop up showing a view of the processes launched and the corresponding call stacks. The debugger automatically switches between MPI processes, if required, when it hits a breakpoint.
-\end{enumerate}
-
-\subsection{Environment variables}
-This section describes the environment variables used by MPICH and smpd.
-
-\begin{itemize}
-\item \texttt{MPICH\_ABORT\_ON\_ERROR}
-Call abort() when an error happens instead of returning an error and calling MPID\_Abort. useful for unix where calling abort() creates a core file.
-\item \texttt{MPICH\_PRINT\_ERROR\_STACK}
-Print the entire error stack when an error occurs (currently this is the default)
-\item \texttt{MPICH\_CHOP\_ERROR\_STACK}
-Split the error stack output at the character position specified.  A value of 79
-would cause carriage returns to be inserted after the 79th character.
-\item \texttt{MPICH\_WARNINGS}
-Print runtime warnings (unmatched messages at MPI\_Finalize, unreleased resources, etc)
-\item \texttt{MPICH\_SOCKET\_BUFFER\_SIZE}
-socket buffer size
-\item \texttt{MPICH\_SOCKET\_RBUFFER\_SIZE}
-socket receive buffer size
-\item \texttt{MPICH\_SOCKET\_SBUFFER\_SIZE}
-socket send buffer size
-\item \texttt{MPICH\_SOCKET\_NUM\_PREPOSTED\_ACCEPTS}
-number of accepts posted for MPIDU\_Sock\_listen
-\item \texttt{MPICH\_PORT\_RANGE}
-Range of ports to use for sockets: min..max or min,max
-\item \texttt{MPICH\_INTERFACE\_HOSTNAME}
-hostname to use to connect sockets
-\item \texttt{MPICH\_NETMASK}
-bitmask to select an ip subnet: ip/numbits, ie 192.0.0.0/8
-\item \texttt{MPIEXEC\_TIMEOUT}
-job timeout in seconds
-\item \texttt{MPIEXEC\_LOCALONLY}
-launch job processes on the local machine only
-\item \texttt{MPIEXEC\_NOPROMPT}
-Don't prompt for user input for missing information, print an error instead.
-\item \texttt{MPIEXEC\_SMPD\_PORT}
-Connect to smpd on the specified port.
-
-The following two only affect mpiexec for smpd if -rsh is on the command line:
-\item \texttt{MPIEXEC\_RSH}
-rsh command to use, default is ``ssh -x''
-\item \texttt{MPIEXEC\_RSH\_NO\_ESCAPE}
-create an rsh command compatible with Cygwin's ssh
-\item \texttt{MPICH\_SPN}
-Service Principal Name used for passwordless authentication
-\item \texttt{SMPD\_DBG\_OUTPUT}
-Print debugging output
-\item \texttt{SMPD\_DBG\_LOG\_FILENAME}
-name of logfile to send output to
-\item \texttt{SMPD\_MAX\_LOG\_FILE\_SIZE}
-maximum number of bytes the logfile can grow to before it is truncated
-\item \texttt{MPICH\_DBG\_OUTPUT}
-stdout, memlog or file.  determines where debugging output goes
-\item \texttt{MPI\_DLL\_NAME}
-name of the dll that contains the MPI and PMPI interfaces
-\item \texttt{MPI\_DLL\_PATH}
-path of the dll that contains the MPI and PMPI interfaces
-\item \texttt{MPICH\_CHANNEL}
-short name of the channel used to create the full name of the MPI dll (ie. ib becomes mpichib.dll)
-\item \texttt{MPI\_WRAP\_DLL\_NAME}
-name of the dll that contains only the MPI interface, not the PMPI interface
-\item \texttt{MPICH\_TRMEM\_INITZERO}
-used by the memory tracing package
-\item \texttt{MPICH\_TRMEM\_VALIDATE}
-used by the memory tracing package
-\item \texttt{MPITEST\_DEBUG}
-used by the test suite
-\item \texttt{MPITEST\_VERBOSE}
-used by the test suite
-\item \texttt{PATH}
-used by smpd to search for executables under Unix.
-\end{itemize}
-
-SMPD options specified on the command line can also be specified in the environment
-by prefixing \texttt{SMPD\_OPTION\_} to the option name and saving it as an
-environment variable.
-\begin{itemize}
-\item \texttt{SMPD\_OPTION\_APP\_PATH}
-\item \texttt{SMPD\_OPTION\_LOGFILE}
-\item \texttt{SMPD\_OPTION\_NOCACHE}
-\item \texttt{SMPD\_OPTION\_PHRASE}
-\item \texttt{SMPD\_OPTION\_SSPI\_PROTECT}
-\item \texttt{SMPD\_OPTION\_MAX\_LOGFILE\_SIZE}
-\item \texttt{SMPD\_OPTION\_PLAINTEXT}
-\item \texttt{SMPD\_OPTION\_PORT}
-\item \texttt{SMPD\_OPTION\_TIMEOUT}
-\item \texttt{SMPD\_OPTION\_EXITCODES}
-\item \texttt{SMPD\_OPTION\_PRIORITY}
-\item \texttt{SMPD\_OPTION\_LOCALONLY}
-\item \texttt{SMPD\_OPTION\_NOPROMPT}
-\item \texttt{SMPD\_OPTION\_CHANNEL}
-\item \texttt{SMPD\_OPTION\_HOSTS}
-\item \texttt{SMPD\_OPTION\_DELEGATE}
-\item \texttt{SMPD\_OPTION\_INTERNODE\_CHANNEL}
-\item \texttt{SMPD\_OPTION\_LOG}
-\item \texttt{SMPD\_OPTION\_NO\_DYNAMIC\_HOSTS}
-\end{itemize}
-
-Variables to control debugging output when enabled:
-\begin{itemize}
-\item \texttt{MPICH\_DBG}
-\item \texttt{MPICH\_DBG\_CLASS}
-\item \texttt{MPICH\_DBG\_FILENAME}
-\item \texttt{MPICH\_DBG\_LEVEL}
-\item \texttt{MPICH\_DBG\_OUTPUT}
-\item \texttt{MPICH\_DBG\_RANK}
-\item \texttt{MPICH\_DEBUG\_ITEM}
-\end{itemize}
-
-PMI environment variables created by smpd are described in the smpd documentation:
-\begin{itemize}
-\item \texttt{PMI\_DLL\_NAME}
-name of the PMI dll to load (replaces the default smpd functions)
-\item \texttt{PMI\_NAMEPUB\_KVS}
-name of the key-val-space where MPI service names are stored for MPI\_Lookup\_name()
-\item \texttt{PMI\_ROOT\_HOST}
-\item \texttt{PMI\_ROOT\_PORT}
-\item \texttt{PMI\_ROOT\_LOCAL}
-\item \texttt{PMI\_SPAWN}
-\item \texttt{PMI\_KVS}
-\item \texttt{PMI\_DOMAIN}
-\item \texttt{PMI\_RANK}
-\item \texttt{PMI\_SIZE}
-\item \texttt{PMI\_CLIQUE}
-\item \texttt{PMI\_APPNUM}
-\item \texttt{PMI\_SMPD\_ID}
-\item \texttt{PMI\_SMPD\_KEY}
-\item \texttt{PMI\_SMPD\_FD}
-\item \texttt{PMI\_HOST}
-\item \texttt{PMI\_PORT}
-\item \texttt{PMI\_APPNUM}
-\end{itemize}
-
-Used by the process managers other than smpd:
-\begin{itemize}
-\item \texttt{MPIEXEC\_DEBUG}
-\item \texttt{MPIEXEC\_MACHINES\_PATH}
-\item \texttt{MPIEXEC\_PORTRANGE}
-\item \texttt{MPIEXEC\_PREFIX\_STDERR}
-\item \texttt{MPIEXEC\_PREFIX\_STDOUT}
-\item \texttt{MPIEXEC\_REMSHELL}
-\item \texttt{MPIEXEC\_USE\_PORT}
-\end{itemize}
-
-\subsection{Compiling}
-This section describes how to set up a project to compile an MPICH application
-using Visual Studio 2005 and Visual Studio 6.0.
-
-\subsubsection{Visual Studio 6.0}
-Visual C++ 6.0 cannot handle multiple functions with the same type signature 
-that only differ in their return type.  So you must define \texttt{HAVE\_NO\_VARIABLE\_RETURN\_TYPE\_SUPPORT}
-in your project.
-
-\begin{enumerate}
-\item Create a project and add your source files.
-
-\item Bring up the settings for the project by hitting Alt F7.  Select the Preprocessor
-Category from the C/C++ tab.  Enter \texttt{HAVE\_NO\_VARIABLE\_RETURN\_TYPE\_SUPPORT} into
-the Preprocessor box.  Enter \texttt{C:$\backslash$Program Files$\backslash$MPICH$\backslash$include}
-into the ``Additional include directories'' box.
-
-\item Select the Input Category from the Link tab.  Add \texttt{cxx.lib} and \texttt{mpi.lib} to
-the Object/library modules box.  Add \texttt{C:$\backslash$Program Files$\backslash$MPICH$\backslash$lib}
-to the ``Additional library path'' box.
-
-\item Compile your application.
-\end{enumerate}
-
-\subsubsection{Visual Studio 2005}
-You can use the example projects provided with Visual Studio 2005 and use
-it as a guide to create your own projects.
-
-\begin{enumerate}
-\item Create a project and add your source files.
-
-\item Bring up the properties dialog for your project by right clicking the project
-name and selecting Properties.
-
-\item Navigate to Configuration Properties::C/C++::General
-\item Add \texttt{C:$\backslash$Program Files$\backslash$MPICH$\backslash$include}
-to the ``Additional Include Directories'' box.
-
-\item Navigate to Configuration Properties::Linker::General
-\item Add \texttt{C:$\backslash$Program Files$\backslash$MPICH$\backslash$lib}
-to the ``Aditional Library Directories'' box.
-
-\item Navigate to Configuration Properties::Linker::Input
-\item Add \texttt{cxx.lib} and \texttt{mpi.lib} and \texttt{fmpich.lib} to the ``Additional Dependencies'' box.  If your
-application is a C application then it only needs \texttt{mpi.lib}.  If it is a C++ application then it
-needs both \texttt{cxx.lib} and \texttt{mpi.lib}.  If it is a Fortran application then it only needs one of the \texttt{fmpich[s,g].lib} libraries.
-The fortran library comes in three flavors \texttt{fmpich.lib}, \texttt{fmpichs.lib} and \texttt{fmpichs.lib}.  \texttt{fmpich.lib}
-contains all uppercase symbols and uses the C calling convention like this: \texttt{MPI\_INIT}.  \texttt{fmpichs.lib}
-contains all uppercase symbols and uses the stdcall calling convention like this: \texttt{MPI\_INIT at 4}.
-\texttt{fmpichg.lib} contains all lowercase symbols with double underscores and the C calling convention
-like this: \texttt{mpi\_init\_\_}.  Add the library that matches your Fortran compiler.
-
-\item Compile your application.
-\end{enumerate}
-
-\subsubsection{Cygwin and MinGW GNU compilers}
-You can compile your MPI programs using gcc/g++/g77/gfortran from Cygwin or MinGW using the MPICH header files/libraries installed with MPICH on windows. Compile using the header files in \texttt{C:$\backslash$Program Files$\backslash$MPICH$\backslash$include} and link using the libs, lib*.a, in \texttt{C:$\backslash$Program Files$\backslash$MPICH$\backslash$lib}. Note that you should use the ``-localroot'' option when running programs compiled using gcc/g++ from Cygwin.
-
-\end{document}
diff --git a/examples/cpi.vcproj b/examples/cpi.vcproj
deleted file mode 100644
index 4eb372a..0000000
--- a/examples/cpi.vcproj
+++ /dev/null
@@ -1,374 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="cpi"
-	ProjectGUID="{8A4EF666-0FA4-4472-842B-C1C10C941439}"
-	RootNamespace="cpi"
-	Keyword="Win32Proj"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="Debug"
-			IntermediateDirectory="Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\src\include,..\src\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpid.lib ws2_32.lib"
-				OutputFile="$(OutDir)/cpi.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\lib"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)/cpi.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-				FixedBaseAddress="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="Release"
-			IntermediateDirectory="Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\src\include,..\src\include\win32"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
-				RuntimeLibrary="0"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpi.lib ws2_32.lib"
-				OutputFile="$(OutDir)/cpi.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\lib"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\src\include,..\src\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpid.lib ws2_32.lib"
-				OutputFile="$(OutDir)/cpi.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\lib"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)/cpi.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-				FixedBaseAddress="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\src\include,..\src\include\win64"
-				PreprocessorDefinitions="NDEBUG;_CONSOLE"
-				RuntimeLibrary="0"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpi.lib"
-				OutputFile="$(OutDir)/cpi.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\winbuild\x64\Release\mpi"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath=".\icpi.c"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/examples/pmandel.vcproj b/examples/pmandel.vcproj
deleted file mode 100644
index f1cdb41..0000000
--- a/examples/pmandel.vcproj
+++ /dev/null
@@ -1,372 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="pmandel"
-	ProjectGUID="{7A24F228-2A69-4E40-A5B5-8294C699EEB4}"
-	RootNamespace="pmandel"
-	Keyword="Win32Proj"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="Debug"
-			IntermediateDirectory="Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\src\include,..\src\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_WINDOWS_H"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpid.lib ws2_32.lib"
-				OutputFile="$(OutDir)/pmandel.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\lib"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)/pmandel.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="Release"
-			IntermediateDirectory="Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\src\include,..\src\include\win32"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_WINDOWS_H"
-				RuntimeLibrary="0"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpi.lib ws2_32.lib"
-				OutputFile="$(OutDir)/pmandel.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\lib"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\src\include,..\src\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_WINDOWS_H"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpid.lib ws2_32.lib"
-				OutputFile="$(OutDir)/pmandel.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\lib"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)/pmandel.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\src\include,..\src\include\win64"
-				PreprocessorDefinitions="NDEBUG;_CONSOLE;HAVE_WINDOWS_H"
-				RuntimeLibrary="0"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpi.lib ws2_32.lib"
-				OutputFile="$(OutDir)/pmandel.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\winbuild\x64\Release\mpi"
-				GenerateDebugInformation="false"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath=".\pmandel.c"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/examples/pmandel_fence.vcproj b/examples/pmandel_fence.vcproj
deleted file mode 100644
index bb21926..0000000
--- a/examples/pmandel_fence.vcproj
+++ /dev/null
@@ -1,372 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="pmandel_fence"
-	ProjectGUID="{FEF84809-FBA0-4186-B6A9-5C12F28858AD}"
-	RootNamespace="pmandel_fence"
-	Keyword="Win32Proj"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="Debug"
-			IntermediateDirectory="Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\src\include,..\src\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_WINDOWS_H"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpid.lib ws2_32.lib"
-				OutputFile="$(OutDir)/pmandel_fence.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\lib"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)/pmandel_fence.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="Release"
-			IntermediateDirectory="Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\src\include,..\src\include\win32"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_WINDOWS_H"
-				RuntimeLibrary="0"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpi.lib ws2_32.lib"
-				OutputFile="$(OutDir)/pmandel_fence.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\lib"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\src\include,..\src\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_WINDOWS_H"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpid.lib ws2_32.lib"
-				OutputFile="$(OutDir)/pmandel_fence.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\lib"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)/pmandel_fence.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\src\include,..\src\include\win64"
-				PreprocessorDefinitions="NDEBUG;_CONSOLE;HAVE_WINDOWS_H"
-				RuntimeLibrary="0"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpi.lib ws2_32.lib"
-				OutputFile="$(OutDir)/pmandel_fence.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\winbuild\x64\Release\mpi"
-				GenerateDebugInformation="false"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath=".\pmandel_fence.c"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/examples/pmandel_service.vcproj b/examples/pmandel_service.vcproj
deleted file mode 100644
index 4b7ffc8..0000000
--- a/examples/pmandel_service.vcproj
+++ /dev/null
@@ -1,372 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="pmandel_service"
-	ProjectGUID="{628FA51F-0886-4D7D-BBE4-18FB6516D7D2}"
-	RootNamespace="pmandel_service"
-	Keyword="Win32Proj"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="Debug"
-			IntermediateDirectory="Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\src\include,..\src\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_WINDOWS_H"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpid.lib ws2_32.lib"
-				OutputFile="$(OutDir)/pmandel_service.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\lib"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)/pmandel_service.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="Release"
-			IntermediateDirectory="Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\src\include,..\src\include\win32"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_WINDOWS_H"
-				RuntimeLibrary="0"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpi.lib ws2_32.lib"
-				OutputFile="$(OutDir)/pmandel_service.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\lib"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\src\include,..\src\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_WINDOWS_H"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpid.lib ws2_32.lib"
-				OutputFile="$(OutDir)/pmandel_service.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\lib"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)/pmandel_service.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\src\include,..\src\include\win64"
-				PreprocessorDefinitions="NDEBUG;_CONSOLE;HAVE_WINDOWS_H"
-				RuntimeLibrary="0"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpi.lib ws2_32.lib"
-				OutputFile="$(OutDir)/pmandel_service.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\winbuild\x64\Release\mpi"
-				GenerateDebugInformation="false"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath=".\pmandel_service.c"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/examples/pmandel_spaserv.vcproj b/examples/pmandel_spaserv.vcproj
deleted file mode 100644
index 3d38973..0000000
--- a/examples/pmandel_spaserv.vcproj
+++ /dev/null
@@ -1,372 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="pmandel_spaserv"
-	ProjectGUID="{491B0550-63A6-4DE2-82EF-E4243DBDC77F}"
-	RootNamespace="pmandel_spaserv"
-	Keyword="Win32Proj"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="Debug"
-			IntermediateDirectory="Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\src\include,..\src\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_WINDOWS_H"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpid.lib"
-				OutputFile="$(OutDir)/pmandel_spaserv.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\lib"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)/pmandel_spaserv.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="Release"
-			IntermediateDirectory="Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\src\include,..\src\include\win32"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_WINDOWS_H"
-				RuntimeLibrary="0"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpi.lib"
-				OutputFile="$(OutDir)/pmandel_spaserv.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\lib"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\src\include,..\src\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_WINDOWS_H"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpid.lib"
-				OutputFile="$(OutDir)/pmandel_spaserv.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\lib"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)/pmandel_spaserv.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\src\include,..\src\include\win64"
-				PreprocessorDefinitions="NDEBUG;_CONSOLE;HAVE_WINDOWS_H"
-				RuntimeLibrary="0"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpi.lib"
-				OutputFile="$(OutDir)/pmandel_spaserv.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\winbuild\x64\Release\mpi"
-				GenerateDebugInformation="false"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath=".\pmandel_spaserv.c"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/examples/pmandel_spawn.vcproj b/examples/pmandel_spawn.vcproj
deleted file mode 100644
index 3928566..0000000
--- a/examples/pmandel_spawn.vcproj
+++ /dev/null
@@ -1,372 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="pmandel_spawn"
-	ProjectGUID="{D05C5962-1D40-4A33-ACE8-87A6DA3600A9}"
-	RootNamespace="pmandel_spawn"
-	Keyword="Win32Proj"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="Debug"
-			IntermediateDirectory="Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\src\include,..\src\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_WINDOWS_H"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpid.lib ws2_32.lib"
-				OutputFile="$(OutDir)/pmandel_spawn.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\lib"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)/pmandel_spawn.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="Release"
-			IntermediateDirectory="Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\src\include,..\src\include\win32"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_WINDOWS_H"
-				RuntimeLibrary="0"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpi.lib ws2_32.lib"
-				OutputFile="$(OutDir)/pmandel_spawn.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\lib"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\src\include,..\src\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_WINDOWS_H"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpid.lib ws2_32.lib"
-				OutputFile="$(OutDir)/pmandel_spawn.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\lib"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)/pmandel_spawn.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\src\include,..\src\include\win64"
-				PreprocessorDefinitions="NDEBUG;_CONSOLE;HAVE_WINDOWS_H"
-				RuntimeLibrary="0"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpi.lib ws2_32.lib"
-				OutputFile="$(OutDir)/pmandel_spawn.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\winbuild\x64\Release\mpi"
-				GenerateDebugInformation="false"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath=".\pmandel_spawn.c"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/examples/spawntest.vcproj b/examples/spawntest.vcproj
deleted file mode 100644
index 5149fa8..0000000
--- a/examples/spawntest.vcproj
+++ /dev/null
@@ -1,138 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="spawntest"
-	ProjectGUID="{6BB16851-FDFE-4654-8F1A-DCAC63EBE11A}"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="Debug"
-			IntermediateDirectory="Debug"
-			ConfigurationType="1"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\src\include,..\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
-				MinimalRebuild="TRUE"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="5"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="TRUE"
-				DebugInformationFormat="4"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpichd.lib"
-				OutputFile="$(OutDir)/spawntest.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\lib"
-				GenerateDebugInformation="TRUE"
-				ProgramDatabaseFile="$(OutDir)/spawntest.pdb"
-				SubSystem="1"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="Release"
-			IntermediateDirectory="Release"
-			ConfigurationType="1"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\src\include,..\include\win32"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
-				RuntimeLibrary="4"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="TRUE"
-				DebugInformationFormat="3"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpich.lib"
-				OutputFile="$(OutDir)/spawntest.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\lib"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
-			<File
-				RelativePath=".\parent.c">
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/examples/windows/installed_examples/cpi.vcproj b/examples/windows/installed_examples/cpi.vcproj
deleted file mode 100644
index 653a41a..0000000
--- a/examples/windows/installed_examples/cpi.vcproj
+++ /dev/null
@@ -1,372 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="cpi"
-	ProjectGUID="{1047DFCE-77C6-4D1D-A2B9-C6EC7EE30857}"
-	RootNamespace="cpi"
-	Keyword="Win32Proj"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="Debug"
-			IntermediateDirectory="Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\include"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpi.lib"
-				OutputFile="$(OutDir)/cpi.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\lib"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)/cpi.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="Release"
-			IntermediateDirectory="Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\include"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
-				RuntimeLibrary="2"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpi.lib"
-				OutputFile="$(OutDir)/cpi.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\lib"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\include"
-				PreprocessorDefinitions="_DEBUG;_CONSOLE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpi.lib"
-				OutputFile="$(OutDir)/cpi.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\lib"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)/cpi.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\include"
-				PreprocessorDefinitions="NDEBUG;_CONSOLE"
-				RuntimeLibrary="2"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpi.lib"
-				OutputFile="$(OutDir)/cpi.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\lib"
-				GenerateDebugInformation="false"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath=".\icpi.c"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/examples/windows/installed_examples/cxxpi.cxx b/examples/windows/installed_examples/cxxpi.cxx
deleted file mode 100644
index 4ae5a8e..0000000
--- a/examples/windows/installed_examples/cxxpi.cxx
+++ /dev/null
@@ -1,64 +0,0 @@
-/* -*- Mode: C++; c-basic-offset:4 ; -*- */
-/*  
- *  (C) 2004 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-
-#include "mpi.h"
-#include <iostream>
-#include <math.h>
-
-using namespace std;
-
-double f(double);
-
-double f(double a)
-{
-    return (4.0 / (1.0 + a*a));
-}
-
-int main(int argc,char **argv)
-{
-    int n, myid, numprocs, i;
-    double PI25DT = 3.141592653589793238462643;
-    double mypi, pi, h, sum, x;
-    double startwtime = 0.0, endwtime;
-    int  namelen;
-    char processor_name[MPI_MAX_PROCESSOR_NAME];
-
-    MPI::Init(argc,argv);
-    numprocs = MPI::COMM_WORLD.Get_size();
-    myid     = MPI::COMM_WORLD.Get_rank();
-    MPI::Get_processor_name(processor_name,namelen);
-
-    cout << "Process " << myid << " of " << numprocs << " is on " <<
-	processor_name << endl;
-
-    n = 10000;			/* default # of rectangles */
-    if (myid == 0)
-	startwtime = MPI::Wtime();
-
-    MPI::COMM_WORLD.Bcast(&n, 1, MPI_INT, 0);
-
-    h   = 1.0 / (double) n;
-    sum = 0.0;
-    /* A slightly better approach starts from large i and works back */
-    for (i = myid + 1; i <= n; i += numprocs)
-    {
-	x = h * ((double)i - 0.5);
-	sum += f(x);
-    }
-    mypi = h * sum;
-
-    MPI::COMM_WORLD.Reduce(&mypi, &pi, 1, MPI_DOUBLE, MPI_SUM, 0);
-
-    if (myid == 0) {
-	endwtime = MPI::Wtime();
-	cout << "pi is approximately " << pi << " Error is " <<
-	    fabs(pi - PI25DT) << endl;
-	cout << "wall clock time = " << endwtime-startwtime << endl;
-    }
-
-    MPI::Finalize();
-    return 0;
-}
diff --git a/examples/windows/installed_examples/cxxpi.vcproj b/examples/windows/installed_examples/cxxpi.vcproj
deleted file mode 100644
index e602772..0000000
--- a/examples/windows/installed_examples/cxxpi.vcproj
+++ /dev/null
@@ -1,372 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="cxxpi"
-	ProjectGUID="{55345B9F-F9B8-4A52-A5A9-5C3C9F61A76F}"
-	RootNamespace="cxxpi"
-	Keyword="Win32Proj"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="Debug"
-			IntermediateDirectory="Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\include"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="cxxd.lib mpi.lib"
-				OutputFile="$(OutDir)/cxxpi.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\lib"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)/cxxpi.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="Release"
-			IntermediateDirectory="Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\include"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
-				RuntimeLibrary="0"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="cxx.lib mpi.lib"
-				OutputFile="$(OutDir)/cxxpi.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\lib"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\include"
-				PreprocessorDefinitions="_DEBUG;_CONSOLE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="cxxd.lib mpi.lib"
-				OutputFile="$(OutDir)/cxxpi.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\lib"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)/cxxpi.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\include"
-				PreprocessorDefinitions="NDEBUG;_CONSOLE"
-				RuntimeLibrary="0"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="cxx.lib mpi.lib"
-				OutputFile="$(OutDir)/cxxpi.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\lib"
-				GenerateDebugInformation="false"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath=".\cxxpi.cxx"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/examples/windows/installed_examples/examples.sln b/examples/windows/installed_examples/examples.sln
deleted file mode 100644
index 1f51a01..0000000
--- a/examples/windows/installed_examples/examples.sln
+++ /dev/null
@@ -1,45 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cpi", "cpi.vcproj", "{1047DFCE-77C6-4D1D-A2B9-C6EC7EE30857}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cxxpi", "cxxpi.vcproj", "{55345B9F-F9B8-4A52-A5A9-5C3C9F61A76F}"
-EndProject
-Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "fpi", "fpi.vfproj", "{E9928864-78B6-42A6-846D-7BF6791AD033}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|Win32 = Debug|Win32
-		Debug|x64 = Debug|x64
-		Release|Win32 = Release|Win32
-		Release|x64 = Release|x64
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{1047DFCE-77C6-4D1D-A2B9-C6EC7EE30857}.Debug|Win32.ActiveCfg = Debug|Win32
-		{1047DFCE-77C6-4D1D-A2B9-C6EC7EE30857}.Debug|Win32.Build.0 = Debug|Win32
-		{1047DFCE-77C6-4D1D-A2B9-C6EC7EE30857}.Debug|x64.ActiveCfg = Debug|x64
-		{1047DFCE-77C6-4D1D-A2B9-C6EC7EE30857}.Debug|x64.Build.0 = Debug|x64
-		{1047DFCE-77C6-4D1D-A2B9-C6EC7EE30857}.Release|Win32.ActiveCfg = Release|Win32
-		{1047DFCE-77C6-4D1D-A2B9-C6EC7EE30857}.Release|Win32.Build.0 = Release|Win32
-		{1047DFCE-77C6-4D1D-A2B9-C6EC7EE30857}.Release|x64.ActiveCfg = Release|x64
-		{1047DFCE-77C6-4D1D-A2B9-C6EC7EE30857}.Release|x64.Build.0 = Release|x64
-		{55345B9F-F9B8-4A52-A5A9-5C3C9F61A76F}.Debug|Win32.ActiveCfg = Debug|Win32
-		{55345B9F-F9B8-4A52-A5A9-5C3C9F61A76F}.Debug|Win32.Build.0 = Debug|Win32
-		{55345B9F-F9B8-4A52-A5A9-5C3C9F61A76F}.Debug|x64.ActiveCfg = Debug|x64
-		{55345B9F-F9B8-4A52-A5A9-5C3C9F61A76F}.Debug|x64.Build.0 = Debug|x64
-		{55345B9F-F9B8-4A52-A5A9-5C3C9F61A76F}.Release|Win32.ActiveCfg = Release|Win32
-		{55345B9F-F9B8-4A52-A5A9-5C3C9F61A76F}.Release|Win32.Build.0 = Release|Win32
-		{55345B9F-F9B8-4A52-A5A9-5C3C9F61A76F}.Release|x64.ActiveCfg = Release|x64
-		{55345B9F-F9B8-4A52-A5A9-5C3C9F61A76F}.Release|x64.Build.0 = Release|x64
-		{E9928864-78B6-42A6-846D-7BF6791AD033}.Debug|Win32.ActiveCfg = Debug|Win32
-		{E9928864-78B6-42A6-846D-7BF6791AD033}.Debug|Win32.Build.0 = Debug|Win32
-		{E9928864-78B6-42A6-846D-7BF6791AD033}.Debug|x64.ActiveCfg = Debug|x64
-		{E9928864-78B6-42A6-846D-7BF6791AD033}.Debug|x64.Build.0 = Debug|x64
-		{E9928864-78B6-42A6-846D-7BF6791AD033}.Release|Win32.ActiveCfg = Release|Win32
-		{E9928864-78B6-42A6-846D-7BF6791AD033}.Release|Win32.Build.0 = Release|Win32
-		{E9928864-78B6-42A6-846D-7BF6791AD033}.Release|x64.ActiveCfg = Release|x64
-		{E9928864-78B6-42A6-846D-7BF6791AD033}.Release|x64.Build.0 = Release|x64
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-EndGlobal
diff --git a/examples/windows/installed_examples/fpi.vfproj b/examples/windows/installed_examples/fpi.vfproj
deleted file mode 100644
index e4a3da6..0000000
--- a/examples/windows/installed_examples/fpi.vfproj
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<VisualStudioProject ProjectCreator="Intel Fortran" Keyword="Console Application" Version="9.10" ProjectIdGuid="{E9928864-78B6-42A6-846D-7BF6791AD033}">
-	<Platforms>
-		<Platform Name="Win32"/>
-		<Platform Name="x64"/></Platforms>
-	<Configurations>
-		<Configuration Name="Debug|Win32" DeleteExtensionsOnClean="*.obj;*.mod;*.pdb;*.asm;*.map;*.dyn;*.dpi;*.tmp;*.log;*.ilk;*.exe;$(TargetPath)">
-				<Tool Name="VFFortranCompilerTool" SuppressStartupBanner="true" DebugInformationFormat="debugEnabled" Optimization="optimizeDisabled" AdditionalIncludeDirectories="..\include" ModulePath="$(INTDIR)/" ObjectFile="$(INTDIR)/" Traceback="true" BoundsCheck="true" RuntimeLibrary="rtMultiThreadedDebugDLL"/>
-				<Tool Name="VFLinkerTool" OutputFile="$(OUTDIR)/fpi.exe" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" AdditionalLibraryDirectories="..\lib" GenerateDebugInformation="true" ProgramDatabaseFile="$(OUTDIR)/fpi.pdb" SubSystem="subSystemConsole" AdditionalDependencies="fmpich.lib"/>
-				<Tool Name="VFResourceCompilerTool"/>
-				<Tool Name="VFMidlTool" SuppressStartupBanner="true" HeaderFileName="$(InputName).h" TypeLibraryName="$(IntDir)/$(InputName).tlb"/>
-				<Tool Name="VFCustomBuildTool"/>
-				<Tool Name="VFPreLinkEventTool"/>
-				<Tool Name="VFPreBuildEventTool"/>
-				<Tool Name="VFPostBuildEventTool"/></Configuration>
-		<Configuration Name="Release|Win32" DeleteExtensionsOnClean="*.obj;*.mod;*.pdb;*.asm;*.map;*.dyn;*.dpi;*.tmp;*.log;*.ilk;*.exe;$(TargetPath)">
-				<Tool Name="VFFortranCompilerTool" SuppressStartupBanner="true" AdditionalIncludeDirectories="..\include" ModulePath="$(INTDIR)/" ObjectFile="$(INTDIR)/" RuntimeLibrary="rtMultiThreadedDLL"/>
-				<Tool Name="VFLinkerTool" OutputFile="$(OUTDIR)/fpi.exe" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" AdditionalLibraryDirectories="..\lib" SubSystem="subSystemConsole" AdditionalDependencies="fmpich.lib"/>
-				<Tool Name="VFResourceCompilerTool"/>
-				<Tool Name="VFMidlTool" SuppressStartupBanner="true" HeaderFileName="$(InputName).h" TypeLibraryName="$(IntDir)/$(InputName).tlb"/>
-				<Tool Name="VFCustomBuildTool"/>
-				<Tool Name="VFPreLinkEventTool"/>
-				<Tool Name="VFPreBuildEventTool"/>
-				<Tool Name="VFPostBuildEventTool"/></Configuration>
-		<Configuration Name="Debug|x64" DeleteExtensionsOnClean="*.obj;*.mod;*.pdb;*.asm;*.map;*.dyn;*.dpi;*.tmp;*.log;*.ilk;*.exe;$(TargetPath)">
-				<Tool Name="VFFortranCompilerTool" SuppressStartupBanner="true" DebugInformationFormat="debugEnabled" Optimization="optimizeDisabled" AdditionalIncludeDirectories="..\include" ModulePath="$(INTDIR)/" ObjectFile="$(INTDIR)/" Traceback="true" BoundsCheck="true" RuntimeLibrary="rtMultiThreadedDebugDLL"/>
-				<Tool Name="VFLinkerTool" OutputFile="$(OUTDIR)/fpi.exe" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" AdditionalLibraryDirectories="..\lib" GenerateDebugInformation="true" ProgramDatabaseFile="$(OUTDIR)/fpi.pdb" SubSystem="subSystemConsole" AdditionalDependencies="fmpich.lib"/>
-				<Tool Name="VFResourceCompilerTool"/>
-				<Tool Name="VFMidlTool" SuppressStartupBanner="true" TargetEnvironment="midlTargetAMD64" HeaderFileName="$(InputName).h" TypeLibraryName="$(IntDir)/$(InputName).tlb"/>
-				<Tool Name="VFCustomBuildTool"/>
-				<Tool Name="VFPreLinkEventTool"/>
-				<Tool Name="VFPreBuildEventTool"/>
-				<Tool Name="VFPostBuildEventTool"/></Configuration>
-		<Configuration Name="Release|x64" DeleteExtensionsOnClean="*.obj;*.mod;*.pdb;*.asm;*.map;*.dyn;*.dpi;*.tmp;*.log;*.ilk;*.exe;$(TargetPath)">
-				<Tool Name="VFFortranCompilerTool" SuppressStartupBanner="true" AdditionalIncludeDirectories="..\include" ModulePath="$(INTDIR)/" ObjectFile="$(INTDIR)/" RuntimeLibrary="rtMultiThreadedDLL"/>
-				<Tool Name="VFLinkerTool" OutputFile="$(OUTDIR)/fpi.exe" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" AdditionalLibraryDirectories="..\lib" SubSystem="subSystemConsole" AdditionalDependencies="fmpich.lib"/>
-				<Tool Name="VFResourceCompilerTool"/>
-				<Tool Name="VFMidlTool" SuppressStartupBanner="true" TargetEnvironment="midlTargetAMD64" HeaderFileName="$(InputName).h" TypeLibraryName="$(IntDir)/$(InputName).tlb"/>
-				<Tool Name="VFCustomBuildTool"/>
-				<Tool Name="VFPreLinkEventTool"/>
-				<Tool Name="VFPreBuildEventTool"/>
-				<Tool Name="VFPostBuildEventTool"/></Configuration></Configurations>
-	<Files>
-		<Filter Name="Header Files" Filter="fi;fd"/>
-		<Filter Name="Resource Files" Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"/>
-		<Filter Name="Source Files" Filter="f90;for;f;fpp;ftn;def;odl;idl">
-		<File RelativePath="fpi.f"/></Filter></Files>
-	<Globals/></VisualStudioProject>
diff --git a/examples/windows/pmandel_vis/BoundsDlg.cpp b/examples/windows/pmandel_vis/BoundsDlg.cpp
deleted file mode 100644
index 83d80d0..0000000
--- a/examples/windows/pmandel_vis/BoundsDlg.cpp
+++ /dev/null
@@ -1,48 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-// BoundsDlg.cpp : implementation file
-//
-
-#include "stdafx.h"
-#include "pman_vis.h"
-#include "BoundsDlg.h"
-
-
-// CBoundsDlg dialog
-
-IMPLEMENT_DYNAMIC(CBoundsDlg, CDialog)
-CBoundsDlg::CBoundsDlg(CWnd* pParent /*=NULL*/)
-	: CDialog(CBoundsDlg::IDD, pParent)
-	, m_xmin(-1.0)
-	, m_ymin(-1.0)
-	, m_xmax(1.0)
-	, m_ymax(1.0)
-	, m_max_iter(100)
-{
-}
-
-CBoundsDlg::~CBoundsDlg()
-{
-}
-
-void CBoundsDlg::DoDataExchange(CDataExchange* pDX)
-{
-    CDialog::DoDataExchange(pDX);
-    DDX_Text(pDX, IDC_XMIN_EDIT, m_xmin);
-    DDX_Text(pDX, IDC_YMIN_EDIT, m_ymin);
-    DDX_Text(pDX, IDC_XMAX_EDIT, m_xmax);
-    DDX_Text(pDX, IDC_YMAX_EDIT, m_ymax);
-    DDX_Text(pDX, IDC_MAX_ITER_EDIT, m_max_iter);
-	DDV_MinMaxInt(pDX, m_max_iter, 1, 5000);
-}
-
-
-BEGIN_MESSAGE_MAP(CBoundsDlg, CDialog)
-END_MESSAGE_MAP()
-
-
-// CBoundsDlg message handlers
diff --git a/examples/windows/pmandel_vis/BoundsDlg.h b/examples/windows/pmandel_vis/BoundsDlg.h
deleted file mode 100644
index 895ff31..0000000
--- a/examples/windows/pmandel_vis/BoundsDlg.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-#pragma once
-
-
-// CBoundsDlg dialog
-
-class CBoundsDlg : public CDialog
-{
-	DECLARE_DYNAMIC(CBoundsDlg)
-
-public:
-	CBoundsDlg(CWnd* pParent = NULL);   // standard constructor
-	virtual ~CBoundsDlg();
-
-// Dialog Data
-	enum { IDD = IDD_BOUNDS_DLG };
-
-protected:
-	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
-
-	DECLARE_MESSAGE_MAP()
-public:
-    double m_xmin;
-    double m_ymin;
-    double m_xmax;
-    double m_ymax;
-    int m_max_iter;
-};
diff --git a/examples/windows/pmandel_vis/ConnectDialog.cpp b/examples/windows/pmandel_vis/ConnectDialog.cpp
deleted file mode 100644
index 7c38c59..0000000
--- a/examples/windows/pmandel_vis/ConnectDialog.cpp
+++ /dev/null
@@ -1,82 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-// ConnectDialog.cpp : implementation file
-//
-
-#include "stdafx.h"
-#include "pman_vis.h"
-#include "ConnectDialog.h"
-#include ".\connectdialog.h"
-
-
-// CConnectDialog dialog
-
-IMPLEMENT_DYNAMIC(CConnectDialog, CDialog)
-CConnectDialog::CConnectDialog(CWnd* pParent /*=NULL*/)
-	: CDialog(CConnectDialog::IDD, pParent)
-	, m_nPort(0)
-	, m_pszHost(_T(""))
-	, m_pszMPIPort(_T(""))
-{
-    m_type = MPI_CONNECT;
-}
-
-CConnectDialog::~CConnectDialog()
-{
-}
-
-void CConnectDialog::DoDataExchange(CDataExchange* pDX)
-{
-    CDialog::DoDataExchange(pDX);
-    DDX_Text(pDX, IDC_PORT, m_nPort);
-    DDX_Text(pDX, IDC_HOSTNAME, m_pszHost);
-    DDX_Text(pDX, IDC_MPIPORT, m_pszMPIPort);
-    DDX_Control(pDX, IDC_MPI_RADIO, m_MPI_Radio);
-    DDX_Control(pDX, IDC_TCP_RADIO, m_TCP_Radio);
-    DDX_Control(pDX, IDC_MPIPORT, m_mpi_port_edit);
-    DDX_Control(pDX, IDC_HOSTNAME, m_host_edit);
-    DDX_Control(pDX, IDC_PORT, m_port_edit);
-}
-
-
-BEGIN_MESSAGE_MAP(CConnectDialog, CDialog)
-    ON_BN_CLICKED(IDC_MPI_RADIO, OnBnClickedMpiRadio)
-    ON_BN_CLICKED(IDC_TCP_RADIO, OnBnClickedTcpRadio)
-END_MESSAGE_MAP()
-
-
-// CConnectDialog message handlers
-
-void CConnectDialog::OnBnClickedMpiRadio()
-{
-    m_MPI_Radio.SetCheck(1);
-    m_TCP_Radio.SetCheck(0);
-    m_type = MPI_CONNECT;
-    m_mpi_port_edit.EnableWindow();
-    m_host_edit.EnableWindow(FALSE);
-    m_port_edit.EnableWindow(FALSE);
-}
-
-void CConnectDialog::OnBnClickedTcpRadio()
-{
-    m_MPI_Radio.SetCheck(0);
-    m_TCP_Radio.SetCheck(1);
-    m_type = TCP_CONNECT;
-    m_mpi_port_edit.EnableWindow(FALSE);
-    m_host_edit.EnableWindow();
-    m_port_edit.EnableWindow();
-}
-
-BOOL CConnectDialog::OnInitDialog()
-{
-    CDialog::OnInitDialog();
-
-    OnBnClickedMpiRadio();
-
-    return TRUE;  // return TRUE unless you set the focus to a control
-    // EXCEPTION: OCX Property Pages should return FALSE
-}
diff --git a/examples/windows/pmandel_vis/ConnectDialog.h b/examples/windows/pmandel_vis/ConnectDialog.h
deleted file mode 100644
index 408ea24..0000000
--- a/examples/windows/pmandel_vis/ConnectDialog.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-#pragma once
-#include "afxwin.h"
-
-
-// CConnectDialog dialog
-
-class CConnectDialog : public CDialog
-{
-	DECLARE_DYNAMIC(CConnectDialog)
-
-public:
-	CConnectDialog(CWnd* pParent = NULL);   // standard constructor
-	virtual ~CConnectDialog();
-
-// Dialog Data
-	enum { IDD = IDD_CONNECT_DIALOG };
-	enum CONNECT_TYPE { MPI_CONNECT, TCP_CONNECT };
-protected:
-	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
-
-	DECLARE_MESSAGE_MAP()
-public:
-    int m_nPort;
-    CString m_pszHost;
-    CString m_pszMPIPort;
-    afx_msg void OnBnClickedMpiRadio();
-    afx_msg void OnBnClickedTcpRadio();
-    CButton m_MPI_Radio;
-    CButton m_TCP_Radio;
-    CONNECT_TYPE m_type;
-    CEdit m_mpi_port_edit;
-    CEdit m_host_edit;
-    CEdit m_port_edit;
-    virtual BOOL OnInitDialog();
-};
diff --git a/examples/windows/pmandel_vis/DemoPointsDlg.cpp b/examples/windows/pmandel_vis/DemoPointsDlg.cpp
deleted file mode 100644
index 24a6b8d..0000000
--- a/examples/windows/pmandel_vis/DemoPointsDlg.cpp
+++ /dev/null
@@ -1,173 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-// DemoPointsDlg.cpp : implementation file
-//
-
-#include "stdafx.h"
-#include "pman_vis.h"
-#include "DemoPointsDlg.h"
-#include ".\demopointsdlg.h"
-#include "BoundsDlg.h"
-
-// CDemoPointsDlg dialog
-
-IMPLEMENT_DYNAMIC(CDemoPointsDlg, CDialog)
-CDemoPointsDlg::CDemoPointsDlg(CWnd* pParent /*=NULL*/)
-	: CDialog(CDemoPointsDlg::IDD, pParent)
-	, m_cur_selected(_T(""))
-{
-    m_node_list = NULL;
-}
-
-CDemoPointsDlg::~CDemoPointsDlg()
-{
-}
-
-void CDemoPointsDlg::DoDataExchange(CDataExchange* pDX)
-{
-    CDialog::DoDataExchange(pDX);
-    DDX_LBString(pDX, IDC_POINTS_LIST, m_cur_selected);
-    DDX_Control(pDX, IDC_POINTS_LIST, m_list);
-}
-
-
-BEGIN_MESSAGE_MAP(CDemoPointsDlg, CDialog)
-    ON_LBN_DBLCLK(IDC_POINTS_LIST, OnLbnDblclkPointsList)
-    ON_BN_CLICKED(IDC_ADD_BTN, OnBnClickedAddBtn)
-    ON_BN_CLICKED(IDC_LOAD_BTN, OnBnClickedLoadBtn)
-END_MESSAGE_MAP()
-
-
-// CDemoPointsDlg message handlers
-
-void CDemoPointsDlg::OnLbnDblclkPointsList()
-{
-    int index;
-    UpdateData();
-    MessageBox(m_cur_selected, "current", MB_OK);
-    index = m_list.GetCurSel();
-}
-
-void CDemoPointsDlg::OnBnClickedAddBtn()
-{
-    CBoundsDlg dlg;
-    CExampleNode *node;
-    if (dlg.DoModal() == IDOK)
-    {
-	CString str;
-	str.Format("%f %f %f %f %d", dlg.m_xmin, dlg.m_ymin, dlg.m_xmax, dlg.m_ymax, dlg.m_max_iter);
-	m_list.AddString(str);
-	node = new CExampleNode();
-	node->xmin = dlg.m_xmin;
-	node->xmax = dlg.m_xmax;
-	node->ymin = dlg.m_ymin;
-	node->ymax = dlg.m_ymax;
-	node->max_iter = dlg.m_max_iter;
-	node->next = m_node_list;
-	m_node_list = node;
-    }
-}
-
-void CDemoPointsDlg::OnBnClickedLoadBtn()
-{
-    CFileDialog f(TRUE);
-    if (f.DoModal() == IDOK)
-    {
-	CStdioFile fin;
-	if (fin.Open(f.GetFileName(), CFile::modeRead))
-	{
-	    CString str;
-	    CString token, val;
-	    char buffer[1024];
-	    int index = 0;
-	    double xmin=0, ymin=0, xmax=0, ymax=0;
-	    double xcenter=0, ycenter=0, radius=0;
-	    int max_iter=0;
-	    CExampleNode *node, *list = NULL;
-	    while (fin.ReadString(str))
-	    {
-		str.Trim();
-		if (str.GetLength() == 0)
-		    continue;
-		if (str[0] == '#')
-		    continue;
-		strcpy(buffer, str);
-		xmin=0, ymin=0, xmax=0, ymax=0;
-		xcenter=0, ycenter=0, radius=0;
-		max_iter=100;
-		token = strtok(buffer, " \t\r\n");
-		while (token != "")
-		{
-		    val = strtok(NULL, " \t\r\n");
-		    if (token == "-rmin")
-			xmin = atof(val);
-		    if (token == "-rmax")
-			xmax = atof(val);
-		    if (token == "-imin")
-			ymin = atof(val);
-		    if (token == "-imax")
-			ymax = atof(val);
-		    if (token == "-maxiter")
-			max_iter = atoi(val);
-		    if (token == "-rcenter")
-			xcenter = atof(val);
-		    if (token == "-icenter")
-			ycenter = atof(val);
-		    if (token == "-radius")
-			radius = atof(val);
-		    token = strtok(NULL, " \t\r\n");
-		}
-		if (xmin != xmax && ymin != ymax)
-		{
-		    node = new CExampleNode();
-		    node->xmin = xmin;
-		    node->xmax = xmax;
-		    node->ymin = ymin;
-		    node->ymax = ymax;
-		    node->max_iter = max_iter;
-		    node->next = list;
-		    list = node;
-		}
-		if (radius != 0)
-		{
-		    node = new CExampleNode();
-		    node->xmin = xcenter - radius;
-		    node->xmax = xcenter + radius;
-		    node->ymin = ycenter - radius;
-		    node->ymax = ycenter + radius;
-		    node->max_iter = max_iter;
-		    node->next = list;
-		    list = node;
-		}
-	    }
-	    fin.Close();
-	    if (list)
-	    {
-		node = list;
-		while (node)
-		{
-		    CString str;
-		    if (node->max_iter == 0)
-			str.Format("%f %f %f %f", node->xmin, node->ymin, node->xmax, node->ymax);
-		    else
-			str.Format("%f %f %f %f %d", node->xmin, node->ymin, node->xmax, node->ymax, node->max_iter);
-		    m_list.AddString(str);
-		    if (node->next == NULL)
-		    {
-			node->next = m_node_list;
-			m_node_list = list;
-			node = NULL;
-		    }
-		    else
-		    {
-			node = node->next;
-		    }
-		}
-	    }
-	}
-    }
-}
diff --git a/examples/windows/pmandel_vis/DemoPointsDlg.h b/examples/windows/pmandel_vis/DemoPointsDlg.h
deleted file mode 100644
index 06c11d1..0000000
--- a/examples/windows/pmandel_vis/DemoPointsDlg.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-#pragma once
-#include "afxwin.h"
-
-#include "ExampleNode.h"
-
-// CDemoPointsDlg dialog
-
-class CDemoPointsDlg : public CDialog
-{
-	DECLARE_DYNAMIC(CDemoPointsDlg)
-
-public:
-	CDemoPointsDlg(CWnd* pParent = NULL);   // standard constructor
-	virtual ~CDemoPointsDlg();
-
-	CExampleNode *m_node_list;
-
-// Dialog Data
-	enum { IDD = IDD_DEMO_POINTS_DLG };
-
-protected:
-	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
-
-	DECLARE_MESSAGE_MAP()
-public:
-    afx_msg void OnLbnDblclkPointsList();
-    CString m_cur_selected;
-    afx_msg void OnBnClickedAddBtn();
-    CListBox m_list;
-    afx_msg void OnBnClickedLoadBtn();
-};
diff --git a/examples/windows/pmandel_vis/ExampleNode.cpp b/examples/windows/pmandel_vis/ExampleNode.cpp
deleted file mode 100644
index 5471a28..0000000
--- a/examples/windows/pmandel_vis/ExampleNode.cpp
+++ /dev/null
@@ -1,15 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-#include ".\examplenode.h"
-
-CExampleNode::CExampleNode(void)
-{
-}
-
-CExampleNode::~CExampleNode(void)
-{
-}
diff --git a/examples/windows/pmandel_vis/ExampleNode.h b/examples/windows/pmandel_vis/ExampleNode.h
deleted file mode 100644
index 92bfac8..0000000
--- a/examples/windows/pmandel_vis/ExampleNode.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-#pragma once
-
-class CExampleNode
-{
-public:
-    CExampleNode(void);
-    ~CExampleNode(void);
-
-    double xmin, ymin, xmax, ymax;
-    int max_iter;
-    CExampleNode *next;
-};
diff --git a/examples/windows/pmandel_vis/MainFrm.cpp b/examples/windows/pmandel_vis/MainFrm.cpp
deleted file mode 100644
index b507180..0000000
--- a/examples/windows/pmandel_vis/MainFrm.cpp
+++ /dev/null
@@ -1,115 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-// MainFrm.cpp : implementation of the CMainFrame class
-//
-
-#include "stdafx.h"
-#include "pman_vis.h"
-
-#include "MainFrm.h"
-
-#ifdef _DEBUG
-#define new DEBUG_NEW
-#endif
-
-
-// CMainFrame
-
-IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)
-
-BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
-	ON_WM_CREATE()
-END_MESSAGE_MAP()
-
-static UINT indicators[] =
-{
-	ID_SEPARATOR,           // status line indicator
-	ID_INDICATOR_CAPS,
-	ID_INDICATOR_NUM,
-	ID_INDICATOR_SCRL,
-};
-
-
-// CMainFrame construction/destruction
-
-CMainFrame::CMainFrame()
-{
-	// TODO: add member initialization code here
-}
-
-CMainFrame::~CMainFrame()
-{
-}
-
-
-int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
-{
-    RECT rWindow, rClient;
-    int dx, dy;
-    
-    if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
-	return -1;
-    /*
-    if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
-    | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
-    !m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
-    {
-    TRACE0("Failed to create toolbar\n");
-    return -1;      // fail to create
-    }
-
-    if (!m_wndStatusBar.Create(this) ||
-    !m_wndStatusBar.SetIndicators(indicators,
-    sizeof(indicators)/sizeof(UINT)))
-    {
-    TRACE0("Failed to create status bar\n");
-    return -1;      // fail to create
-    }
-    // TODO: Delete these three lines if you don't want the toolbar to be dockable
-    m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
-    EnableDocking(CBRS_ALIGN_ANY);
-    DockControlBar(&m_wndToolBar);
-    */
-    GetWindowRect(&rWindow);
-    GetClientRect(&rClient);
-    dy = 768 - (rClient.bottom - rClient.top);
-    dx = 768 - (rClient.right - rClient.left);
-    if (dx || dy)
-    {
-	rWindow.right += dx;
-	rWindow.bottom += dy;
-	MoveWindow(&rWindow);
-    }
-    return 0;
-}
-
-BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
-{
-    if( !CFrameWnd::PreCreateWindow(cs) )
-	return FALSE;
-    return TRUE;
-}
-
-
-// CMainFrame diagnostics
-
-#ifdef _DEBUG
-void CMainFrame::AssertValid() const
-{
-    CFrameWnd::AssertValid();
-}
-
-void CMainFrame::Dump(CDumpContext& dc) const
-{
-    CFrameWnd::Dump(dc);
-}
-
-#endif //_DEBUG
-
-
-// CMainFrame message handlers
-
diff --git a/examples/windows/pmandel_vis/MainFrm.h b/examples/windows/pmandel_vis/MainFrm.h
deleted file mode 100644
index e59d1df..0000000
--- a/examples/windows/pmandel_vis/MainFrm.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-// MainFrm.h : interface of the CMainFrame class
-//
-
-
-#pragma once
-class CMainFrame : public CFrameWnd
-{
-	
-protected: // create from serialization only
-	CMainFrame();
-	DECLARE_DYNCREATE(CMainFrame)
-
-// Attributes
-public:
-
-// Operations
-public:
-
-// Overrides
-public:
-	virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
-
-// Implementation
-public:
-	virtual ~CMainFrame();
-#ifdef _DEBUG
-	virtual void AssertValid() const;
-	virtual void Dump(CDumpContext& dc) const;
-#endif
-
-protected:  // control bar embedded members
-	CStatusBar  m_wndStatusBar;
-	CToolBar    m_wndToolBar;
-
-// Generated message map functions
-protected:
-	afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
-	DECLARE_MESSAGE_MAP()
-};
-
-
diff --git a/examples/windows/pmandel_vis/mpi.cpp b/examples/windows/pmandel_vis/mpi.cpp
deleted file mode 100644
index b04e78e..0000000
--- a/examples/windows/pmandel_vis/mpi.cpp
+++ /dev/null
@@ -1,293 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-#include "mpi.h"
-#include <windows.h>
-#include <math.h>
-#include <stdio.h>
-
-#define RGBtocolor_t(r,g,b) ((color_t)(((unsigned char)(r)|((unsigned short)((unsigned char)(g))<<8))|(((unsigned long)(unsigned char)(b))<<16)))
-#define getR(r) ((int)((r) & 0xFF))
-#define getG(g) ((int)((g>>8) & 0xFF))
-#define getB(b) ((int)((b>>16) & 0xFF))
-
-typedef int color_t;
-
-int mpi_send_xyminmax(double xmin, double ymin, double xmax, double ymax);
-
-extern HWND g_hWnd;
-extern HDC g_hDC;
-extern int g_width, g_height;
-extern HANDLE g_hMutex;
-static int g_num_colors;
-static int g_max_iter;
-static color_t *colors;
-
-MPI_Comm comm = MPI_COMM_NULL;
-
-static color_t getColor(double fraction, double intensity)
-{
-    /* fraction is a part of the rainbow (0.0 - 1.0) = (Red-Yellow-Green-Cyan-Blue-Magenta-Red)
-    intensity (0.0 - 1.0) 0 = black, 1 = full color, 2 = white
-    */
-    double red, green, blue;
-    int r,g,b;
-    double dtemp;
-
-    fraction = fabs(modf(fraction, &dtemp));
-
-    if (intensity > 2.0)
-	intensity = 2.0;
-    if (intensity < 0.0)
-	intensity = 0.0;
-
-    dtemp = 1.0/6.0;
-
-    if (fraction < 1.0/6.0)
-    {
-	red = 1.0;
-	green = fraction / dtemp;
-	blue = 0.0;
-    }
-    else
-    {
-	if (fraction < 1.0/3.0)
-	{
-	    red = 1.0 - ((fraction - dtemp) / dtemp);
-	    green = 1.0;
-	    blue = 0.0;
-	}
-	else
-	{
-	    if (fraction < 0.5)
-	    {
-		red = 0.0;
-		green = 1.0;
-		blue = (fraction - (dtemp*2.0)) / dtemp;
-	    }
-	    else
-	    {
-		if (fraction < 2.0/3.0)
-		{
-		    red = 0.0;
-		    green = 1.0 - ((fraction - (dtemp*3.0)) / dtemp);
-		    blue = 1.0;
-		}
-		else
-		{
-		    if (fraction < 5.0/6.0)
-		    {
-			red = (fraction - (dtemp*4.0)) / dtemp;
-			green = 0.0;
-			blue = 1.0;
-		    }
-		    else
-		    {
-			red = 1.0;
-			green = 0.0;
-			blue = 1.0 - ((fraction - (dtemp*5.0)) / dtemp);
-		    }
-		}
-	    }
-	}
-    }
-
-    if (intensity > 1)
-    {
-	intensity = intensity - 1.0;
-	red = red + ((1.0 - red) * intensity);
-	green = green + ((1.0 - green) * intensity);
-	blue = blue + ((1.0 - blue) * intensity);
-    }
-    else
-    {
-	red = red * intensity;
-	green = green * intensity;
-	blue = blue * intensity;
-    }
-
-    r = (int)(red * 255.0);
-    g = (int)(green * 255.0);
-    b = (int)(blue * 255.0);
-
-    return RGBtocolor_t(r,g,b);
-}
-
-static int Make_color_array(int num_colors, int max, color_t colors[])
-{
-    double fraction, intensity;
-    int i;
-
-    intensity = 1.0;
-    for (i=0; i<max; i++)
-    {
-	fraction = (double)(i % num_colors) / (double)num_colors;
-	colors[i] = getColor(fraction, intensity);
-    }
-    return 0;
-}
-
-static void getRGB(color_t color, int *r, int *g, int *b)
-{
-    *r = getR(color);
-    *g = getG(color);
-    *b = getB(color);
-}
-
-int mpi_connect_to_pmandel(const char *port, int &width, int &height)
-{
-    int result;
-    MPI_Status status;
-    MPI_Info info;
-    /*char err[100];*/
-
-    MPI_Info_create(&info);
-    result = MPI_Comm_connect((char*)port, info, 0, MPI_COMM_WORLD, &comm);
-    if (result != MPI_SUCCESS)
-    {
-	MessageBox(NULL, "MPI_Comm_connect failed", "Error", MB_OK);
-	return -1;
-    }
-
-    MPI_Recv(&width, 1, MPI_INT, 0, 0, comm, &status);
-    MPI_Recv(&height, 1, MPI_INT, 0, 0, comm, &status);
-    MPI_Recv(&g_num_colors, 1, MPI_INT, 0, 0, comm, &status);
-    MPI_Recv(&g_max_iter, 1, MPI_INT, 0, 0, comm, &status);
-    g_width = width;
-    g_height = height;
-    colors = new color_t[g_max_iter+1];
-    Make_color_array(g_num_colors, g_max_iter, colors);
-    colors[g_max_iter] = 0; /* add one on the top to avoid edge errors */
-    /*
-    sprintf(err, "num_colors = %d", g_num_colors);
-    MessageBox(NULL, err, "Note", MB_OK);
-    */
-    return 0;
-}
-
-int mpi_send_xyminmax(double xmin, double ymin, double xmax, double ymax, int max_iter)
-{
-    int result;
-    char err[100];
-    RECT r;
-
-    if (xmin != xmax && ymin != ymax && g_hDC)
-    {
-	r.left = 0;
-	r.right = g_width;
-	r.top = 0;
-	r.bottom = g_height;
-	FillRect(g_hDC, &r, (HBRUSH)GetStockObject(BLACK_BRUSH));
-    }
-
-    result = MPI_Send(&xmin, 1, MPI_DOUBLE, 0, 0, comm);
-    if (result != MPI_SUCCESS)
-    {
-	sprintf(err, "send failed: error %d", result);
-	MessageBox(NULL, err, "Error", MB_OK);
-	return -1;
-    }
-    result = MPI_Send(&ymin, 1, MPI_DOUBLE, 0, 0, comm);
-    if (result != MPI_SUCCESS)
-    {
-	sprintf(err, "send failed: error %d", result);
-	MessageBox(NULL, err, "Error", MB_OK);
-	return -1;
-    }
-    result = MPI_Send(&xmax, 1, MPI_DOUBLE, 0, 0, comm);
-    if (result != MPI_SUCCESS)
-    {
-	sprintf(err, "send failed: error %d", result);
-	MessageBox(NULL, err, "Error", MB_OK);
-	return -1;
-    }
-    result = MPI_Send(&ymax, 1, MPI_DOUBLE, 0, 0, comm);
-    if (result != MPI_SUCCESS)
-    {
-	sprintf(err, "send failed: error %d", result);
-	MessageBox(NULL, err, "Error", MB_OK);
-	return -1;
-    }
-    result = MPI_Send(&max_iter, 1, MPI_INT, 0, 0, comm);
-    if (result != MPI_SUCCESS)
-    {
-	sprintf(err, "send failed: error %d", result);
-	MessageBox(NULL, err, "Error", MB_OK);
-	return -1;
-    }
-    if (max_iter != g_max_iter)
-    {
-	if (colors)
-	    delete [] colors;
-	g_max_iter = max_iter;
-	colors = new color_t[g_max_iter+1];
-	Make_color_array(g_num_colors, g_max_iter, colors);
-	colors[g_max_iter] = 0; /* add one on the top to avoid edge errors */
-    }
-    return 0;
-}
-
-int mpi_get_pmandel_data()
-{
-    int temp[4];
-    int *buffer;
-    int size;
-    int result;
-    int i, j, k;
-    RECT r;
-    MPI_Status status;
-
-    for (;;)
-    {
-	result = MPI_Recv(&temp, 4, MPI_INT, 0, 0, comm, &status);
-	if (result != MPI_SUCCESS)
-	    return 0;
-	if (temp[0] == 0 && temp[1] == 0 && temp[2] == 0 && temp[3] == 0)
-	    return 0;
-	size = (temp[1] + 1 - temp[0]) * (temp[3] + 1 - temp[2]);
-	buffer = new int[size];
-	result = MPI_Recv(buffer, size, MPI_INT, 0, 0, comm, &status);
-	if (result != MPI_SUCCESS)
-	{
-	    delete buffer;
-	    return 0;
-	}
-	WaitForSingleObject(g_hMutex, INFINITE);
-	k = 0;
-	for (j=temp[2]; j<=temp[3]; j++)
-	{
-	    for (i=temp[0]; i<=temp[1]; i++)
-	    {
-		//SetPixel(g_hDC, i, j, colors[buffer[k]]);
-		SetPixelV(g_hDC, i, j, colors[buffer[k]]);
-		k++;
-	    }
-	}
-	ReleaseMutex(g_hMutex);
-	r.left = 0;
-	r.right = g_width;
-	r.top = 0;
-	r.bottom = g_height;
-	InvalidateRect(g_hWnd, &r, FALSE);
-	delete buffer;
-    }
-    return 1;
-}
-
-void mpi_init()
-{
-    MPI_Init(NULL, NULL);
-}
-
-void mpi_disconnect()
-{
-    MPI_Comm_disconnect(&comm);
-}
-
-void mpi_finalize()
-{
-    MPI_Finalize();
-}
diff --git a/examples/windows/pmandel_vis/pman_vis.cpp b/examples/windows/pmandel_vis/pman_vis.cpp
deleted file mode 100644
index d878c9a..0000000
--- a/examples/windows/pmandel_vis/pman_vis.cpp
+++ /dev/null
@@ -1,150 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-// pman_vis.cpp : Defines the class behaviors for the application.
-//
-
-#include "mpi.h"
-#include "stdafx.h"
-#include "pman_vis.h"
-#include "MainFrm.h"
-
-#include "pman_visDoc.h"
-#include "pman_visView.h"
-#include ".\pman_vis.h"
-
-#ifdef _DEBUG
-#define new DEBUG_NEW
-#endif
-
-
-// Cpman_visApp
-
-BEGIN_MESSAGE_MAP(Cpman_visApp, CWinApp)
-	ON_COMMAND(ID_APP_ABOUT, OnAppAbout)
-	// Standard file based document commands
-	ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew)
-	ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)
-	// Standard print setup command
-	ON_COMMAND(ID_FILE_PRINT_SETUP, CWinApp::OnFilePrintSetup)
-END_MESSAGE_MAP()
-
-
-// Cpman_visApp construction
-
-Cpman_visApp::Cpman_visApp()
-{
-	// TODO: add construction code here,
-	// Place all significant initialization in InitInstance
-}
-
-
-// The one and only Cpman_visApp object
-
-Cpman_visApp theApp;
-
-// Cpman_visApp initialization
-
-BOOL Cpman_visApp::InitInstance()
-{
-	// InitCommonControls() is required on Windows XP if an application
-	// manifest specifies use of ComCtl32.dll version 6 or later to enable
-	// visual styles.  Otherwise, any window creation will fail.
-	InitCommonControls();
-
-	CWinApp::InitInstance();
-
-	// Initialize OLE libraries
-	if (!AfxOleInit())
-	{
-		AfxMessageBox(IDP_OLE_INIT_FAILED);
-		return FALSE;
-	}
-	AfxEnableControlContainer();
-	// Standard initialization
-	// If you are not using these features and wish to reduce the size
-	// of your final executable, you should remove from the following
-	// the specific initialization routines you do not need
-	// Change the registry key under which our settings are stored
-	// TODO: You should modify this string to be something appropriate
-	// such as the name of your company or organization
-	SetRegistryKey(_T("Local AppWizard-Generated Applications"));
-	LoadStdProfileSettings(4);  // Load standard INI file options (including MRU)
-	// Register the application's document templates.  Document templates
-	//  serve as the connection between documents, frame windows and views
-	CSingleDocTemplate* pDocTemplate;
-	pDocTemplate = new CSingleDocTemplate(
-		IDR_MAINFRAME,
-		RUNTIME_CLASS(Cpman_visDoc),
-		RUNTIME_CLASS(CMainFrame),       // main SDI frame window
-		RUNTIME_CLASS(Cpman_visView));
-	if (!pDocTemplate)
-		return FALSE;
-	AddDocTemplate(pDocTemplate);
-	// Parse command line for standard shell commands, DDE, file open
-	CCommandLineInfo cmdInfo;
-	ParseCommandLine(cmdInfo);
-	// Dispatch commands specified on the command line.  Will return FALSE if
-	// app was launched with /RegServer, /Register, /Unregserver or /Unregister.
-	if (!ProcessShellCommand(cmdInfo))
-		return FALSE;
-	// The one and only window has been initialized, so show and update it
-	m_pMainWnd->ShowWindow(SW_SHOW);
-	m_pMainWnd->UpdateWindow();
-	// call DragAcceptFiles only if there's a suffix
-	//  In an SDI app, this should occur after ProcessShellCommand
-	//MPI_Init(NULL, NULL);
-	return TRUE;
-}
-
-//BOOL Cpman_visApp::InitApplication()
-//{
-//    return CWinApp::InitApplication();
-//}
-
-int Cpman_visApp::ExitInstance()
-{
-    //MPI_Finalize();
-    return CWinApp::ExitInstance();
-}
-
-
-// CAboutDlg dialog used for App About
-
-class CAboutDlg : public CDialog
-{
-public:
-	CAboutDlg();
-
-// Dialog Data
-	enum { IDD = IDD_ABOUTBOX };
-
-protected:
-	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
-
-// Implementation
-protected:
-	DECLARE_MESSAGE_MAP()
-};
-
-CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
-{
-}
-
-void CAboutDlg::DoDataExchange(CDataExchange* pDX)
-{
-	CDialog::DoDataExchange(pDX);
-}
-
-BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
-END_MESSAGE_MAP()
-
-// App command to run the dialog
-void Cpman_visApp::OnAppAbout()
-{
-	CAboutDlg aboutDlg;
-	aboutDlg.DoModal();
-}
diff --git a/examples/windows/pmandel_vis/pman_vis.h b/examples/windows/pmandel_vis/pman_vis.h
deleted file mode 100644
index 4957d34..0000000
--- a/examples/windows/pmandel_vis/pman_vis.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-// pman_vis.h : main header file for the pman_vis application
-//
-#pragma once
-
-#ifndef __AFXWIN_H__
-	#error include 'stdafx.h' before including this file for PCH
-#endif
-
-#include "resource.h"       // main symbols
-
-
-// Cpman_visApp:
-// See pman_vis.cpp for the implementation of this class
-//
-
-class Cpman_visApp : public CWinApp
-{
-public:
-	Cpman_visApp();
-
-
-// Overrides
-public:
-	virtual BOOL InitInstance();
-
-// Implementation
-	afx_msg void OnAppAbout();
-	DECLARE_MESSAGE_MAP()
-//	virtual BOOL InitApplication();
-	virtual int ExitInstance();
-};
-
-extern Cpman_visApp theApp;
\ No newline at end of file
diff --git a/examples/windows/pmandel_vis/pman_vis.rc b/examples/windows/pmandel_vis/pman_vis.rc
deleted file mode 100644
index 62ce736..0000000
--- a/examples/windows/pmandel_vis/pman_vis.rc
+++ /dev/null
@@ -1,472 +0,0 @@
-// Microsoft Visual C++ generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE 
-BEGIN
-    "resource.h\0"
-END
-
-2 TEXTINCLUDE 
-BEGIN
-    "#include ""afxres.h""\r\n"
-    "\0"
-END
-
-3 TEXTINCLUDE 
-BEGIN
-    "#define _AFX_NO_SPLITTER_RESOURCES\r\n"
-    "#define _AFX_NO_OLE_RESOURCES\r\n"
-    "#define _AFX_NO_TRACKER_RESOURCES\r\n"
-    "#define _AFX_NO_PROPERTY_RESOURCES\r\n"
-    "\r\n"
-    "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r\n"
-    "LANGUAGE 9, 1\r\n"
-    "#pragma code_page(1252)\r\n"
-    "#include ""res\\pman_vis.rc2""  // non-Microsoft Visual C++ edited resources\r\n"
-    "#include ""afxres.rc""         // Standard components\r\n"
-    "#include ""afxprint.rc""       // printing/print preview resources\r\n"
-    "#endif\r\n"
-    "\0"
-END
-
-#endif    // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Icon
-//
-
-// Icon with lowest ID value placed first to ensure application icon
-// remains consistent on all systems.
-IDR_MAINFRAME           ICON                    "res\\pman_vis.ico"
-IDR_pman_visTYPE        ICON                    "res\\pman_visDoc.ico"
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Bitmap
-//
-
-IDR_MAINFRAME           BITMAP                  "res\\Toolbar.bmp"
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Toolbar
-//
-
-IDR_MAINFRAME TOOLBAR  16, 15
-BEGIN
-    BUTTON      ID_FILE_NEW
-    BUTTON      ID_FILE_OPEN
-    BUTTON      ID_FILE_SAVE
-    SEPARATOR
-    BUTTON      ID_EDIT_CUT
-    BUTTON      ID_EDIT_COPY
-    BUTTON      ID_EDIT_PASTE
-    SEPARATOR
-    BUTTON      ID_FILE_PRINT
-    BUTTON      ID_APP_ABOUT
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Menu
-//
-
-IDR_MAINFRAME MENU 
-BEGIN
-    POPUP "&File"
-    BEGIN
-        MENUITEM "&Connect",                    ID_FILE_CONNECT
-        MENUITEM "&Enter point",                ID_FILE_ENTERPOINT
-        MENUITEM "Enter &demo points",          ID_FILE_ENTERDEMOPOINTS
-        MENUITEM "&Stop demo",                  ID_FILE_STOPDEMO
-        MENUITEM SEPARATOR
-        MENUITEM "E&xit",                       ID_APP_EXIT
-    END
-    POPUP "&Help"
-    BEGIN
-        MENUITEM "&About pman_vis...",          ID_APP_ABOUT
-    END
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Accelerator
-//
-
-IDR_MAINFRAME ACCELERATORS 
-BEGIN
-    "N",            ID_FILE_NEW,            VIRTKEY, CONTROL
-    "O",            ID_FILE_OPEN,           VIRTKEY, CONTROL
-    "S",            ID_FILE_SAVE,           VIRTKEY, CONTROL
-    "P",            ID_FILE_PRINT,          VIRTKEY, CONTROL
-    "Z",            ID_EDIT_UNDO,           VIRTKEY, CONTROL
-    "X",            ID_EDIT_CUT,            VIRTKEY, CONTROL
-    "C",            ID_EDIT_COPY,           VIRTKEY, CONTROL
-    "V",            ID_EDIT_PASTE,          VIRTKEY, CONTROL
-    VK_BACK,        ID_EDIT_UNDO,           VIRTKEY, ALT
-    VK_DELETE,      ID_EDIT_CUT,            VIRTKEY, SHIFT
-    VK_INSERT,      ID_EDIT_COPY,           VIRTKEY, CONTROL
-    VK_INSERT,      ID_EDIT_PASTE,          VIRTKEY, SHIFT
-    VK_F6,          ID_NEXT_PANE,           VIRTKEY 
-    VK_F6,          ID_PREV_PANE,           VIRTKEY, SHIFT
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_ABOUTBOX DIALOGEX 0, 0, 235, 105
-STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | 
-    WS_SYSMENU
-CAPTION "About pman_vis"
-FONT 8, "MS Shell Dlg", 0, 0, 0x1
-BEGIN
-    ICON            IDR_MAINFRAME,IDC_STATIC,11,17,21,20
-    LTEXT           "pman_vis Version 1.0",IDC_STATIC,40,10,119,8,
-                    SS_NOPREFIX
-    LTEXT           "Copyright (C) 2003",IDC_STATIC,40,25,119,8
-    DEFPUSHBUTTON   "OK",IDOK,178,7,50,16,WS_GROUP
-    LTEXT           "Usage:",IDC_STATIC,41,38,29,8
-    LTEXT           "1) connect to a pmandel mpich program.",IDC_STATIC,51,
-                    47,134,8
-    LTEXT           "2) click and drag left mouse to zoom in.",IDC_STATIC,51,
-                    55,123,8
-    LTEXT           "3) right click to zoom to full.",IDC_STATIC,51,64,90,8
-    LTEXT           "4) exit to stop pman_vis and the pmandel mpi program",
-                    IDC_STATIC,51,73,177,8
-END
-
-IDD_CONNECT_DIALOG DIALOGEX 0, 0, 227, 119
-STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | 
-    WS_SYSMENU
-CAPTION "Connect to pmandel provider"
-FONT 8, "MS Shell Dlg", 400, 0, 0x1
-BEGIN
-    EDITTEXT        IDC_MPIPORT,67,36,87,14,ES_AUTOHSCROLL
-    CONTROL         "TCP Socket connect",IDC_TCP_RADIO,"Button",
-                    BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,16,57,79,10
-    LTEXT           "Host:",IDC_STATIC,41,74,18,8
-    EDITTEXT        IDC_HOSTNAME,68,72,87,14,ES_AUTOHSCROLL
-    LTEXT           "Port:",IDC_STATIC,41,93,17,8
-    EDITTEXT        IDC_PORT,68,90,40,14,ES_AUTOHSCROLL
-    DEFPUSHBUTTON   "OK",IDOK,170,7,50,14
-    PUSHBUTTON      "Cancel",IDCANCEL,170,24,50,14
-    GROUPBOX        "Connection method",IDC_CONNECT_GROUP,7,7,158,105,
-                    WS_GROUP | WS_TABSTOP
-    CONTROL         "MPI_Connect",IDC_MPI_RADIO,"Button",BS_AUTORADIOBUTTON | 
-                    WS_GROUP | WS_TABSTOP,16,19,59,10
-    LTEXT           "Port:",IDC_STATIC,40,38,17,8
-END
-
-IDD_BOUNDS_DLG DIALOGEX 0, 0, 152, 100
-STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | 
-    WS_SYSMENU
-CAPTION "Bounds"
-FONT 8, "MS Shell Dlg", 400, 0, 0x1
-BEGIN
-    DEFPUSHBUTTON   "OK",IDOK,95,7,50,14
-    PUSHBUTTON      "Cancel",IDCANCEL,95,24,50,14
-    EDITTEXT        IDC_XMIN_EDIT,31,7,56,14,ES_AUTOHSCROLL
-    EDITTEXT        IDC_YMIN_EDIT,31,25,56,14,ES_AUTOHSCROLL
-    EDITTEXT        IDC_XMAX_EDIT,31,43,56,14,ES_AUTOHSCROLL
-    EDITTEXT        IDC_YMAX_EDIT,31,61,56,14,ES_AUTOHSCROLL
-    LTEXT           "xmin",IDC_STATIC,11,10,16,8
-    LTEXT           "ymin",IDC_STATIC,11,28,16,8
-    LTEXT           "xmax",IDC_STATIC,11,46,18,8
-    LTEXT           "ymax",IDC_STATIC,11,64,18,8
-    LTEXT           "max iter",IDC_STATIC,5,82,27,8
-    EDITTEXT        IDC_MAX_ITER_EDIT,31,79,56,14,ES_AUTOHSCROLL
-END
-
-IDD_DEMO_POINTS_DLG DIALOGEX 0, 0, 186, 196
-STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | 
-    WS_SYSMENU
-CAPTION "Demo"
-FONT 8, "MS Shell Dlg", 400, 0, 0x1
-BEGIN
-    LISTBOX         IDC_POINTS_LIST,7,26,172,163,LBS_NOINTEGRALHEIGHT | 
-                    WS_VSCROLL | WS_TABSTOP
-    DEFPUSHBUTTON   "OK",IDOK,78,7,50,14
-    PUSHBUTTON      "Cancel",IDCANCEL,129,7,50,14
-    PUSHBUTTON      "Add",IDC_ADD_BTN,7,7,30,14
-    PUSHBUTTON      "Load",IDC_LOAD_BTN,39,7,33,14
-END
-
-IDD_ABOUND_DLG DIALOGEX 0, 0, 186, 94
-STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | 
-    WS_SYSMENU
-CAPTION "Bounds"
-FONT 8, "MS Shell Dlg", 400, 0, 0x1
-BEGIN
-    DEFPUSHBUTTON   "OK",IDOK,129,7,50,14
-    PUSHBUTTON      "Cancel",IDCANCEL,129,24,50,14
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,0,0,1
- PRODUCTVERSION 1,0,0,1
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x4L
- FILETYPE 0x1L
- FILESUBTYPE 0x0L
-BEGIN
-    BLOCK "StringFileInfo"
-    BEGIN
-        BLOCK "040904e4"
-        BEGIN
-            VALUE "CompanyName", "TODO: <Company name>"
-            VALUE "FileDescription", "TODO: <File description>"
-            VALUE "FileVersion", "1.0.0.1"
-            VALUE "InternalName", "pman_vis.exe"
-            VALUE "LegalCopyright", "TODO: (c) <Company name>.  All rights reserved."
-            VALUE "OriginalFilename", "pman_vis.exe"
-            VALUE "ProductName", "TODO: <Product name>"
-            VALUE "ProductVersion", "1.0.0.1"
-        END
-    END
-    BLOCK "VarFileInfo"
-    BEGIN
-        VALUE "Translation", 0x409, 1252
-    END
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO 
-BEGIN
-    IDD_ABOUTBOX, DIALOG
-    BEGIN
-        LEFTMARGIN, 7
-        RIGHTMARGIN, 228
-        TOPMARGIN, 7
-        BOTTOMMARGIN, 98
-    END
-
-    IDD_CONNECT_DIALOG, DIALOG
-    BEGIN
-        LEFTMARGIN, 7
-        RIGHTMARGIN, 220
-        TOPMARGIN, 7
-        BOTTOMMARGIN, 112
-    END
-
-    IDD_BOUNDS_DLG, DIALOG
-    BEGIN
-        LEFTMARGIN, 7
-        RIGHTMARGIN, 145
-        TOPMARGIN, 7
-        BOTTOMMARGIN, 93
-    END
-
-    IDD_DEMO_POINTS_DLG, DIALOG
-    BEGIN
-        LEFTMARGIN, 7
-        RIGHTMARGIN, 179
-        TOPMARGIN, 7
-        BOTTOMMARGIN, 189
-    END
-
-    IDD_ABOUND_DLG, DIALOG
-    BEGIN
-        LEFTMARGIN, 7
-        RIGHTMARGIN, 179
-        TOPMARGIN, 7
-        BOTTOMMARGIN, 87
-    END
-END
-#endif    // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE 
-BEGIN
-    IDR_MAINFRAME           "pman_vis\n\npman_vis\n\n\npmanvis.Document\npman_vis.Document"
-END
-
-STRINGTABLE 
-BEGIN
-    AFX_IDS_APP_TITLE       "pman_vis"
-    AFX_IDS_IDLEMESSAGE     "Ready"
-END
-
-STRINGTABLE 
-BEGIN
-    ID_INDICATOR_EXT        "EXT"
-    ID_INDICATOR_CAPS       "CAP"
-    ID_INDICATOR_NUM        "NUM"
-    ID_INDICATOR_SCRL       "SCRL"
-    ID_INDICATOR_OVR        "OVR"
-    ID_INDICATOR_REC        "REC"
-END
-
-STRINGTABLE 
-BEGIN
-    ID_FILE_NEW             "Create a new document\nNew"
-    ID_FILE_OPEN            "Open an existing document\nOpen"
-    ID_FILE_CLOSE           "Close the active document\nClose"
-    ID_FILE_SAVE            "Save the active document\nSave"
-    ID_FILE_SAVE_AS         "Save the active document with a new name\nSave As"
-    ID_FILE_PAGE_SETUP      "Change the printing options\nPage Setup"
-    ID_FILE_PRINT_SETUP     "Change the printer and printing options\nPrint Setup"
-    ID_FILE_PRINT           "Print the active document\nPrint"
-    ID_FILE_PRINT_PREVIEW   "Display full pages\nPrint Preview"
-END
-
-STRINGTABLE 
-BEGIN
-    ID_APP_ABOUT            "Display program information, version number and copyright\nAbout"
-    ID_APP_EXIT             "Quit the application; prompts to save documents\nExit"
-END
-
-STRINGTABLE 
-BEGIN
-    ID_FILE_MRU_FILE1       "Open this document"
-    ID_FILE_MRU_FILE2       "Open this document"
-    ID_FILE_MRU_FILE3       "Open this document"
-    ID_FILE_MRU_FILE4       "Open this document"
-    ID_FILE_MRU_FILE5       "Open this document"
-    ID_FILE_MRU_FILE6       "Open this document"
-    ID_FILE_MRU_FILE7       "Open this document"
-    ID_FILE_MRU_FILE8       "Open this document"
-    ID_FILE_MRU_FILE9       "Open this document"
-    ID_FILE_MRU_FILE10      "Open this document"
-    ID_FILE_MRU_FILE11      "Open this document"
-    ID_FILE_MRU_FILE12      "Open this document"
-    ID_FILE_MRU_FILE13      "Open this document"
-    ID_FILE_MRU_FILE14      "Open this document"
-    ID_FILE_MRU_FILE15      "Open this document"
-    ID_FILE_MRU_FILE16      "Open this document"
-END
-
-STRINGTABLE 
-BEGIN
-    ID_NEXT_PANE            "Switch to the next window pane\nNext Pane"
-    ID_PREV_PANE            "Switch back to the previous window pane\nPrevious Pane"
-END
-
-STRINGTABLE 
-BEGIN
-    ID_WINDOW_SPLIT         "Split the active window into panes\nSplit"
-END
-
-STRINGTABLE 
-BEGIN
-    ID_EDIT_CLEAR           "Erase the selection\nErase"
-    ID_EDIT_CLEAR_ALL       "Erase everything\nErase All"
-    ID_EDIT_COPY            "Copy the selection and put it on the Clipboard\nCopy"
-    ID_EDIT_CUT             "Cut the selection and put it on the Clipboard\nCut"
-    ID_EDIT_FIND            "Find the specified text\nFind"
-    ID_EDIT_PASTE           "Insert Clipboard contents\nPaste"
-    ID_EDIT_REPEAT          "Repeat the last action\nRepeat"
-    ID_EDIT_REPLACE         "Replace specific text with different text\nReplace"
-    ID_EDIT_SELECT_ALL      "Select the entire document\nSelect All"
-    ID_EDIT_UNDO            "Undo the last action\nUndo"
-    ID_EDIT_REDO            "Redo the previously undone action\nRedo"
-END
-
-STRINGTABLE 
-BEGIN
-    ID_VIEW_TOOLBAR         "Show or hide the toolbar\nToggle ToolBar"
-    ID_VIEW_STATUS_BAR      "Show or hide the status bar\nToggle StatusBar"
-END
-
-STRINGTABLE 
-BEGIN
-    AFX_IDS_SCSIZE          "Change the window size"
-    AFX_IDS_SCMOVE          "Change the window position"
-    AFX_IDS_SCMINIMIZE      "Reduce the window to an icon"
-    AFX_IDS_SCMAXIMIZE      "Enlarge the window to full size"
-    AFX_IDS_SCNEXTWINDOW    "Switch to the next document window"
-    AFX_IDS_SCPREVWINDOW    "Switch to the previous document window"
-    AFX_IDS_SCCLOSE         "Close the active window and prompts to save the documents"
-END
-
-STRINGTABLE 
-BEGIN
-    AFX_IDS_SCRESTORE       "Restore the window to normal size"
-    AFX_IDS_SCTASKLIST      "Activate Task List"
-END
-
-STRINGTABLE 
-BEGIN
-    AFX_IDS_PREVIEW_CLOSE   "Close print preview mode\nCancel Preview"
-END
-
-#endif    // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-#define _AFX_NO_SPLITTER_RESOURCES
-#define _AFX_NO_OLE_RESOURCES
-#define _AFX_NO_TRACKER_RESOURCES
-#define _AFX_NO_PROPERTY_RESOURCES
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-LANGUAGE 9, 1
-#pragma code_page(1252)
-#include "res\pman_vis.rc2"  // non-Microsoft Visual C++ edited resources
-#include "afxres.rc"         // Standard components
-#include "afxprint.rc"       // printing/print preview resources
-#endif
-
-/////////////////////////////////////////////////////////////////////////////
-#endif    // not APSTUDIO_INVOKED
-
diff --git a/examples/windows/pmandel_vis/pman_vis.vcproj b/examples/windows/pmandel_vis/pman_vis.vcproj
deleted file mode 100644
index f0113fe..0000000
--- a/examples/windows/pmandel_vis/pman_vis.vcproj
+++ /dev/null
@@ -1,584 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="pman_vis"
-	ProjectGUID="{29D7A10A-E306-413E-A87E-5A2BCCE0848C}"
-	RootNamespace="pman_vis"
-	Keyword="MFCProj"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="Debug"
-			IntermediateDirectory="Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="1"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_DEBUG"
-				MkTypLibCompatible="false"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\..\src\include,..\..\..\src\include\win32"
-				PreprocessorDefinitions="WIN32;_WINDOWS;_DEBUG"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				TreatWChar_tAsBuiltInType="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1033"
-				AdditionalIncludeDirectories="$(IntDir)"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpid.lib"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				GenerateDebugInformation="true"
-				SubSystem="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="Release"
-			IntermediateDirectory="Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="1"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="NDEBUG"
-				MkTypLibCompatible="false"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\..\..\src\include,..\..\..\src\include\win32"
-				PreprocessorDefinitions="WIN32;_WINDOWS;NDEBUG"
-				MinimalRebuild="false"
-				RuntimeLibrary="0"
-				TreatWChar_tAsBuiltInType="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1033"
-				AdditionalIncludeDirectories="$(IntDir)"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpi.lib"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				GenerateDebugInformation="true"
-				SubSystem="2"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="1"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_DEBUG"
-				MkTypLibCompatible="false"
-				TargetEnvironment="3"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\..\src\include,..\..\..\src\include\win32"
-				PreprocessorDefinitions="WIN32;_WINDOWS;_DEBUG"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				TreatWChar_tAsBuiltInType="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1033"
-				AdditionalIncludeDirectories="$(IntDir)"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpid.lib"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				GenerateDebugInformation="true"
-				SubSystem="2"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="1"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="NDEBUG"
-				MkTypLibCompatible="false"
-				TargetEnvironment="3"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\..\..\src\include,..\..\..\src\include\win64"
-				PreprocessorDefinitions="_WINDOWS;NDEBUG"
-				MinimalRebuild="false"
-				RuntimeLibrary="0"
-				TreatWChar_tAsBuiltInType="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1033"
-				AdditionalIncludeDirectories="$(IntDir)"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpi.lib"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\..\..\winbuild\x64\Release\mpi"
-				GenerateDebugInformation="false"
-				SubSystem="2"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath=".\BoundsDlg.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\ConnectDialog.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\DemoPointsDlg.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\ExampleNode.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\MainFrm.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\mpi.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\pman_vis.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\pman_visDoc.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\pman_visView.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\sock.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						UsePrecompiledHeader="0"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						UsePrecompiledHeader="0"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\stdafx.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						UsePrecompiledHeader="1"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						UsePrecompiledHeader="1"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						UsePrecompiledHeader="1"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						UsePrecompiledHeader="1"
-					/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-			<File
-				RelativePath=".\BoundsDlg.h"
-				>
-			</File>
-			<File
-				RelativePath=".\ConnectDialog.h"
-				>
-			</File>
-			<File
-				RelativePath=".\DemoPointsDlg.h"
-				>
-			</File>
-			<File
-				RelativePath=".\ExampleNode.h"
-				>
-			</File>
-			<File
-				RelativePath=".\MainFrm.h"
-				>
-			</File>
-			<File
-				RelativePath=".\pman_vis.h"
-				>
-			</File>
-			<File
-				RelativePath=".\pman_visDoc.h"
-				>
-			</File>
-			<File
-				RelativePath=".\pman_visView.h"
-				>
-			</File>
-			<File
-				RelativePath=".\Resource.h"
-				>
-			</File>
-			<File
-				RelativePath=".\stdafx.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-			<File
-				RelativePath=".\res\pman_vis.ico"
-				>
-			</File>
-			<File
-				RelativePath=".\pman_vis.rc"
-				>
-			</File>
-			<File
-				RelativePath=".\res\pman_vis.rc2"
-				>
-			</File>
-			<File
-				RelativePath=".\res\pman_visDoc.ico"
-				>
-			</File>
-			<File
-				RelativePath=".\res\Toolbar.bmp"
-				>
-			</File>
-		</Filter>
-		<File
-			RelativePath=".\res\pman_vis.manifest"
-			>
-			<FileConfiguration
-				Name="Debug|Win32"
-				ExcludedFromBuild="true"
-				>
-				<Tool
-					Name="VCCustomBuildTool"
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|Win32"
-				ExcludedFromBuild="true"
-				>
-				<Tool
-					Name="VCCustomBuildTool"
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|x64"
-				ExcludedFromBuild="true"
-				>
-				<Tool
-					Name="VCCustomBuildTool"
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|x64"
-				ExcludedFromBuild="true"
-				>
-				<Tool
-					Name="VCCustomBuildTool"
-				/>
-			</FileConfiguration>
-		</File>
-	</Files>
-	<Globals>
-		<Global
-			Name="RESOURCE_FILE"
-			Value="pman_vis.rc"
-		/>
-	</Globals>
-</VisualStudioProject>
diff --git a/examples/windows/pmandel_vis/pman_visDoc.cpp b/examples/windows/pmandel_vis/pman_visDoc.cpp
deleted file mode 100644
index 6f2b709..0000000
--- a/examples/windows/pmandel_vis/pman_visDoc.cpp
+++ /dev/null
@@ -1,84 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-// pman_visDoc.cpp : implementation of the Cpman_visDoc class
-//
-
-#include "stdafx.h"
-#include "pman_vis.h"
-
-#include "pman_visDoc.h"
-
-#ifdef _DEBUG
-#define new DEBUG_NEW
-#endif
-
-
-// Cpman_visDoc
-
-IMPLEMENT_DYNCREATE(Cpman_visDoc, CDocument)
-
-BEGIN_MESSAGE_MAP(Cpman_visDoc, CDocument)
-END_MESSAGE_MAP()
-
-
-// Cpman_visDoc construction/destruction
-
-Cpman_visDoc::Cpman_visDoc()
-{
-	// TODO: add one-time construction code here
-
-}
-
-Cpman_visDoc::~Cpman_visDoc()
-{
-}
-
-BOOL Cpman_visDoc::OnNewDocument()
-{
-	if (!CDocument::OnNewDocument())
-		return FALSE;
-
-	// TODO: add reinitialization code here
-	// (SDI documents will reuse this document)
-
-	return TRUE;
-}
-
-
-
-
-// Cpman_visDoc serialization
-
-void Cpman_visDoc::Serialize(CArchive& ar)
-{
-	if (ar.IsStoring())
-	{
-		// TODO: add storing code here
-	}
-	else
-	{
-		// TODO: add loading code here
-	}
-}
-
-
-// Cpman_visDoc diagnostics
-
-#ifdef _DEBUG
-void Cpman_visDoc::AssertValid() const
-{
-	CDocument::AssertValid();
-}
-
-void Cpman_visDoc::Dump(CDumpContext& dc) const
-{
-	CDocument::Dump(dc);
-}
-#endif //_DEBUG
-
-
-// Cpman_visDoc commands
diff --git a/examples/windows/pmandel_vis/pman_visDoc.h b/examples/windows/pmandel_vis/pman_visDoc.h
deleted file mode 100644
index 6e396bb..0000000
--- a/examples/windows/pmandel_vis/pman_visDoc.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-// pman_visDoc.h : interface of the Cpman_visDoc class
-//
-
-
-#pragma once
-
-class Cpman_visDoc : public CDocument
-{
-protected: // create from serialization only
-	Cpman_visDoc();
-	DECLARE_DYNCREATE(Cpman_visDoc)
-
-// Attributes
-public:
-
-// Operations
-public:
-
-// Overrides
-	public:
-	virtual BOOL OnNewDocument();
-	virtual void Serialize(CArchive& ar);
-
-// Implementation
-public:
-	virtual ~Cpman_visDoc();
-#ifdef _DEBUG
-	virtual void AssertValid() const;
-	virtual void Dump(CDumpContext& dc) const;
-#endif
-
-protected:
-
-// Generated message map functions
-protected:
-	DECLARE_MESSAGE_MAP()
-};
-
-
diff --git a/examples/windows/pmandel_vis/pman_visView.cpp b/examples/windows/pmandel_vis/pman_visView.cpp
deleted file mode 100644
index 5896fd3..0000000
--- a/examples/windows/pmandel_vis/pman_visView.cpp
+++ /dev/null
@@ -1,562 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-// pman_visView.cpp : implementation of the Cpman_visView class
-//
-#include "stdafx.h"
-#include "pman_vis.h"
-
-#include "pman_visDoc.h"
-#include "pman_visView.h"
-#include ".\pman_visview.h"
-#include "ConnectDialog.h"
-#include "BoundsDlg.h"
-#include "DemoPointsDlg.h"
-
-#ifdef _DEBUG
-#define new DEBUG_NEW
-#endif
-
-int connect_to_pmandel(const char *host, int port, int &width, int &height);
-int send_xyminmax(double xmin, double ymin, double xmax, double ymax, int max_iter);
-int get_pmandel_data();
-
-int mpi_connect_to_pmandel(const char *port, int &width, int &height);
-int mpi_send_xyminmax(double xmin, double ymin, double xmax, double ymax, int max_iter);
-int mpi_get_pmandel_data();
-void mpi_thread_fn(void *p);
-void mpi_barrier_client();
-void mpi_barrier_thread();
-void mpi_init();
-void mpi_disconnect();
-void mpi_finalize();
-
-int g_width, g_height;
-HDC g_hDC = NULL;
-HANDLE g_hMutex = NULL;
-HWND g_hWnd;
-bool g_bDrawing;
-double g_xmin, g_xmax, g_ymin, g_ymax;
-int g_max_iter;
-bool g_bDemoMode;
-CExampleNode *g_demo_list, *g_cur_node;
-
-bool g_bUseMPI = true;
-HANDLE g_hEventA = NULL;
-HANDLE g_hEventB = NULL;
-HANDLE g_hEventC = NULL;
-HANDLE g_hEventD = NULL;
-HANDLE g_hMPIThread = NULL;
-char g_mpi_port[256];
-
-// Cpman_visView
-
-IMPLEMENT_DYNCREATE(Cpman_visView, CView)
-
-BEGIN_MESSAGE_MAP(Cpman_visView, CView)
-	// Standard printing commands
-	ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
-	ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
-	ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
-	ON_COMMAND(ID_FILE_CONNECT, OnFileConnect)
-	ON_WM_LBUTTONDOWN()
-	ON_WM_LBUTTONUP()
-	ON_WM_ERASEBKGND()
-	ON_WM_MOUSEMOVE()
-	ON_WM_RBUTTONUP()
-	ON_COMMAND(ID_FILE_ENTERPOINT, OnFileEnterpoint)
-	ON_COMMAND(ID_FILE_ENTERDEMOPOINTS, OnFileEnterdemopoints)
-	ON_COMMAND(ID_FILE_STOPDEMO, OnFileStopdemo)
-END_MESSAGE_MAP()
-
-// Cpman_visView construction/destruction
-
-Cpman_visView::Cpman_visView()
-{
-    g_hMutex = CreateMutex(NULL, FALSE, NULL);
-    g_bDrawing = false;
-    g_bDemoMode = false;
-    bConnected = false;
-    m_hThread = NULL;
-    g_demo_list = NULL;
-    g_cur_node = NULL;
-    g_xmin = -1;
-    g_xmax = 1;
-    g_ymin = -1;
-    g_ymax = 1;
-    g_max_iter = 100;
-    g_hEventA = CreateEvent(NULL, TRUE, FALSE, NULL);
-    g_hEventB = CreateEvent(NULL, TRUE, FALSE, NULL);
-    g_hEventC = CreateEvent(NULL, TRUE, FALSE, NULL);
-    g_hEventD = CreateEvent(NULL, TRUE, FALSE, NULL);
-    g_hMPIThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)mpi_thread_fn, NULL, 0, NULL);
-    mpi_barrier_client();
-}
-
-Cpman_visView::~Cpman_visView()
-{
-    g_bDemoMode = false;
-    CloseHandle(g_hMutex);
-    if (g_hMPIThread != NULL)
-    {
-	g_xmin = g_xmax = g_ymin = g_ymax = 0.0;
-	mpi_barrier_client();
-	WaitForSingleObject(g_hMPIThread, INFINITE);
-    }
-    if (m_hThread != NULL)
-    {
-	WaitForSingleObject(m_hThread, INFINITE);
-	CloseHandle(m_hThread);
-	send_xyminmax(0, 0, 0, 0, 0);
-    }
-}
-
-BOOL Cpman_visView::PreCreateWindow(CREATESTRUCT& cs)
-{
-    return CView::PreCreateWindow(cs);
-}
-
-// Cpman_visView drawing
-
-void Cpman_visView::OnDraw(CDC* pDC)
-{
-    RECT r, r2;
-    Cpman_visDoc* pDoc = GetDocument();
-    ASSERT_VALID(pDoc);
-    if (!pDoc)
-	return;
-
-    GetClientRect(&r);
-    if (g_hDC != NULL)
-    {
-	WaitForSingleObject(g_hMutex, INFINITE);
-	BitBlt(pDC->m_hDC,
-	    r.left, r.top,
-	    min(g_width, r.right - r.left),
-	    min(g_height, r.bottom - r.top),
-	    g_hDC, 0, 0, SRCCOPY);
-	ReleaseMutex(g_hMutex);
-	if (r.right - r.left > g_width)
-	{
-	    r2 = r;
-	    r2.left = r2.left + g_width;
-	    pDC->FillSolidRect(&r2, 0);
-	}
-	if (r.bottom - r.top > g_height)
-	{
-	    r2 = r;
-	    r2.top = r2.top + g_height;
-	    pDC->FillSolidRect(&r2, 0);
-	}
-    }
-    else
-    {
-	pDC->FillSolidRect(&r, 0);
-    }
-}
-
-
-// Cpman_visView printing
-
-BOOL Cpman_visView::OnPreparePrinting(CPrintInfo* pInfo)
-{
-    return DoPreparePrinting(pInfo);
-}
-
-void Cpman_visView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
-{
-}
-
-void Cpman_visView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
-{
-}
-
-
-// Cpman_visView diagnostics
-
-#ifdef _DEBUG
-void Cpman_visView::AssertValid() const
-{
-	CView::AssertValid();
-}
-
-void Cpman_visView::Dump(CDumpContext& dc) const
-{
-	CView::Dump(dc);
-}
-
-Cpman_visDoc* Cpman_visView::GetDocument() const // non-debug version is inline
-{
-	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(Cpman_visDoc)));
-	return (Cpman_visDoc*)m_pDocument;
-}
-#endif //_DEBUG
-
-
-// Cpman_visView message handlers
-
-int get_next_demo_data()
-{
-    if (g_cur_node == NULL)
-	g_cur_node = g_demo_list;
-    if (g_cur_node == NULL)
-    {
-	/* error */
-	mpi_send_xyminmax(0, 0, 0, 0, 0);
-	mpi_disconnect();
-	mpi_finalize();
-	return -1;
-    }
-    g_xmin = g_cur_node->xmin;
-    g_xmax = g_cur_node->xmax;
-    g_ymin = g_cur_node->ymin;
-    g_ymax = g_cur_node->ymax;
-    g_max_iter = g_cur_node->max_iter;
-    g_cur_node = g_cur_node->next;
-    return 0;
-}
-
-int work_thread(void *p)
-{
-    if (g_bDemoMode)
-    {
-	while (g_bDemoMode)
-	{
-	    if (get_next_demo_data())
-		return -1;
-	    send_xyminmax(g_xmin, g_ymin, g_xmax, g_ymax, g_max_iter);
-	    get_pmandel_data();
-
-	    if (g_bDemoMode)
-	    {
-		Sleep(5000);
-	    }
-	}
-    }
-    else
-    {
-	send_xyminmax(g_xmin, g_ymin, g_xmax, g_ymax, g_max_iter);
-	get_pmandel_data();
-    }
-    g_bDrawing = false;
-    return 0;
-}
-
-int mpi_work_thread(void *p)
-{
-    mpi_send_xyminmax(g_xmin, g_ymin, g_xmax, g_ymax, g_max_iter);
-    mpi_get_pmandel_data();
-    g_bDrawing = false;
-    return 0;
-}
-
-void mpi_barrier_client()
-{
-    SetEvent(g_hEventA);
-    WaitForSingleObject(g_hEventB, INFINITE);
-    ResetEvent(g_hEventB);
-    SetEvent(g_hEventD);
-    WaitForSingleObject(g_hEventC, INFINITE);
-    ResetEvent(g_hEventC);
-}
-
-void mpi_barrier_thread()
-{
-    SetEvent(g_hEventB);
-    WaitForSingleObject(g_hEventA, INFINITE);
-    ResetEvent(g_hEventA);
-    SetEvent(g_hEventC);
-    WaitForSingleObject(g_hEventD, INFINITE);
-    ResetEvent(g_hEventD);
-}
-
-void mpi_thread_fn(void *p)
-{
-    mpi_barrier_thread();
-    mpi_init();
-    mpi_barrier_thread();
-    if ((g_xmin != g_xmax) && (g_ymin != g_ymax))
-    {
-	/*mpi_connect_to_pmandel(g_mpi_port, g_width, g_height);*/
-	if (g_bDemoMode)
-	{
-	    if (get_next_demo_data())
-		return;
-	}
-	else
-	    mpi_barrier_thread();
-	while ((g_xmin != g_xmax) && (g_ymin != g_ymax))
-	{
-	    mpi_work_thread(NULL);
-	    if (g_bDemoMode)
-	    {
-		Sleep(5000);
-		if (get_next_demo_data())
-		    return;
-	    }
-	    else
-	    {
-		mpi_barrier_thread();
-	    }
-	}
-	mpi_send_xyminmax(0, 0, 0, 0, 0);
-	mpi_disconnect();
-    }
-    mpi_finalize();
-    return;
-}
-
-void Cpman_visView::OnFileConnect()
-{
-    CConnectDialog dlg;
-    char host[100];
-    DWORD len;
-    CBitmap *canvas;
-
-    if (bConnected)
-    {
-	MessageBox("You may only connect once.", "Note");
-	return;
-    }
-
-    len = 100;
-    GetComputerName(host, &len);
-    dlg.m_pszHost = host;
-    dlg.m_nPort = 7470;
-    if (dlg.DoModal() == IDOK)
-    {
-	if (dlg.m_type == CConnectDialog::MPI_CONNECT)
-	{
-	    strcpy(g_mpi_port, dlg.m_pszMPIPort);
-
-	    /* If I connect in the thread, the gui goes bananas
-	    mpi_barrier_client();
-	    */
-
-	    /* If I connect here in the main thread, everything is ok */
-	    if (mpi_connect_to_pmandel(dlg.m_pszMPIPort, g_width, g_height) != 0)
-	    {
-		return;
-	    }
-	    mpi_barrier_client();
-	    
-	    g_bUseMPI = true;
-	}
-	else
-	{
-	    if (connect_to_pmandel(dlg.m_pszHost, dlg.m_nPort, g_width, g_height) != 0)
-	    {
-		return;
-	    }
-	    g_bUseMPI = false;
-	}
-	g_hWnd = m_hWnd;
-	g_hDC = CreateCompatibleDC(NULL);
-	canvas = new CBitmap();
-	canvas->CreateBitmap(
-		g_width, 
-		g_height, 
-		GetDeviceCaps(g_hDC, PLANES),
-		GetDeviceCaps(g_hDC, BITSPIXEL),
-		NULL);
-	SelectObject(g_hDC, *canvas);
-	g_bDrawing = true;
-	if (g_bUseMPI)
-	{
-	    //m_hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)mpi_work_thread, NULL, 0, NULL);
-	    mpi_barrier_client();
-	}
-	else
-	    m_hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)work_thread, NULL, 0, NULL);
-	bConnected = true;
-    }
-}
-
-void Cpman_visView::OnLButtonDown(UINT nFlags, CPoint point)
-{
-    if (!g_bDrawing)
-    {
-	SIZE size;
-	CDC *pDC = GetDC();
-	m_p1 = point;
-	m_rLast.left = point.x;
-	m_rLast.right = point.x;
-	m_rLast.top = point.y;
-	m_rLast.bottom = point.y;
-	size.cx = 2;
-	size.cy = 2;
-	pDC->DrawDragRect(&m_rLast, size, NULL, size);
-    }
-
-    CView::OnLButtonDown(nFlags, point);
-}
-
-void Cpman_visView::OnMouseMove(UINT nFlags, CPoint point)
-{
-    CDC *pDC;
-    RECT r;
-    SIZE size;
-
-    if (nFlags & MK_LBUTTON && !g_bDrawing)
-    {
-	pDC = GetDC();
-	r.left = min(m_p1.x, point.x);
-	r.right = max(m_p1.x, point.x);
-	r.top = min(m_p1.y, point.y);
-	r.bottom = max(m_p1.y, point.y);
-	size.cx = 2;
-	size.cy = 2;
-	pDC->DrawDragRect(&r, size, &m_rLast, size);
-	m_rLast = r;
-    }
-    CView::OnMouseMove(nFlags, point);
-}
-
-void Cpman_visView::OnLButtonUp(UINT nFlags, CPoint point)
-{
-    RECT r;
-    double x1,y1,x2,y2;
-    double width, height, pixel_width, pixel_height;
-    CDC *pDC;
-    SIZE size;
-
-    if (!g_bDrawing)
-    {
-	pDC = GetDC();
-	size.cx = 2;
-	size.cy = 2;
-	pDC->DrawDragRect(&m_rLast, size, NULL, size);
-    }
-
-    if (!g_bDrawing && (m_hThread || (g_bUseMPI && g_hMPIThread)))
-    {
-	if (m_p1.x == point.x && m_p1.y == point.y)
-	{
-	    return CView::OnLButtonUp(nFlags, point);
-	}
-	if (m_hThread)
-	    CloseHandle(m_hThread);
-	if (point.x > g_width)
-	    point.x = g_width;
-	if (point.y > g_height)
-	    point.y = g_height;
-	if (m_p1.x > g_width)
-	    m_p1.x = g_width;
-	if (m_p1.y > g_height)
-	    m_p1.y = g_height;
-	m_p2 = point;
-	r = m_rLast;
-	width = g_xmax - g_xmin;
-	height = g_ymax - g_ymin;
-	pixel_width = g_width;
-	pixel_height = g_height;
-	x1 = g_xmin + ((double)r.left * width / pixel_width);
-	x2 = g_xmin + ((double)r.right * width / pixel_width);
-	y2 = g_ymin + ((double)(pixel_height - r.top) * height / pixel_height);
-	y1 = g_ymin + ((double)(pixel_height - r.bottom) * height / pixel_height);
-	g_xmin = x1;
-	g_xmax = x2;
-	g_ymin = y1;
-	g_ymax = y2;
-	g_bDrawing = true;
-	if (g_bUseMPI)
-	{
-	    //m_hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)mpi_work_thread, NULL, 0, NULL);
-	    mpi_barrier_client();
-	}
-	else
-	    m_hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)work_thread, NULL, 0, NULL);
-    }
-    CView::OnLButtonUp(nFlags, point);
-}
-
-BOOL Cpman_visView::OnEraseBkgnd(CDC* pDC)
-{
-    return TRUE;
-    //return CView::OnEraseBkgnd(pDC);
-}
-
-void Cpman_visView::OnRButtonUp(UINT nFlags, CPoint point)
-{
-    if (!g_bDrawing && (m_hThread || (g_bUseMPI && g_hMPIThread)))
-    {
-	if (m_hThread)
-	    CloseHandle(m_hThread);
-	g_xmin = -1;
-	g_xmax = 1;
-	g_ymin = -1;
-	g_ymax = 1;
-	g_max_iter = 100;
-	g_bDrawing = true;
-	if (g_bUseMPI)
-	{
-	    //m_hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)mpi_work_thread, NULL, 0, NULL);
-	    mpi_barrier_client();
-	}
-	else
-	    m_hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)work_thread, NULL, 0, NULL);
-    }
-    CView::OnRButtonUp(nFlags, point);
-}
-
-void Cpman_visView::OnFileEnterpoint()
-{
-    if (bConnected && (!g_bDrawing && (m_hThread || (g_bUseMPI && g_hMPIThread))))
-    {
-	CBoundsDlg dlg;
-	if (dlg.DoModal() == IDOK)
-	{
-	    if (m_hThread)
-		CloseHandle(m_hThread);
-	    g_xmin = dlg.m_xmin;
-	    g_xmax = dlg.m_xmax;
-	    g_ymin = dlg.m_ymin;
-	    g_ymax = dlg.m_ymax;
-	    g_max_iter = dlg.m_max_iter;
-	    g_bDrawing = true;
-	    if (g_bUseMPI)
-	    {
-		//m_hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)mpi_work_thread, NULL, 0, NULL);
-		mpi_barrier_client();
-	    }
-	    else
-		m_hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)work_thread, NULL, 0, NULL);
-	}
-    }
-}
-
-void Cpman_visView::OnFileEnterdemopoints()
-{
-    CDemoPointsDlg dlg;
-    if (dlg.DoModal() == IDOK)
-    {
-	g_demo_list = dlg.m_node_list;
-	g_cur_node = g_demo_list;
-	g_bDemoMode = true;
-	if (bConnected && (!g_bDrawing && (m_hThread || (g_bUseMPI && g_hMPIThread))))
-	{
-	    if (m_hThread)
-		CloseHandle(m_hThread);
-	    g_xmin = g_cur_node->xmin;
-	    g_xmax = g_cur_node->xmax;
-	    g_ymin = g_cur_node->ymin;
-	    g_ymax = g_cur_node->ymax;
-	    g_max_iter = g_cur_node->max_iter;
-	    g_bDrawing = true;
-	    if (g_bUseMPI)
-	    {
-		//m_hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)mpi_work_thread, NULL, 0, NULL);
-		mpi_barrier_client();
-	    }
-	    else
-		m_hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)work_thread, NULL, 0, NULL);
-	}
-    }
-}
-
-void Cpman_visView::OnFileStopdemo()
-{
-    g_bDemoMode = false;
-}
diff --git a/examples/windows/pmandel_vis/pman_visView.h b/examples/windows/pmandel_vis/pman_visView.h
deleted file mode 100644
index 11e7ee5..0000000
--- a/examples/windows/pmandel_vis/pman_visView.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-// pman_visView.h : interface of the Cpman_visView class
-//
-
-
-#pragma once
-
-#include "ExampleNode.h"
-
-class Cpman_visView : public CView
-{
-protected: // create from serialization only
-	Cpman_visView();
-	DECLARE_DYNCREATE(Cpman_visView)
-
-// Attributes
-public:
-	Cpman_visDoc* GetDocument() const;
-	CPoint m_p1, m_p2;
-	HANDLE m_hThread;
-	RECT m_rLast;
-	bool bConnected;
-
-// Operations
-public:
-
-// Overrides
-	public:
-	virtual void OnDraw(CDC* pDC);  // overridden to draw this view
-virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
-protected:
-	virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);
-	virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
-	virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);
-
-// Implementation
-public:
-	virtual ~Cpman_visView();
-#ifdef _DEBUG
-	virtual void AssertValid() const;
-	virtual void Dump(CDumpContext& dc) const;
-#endif
-
-protected:
-
-// Generated message map functions
-protected:
-	DECLARE_MESSAGE_MAP()
-public:
-    afx_msg void OnFileConnect();
-    afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
-    afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
-    afx_msg BOOL OnEraseBkgnd(CDC* pDC);
-    afx_msg void OnMouseMove(UINT nFlags, CPoint point);
-    afx_msg void OnRButtonUp(UINT nFlags, CPoint point);
-    afx_msg void OnFileEnterpoint();
-    afx_msg void OnFileEnterdemopoints();
-    afx_msg void OnFileStopdemo();
-};
-
-#ifndef _DEBUG  // debug version in pman_visView.cpp
-inline Cpman_visDoc* Cpman_visView::GetDocument() const
-   { return reinterpret_cast<Cpman_visDoc*>(m_pDocument); }
-#endif
-
diff --git a/examples/windows/pmandel_vis/res/Toolbar.bmp b/examples/windows/pmandel_vis/res/Toolbar.bmp
deleted file mode 100644
index d501723..0000000
Binary files a/examples/windows/pmandel_vis/res/Toolbar.bmp and /dev/null differ
diff --git a/examples/windows/pmandel_vis/res/pman_vis.ico b/examples/windows/pmandel_vis/res/pman_vis.ico
deleted file mode 100644
index 8a84ca3..0000000
Binary files a/examples/windows/pmandel_vis/res/pman_vis.ico and /dev/null differ
diff --git a/examples/windows/pmandel_vis/res/pman_vis.manifest b/examples/windows/pmandel_vis/res/pman_vis.manifest
deleted file mode 100644
index db8d865..0000000
--- a/examples/windows/pmandel_vis/res/pman_vis.manifest
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
-<assemblyIdentity 
-    version="1.0.0.0" 
-    processorArchitecture="X86" 
-    name="Microsoft.Windows.pman_vis"
-    type="win32" 
-/> 
-<description>Your app description here</description> 
-<dependency> 
-    <dependentAssembly> 
-        <assemblyIdentity 
-            type="win32" 
-            name="Microsoft.Windows.Common-Controls" 
-            version="6.0.0.0" 
-            processorArchitecture="X86" 
-            publicKeyToken="6595b64144ccf1df" 
-            language="*" 
-        /> 
-    </dependentAssembly> 
-</dependency> 
-</assembly>
diff --git a/examples/windows/pmandel_vis/res/pman_vis.rc2 b/examples/windows/pmandel_vis/res/pman_vis.rc2
deleted file mode 100644
index 1eb83ae..0000000
--- a/examples/windows/pmandel_vis/res/pman_vis.rc2
+++ /dev/null
@@ -1,13 +0,0 @@
-//
-// pman_vis.RC2 - resources Microsoft Visual C++ does not edit directly
-//
-
-#ifdef APSTUDIO_INVOKED
-#error this file is not editable by Microsoft Visual C++
-#endif //APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-// Add manually edited resources here...
-
-/////////////////////////////////////////////////////////////////////////////
diff --git a/examples/windows/pmandel_vis/res/pman_visDoc.ico b/examples/windows/pmandel_vis/res/pman_visDoc.ico
deleted file mode 100644
index 2a1f1ae..0000000
Binary files a/examples/windows/pmandel_vis/res/pman_visDoc.ico and /dev/null differ
diff --git a/examples/windows/pmandel_vis/resource.h b/examples/windows/pmandel_vis/resource.h
deleted file mode 100644
index ba96bb9..0000000
--- a/examples/windows/pmandel_vis/resource.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-//{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
-// Used by pman_vis.rc
-//
-#define IDD_ABOUTBOX                    100
-#define IDP_OLE_INIT_FAILED             100
-#define IDR_MAINFRAME                   128
-#define IDR_pman_visTYPE                129
-#define IDD_DIALOG1                     130
-#define IDD_CONNECT_DIALOG              130
-#define IDD_BOUNDS_DLG                  131
-#define IDD_DEMO_POINTS_DLG             132
-#define IDD_ABOUND_DLG                  133
-#define IDC_HOSTNAME                    1000
-#define IDC_PORT                        1001
-#define IDC_MPI_RADIO                   1002
-#define IDC_TCP_RADIO                   1003
-#define IDC_MPIPORT                     1004
-#define IDC_CONNECT_GROUP               1005
-#define IDC_XMIN_EDIT                   1006
-#define IDC_YMIN_EDIT                   1007
-#define IDC_XMAX_EDIT                   1008
-#define IDC_YMAX_EDIT                   1010
-#define IDC_MAX_ITER_EDIT               1011
-#define IDC_POINTS_LIST                 1012
-#define IDC_ADD_BTN                     1013
-#define IDC_LOAD_BTN                    1014
-#define ID_FILE_CONNECT                 32771
-#define ID_FILE_ENTERPOINT              32772
-#define ID_FILE_ENTERDEMOPOINTS         32773
-#define ID_FILE_STOPDEMO                32774
-
-// Next default values for new objects
-// 
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE        134
-#define _APS_NEXT_COMMAND_VALUE         32775
-#define _APS_NEXT_CONTROL_VALUE         1015
-#define _APS_NEXT_SYMED_VALUE           101
-#endif
-#endif
diff --git a/examples/windows/pmandel_vis/sock.cpp b/examples/windows/pmandel_vis/sock.cpp
deleted file mode 100644
index 4065df2..0000000
--- a/examples/windows/pmandel_vis/sock.cpp
+++ /dev/null
@@ -1,373 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-#include <winsock2.h>
-#include <ws2tcpip.h>
-#include <windows.h>
-#include <math.h>
-
-#define RGBtocolor_t(r,g,b) ((color_t)(((unsigned char)(r)|((unsigned short)((unsigned char)(g))<<8))|(((unsigned long)(unsigned char)(b))<<16)))
-#define getR(r) ((int)((r) & 0xFF))
-#define getG(g) ((int)((g>>8) & 0xFF))
-#define getB(b) ((int)((b>>16) & 0xFF))
-
-typedef int color_t;
-
-int send_xyminmax(double xmin, double ymin, double xmax, double ymax);
-int read_data(SOCKET sock, char *buffer, int length);
-
-extern HWND g_hWnd;
-extern HDC g_hDC;
-extern int g_width, g_height;
-extern HANDLE g_hMutex;
-int g_num_colors;
-static int g_max_iter;
-color_t *colors;
-
-SOCKET sock;
-
-color_t getColor(double fraction, double intensity)
-{
-    /* fraction is a part of the rainbow (0.0 - 1.0) = (Red-Yellow-Green-Cyan-Blue-Magenta-Red)
-    intensity (0.0 - 1.0) 0 = black, 1 = full color, 2 = white
-    */
-    double red, green, blue;
-    int r,g,b;
-    double dtemp;
-
-    fraction = fabs(modf(fraction, &dtemp));
-
-    if (intensity > 2.0)
-	intensity = 2.0;
-    if (intensity < 0.0)
-	intensity = 0.0;
-
-    dtemp = 1.0/6.0;
-
-    if (fraction < 1.0/6.0)
-    {
-	red = 1.0;
-	green = fraction / dtemp;
-	blue = 0.0;
-    }
-    else
-    {
-	if (fraction < 1.0/3.0)
-	{
-	    red = 1.0 - ((fraction - dtemp) / dtemp);
-	    green = 1.0;
-	    blue = 0.0;
-	}
-	else
-	{
-	    if (fraction < 0.5)
-	    {
-		red = 0.0;
-		green = 1.0;
-		blue = (fraction - (dtemp*2.0)) / dtemp;
-	    }
-	    else
-	    {
-		if (fraction < 2.0/3.0)
-		{
-		    red = 0.0;
-		    green = 1.0 - ((fraction - (dtemp*3.0)) / dtemp);
-		    blue = 1.0;
-		}
-		else
-		{
-		    if (fraction < 5.0/6.0)
-		    {
-			red = (fraction - (dtemp*4.0)) / dtemp;
-			green = 0.0;
-			blue = 1.0;
-		    }
-		    else
-		    {
-			red = 1.0;
-			green = 0.0;
-			blue = 1.0 - ((fraction - (dtemp*5.0)) / dtemp);
-		    }
-		}
-	    }
-	}
-    }
-
-    if (intensity > 1)
-    {
-	intensity = intensity - 1.0;
-	red = red + ((1.0 - red) * intensity);
-	green = green + ((1.0 - green) * intensity);
-	blue = blue + ((1.0 - blue) * intensity);
-    }
-    else
-    {
-	red = red * intensity;
-	green = green * intensity;
-	blue = blue * intensity;
-    }
-
-    r = (int)(red * 255.0);
-    g = (int)(green * 255.0);
-    b = (int)(blue * 255.0);
-
-    return RGBtocolor_t(r,g,b);
-}
-
-int Make_color_array(int num_colors, int max, color_t colors[])
-{
-    double fraction, intensity;
-    int i;
-
-    intensity = 1.0;
-    for (i=0; i<max; i++)
-    {
-	fraction = (double)(i % num_colors) / (double)num_colors;
-	colors[i] = getColor(fraction, intensity);
-    }
-    return 0;
-}
-
-void getRGB(color_t color, int *r, int *g, int *b)
-{
-    *r = getR(color);
-    *g = getG(color);
-    *b = getB(color);
-}
-
-int connect_to_pmandel(const char *host, int port, int &width, int &height)
-{
-    sockaddr_in addr;
-    int result;
-    static int started = FALSE;
-    WSADATA wsaData;
-    char err[100];
-    struct hostent *lphost;
-    int optval;
-
-    if (!started)
-    {
-	/* Start the Winsock dll */
-	if ((result = WSAStartup(MAKEWORD(2, 0), &wsaData)) != 0)
-	{
-	    return result;
-	}
-	started = TRUE;
-    }
-    addr.sin_family = AF_INET;
-    lphost = gethostbyname(host);
-    if (lphost != NULL)
-	addr.sin_addr.s_addr = ((struct in_addr *)lphost->h_addr)->s_addr;
-    else
-    {
-	sprintf(err, "gethostbyname failed: error %d", WSAGetLastError());
-	MessageBox(NULL, err, "Error", MB_OK);
-	return -1;
-    }
-    addr.sin_port = htons(port);
-    sock = socket(AF_INET, SOCK_STREAM, 0);
-    if (connect(sock, (sockaddr*)&addr, sizeof(addr)) == SOCKET_ERROR)
-    {
-	sprintf(err, "connect failed: error %d", WSAGetLastError());
-	MessageBox(NULL, err, "Error", MB_OK);
-	return -1;
-    }
-    optval = 1;
-    setsockopt(sock, IPPROTO_TCP, TCP_NODELAY, (char *)&optval, sizeof(optval));
-    result = read_data(sock, (char*)&width, sizeof(int));
-    if (result)
-	return -1;
-    result = read_data(sock, (char*)&height, sizeof(int));
-    if (result)
-	return -1;
-    result = read_data(sock, (char*)&g_num_colors, sizeof(int));
-    if (result)
-	return -1;
-    result = read_data(sock, (char*)&g_max_iter, sizeof(int));
-    if (result)
-	return -1;
-    g_width = width;
-    g_height = height;
-    colors = new color_t[g_max_iter+1];
-    Make_color_array(g_num_colors, g_max_iter, colors);
-    colors[g_max_iter] = 0; /* add one on the top to avoid edge errors */
-    /*
-    sprintf(err, "num_colors = %d", g_num_colors);
-    MessageBox(NULL, err, "Note", MB_OK);
-    */
-    return 0;
-}
-
-int send_xyminmax(double xmin, double ymin, double xmax, double ymax, int max_iter)
-{
-    double temp[4];
-    int result, total;
-    char err[100];
-    RECT r;
-    char *buffer;
-
-    if (xmin != xmax && ymin != ymax && g_hDC)
-    {
-	r.left = 0;
-	r.right = g_width;
-	r.top = 0;
-	r.bottom = g_height;
-	FillRect(g_hDC, &r, (HBRUSH)GetStockObject(BLACK_BRUSH));
-    }
-
-    total = 4 * sizeof(double);
-    temp[0] = xmin;
-    temp[1] = ymin;
-    temp[2] = xmax;
-    temp[3] = ymax;
-    buffer = (char *)temp;
-    while (total)
-    {
-	result = send(sock, (const char *)buffer, total, 0);
-	if (result == SOCKET_ERROR)
-	{
-	    result = WSAGetLastError();
-	    if (result == WSAEWOULDBLOCK)
-	    {
-		timeval t;
-		fd_set set;
-		FD_ZERO(&set);
-		FD_SET(sock, &set);
-		t.tv_sec = 1;
-		t.tv_usec = 0;
-		select(1, NULL, &set, NULL, &t);
-		continue;
-	    }
-	    sprintf(err, "send failed: error %d", result);
-	    MessageBox(NULL, err, "Error", MB_OK);
-	    return -1;
-	}
-	total -= result;
-	buffer += result;
-    }
-
-    total = sizeof(int);
-    buffer = (char*)&max_iter;
-    while (total)
-    {
-	result = send(sock, (const char *)buffer, total, 0);
-	if (result == SOCKET_ERROR)
-	{
-	    result = WSAGetLastError();
-	    if (result == WSAEWOULDBLOCK)
-	    {
-		timeval t;
-		fd_set set;
-		FD_ZERO(&set);
-		FD_SET(sock, &set);
-		t.tv_sec = 1;
-		t.tv_usec = 0;
-		select(1, NULL, &set, NULL, &t);
-		continue;
-	    }
-	    sprintf(err, "send failed: error %d", result);
-	    MessageBox(NULL, err, "Error", MB_OK);
-	    return -1;
-	}
-	total -= result;
-	buffer += result;
-    }
-
-    if (max_iter != g_max_iter)
-    {
-	if (colors)
-	    delete [] colors;
-	g_max_iter = max_iter;
-	colors = new color_t[g_max_iter+1];
-	Make_color_array(g_num_colors, g_max_iter, colors);
-	colors[g_max_iter] = 0; /* add one on the top to avoid edge errors */
-    }
-    return 0;
-}
-
-int read_data(SOCKET sock, char *buffer, int length)
-{
-    int result;
-    int num_bytes;
-    char err[100];
-
-    while (length)
-    {
-	num_bytes = recv(sock, buffer, length, 0);
-	if (num_bytes == SOCKET_ERROR)
-	{
-	    result = WSAGetLastError();
-	    if (result == WSAEWOULDBLOCK)
-	    {
-		timeval t;
-		fd_set set;
-		FD_ZERO(&set);
-		FD_SET(sock, &set);
-		t.tv_sec = 1;
-		t.tv_usec = 0;
-		select(1, &set, NULL, NULL, &t);
-		continue;
-	    }
-	    sprintf(err, "recv failed: error %d", result);
-	    MessageBox(NULL, err, "Error", MB_OK);
-	    return result;
-	}
-	if (num_bytes == 0)
-	{
-	    MessageBox(NULL, "socket connection to pmandel closed", "Error", MB_OK);
-	    return SOCKET_ERROR;
-	}
-	length -= num_bytes;
-	buffer += num_bytes;
-    }
-    return 0;
-}
-
-int get_pmandel_data()
-{
-    int temp[4];
-    int *buffer;
-    int size;
-    int result;
-    int i, j, k;
-    RECT r;
-
-    for (;;)
-    {
-	result = read_data(sock, (char*)temp, 4*sizeof(int));
-	if (result)
-	    return 0;
-	if (temp[0] == 0 && temp[1] == 0 && temp[2] == 0 && temp[3] == 0)
-	    return 0;
-	size = (temp[1] + 1 - temp[0]) * (temp[3] + 1 - temp[2]);
-	buffer = new int[size];
-	result = read_data(sock, (char *)buffer, size * sizeof(int));
-	if (result)
-	{
-	    delete buffer;
-	    return 0;
-	}
-	WaitForSingleObject(g_hMutex, INFINITE);
-	k = 0;
-	for (j=temp[2]; j<=temp[3]; j++)
-	{
-	    for (i=temp[0]; i<=temp[1]; i++)
-	    {
-		//SetPixel(g_hDC, i, j, colors[buffer[k]]);
-		SetPixelV(g_hDC, i, j, colors[buffer[k]]);
-		k++;
-	    }
-	}
-	ReleaseMutex(g_hMutex);
-	r.left = 0;
-	r.right = g_width;
-	r.top = 0;
-	r.bottom = g_height;
-	InvalidateRect(g_hWnd, &r, FALSE);
-	delete buffer;
-    }
-    return 1;
-}
diff --git a/examples/windows/pmandel_vis/stdafx.cpp b/examples/windows/pmandel_vis/stdafx.cpp
deleted file mode 100644
index 381457f..0000000
--- a/examples/windows/pmandel_vis/stdafx.cpp
+++ /dev/null
@@ -1,13 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-// stdafx.cpp : source file that includes just the standard includes
-// pman_vis.pch will be the pre-compiled header
-// stdafx.obj will contain the pre-compiled type information
-
-#include "stdafx.h"
-
-
diff --git a/examples/windows/pmandel_vis/stdafx.h b/examples/windows/pmandel_vis/stdafx.h
deleted file mode 100644
index 1ab3334..0000000
--- a/examples/windows/pmandel_vis/stdafx.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-// stdafx.h : include file for standard system include files,
-// or project specific include files that are used frequently,
-// but are changed infrequently
-
-#pragma once
-
-#ifndef VC_EXTRALEAN
-#define VC_EXTRALEAN		// Exclude rarely-used stuff from Windows headers
-#endif
-
-// Modify the following defines if you have to target a platform prior to the ones specified below.
-// Refer to MSDN for the latest info on corresponding values for different platforms.
-#ifndef WINVER				// Allow use of features specific to Windows 95 and Windows NT 4 or later.
-#define WINVER 0x0400		// Change this to the appropriate value to target Windows 98 and Windows 2000 or later.
-#endif
-
-#ifndef _WIN32_WINNT		// Allow use of features specific to Windows NT 4 or later.
-#define _WIN32_WINNT 0x0400		// Change this to the appropriate value to target Windows 98 and Windows 2000 or later.
-#endif						
-
-#ifndef _WIN32_WINDOWS		// Allow use of features specific to Windows 98 or later.
-#define _WIN32_WINDOWS 0x0410 // Change this to the appropriate value to target Windows Me or later.
-#endif
-
-#ifndef _WIN32_IE			// Allow use of features specific to IE 4.0 or later.
-#define _WIN32_IE 0x0400	// Change this to the appropriate value to target IE 5.0 or later.
-#endif
-
-#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS	// some CString constructors will be explicit
-
-// turns off MFC's hiding of some common and often safely ignored warning messages
-#define _AFX_ALL_WARNINGS
-
-#include <afxwin.h>         // MFC core and standard components
-#include <afxext.h>         // MFC extensions
-#include <afxdisp.h>        // MFC Automation classes
-
-#include <afxdtctl.h>		// MFC support for Internet Explorer 4 Common Controls
-#ifndef _AFX_NO_AFXCMN_SUPPORT
-#include <afxcmn.h>			// MFC support for Windows Common Controls
-#endif // _AFX_NO_AFXCMN_SUPPORT
-
diff --git a/examples/windows/pmandel_vis_net/App.ico b/examples/windows/pmandel_vis_net/App.ico
deleted file mode 100644
index 3a5525f..0000000
Binary files a/examples/windows/pmandel_vis_net/App.ico and /dev/null differ
diff --git a/examples/windows/pmandel_vis_net/AssemblyInfo.cs b/examples/windows/pmandel_vis_net/AssemblyInfo.cs
deleted file mode 100644
index 9f89a32..0000000
--- a/examples/windows/pmandel_vis_net/AssemblyInfo.cs
+++ /dev/null
@@ -1,58 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-
-//
-// General Information about an assembly is controlled through the following 
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-//
-[assembly: AssemblyTitle("")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("")]
-[assembly: AssemblyCopyright("")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]		
-
-//
-// Version information for an assembly consists of the following four values:
-//
-//      Major Version
-//      Minor Version 
-//      Build Number
-//      Revision
-//
-// You can specify all the values or you can default the Revision and Build Numbers 
-// by using the '*' as shown below:
-
-[assembly: AssemblyVersion("1.0.*")]
-
-//
-// In order to sign your assembly you must specify a key to use. Refer to the 
-// Microsoft .NET Framework documentation for more information on assembly signing.
-//
-// Use the attributes below to control which key is used for signing. 
-//
-// Notes: 
-//   (*) If no key is specified, the assembly is not signed.
-//   (*) KeyName refers to a key that has been installed in the Crypto Service
-//       Provider (CSP) on your machine. KeyFile refers to a file which contains
-//       a key.
-//   (*) If the KeyFile and the KeyName values are both specified, the 
-//       following processing occurs:
-//       (1) If the KeyName can be found in the CSP, that key is used.
-//       (2) If the KeyName does not exist and the KeyFile does exist, the key 
-//           in the KeyFile is installed into the CSP and used.
-//   (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
-//       When specifying the KeyFile, the location of the KeyFile should be
-//       relative to the project output directory which is
-//       %Project Directory%\obj\<configuration>. For example, if your KeyFile is
-//       located in the project directory, you would specify the AssemblyKeyFile 
-//       attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
-//   (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
-//       documentation for more information on this.
-//
-[assembly: AssemblyDelaySign(false)]
-[assembly: AssemblyKeyFile("")]
-[assembly: AssemblyKeyName("")]
diff --git a/examples/windows/pmandel_vis_net/Form.cs b/examples/windows/pmandel_vis_net/Form.cs
deleted file mode 100644
index 8fb8f57..0000000
--- a/examples/windows/pmandel_vis_net/Form.cs
+++ /dev/null
@@ -1,1096 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-using System;
-using System.Drawing;
-using System.Collections;
-using System.ComponentModel;
-using System.Windows.Forms;
-using System.Data;
-using System.Net;
-using System.Net.Sockets;
-using System.IO;
-using System.Threading;
-using System.Text;
-using System.Collections.Specialized;
-
-namespace MandelViewer
-{
-	public class MandelViewerForm : System.Windows.Forms.Form
-	{
-		private System.Windows.Forms.Button connect_button;
-		private System.Windows.Forms.TextBox host;
-		private System.Windows.Forms.TextBox port;
-		private System.Windows.Forms.PictureBox outputBox;
-		private bool bConnected = false;
-		private TcpClient sock = null;
-		private static BinaryWriter sock_writer = null;
-		private static BinaryReader sock_reader = null;
-		private static Bitmap bitmap = null;
-		private int nWidth, nHeight;
-		private static int nNumColors = 100;
-		private static int nMax = 100;
-		private static Color [] colors = null;
-		private static double xmin = -1.0, ymin = -1.0, xmax = 1.0, ymax = 1.0;
-		private static bool bDrawing = false;
-		private static PictureBox pBox = null;
-		private Point p1, p2;
-		private Thread thread = null;
-		private System.Windows.Forms.Button demo_button;
-		private System.Windows.Forms.ComboBox points_comboBox;
-		private Rectangle rBox;
-		private System.Windows.Forms.Button go_stop_button;
-		private static ArrayList demo_list = null;
-		private static bool bDemoMode = false;
-		private static int demo_iter = 0;
-		private static MandelViewerForm form = null;
-
-		static void work_thread()
-		{
-			int [] temp = new int[4];
-			int [] buffer = null;
-			int size;
-			int i, j, k;
-			Graphics g;
-
-			do
-			{
-				try
-				{
-					g = Graphics.FromImage(bitmap);
-					g.Clear(Color.Black);
-					g.Dispose();
-					g = null;
-					pBox.Invalidate();
-
-					if (bDemoMode)
-					{
-						if (demo_list != null)
-						{
-							if (demo_list.Count > demo_iter)
-							{
-								xmin = ((ExamplePoint)demo_list[demo_iter]).xmin;
-								ymin = ((ExamplePoint)demo_list[demo_iter]).ymin;
-								xmax = ((ExamplePoint)demo_list[demo_iter]).xmax;
-								ymax = ((ExamplePoint)demo_list[demo_iter]).ymax;
-								nMax = ((ExamplePoint)demo_list[demo_iter]).max_iter;
-								if (((ExamplePoint)demo_list[demo_iter]).name != null)
-									form.Text = "Mandelbrot Viewer - " + ((ExamplePoint)demo_list[demo_iter]).name;
-								else
-									form.Text = String.Format("Mandelbrot Viewer - {0}", demo_iter);
-								colors = new Color[nMax+1];
-								ColorRainbow.Make_color_array(nNumColors, colors);
-								colors[nMax] = Color.FromKnownColor(KnownColor.Black); // add one on the top to avoid edge errors
-							}
-							demo_iter++;
-							if (demo_iter >= demo_list.Count)
-								demo_iter = 0;
-						}
-					}
-
-					if (colors.Length != nMax + 1)
-					{
-						colors = new Color[nMax+1];
-						ColorRainbow.Make_color_array(nNumColors, colors);
-						colors[nMax] = Color.FromKnownColor(KnownColor.Black); // add one on the top to avoid edge errors
-					}
-					sock_writer.Write(xmin);
-					sock_writer.Write(ymin);
-					sock_writer.Write(xmax);
-					sock_writer.Write(ymax);
-					sock_writer.Write(nMax);
-
-					for (;;)
-					{
-						temp[0] = sock_reader.ReadInt32();
-						temp[1] = sock_reader.ReadInt32();
-						temp[2] = sock_reader.ReadInt32();
-						temp[3] = sock_reader.ReadInt32();
-						if (temp[0] == 0 && temp[1] == 0 && temp[2] == 0 && temp[3] == 0)
-						{
-							if (bDemoMode)
-							{
-								Thread.Sleep(5000);
-								break;
-							}
-							bDrawing = false;
-							return;
-						}
-
-						size = (temp[1] + 1 - temp[0]) * (temp[3] + 1 - temp[2]);
-						buffer = new int[size];
-
-						for (i=0; i<size; i++)
-							buffer[i] = sock_reader.ReadInt32();
-
-						int max_color = colors.Length;
-						Random rand = new Random();
-						try
-						{
-							lock (bitmap)
-							{
-								k = 0;
-								for (j=temp[2]; j<=temp[3]; j++)
-								{
-									for (i=temp[0]; i<=temp[1]; i++)
-									{
-										//bitmap.SetPixel(i, j, colors[buffer[k]]);
-										
-										if (buffer[k] >= 0 && buffer[k] < max_color)
-											bitmap.SetPixel(i, j, colors[buffer[k]]);
-										else
-										{
-											bitmap.SetPixel(i, j, Color.FromArgb(rand.Next(0, 255), rand.Next(0, 255), rand.Next(0,255)));
-										}
-										
-										k++;
-									}
-								}
-							}
-						}
-						catch (Exception e)
-						{
-							MessageBox.Show("exception thrown while accessing bitmap: " + e.Message, "Error");
-						}
-						pBox.Invalidate();
-					}
-				}
-				catch (Exception e)
-				{
-					// do something with the exception
-					MessageBox.Show("Exception thrown in worker thread: " + e.Message, "Error");
-					break;
-				}
-			} while (bDemoMode);
-			bDrawing = false;
-		}
-
-		/// <summary>
-		/// Required designer variable.
-		/// </summary>
-		private System.ComponentModel.Container components = null;
-
-		public MandelViewerForm()
-		{
-			InitializeComponent();
-
-			try
-			{
-				// This throws a security exception if you are on a network share or
-				// running from the web.
-				host.Text = System.Environment.MachineName;
-			} 
-			catch (Exception)
-			{
-				host.Text = "localhost";
-			}
-			port.Text = "7470";
-			p1 = new Point(0,0);
-			p2 = new Point(0,0);
-			rBox = new Rectangle(0,0,0,0);
-			go_stop_button.Enabled = false;
-		}
-
-		/// <summary>
-		/// Clean up any resources being used.
-		/// </summary>
-		protected override void Dispose( bool disposing )
-		{
-			if( disposing )
-			{
-				if (components != null) 
-				{
-					components.Dispose();
-				}
-			}
-			base.Dispose( disposing );
-		}
-
-		#region Windows Form Designer generated code
-		/// <summary>
-		/// Required method for Designer support - do not modify
-		/// the contents of this method with the code editor.
-		/// </summary>
-		private void InitializeComponent()
-		{
-			this.connect_button = new System.Windows.Forms.Button();
-			this.host = new System.Windows.Forms.TextBox();
-			this.port = new System.Windows.Forms.TextBox();
-			this.outputBox = new System.Windows.Forms.PictureBox();
-			this.demo_button = new System.Windows.Forms.Button();
-			this.points_comboBox = new System.Windows.Forms.ComboBox();
-			this.go_stop_button = new System.Windows.Forms.Button();
-			this.SuspendLayout();
-			// 
-			// connect_button
-			// 
-			this.connect_button.Location = new System.Drawing.Point(8, 8);
-			this.connect_button.Name = "connect_button";
-			this.connect_button.Size = new System.Drawing.Size(56, 23);
-			this.connect_button.TabIndex = 0;
-			this.connect_button.Text = "Connect";
-			this.connect_button.Click += new System.EventHandler(this.connect_button_Click);
-			// 
-			// host
-			// 
-			this.host.Location = new System.Drawing.Point(72, 8);
-			this.host.Name = "host";
-			this.host.TabIndex = 1;
-			this.host.Text = "host";
-			// 
-			// port
-			// 
-			this.port.Location = new System.Drawing.Point(176, 8);
-			this.port.Name = "port";
-			this.port.Size = new System.Drawing.Size(40, 20);
-			this.port.TabIndex = 2;
-			this.port.Text = "7470";
-			// 
-			// outputBox
-			// 
-			this.outputBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
-				| System.Windows.Forms.AnchorStyles.Left) 
-				| System.Windows.Forms.AnchorStyles.Right)));
-			this.outputBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
-			this.outputBox.Location = new System.Drawing.Point(8, 40);
-			this.outputBox.Name = "outputBox";
-			this.outputBox.Size = new System.Drawing.Size(760, 760);
-			this.outputBox.TabIndex = 3;
-			this.outputBox.TabStop = false;
-			this.outputBox.Paint += new System.Windows.Forms.PaintEventHandler(this.outputBox_Paint);
-			this.outputBox.MouseUp += new System.Windows.Forms.MouseEventHandler(this.outputBox_MouseUp);
-			this.outputBox.MouseMove += new System.Windows.Forms.MouseEventHandler(this.outputBox_MouseMove);
-			this.outputBox.MouseDown += new System.Windows.Forms.MouseEventHandler(this.outputBox_MouseDown);
-			// 
-			// demo_button
-			// 
-			this.demo_button.Location = new System.Drawing.Point(224, 8);
-			this.demo_button.Name = "demo_button";
-			this.demo_button.Size = new System.Drawing.Size(88, 23);
-			this.demo_button.TabIndex = 4;
-			this.demo_button.Text = "Demo Points";
-			this.demo_button.Click += new System.EventHandler(this.demo_button_Click);
-			// 
-			// points_comboBox
-			// 
-			this.points_comboBox.Location = new System.Drawing.Point(320, 8);
-			this.points_comboBox.MaxDropDownItems = 20;
-			this.points_comboBox.Name = "points_comboBox";
-			this.points_comboBox.Size = new System.Drawing.Size(400, 21);
-			this.points_comboBox.TabIndex = 5;
-			this.points_comboBox.Text = "points";
-			this.points_comboBox.DropDown += new System.EventHandler(this.points_comboBox_DropDown);
-			this.points_comboBox.SelectedValueChanged += new System.EventHandler(this.points_comboBox_SelectedValueChanged);
-			// 
-			// go_stop_button
-			// 
-			this.go_stop_button.Location = new System.Drawing.Point(728, 8);
-			this.go_stop_button.Name = "go_stop_button";
-			this.go_stop_button.Size = new System.Drawing.Size(40, 23);
-			this.go_stop_button.TabIndex = 6;
-			this.go_stop_button.Text = "Go";
-			this.go_stop_button.Click += new System.EventHandler(this.go_stop_button_Click);
-			// 
-			// MandelViewerForm
-			// 
-			this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
-			this.ClientSize = new System.Drawing.Size(776, 811);
-			this.Controls.Add(this.go_stop_button);
-			this.Controls.Add(this.points_comboBox);
-			this.Controls.Add(this.demo_button);
-			this.Controls.Add(this.outputBox);
-			this.Controls.Add(this.port);
-			this.Controls.Add(this.host);
-			this.Controls.Add(this.connect_button);
-			this.Name = "MandelViewerForm";
-			this.Text = "Mandelbrot Viewer";
-			this.Resize += new System.EventHandler(this.MandelViewerForm_Resize);
-			this.ResumeLayout(false);
-
-		}
-		#endregion
-
-		/// <summary>
-		/// The main entry point for the application.
-		/// </summary>
-		[STAThread]
-		static void Main() 
-		{
-			double d = 0.0;
-			int i = 0;
-			form = new MandelViewerForm();
-			Application.Run(form);
-			try
-			{
-				// tell the mpi program to stop
-				MandelViewerForm.sock_writer.Write(d);
-				MandelViewerForm.sock_writer.Write(d);
-				MandelViewerForm.sock_writer.Write(d);
-				MandelViewerForm.sock_writer.Write(d);
-				MandelViewerForm.sock_writer.Write(i);
-			}
-			catch (Exception)
-			{
-				// Do nothing.  It just means that the socket connection to the pmandel program is broken.
-			}
-		}
-
-		private void connect_button_Click(object sender, System.EventArgs e)
-		{
-			if (bConnected)
-			{
-				MessageBox.Show("You may only connect once", "Note");
-				return;
-			}
-
-			try
-			{
-				sock = new TcpClient(host.Text, Convert.ToInt32(port.Text));
-				if (sock == null)
-				{
-					MessageBox.Show("Unable to connect to " + host.Text + " on port " + port.Text, "Error");
-					return;
-				}
-			}
-			catch(SocketException exception)
-			{
-				MessageBox.Show("Unable to connect to " + host.Text + " on port " + port.Text + ", " + exception.Message, "Error");
-				return;
-			}
-			bConnected = true;
-			sock_writer = new BinaryWriter(sock.GetStream());
-			sock_reader = new BinaryReader(sock.GetStream());
-
-			nWidth = sock_reader.ReadInt32();
-			nHeight = sock_reader.ReadInt32();
-			nNumColors = sock_reader.ReadInt32();
-			nMax = sock_reader.ReadInt32();
-			//MessageBox.Show(String.Format("Width: {0}, Height: {1}, num_colors: {2}", nWidth, nHeight, nNumColors), "Note");
-			// validate input values
-			if (nWidth > 2048)
-				nWidth = 2048;
-			if (nWidth < 1)
-				nWidth = 768;
-			if (nHeight > 2048)
-				nHeight = 2048;
-			if (nHeight < 1)
-				nHeight = 768;
-			if (nNumColors > 1024)
-				nNumColors = 1024;
-			if (nNumColors < 1)
-				nNumColors = 128;
-			if (nMax < 1)
-				nMax = 100;
-			if (nMax > 5000)
-				nMax = 5000;
-			colors = new Color[nMax+1];
-			ColorRainbow.Make_color_array(nNumColors, colors);
-			colors[nMax] = Color.FromKnownColor(KnownColor.Black); // add one on the top to avoid edge errors
-			bitmap = new Bitmap(nWidth, nHeight, System.Drawing.Imaging.PixelFormat.Format24bppRgb);
-			Graphics g;
-			g = Graphics.FromImage(bitmap);
-			g.Clear(Color.FromKnownColor(KnownColor.Black));
-			g.Dispose();
-
-			/*
-			Rectangle rButton = connect_button.Bounds;
-			Rectangle rBox = outputBox.Bounds;
-			outputBox.SetBounds(rButton.Left, rButton.Top, rBox.Width, rBox.Height + (rBox.Top - rButton.Top));
-			connect_button.Hide();
-			host.Hide();
-			port.Hide();
-			outputBox.Invalidate();
-			*/
-			connect_button.Enabled = false;
-			host.ReadOnly = true;
-			port.ReadOnly = true;
-			if (demo_list != null && demo_list.Count > 0)
-			{
-				go_stop_button.Enabled = true;
-			}
-
-			bDrawing = true;
-			pBox = outputBox;
-			ThreadStart threadProc = new ThreadStart(work_thread);
-		    thread = new Thread(threadProc);
-			thread.Start();
-		}
-
-		private void outputBox_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
-		{
-			if (bConnected && bitmap != null)
-			{
-				lock (bitmap)
-				{
-					e.Graphics.DrawImage(bitmap, 0, 0, outputBox.Size.Width, outputBox.Size.Height);
-					if (rBox.Width > 0 && rBox.Height > 0)
-					{
-						SolidBrush brush = new SolidBrush(Color.FromArgb(198,255,255,0));
-						e.Graphics.FillRectangle(brush, rBox);
-					}
-				}
-			}
-		}
-
-		private void MandelViewerForm_Resize(object sender, System.EventArgs e)
-		{
-			if (bConnected)
-			{
-				outputBox.Invalidate();
-			}
-		}
-
-		private void outputBox_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
-		{
-			if (!bDrawing && e.Button == MouseButtons.Left)
-			{
-				p1 = new Point(e.X, e.Y);
-				rBox = new Rectangle(p1.X, p1.Y, 0, 0);
-			}
-		}
-
-		private void outputBox_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
-		{
-			if (!bDrawing && e.Button == MouseButtons.Left)
-			{
-				int x, y;
-				p2 = new Point(e.X, e.Y);
-				x = Math.Min(p1.X, p2.X);
-				y = Math.Min(p1.Y, p2.Y);
-				rBox = new Rectangle(x, y, Math.Max(p1.X, p2.X) - x, Math.Max(p1.Y, p2.Y) - y);
-				outputBox.Invalidate();
-			}
-		}
-
-		private void outputBox_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
-		{
-			if (e.Button == MouseButtons.Left)
-			{
-				if (!bDrawing && thread != null)
-				{
-					Rectangle r;
-					double x1,y1,x2,y2;
-					double width, height, pixel_width, pixel_height;
-					int x, y;
-
-					if (p1.X == e.X && p1.Y == e.Y)
-					{
-						return;
-					}
-
-					p2 = new Point(e.X, e.Y);
-					x = Math.Min(p1.X, p2.X);
-					y = Math.Min(p1.Y, p2.Y);
-
-					thread.Join();
-
-					r = new Rectangle(x, y, Math.Max(p1.X, p2.X) - x, Math.Max(p1.Y, p2.Y) - y);
-					width = xmax - xmin;
-					height = ymax - ymin;
-					pixel_width = outputBox.Width;
-					pixel_height = outputBox.Height;
-					x1 = xmin + ((double)r.Left * width / pixel_width);
-					x2 = xmin + ((double)r.Right * width / pixel_width);
-					y2 = ymin + ((double)(pixel_height - r.Top) * height / pixel_height);
-					y1 = ymin + ((double)(pixel_height - r.Bottom) * height / pixel_height);
-					xmin = x1;
-					xmax = x2;
-					ymin = y1;
-					ymax = y2;
-
-					ExamplePoint ep = new ExamplePoint(xmin, ymin, xmax, ymax, nMax, "dragged");
-					Text = "Mandelbrot Viewer" + ep.ToShortString();
-
-					bDrawing = true;
-					ThreadStart threadProc = new ThreadStart(work_thread);
-					thread = new Thread(threadProc);
-					thread.Start();
-
-					rBox = new Rectangle(x, y, 0, 0);
-					outputBox.Invalidate();
-				}
-			}
-			if (e.Button == MouseButtons.Right)
-			{
-				if (!bDrawing && thread != null)
-				{
-					thread.Join();
-
-					xmin = -1.0;
-					xmax = 1.0;
-					ymin = -1.0;
-					ymax = 1.0;
-
-					bDrawing = true;
-					ThreadStart threadProc = new ThreadStart(work_thread);
-					thread = new Thread(threadProc);
-					thread.Start();
-
-					rBox = new Rectangle(0, 0, 0, 0);
-					outputBox.Invalidate();
-				}
-			}
-		}
-
-		private void demo_button_Click(object sender, System.EventArgs e)
-		{
-			if (demo_list == null)
-				demo_list = new ArrayList();
-			OpenFileDialog dlg = new OpenFileDialog();
-
-			dlg.InitialDirectory = "c:\\";
-			dlg.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
-			dlg.FilterIndex = 1;
-			dlg.RestoreDirectory = true;
-
-			if(dlg.ShowDialog() == DialogResult.OK)
-			{
-				using (StreamReader sr = new StreamReader(dlg.OpenFile()))
-				{
-					String line;
-					bool first = true;
-
-					while ((line = sr.ReadLine()) != null) 
-					{
-						line.Trim();
-						if (line.Length > 0 && line[0] != '#')
-						{
-							ExamplePoint node = new ExamplePoint();
-							if (node.FromString(line))
-							{
-								if (first)
-								{
-									demo_list.Clear(); // new list replaces the old
-									first = false;
-								}
-								demo_list.Add(node);
-							}
-						}
-					}
-					sr.Close();
-
-					points_comboBox.Items.Clear();
-					for (int i=0; i<demo_list.Count; i++)
-					{
-						//MessageBox.Show(((ExamplePoint)demo_list[i]).ToString(), String.Format("demo: {0}", i));
-						points_comboBox.Items.Add(((ExamplePoint)demo_list[i]).ToString());
-					}
-					points_comboBox.SelectedIndex = 0;
-					if (connect_button.Enabled == false)
-					{
-						go_stop_button.Enabled = true;
-					}
-				}
-			}
-		}
-
-		private void go_stop_button_Click(object sender, System.EventArgs e)
-		{
-			if (bDemoMode)
-			{
-				go_stop_button.Text = "Go";
-				bDemoMode = false;
-			}
-			else
-			{
-				go_stop_button.Text = "Stop";
-				bDemoMode = true;
-				if (!bDrawing && thread != null)
-				{
-					thread.Join();
-
-					bDrawing = true;
-					ThreadStart threadProc = new ThreadStart(work_thread);
-					thread = new Thread(threadProc);
-					thread.Start();
-
-					rBox = new Rectangle(0, 0, 0, 0);
-					outputBox.Invalidate();
-				}
-			}
-		}
-
-		private void points_comboBox_SelectedValueChanged(object sender, System.EventArgs e)
-		{
-			if (!bDrawing && thread != null)
-			{
-				thread.Join();
-
-				ExamplePoint p = new ExamplePoint();
-				if (p.FromString(points_comboBox.SelectedItem.ToString()))
-				{
-					xmin = p.xmin;
-					xmax = p.xmax;
-					ymin = p.ymin;
-					ymax = p.ymax;
-					nMax = p.max_iter;
-
-					if (p.name != null && p.name != "")
-						Text = "Mandelbrot Viewer - " + p.name;
-					else
-						Text = "Mandelbrot Viewer";
-
-					bDrawing = true;
-					ThreadStart threadProc = new ThreadStart(work_thread);
-					thread = new Thread(threadProc);
-					thread.Start();
-
-					rBox = new Rectangle(0, 0, 0, 0);
-					outputBox.Invalidate();
-				}
-			}
-		}
-
-		private void points_comboBox_DropDown(object sender, System.EventArgs e)
-		{
-			ComboBox senderComboBox = (ComboBox)sender;
-			int width = senderComboBox.DropDownWidth;
-			Graphics g = senderComboBox.CreateGraphics();
-			Font font = senderComboBox.Font;
-			int vertScrollBarWidth = 0;
-
-			if (senderComboBox.Items.Count>senderComboBox.MaxDropDownItems)
-				vertScrollBarWidth = SystemInformation.VerticalScrollBarWidth;
-
-			int newWidth;
-			foreach (string s in ((ComboBox)sender).Items)
-			{
-				newWidth = (int) g.MeasureString(s, font).Width 
-					+ vertScrollBarWidth;
-				if (width < newWidth )
-				{
-					width = newWidth;
-				}
-			}
-			senderComboBox.DropDownWidth = width;		
-		}
-	}
-
-	public class ExamplePoint
-	{
-		public double xmin;
-		public double ymin;
-		public double xmax;
-		public double ymax;
-		public int max_iter;
-		public string name;
-
-		public ExamplePoint()
-		{
-			xmin = -1;
-			xmax = 1;
-			ymin = -1;
-			ymax = 1;
-			max_iter = 100;
-			name = null;
-		}
-		public ExamplePoint(double x0, double y0, double x1, double y1, int m)
-		{
-			xmin = x0;
-			ymin = y0;
-			xmax = x1;
-			ymax = y1;
-			max_iter = m;
-			name = null;
-		}
-		public ExamplePoint(double x0, double y0, double x1, double y1, int m, string n)
-		{
-			xmin = x0;
-			ymin = y0;
-			xmax = x1;
-			ymax = y1;
-			max_iter = m;
-			name = n;
-		}
-		public ExamplePoint(string s)
-		{
-			xmin = -1;
-			xmax = 1;
-			ymin = -1;
-			ymax = 1;
-			max_iter = 100;
-			name = null;
-			FromString(s);
-		}
-		public bool FromString(string s)
-		{
-			double xcenter = 0;
-			double ycenter = 0;
-			double radius = 0;
-			xmin = -2;
-			xmax = 2;
-			ymin = -2;
-			ymax = 2;
-			max_iter = 100;
-			name = null;
-			bool bxmin=false, bxmax=false, bymin=false, bymax=false;
-
-			int index = 0;
-			string [] ss;
-			int n_range = 0;
-			StringArgParser p = new StringArgParser();
-			ss = p.ParseStrings(s);
-			if (ss != null && ss.Length > 0)
-			{
-				while (index < ss.Length)
-				{
-					string str;
-					str = ss[index];
-					str.Trim();
-					index++;
-					if (str.Length > 1 && str[0] == '(' && str[str.Length-1] == ')')
-					{
-						double x,y;
-						string inside = str.Substring(1, str.Length-2);
-						if (inside != null && inside.Length > 0)
-						{
-							string [] range_strings;
-							range_strings = inside.Split(',');
-							if (range_strings != null && range_strings.Length == 2)
-							{
-								x = Convert.ToDouble(range_strings[0]);
-								y = Convert.ToDouble(range_strings[1]);
-								if (n_range == 0)
-								{
-									xmin = x;
-									ymin = y;
-									bxmin = bymin = true;
-								}
-								else if (n_range == 1)
-								{
-									xmax = x;
-									ymax = y;
-									bxmax = bymax = true;
-								}
-								n_range++;
-							}
-						}
-					}
-					else if (str == "-rmin")
-					{
-						if (index < ss.Length)
-						{
-							xmin = Convert.ToDouble(ss[index]);
-							bxmin = true;
-							index++;
-						}
-					}
-					else if (str == "-rmax")
-					{
-						if (index < ss.Length)
-						{
-							xmax = Convert.ToDouble(ss[index]);
-							bxmax = true;
-							index++;
-						}
-					}
-					else if (str == "-imin")
-					{
-						if (index < ss.Length)
-						{
-							ymin = Convert.ToDouble(ss[index]);
-							bymin = true;
-							index++;
-						}
-					}
-					else if (str == "-imax")
-					{
-						if (index < ss.Length)
-						{
-							ymax = Convert.ToDouble(ss[index]);
-							bymax = true;
-							index++;
-						}
-					}
-					else if (str == "-rcenter")
-					{
-						if (index < ss.Length)
-						{
-							xcenter = Convert.ToDouble(ss[index]);
-							index++;
-						}
-					}
-					else if (str == "-icenter")
-					{
-						if (index < ss.Length)
-						{
-							ycenter = Convert.ToDouble(ss[index]);
-							index++;
-						}
-					}
-					else if (str == "-radius")
-					{
-						if (index < ss.Length)
-						{
-							radius = Convert.ToDouble(ss[index]);
-							index++;
-						}
-					}
-					else if (str == "max_iter" || str == "-max_iter" || str == "-maxiter")
-					{
-						if (index < ss.Length)
-						{
-							max_iter = Convert.ToInt32(ss[index]);
-							index++;
-						}
-					}
-					else if (str == "name" || str == "-name")
-					{
-						if (index < ss.Length)
-						{
-							name = ss[index];
-							index++;
-						}
-					}
-				}
-			}
-
-			if (radius != 0)
-			{
-				xmin = xcenter - radius;
-				xmax = xcenter + radius;
-				ymin = ycenter - radius;
-				ymax = ycenter + radius;
-				bxmin = bymin = bxmax = bymax = true;
-			}
-
-			if (xmin > xmax)
-			{
-				double d;
-				d = xmin;
-				xmin = xmax;
-				xmax = d;
-			}
-			if (ymin > ymax)
-			{
-				double d;
-				d = ymin;
-				ymin = ymax;
-				ymax = d;
-			}
-			if (xmin < -2)
-				xmin = -2;
-			if (xmax > 2)
-				xmax = 2;
-			if (ymin < -2)
-				ymin = -2;
-			if (ymax > 2)
-				ymax = 2;
-			if (max_iter < 1)
-				max_iter = 100;
-			if (max_iter > 10000)
-				max_iter = 100;
-			if (bxmin == true && bymin == true && bxmax == true && bymax == true)
-				return true;
-			return false;
-		}
-		public override string ToString()
-		{
-			if (name == null)
-			{
-				return String.Format("({0},{1}) ({2},{3}) max_iter {4}",
-					xmin, ymin, xmax, ymax, max_iter);
-			}
-			else
-			{
-				return String.Format("({0},{1}) ({2},{3}) max_iter {4} name \"{5}\"",
-					xmin, ymin, xmax, ymax, max_iter, name);
-			}
-		}
-		public string ToShortString()
-		{
-			if (name == null)
-			{
-				return String.Format("({0},{1}) ({2},{3}) max_iter {4}",
-					xmin.ToString("#.##E0"), ymin.ToString("#.##E0"), xmax.ToString("#.##E0"), ymax.ToString("#.##E0"), max_iter);
-			}
-			else
-			{
-				return String.Format("({0},{1}) ({2},{3}) max_iter {4} name \"{5}\"",
-					xmin.ToString("#.##E0"), ymin.ToString("#.##E0"), xmax.ToString("#.##E0"), ymax.ToString("#.##E0"), max_iter, name);
-			}
-		}
-	}
-
-	public class ColorRainbow
-	{
-		static public Color getColor(double fraction, double intensity)
-		{
-			/* fraction is a part of the rainbow (0.0 - 1.0) = (Red-Yellow-Green-Cyan-Blue-Magenta-Red)
-			intensity (0.0 - 1.0) 0 = black, 1 = full color, 2 = white
-			*/
-			double red, green, blue;
-			int r,g,b;
-			double dtemp;
-
-			//fraction = Math.Abs(modf(fraction, &dtemp));
-			fraction = Math.Abs(fraction - Math.Floor(fraction));
-
-			if (intensity > 2.0)
-				intensity = 2.0;
-			if (intensity < 0.0)
-				intensity = 0.0;
-
-			dtemp = 1.0/6.0;
-
-			if (fraction < 1.0/6.0)
-			{
-				red = 1.0;
-				green = fraction / dtemp;
-				blue = 0.0;
-			}
-			else
-			{
-				if (fraction < 1.0/3.0)
-				{
-					red = 1.0 - ((fraction - dtemp) / dtemp);
-					green = 1.0;
-					blue = 0.0;
-				}
-				else
-				{
-					if (fraction < 0.5)
-					{
-						red = 0.0;
-						green = 1.0;
-						blue = (fraction - (dtemp*2.0)) / dtemp;
-					}
-					else
-					{
-						if (fraction < 2.0/3.0)
-						{
-							red = 0.0;
-							green = 1.0 - ((fraction - (dtemp*3.0)) / dtemp);
-							blue = 1.0;
-						}
-						else
-						{
-							if (fraction < 5.0/6.0)
-							{
-								red = (fraction - (dtemp*4.0)) / dtemp;
-								green = 0.0;
-								blue = 1.0;
-							}
-							else
-							{
-								red = 1.0;
-								green = 0.0;
-								blue = 1.0 - ((fraction - (dtemp*5.0)) / dtemp);
-							}
-						}
-					}
-				}
-			}
-
-			if (intensity > 1)
-			{
-				intensity = intensity - 1.0;
-				red = red + ((1.0 - red) * intensity);
-				green = green + ((1.0 - green) * intensity);
-				blue = blue + ((1.0 - blue) * intensity);
-			}
-			else
-			{
-				red = red * intensity;
-				green = green * intensity;
-				blue = blue * intensity;
-			}
-
-			r = (int)(red * 255.0);
-			g = (int)(green * 255.0);
-			b = (int)(blue * 255.0);
-
-			return Color.FromArgb(r,g,b);
-		}
-
-		public static void Make_color_array(int num_colors, Color[] colors)
-		{
-			double fraction, intensity;
-			int i;
-			int max;
-
-			max = colors.Length;
-			intensity = 1.0;
-			for (i=0; i<max; i++)
-			{
-				fraction = (double)(i % num_colors) / (double)num_colors;
-				colors[i] = getColor(fraction, intensity);
-			}
-		}
-	}
-	public class StringArgParser
-	{
-		public string [] ParseStrings(string str)
-		{
-			string [] stemp;
-			string [] return_strings;
-			StringCollection s = new StringCollection();
-			if (str.Length < 1)
-				return null;
-			while (str != null)
-			{
-				stemp = ParseString(str);
-				if (stemp != null)
-				{
-					s.Add(stemp[0]);
-					str = stemp[1];
-				}
-				else
-				{
-					str = null;
-				}
-			}
-			return_strings = new string[s.Count];
-			for (int i=0; i<s.Count; i++)
-				return_strings[i] = s[i];
-			return return_strings;
-		}
-		string [] ParseString(string str)
-		{
-			int index = 0;
-			StringBuilder s = new StringBuilder();
-			String s2;
-			string [] return_string;
-
-			if (str == null)
-				return null;
-			while (index < str.Length && str[index] == ' ')
-				index++;
-			if (index == str.Length)
-				return null;
-			if (str[index] == '"')
-			{
-				// parse quoted
-				index++; // step over the first quote character
-				while (index < str.Length && str[index] != '"')
-				{
-					s.Append(str[index]);
-					index++;
-				}
-				if (index < str.Length)
-					index++; // step over the second quote
-			}
-			else
-			{
-				// parse literal
-				while (index < str.Length && str[index] != ' ')
-				{
-					s.Append(str[index]);
-					index++;
-				}
-			}
-			while (index < str.Length && str[index] == ' ')
-				index++;
-			if (index < str.Length)
-				s2 = str.Substring(index, str.Length - index);
-			else
-				s2 = null;
-			return_string = new string[2];
-			return_string[0] = s.ToString();
-			return_string[1] = s2;
-			return return_string;
-		}
-	}
-}
diff --git a/examples/windows/pmandel_vis_net/Form.resx b/examples/windows/pmandel_vis_net/Form.resx
deleted file mode 100644
index 437470b..0000000
--- a/examples/windows/pmandel_vis_net/Form.resx
+++ /dev/null
@@ -1,193 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 1.3
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">1.3</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1">this is my long string</data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        [base64 mime encoded serialized .NET Framework object]
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        [base64 mime encoded string representing a byte array form of the .NET Framework object]
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used forserialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>1.3</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <data name="connect_button.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="connect_button.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="connect_button.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="host.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="host.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="host.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="port.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="port.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="port.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="outputBox.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="outputBox.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="outputBox.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="demo_button.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="demo_button.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="demo_button.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="points_comboBox.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="points_comboBox.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="points_comboBox.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="go_stop_button.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="go_stop_button.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="go_stop_button.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>(Default)</value>
-  </data>
-  <data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>8, 8</value>
-  </data>
-  <data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </data>
-  <data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>80</value>
-  </data>
-  <data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </data>
-  <data name="$this.Name">
-    <value>MandelViewerForm</value>
-  </data>
-  <data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-</root>
\ No newline at end of file
diff --git a/examples/windows/pmandel_vis_net/MandelViewer.csproj b/examples/windows/pmandel_vis_net/MandelViewer.csproj
deleted file mode 100644
index ee6db91..0000000
--- a/examples/windows/pmandel_vis_net/MandelViewer.csproj
+++ /dev/null
@@ -1,136 +0,0 @@
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <ProjectType>Local</ProjectType>
-    <ProductVersion>8.0.50727</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{D979FA77-DC9A-4869-B42D-27F4E6B76B29}</ProjectGuid>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ApplicationIcon>App.ico</ApplicationIcon>
-    <AssemblyKeyContainerName>
-    </AssemblyKeyContainerName>
-    <AssemblyName>MandelViewer</AssemblyName>
-    <AssemblyOriginatorKeyFile>
-    </AssemblyOriginatorKeyFile>
-    <DefaultClientScript>JScript</DefaultClientScript>
-    <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
-    <DefaultTargetSchema>IE50</DefaultTargetSchema>
-    <DelaySign>false</DelaySign>
-    <OutputType>WinExe</OutputType>
-    <RootNamespace>MandelViewer</RootNamespace>
-    <RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
-    <StartupObject>
-    </StartupObject>
-    <FileUpgradeFlags>
-    </FileUpgradeFlags>
-    <UpgradeBackupLocation>
-    </UpgradeBackupLocation>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <OutputPath>bin\Debug\</OutputPath>
-    <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
-    <BaseAddress>285212672</BaseAddress>
-    <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
-    <ConfigurationOverrideFile>
-    </ConfigurationOverrideFile>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <DocumentationFile>
-    </DocumentationFile>
-    <DebugSymbols>true</DebugSymbols>
-    <FileAlignment>4096</FileAlignment>
-    <NoStdLib>false</NoStdLib>
-    <NoWarn>
-    </NoWarn>
-    <Optimize>false</Optimize>
-    <RegisterForComInterop>false</RegisterForComInterop>
-    <RemoveIntegerChecks>false</RemoveIntegerChecks>
-    <TreatWarningsAsErrors>false</TreatWarningsAsErrors>
-    <WarningLevel>4</WarningLevel>
-    <DebugType>full</DebugType>
-    <ErrorReport>prompt</ErrorReport>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <OutputPath>bin\Release\</OutputPath>
-    <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
-    <BaseAddress>285212672</BaseAddress>
-    <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
-    <ConfigurationOverrideFile>
-    </ConfigurationOverrideFile>
-    <DefineConstants>TRACE</DefineConstants>
-    <DocumentationFile>
-    </DocumentationFile>
-    <DebugSymbols>false</DebugSymbols>
-    <FileAlignment>4096</FileAlignment>
-    <NoStdLib>false</NoStdLib>
-    <NoWarn>
-    </NoWarn>
-    <Optimize>true</Optimize>
-    <RegisterForComInterop>false</RegisterForComInterop>
-    <RemoveIntegerChecks>false</RemoveIntegerChecks>
-    <TreatWarningsAsErrors>false</TreatWarningsAsErrors>
-    <WarningLevel>4</WarningLevel>
-    <DebugType>none</DebugType>
-    <ErrorReport>prompt</ErrorReport>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
-    <DebugSymbols>true</DebugSymbols>
-    <OutputPath>bin\x64\Debug\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <BaseAddress>285212672</BaseAddress>
-    <DebugType>full</DebugType>
-    <PlatformTarget>x64</PlatformTarget>
-    <CodeAnalysisRuleAssemblies>C:\Program Files (x86)\Microsoft Visual Studio 8\Team Tools\Static Analysis Tools\FxCop\\rules</CodeAnalysisRuleAssemblies>
-    <CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
-    <CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
-    <ErrorReport>prompt</ErrorReport>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
-    <OutputPath>bin\x64\Release\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <BaseAddress>285212672</BaseAddress>
-    <Optimize>true</Optimize>
-    <DebugType>
-    </DebugType>
-    <PlatformTarget>x64</PlatformTarget>
-    <CodeAnalysisRuleAssemblies>C:\Program Files (x86)\Microsoft Visual Studio 8\Team Tools\Static Analysis Tools\FxCop\\rules</CodeAnalysisRuleAssemblies>
-    <CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
-    <CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
-    <ErrorReport>prompt</ErrorReport>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System">
-      <Name>System</Name>
-    </Reference>
-    <Reference Include="System.Data">
-      <Name>System.Data</Name>
-    </Reference>
-    <Reference Include="System.Drawing">
-      <Name>System.Drawing</Name>
-    </Reference>
-    <Reference Include="System.Windows.Forms">
-      <Name>System.Windows.Forms</Name>
-    </Reference>
-    <Reference Include="System.Xml">
-      <Name>System.XML</Name>
-    </Reference>
-  </ItemGroup>
-  <ItemGroup>
-    <Content Include="App.ico" />
-    <Compile Include="AssemblyInfo.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Form.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <EmbeddedResource Include="Form.resx">
-      <DependentUpon>Form.cs</DependentUpon>
-    </EmbeddedResource>
-  </ItemGroup>
-  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
-  <PropertyGroup>
-    <PreBuildEvent>
-    </PreBuildEvent>
-    <PostBuildEvent>
-    </PostBuildEvent>
-  </PropertyGroup>
-</Project>
\ No newline at end of file
diff --git a/examples/windows/pmitest/pmitest.c b/examples/windows/pmitest/pmitest.c
deleted file mode 100644
index d14fe0c..0000000
--- a/examples/windows/pmitest/pmitest.c
+++ /dev/null
@@ -1,305 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "pmi.h"
-
-const char * PMI_Err_str(int error)
-{
-    static char str[100];
-    switch (error)
-    {
-    case PMI_SUCCESS:
-	return "PMI_SUCCESS";
-    case PMI_FAIL:
-	return "PMI_FAIL";
-    case PMI_ERR_INVALID_ARG:
-	return "PMI_ERR_INVALID_ARG";
-    case PMI_ERR_INVALID_KEY:
-	return "PMI_ERR_INVALID_KEY";
-    case PMI_ERR_INVALID_KEY_LENGTH:
-	return "PMI_ERR_INVALID_KEY_LENGTH";
-    case PMI_ERR_INVALID_VAL:
-	return "PMI_ERR_INVALID_VAL";
-    case PMI_ERR_INVALID_VAL_LENGTH:
-	return "PMI_ERR_INVALID_VAL_LENGTH";
-    case PMI_ERR_INVALID_LENGTH:
-	return "PMI_ERR_INVALID_LENGTH";
-    case PMI_ERR_INIT:
-	return "PMI_ERR_INIT";
-    case PMI_ERR_NOMEM:
-	return "PMI_ERR_NOMEM";
-    }
-    sprintf(str, "PMI_ERR_UNKNOWN: %d", error);
-    return str;
-}
-
-#define PRINT_ERROR(error, fcname) if (error != PMI_SUCCESS) printf("%s failed: %s\n", fcname, PMI_Err_str(error)); else printf("%s unexpectedly succeeded\n", fcname); fflush(stdout);
-
-int main( int argc, char * argv[] )
-{
-    int rc, spawned, size, rank, name_max, id_maxlen, key_maxlen, val_maxlen;
-    char *kvsname, *id, *domain_id, *key, *val;
-
-    rc = PMI_Init( &spawned );
-    if ( rc != PMI_SUCCESS )
-    {
-	printf( "PMI_Init failed with rc = %s\n", PMI_Err_str(rc) );
-	return -1 ;
-    }
-    else
-    {
-	printf( "PMI_Init returned spawned = %d\n", spawned );
-    }
-
-    rc = PMI_Get_size( &size );
-    if ( rc == PMI_SUCCESS )
-    {
-	rc = PMI_Get_rank( &rank );
-	if ( rc == PMI_SUCCESS ) 
-	    printf( "size = %d, rank = %d\n", size, rank );
-	else 
-	    printf( "PMI_Get_Rank failed with rc = %s\n", PMI_Err_str(rc) );
-    }
-    else 
-	printf( "PMI_Get_size failed with rc = %s\n", PMI_Err_str(rc) );
-
-    rc = PMI_KVS_Get_name_length_max( &name_max );
-    if ( rc != PMI_SUCCESS )
-    {
-	printf( "PMI_KVS_Get_name_length_max failed with rc = %s\n", PMI_Err_str(rc) );
-	return -1;
-    }
-    else
-	printf( "PMI_KVS_Get_name_length_max got %d\n", name_max );
-
-    kvsname = (char *) malloc( name_max );
-    rc = PMI_KVS_Get_my_name( kvsname, name_max );
-    if ( rc != PMI_SUCCESS )
-    {
-	printf( "PMI_KVS_Get_my_name failed with rc = %s\n", PMI_Err_str(rc) );
-	return -1;
-    }
-    else
-	printf( "PMI_KVS_Get_my_name got %s\n", kvsname );
-
-    rc = PMI_Get_id_length_max( &id_maxlen );
-    if ( rc != PMI_SUCCESS )
-    {
-	printf("PMI_Get_id_length_max failed with rc = %s\n", PMI_Err_str(rc) );
-	return -1;
-    }
-    else
-	printf("PMI_Get_id_length_max got %d\n", id_maxlen);
-    id = (char *) malloc( id_maxlen );
-    rc = PMI_Get_id( id, id_maxlen );
-    if ( rc != PMI_SUCCESS )
-    {
-	printf("PMI_Get_id failed with rc = %s\n", PMI_Err_str(rc));
-    }
-    else
-	printf( "PMI_Get_id got %s\n", id );
-    domain_id = (char *) malloc( id_maxlen );
-    rc = PMI_Get_kvs_domain_id( domain_id, id_maxlen );
-    if ( rc != PMI_SUCCESS )
-    {
-	printf("PMI_Get_kvs_domain_id failed with rc = %s\n", PMI_Err_str(rc));
-    }
-    else
-	printf( "PMI_Get_kvs_domain_id got %s\n", domain_id );
-
-    rc = PMI_KVS_Get_key_length_max( &key_maxlen );
-    if (rc != PMI_SUCCESS )
-    {
-	printf("PMI_KVS_Get_key_length_max failed with rc = %s\n", PMI_Err_str(rc));
-	return -1;
-    }
-    else
-	printf( "PMI_Get_key_maxlen got %d\n", key_maxlen );
-    key = (char *) malloc( key_maxlen );
-    rc = PMI_KVS_Get_value_length_max( &val_maxlen );
-    if (rc != PMI_SUCCESS)
-    {
-	printf("PMI_KVS_Get_value_length_max failed with rc = %s\n", PMI_Err_str(rc));
-	return -1;
-    }
-    else
-	printf( "PMI_Get_val_maxlen got %d\n", val_maxlen );
-    val = (char *) malloc( val_maxlen );
-
-    sprintf(key, "test_key_%d", rank);
-    sprintf(val, "test_value_%d", rank);
-    
-    rc = PMI_KVS_Put( kvsname, key, val );
-    if (rc != PMI_SUCCESS)
-    {
-	printf("PMI_KVS_Put failed with rc = %s\n", PMI_Err_str(rc));
-    }
-    rc = PMI_KVS_Commit( kvsname );
-    if (rc != PMI_SUCCESS)
-    {
-	printf("PMI_KVS_Commit failed with rc = %s\n", PMI_Err_str(rc));
-    }
-    rc = PMI_Barrier();
-    if (rc != PMI_SUCCESS)
-    {
-	printf("PMI_Barrier failed with rc = %s\n", PMI_Err_str(rc));
-    }
-
-    sprintf(key, "test_key_%d", (rank + 1) % size);
-    rc = PMI_KVS_Get( kvsname, key, val, val_maxlen );
-    if (rc != PMI_SUCCESS)
-    {
-	printf("PMI_KVS_Get(%s) failed with rc = %s\n", key, PMI_Err_str(rc));
-    }
-    else
-	printf("PMI_KVS_Get(%s) returned %s\n", key, val);
-
-    /* Test awkward character string put and get */
-    if (rank == 0)
-    {
-	sprintf(key, "foo", rank);
-	sprintf(val, "foo=bar baz=bif name=\"Buzz Bee\" clink=~!@#$%^&*()_+`{}[]|\\;':<>,. clank=a b c");
-
-	rc = PMI_KVS_Put( kvsname, key, val );
-	if (rc != PMI_SUCCESS)
-	{
-	    printf("PMI_KVS_Put failed with rc = %s\n", PMI_Err_str(rc));
-	}
-	rc = PMI_KVS_Commit( kvsname );
-	if (rc != PMI_SUCCESS)
-	{
-	    printf("PMI_KVS_Commit failed with rc = %s\n", PMI_Err_str(rc));
-	}
-    }
-
-    rc = PMI_Barrier();
-    if (rc != PMI_SUCCESS)
-    {
-	printf("PMI_Barrier failed with rc = %s\n", PMI_Err_str(rc));
-    }
-
-    if (rank == size - 1)
-    {
-	sprintf(key, "foo");
-	rc = PMI_KVS_Get( kvsname, key, val, val_maxlen );
-	if (rc != PMI_SUCCESS)
-	{
-	    printf("PMI_KVS_Get(%s) failed with rc = %s\n", key, PMI_Err_str(rc));
-	}
-	else
-	    printf("PMI_KVS_Get(%s) returned %s\n", key, val);
-    }
-
-    if ( rank == (size - 1) )
-    {
-	key[0] = '\0';
-	val[0] = '\0';
-	rc = PMI_KVS_Iter_first(kvsname, key, key_maxlen, val, val_maxlen);
-	if (rc == PMI_SUCCESS)
-	{
-	    while (key[0] != '\0')
-	    {
-		printf("PMI_KVS_Iter got key=%s val=%s\n",key,val);
-		rc = PMI_KVS_Iter_next(kvsname, key, key_maxlen, val, val_maxlen);
-		if (rc != PMI_SUCCESS)
-		{
-		    printf("PMK_KVS_Iter_next failed with rc = %s\n", PMI_Err_str(rc));
-		    break;
-		}
-	    }
-	}
-	else
-	{
-	    printf("PMI_KVS_Iter_first failed with rc = %s\n", PMI_Err_str(rc));
-	}
-    }
-
-    /* error testing */
-    if (rank == 0)
-    {
-	printf("PMI error testing:\n");
-	strcpy(key, "test_key");
-	strcpy(val, "test_val");
-	rc = PMI_KVS_Put("baloney", key, val);
-	PRINT_ERROR(rc, "PMI_KVS_Put(baloney, key, val)");
-	rc = PMI_KVS_Put(NULL, key, val);
-	PRINT_ERROR(rc, "PMI_KVS_Put(NULL, key, val)");
-	rc = PMI_KVS_Put(kvsname, NULL, val);
-	PRINT_ERROR(rc, "PMI_KVS_Put(kvsname, NULL, val)");
-	rc = PMI_KVS_Put(kvsname, key, NULL);
-	PRINT_ERROR(rc, "PMI_KVS_Put(kvsname, key, NULL)");
-	rc = PMI_KVS_Get("baloney", key, val, val_maxlen);
-	PRINT_ERROR(rc, "PMI_KVS_Get(baloney, key, val, val_maxlen)");
-	rc = PMI_KVS_Get(NULL, key, val, val_maxlen);
-	PRINT_ERROR(rc, "PMI_KVS_Get(NULL, key, val, val_maxlen)");
-	rc = PMI_KVS_Get(kvsname, NULL, val, val_maxlen);
-	PRINT_ERROR(rc, "PMI_KVS_Get(kvsname, NULL, val, val_maxlen)");
-	rc = PMI_KVS_Get(kvsname, key, NULL, val_maxlen);
-	PRINT_ERROR(rc, "PMI_KVS_Get(kvsname, key, NULL, val_maxlen)");
-	rc = PMI_KVS_Get(kvsname, key, val, -1);
-	PRINT_ERROR(rc, "PMI_KVS_Get(kvsname, key, val, -1)");
-	rc = PMI_KVS_Commit(NULL);
-	PRINT_ERROR(rc, "PMI_KVS_Commit(NULL)");
-	rc = PMI_KVS_Commit("baloney");
-	PRINT_ERROR(rc, "PMI_KVS_Commit(baloney)");
-	rc = PMI_KVS_Get_my_name(NULL, name_max);
-	PRINT_ERROR(rc, "PMI_KVS_Get_my_name(NULL, name_max)");
-	rc = PMI_KVS_Get_my_name(kvsname, -1);
-	PRINT_ERROR(rc, "PMI_KVS_Get_my_name(kvsname, -1)");
-	rc = PMI_Get_id(NULL, id_maxlen);
-	PRINT_ERROR(rc, "PMI_Get_id(NULL, id_maxlen)");
-	rc = PMI_Get_id(id, -1);
-	PRINT_ERROR(rc, "PMI_Get_id(id, -1)");
-	rc = PMI_Get_kvs_domain_id(NULL, id_maxlen);
-	PRINT_ERROR(rc, "PMI_Get_domain_id(NULL, id_maxlen)");
-	rc = PMI_Get_kvs_domain_id(domain_id, -1);
-	PRINT_ERROR(rc, "PMI_Get_domain_id(domain_id, -1)");
-	rc = PMI_Init(NULL);
-	PRINT_ERROR(rc, "PMI_Init(NULL)");
-	rc = PMI_Get_rank(NULL);
-	PRINT_ERROR(rc, "PMI_Get_rank(NULL)");
-	rc = PMI_Get_size(NULL);
-	PRINT_ERROR(rc, "PMI_Get_size(NULL)");
-	rc = PMI_KVS_Get_name_length_max(NULL);
-	PRINT_ERROR(rc, "PMI_Get_name_length_max(NULL)");
-	rc = PMI_Get_id_length_max(NULL);
-	PRINT_ERROR(rc, "PMI_Get_id_length_max(NULL)");
-	rc = PMI_KVS_Get_key_length_max(NULL);
-	PRINT_ERROR(rc, "PMI_Get_key_length_max(NULL)");
-	rc = PMI_KVS_Get_value_length_max(NULL);
-	PRINT_ERROR(rc, "PMI_Get_value_length_max(NULL)");
-	rc = PMI_KVS_Iter_first("baloney", key, key_maxlen, val, val_maxlen);
-	PRINT_ERROR(rc, "PMI_KVS_Iter_first(baloney, key, key_maxlen, val, val_maxlen)");
-	rc = PMI_KVS_Iter_first(NULL, key, key_maxlen, val, val_maxlen);
-	PRINT_ERROR(rc, "PMI_KVS_Iter_first(NULL, key, key_maxlen, val, val_maxlen)");
-	rc = PMI_KVS_Iter_first(kvsname, NULL, key_maxlen, val, val_maxlen);
-	PRINT_ERROR(rc, "PMI_KVS_Iter_first(kvsname, NULL, key_maxlen, val, val_maxlen)");
-	rc = PMI_KVS_Iter_first(kvsname, key, -1, val, val_maxlen);
-	PRINT_ERROR(rc, "PMI_KVS_Iter_first(kvsname, key, -1, val, val_maxlen)");
-	rc = PMI_KVS_Iter_first(kvsname, key, key_maxlen, NULL, val_maxlen);
-	PRINT_ERROR(rc, "PMI_KVS_Iter_first(kvsname, key, key_maxlen, NULL, val_maxlen)");
-	rc = PMI_KVS_Iter_first(kvsname, key, key_maxlen, val, -1);
-	PRINT_ERROR(rc, "PMI_KVS_Iter_first(kvsname, key, key_maxlen, val, -1)");
-	rc = PMI_KVS_Iter_next("baloney", key, key_maxlen, val, val_maxlen);
-	PRINT_ERROR(rc, "PMI_KVS_Iter_next(baloney, key, key_maxlen, val, val_maxlen)");
-	rc = PMI_KVS_Iter_next(NULL, key, key_maxlen, val, val_maxlen);
-	PRINT_ERROR(rc, "PMI_KVS_Iter_next(NULL, key, key_maxlen, val, val_maxlen)");
-	rc = PMI_KVS_Iter_next(kvsname, NULL, key_maxlen, val, val_maxlen);
-	PRINT_ERROR(rc, "PMI_KVS_Iter_next(kvsname, NULL, key_maxlen, val, val_maxlen)");
-	rc = PMI_KVS_Iter_next(kvsname, key, -1, val, val_maxlen);
-	PRINT_ERROR(rc, "PMI_KVS_Iter_next(kvsname, key, -1, val, val_maxlen)");
-	rc = PMI_KVS_Iter_next(kvsname, key, key_maxlen, NULL, val_maxlen);
-	PRINT_ERROR(rc, "PMI_KVS_Iter_next(kvsname, key, key_maxlen, NULL, val_maxlen)");
-	rc = PMI_KVS_Iter_next(kvsname, key, key_maxlen, val, -1);
-	PRINT_ERROR(rc, "PMI_KVS_Iter_next(kvsname, key, key_maxlen, val, -1)");
-    }
-    
-    rc = PMI_Finalize( );
-    return 0;
-}
diff --git a/examples/windows/pmitest/pmitest.vcproj b/examples/windows/pmitest/pmitest.vcproj
deleted file mode 100644
index eedb813..0000000
--- a/examples/windows/pmitest/pmitest.vcproj
+++ /dev/null
@@ -1,138 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="pmitest"
-	ProjectGUID="{2DBB0E8D-447E-4E65-98FB-445BBCB7CDFD}"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="Debug"
-			IntermediateDirectory="Debug"
-			ConfigurationType="1"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\..\src\include"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
-				MinimalRebuild="TRUE"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="TRUE"
-				DebugInformationFormat="4"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpichsockd.lib smpd_utild.lib ws2_32.lib mswsock.lib mpr.lib rpcrt4.lib"
-				OutputFile="$(OutDir)/pmitest.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				GenerateDebugInformation="TRUE"
-				ProgramDatabaseFile="$(OutDir)/pmitest.pdb"
-				SubSystem="1"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="Release"
-			IntermediateDirectory="Release"
-			ConfigurationType="1"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\..\..\src\include"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
-				RuntimeLibrary="0"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="TRUE"
-				DebugInformationFormat="3"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpichsock.lib smpd_util.lib pmi.lib ws2_32.lib mswsock.lib mpr.lib rpcrt4.lib"
-				OutputFile="$(OutDir)/pmitest.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
-			<File
-				RelativePath=".\pmitest.c">
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/examples/windows/skeleton/skeleton.c b/examples/windows/skeleton/skeleton.c
deleted file mode 100644
index ea32eb3..0000000
--- a/examples/windows/skeleton/skeleton.c
+++ /dev/null
@@ -1,6 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
diff --git a/examples/windows/skeleton/skeleton.sln b/examples/windows/skeleton/skeleton.sln
deleted file mode 100644
index 34a5f8b..0000000
--- a/examples/windows/skeleton/skeleton.sln
+++ /dev/null
@@ -1,21 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 8.00
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "skeleton", "skeleton.vcproj", "{2DBB0E8D-447E-4E65-98FB-445BBCB7CD6D}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Global
-	GlobalSection(SolutionConfiguration) = preSolution
-		Debug = Debug
-		Release = Release
-	EndGlobalSection
-	GlobalSection(ProjectConfiguration) = postSolution
-		{2DBB0E8D-447E-4E65-98FB-445BBCB7CD6D}.Debug.ActiveCfg = Debug|Win32
-		{2DBB0E8D-447E-4E65-98FB-445BBCB7CD6D}.Debug.Build.0 = Debug|Win32
-		{2DBB0E8D-447E-4E65-98FB-445BBCB7CD6D}.Release.ActiveCfg = Release|Win32
-		{2DBB0E8D-447E-4E65-98FB-445BBCB7CD6D}.Release.Build.0 = Release|Win32
-	EndGlobalSection
-	GlobalSection(ExtensibilityGlobals) = postSolution
-	EndGlobalSection
-	GlobalSection(ExtensibilityAddIns) = postSolution
-	EndGlobalSection
-EndGlobal
diff --git a/examples/windows/skeleton/skeleton.vcproj b/examples/windows/skeleton/skeleton.vcproj
deleted file mode 100644
index 9e79407..0000000
--- a/examples/windows/skeleton/skeleton.vcproj
+++ /dev/null
@@ -1,138 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="skeleton"
-	ProjectGUID="{2DBB0E8D-447E-4E65-98FB-445BBCB7CD6D}"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="Debug"
-			IntermediateDirectory="Debug"
-			ConfigurationType="1"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\..\src\include,..\..\..\src\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_WINDOWS_H"
-				MinimalRebuild="TRUE"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="TRUE"
-				DebugInformationFormat="4"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpi.lib ws2_32.lib"
-				OutputFile="$(OutDir)/skeleton.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				GenerateDebugInformation="TRUE"
-				ProgramDatabaseFile="$(OutDir)/skeleton.pdb"
-				SubSystem="1"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="Release"
-			IntermediateDirectory="Release"
-			ConfigurationType="1"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\..\..\src\include,..\..\..\src\include\win32"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_WINDOWS_H"
-				RuntimeLibrary="0"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="TRUE"
-				DebugInformationFormat="3"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpi.lib ws2_32.lib"
-				OutputFile="$(OutDir)/skeleton.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
-			<File
-				RelativePath=".\skeleton.c">
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/maint/Makefile.mk b/maint/Makefile.mk
index d274836..d6b852f 100644
--- a/maint/Makefile.mk
+++ b/maint/Makefile.mk
@@ -34,7 +34,6 @@ dist_noinst_SCRIPTS +=                \
     maint/release.pl                  \
     maint/samplebuilds                \
     maint/testbuild                   \
-    maint/update_windows_version      \
     maint/testpmpi
 
 dist_noinst_DATA +=                        \
@@ -44,19 +43,15 @@ dist_noinst_DATA +=                        \
     maint/errmsgdirs                       \
     maint/cvardirs                         \
     maint/gccimpgen.cpp                    \
-    maint/impgen.vcproj                    \
     maint/local_perl/README                \
     maint/local_perl/YAML-Tiny-1.41.tar.gz \
     maint/makegcclibs.bat                  \
     maint/makegcclibs_64.bat               \
     maint/mpi1.lst                         \
-    maint/mpichi.vdproj                   \
-    maint/mpichx64i.vdproj                \
     maint/setup.jpg                        \
     maint/structalign.c                    \
     maint/template.c                       \
-    maint/version.m4                       \
-    maint/winbuild.wsf
+    maint/version.m4
 
 ### TODO FIXME what do we do about these?
 ##makedefs
diff --git a/maint/checkbuilds.in b/maint/checkbuilds.in
index 724dcfc..9994df3 100644
--- a/maint/checkbuilds.in
+++ b/maint/checkbuilds.in
@@ -80,7 +80,7 @@ $hasDemon   = 0;
 %chosenEnable = ();
 @with_array = (
 	       'logging;none;rlog',
-	       'pmi;simple;smpd',    #; uni no longer supported
+	       'pmi;simple',    #; uni no longer supported
 	       'pm;gforker;mpd', #;remshell
 	       'namepublisher;no;file;mpd', #;ldap:ldapserver',
 	       'device;ch3;ch3:sock',
@@ -410,9 +410,8 @@ sub RunTest {
 	# print "rc = $rc\n";
 	if ($rc == 0) {
 	    print $OUTFD $MakeStart;
-	    # Remove mpd and smpd just in case (see below)
+	    # Remove mpd just in case (see below)
 	    unlink "bin/mpd";
-	    unlink "bin/smpd";
 	    $rc = &RunProgram( "$makepgm $parallelBuild" );
 	    print $OUTFD $MakeEnd;
 	    $make_status = $rc;
@@ -445,13 +444,6 @@ sub RunTest {
 			$StartDemon = "RunMPD";
 			$StopDemon  = "StopMPD";
 		    }
-		    elsif (-x "$instdir/bin/smpd") {
-			$hasDemon   = 1;
-			$StartDemon = "RunSMPD";
-			$StopDemon  = "StopSMPD";
-			# FIXME: Remaining problem: smpd needs to be told what
-			# port to use on the mpiexec line
-		    }
 		    # Try the install check target
 		    print $OUTFD $MakeInstcheckStart;
 		    $installcheck_status = &RunProgram( "$makepgm installcheck" );
@@ -1117,33 +1109,6 @@ sub StopMPD {
         }
     }
 }
-# ---------------------------------------------------------------------------
-#
-# We need a variation of this that will start SMPDs on mulitple hosts.
-# 
-sub RunSMPD {
-    system "$instdir/bin/smpd -port 10101 -s";
-    # FIXME: Placeholder for correct environment variable for providing
-    # mpiexec with the smpd port that should be used.
-    $ENV{"MPIEXEC_SMPD_PORT"} = 10101;
-    # print errors instead of prompting for input
-    $ENV{"MPIEXEC_NOPROMPT"} = 1;
-    # use only the local host
-    $ENV{"SMPD_OPTION_NO_DYNAMIC_HOSTS"} = 1;
-    $rc = $? >> 8;
-    if ($rc != 0) {
-	print $OUTFD "Error running $instdir/bin/smpd -port 10101 -s\n";
-    }
-    else {
-	print $OUTFD "Started mpd in demon mode\n";
-    }
-    sleep 1;
-    return;
-}
-sub StopSMPD {
-    `$instdir/bin/smpd -port 10101 -shutdown`;
-}
-# ---------------------------------------------------------------------------
 #
 # Change output style
 sub XMLStyle {
diff --git a/maint/impgen.vcproj b/maint/impgen.vcproj
deleted file mode 100644
index 2d2b9b9..0000000
--- a/maint/impgen.vcproj
+++ /dev/null
@@ -1,357 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="impgen"
-	ProjectGUID="{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}"
-	RootNamespace="impgen"
-	Keyword="Win32Proj"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="Debug"
-			IntermediateDirectory="Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile="$(OutDir)/impgen.exe"
-				LinkIncremental="2"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)/impgen.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="Release"
-			IntermediateDirectory="Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
-				RuntimeLibrary="0"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile="$(OutDir)/impgen.exe"
-				LinkIncremental="1"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3nemesisPRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
-				RuntimeLibrary="0"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile="$(OutDir)/impgen.exe"
-				LinkIncremental="1"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="fortPRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
-				RuntimeLibrary="0"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile="$(OutDir)/impgen.exe"
-				LinkIncremental="1"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath=".\gccimpgen.cpp"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/maint/mpichi.vdproj b/maint/mpichi.vdproj
deleted file mode 100644
index b8da0ab..0000000
--- a/maint/mpichi.vdproj
+++ /dev/null
@@ -1,3399 +0,0 @@
-"DeployProject"
-{
-"VSVersion" = "3:800"
-"ProjectType" = "8:{978C614F-708E-4E1A-B201-565925725DBA}"
-"IsWebType" = "8:FALSE"
-"ProjectName" = "8:MPICHInstaller"
-"LanguageId" = "3:1033"
-"CodePage" = "3:1252"
-"UILanguageId" = "3:1033"
-"SccProjectName" = "8:"
-"SccLocalPath" = "8:"
-"SccAuxPath" = "8:"
-"SccProvider" = "8:"
-    "Hierarchy"
-    {
-        "Entry"
-        {
-        "MsmKey" = "8:_057C2638820940F6A0108954A2E8A186"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_06C9AFF0A4704D6C9EFFFEE9E93B652F"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_0A5A5F75E9D442D0B99DD69E73C81A2F"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_0EB8E1241E3F40D3B3BEEDE2838C8BFA"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_10F26AAAC99242F4A41413F62D7547E8"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_1AE274D52C344BC097376A2DF96145EC"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_1B4E24C63C564D4B92B7F7E2D41BBAE1"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_1EE41EF56BA143788490913B5A71E9C8"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_21105D7155A94C8592F5E25C4200294E"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_24ACBB0958E14B76B9B89E3C8BCF6238"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_27F7CCB2625E46C08666EC84E633644F"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_2AD8F51EFBF14D28AF727048C158A703"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_3608DA3484C44546BA02FD05EDE4434F"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_3FF8808E32A24356B33DA343AAF3C745"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_45D33FCB757143A99EAA65E42919224D"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_4B04B7DBB6C64D42BEFD64D27B8B07FA"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_4B0EC5EEB96E4CDC9830749FBE80BC5C"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_4E24D94FA816421EB7C8570369A0AC6D"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_54AA9644F49B4C408471D88AD956DB5D"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_60D2EF188B7448598D171ECA07E6E2DE"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_6554112CB61046CD9A18A45F7910568C"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_6E248FED6ACF4D82867D8F75CEBD3DE5"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_6E91E6F8EA2941A9B4FEEB6980A36BAB"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_76CE0DD9E83A4807AC2FB89A6A95B0DA"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_7D15CDC776C240AA932A815EE652EABE"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_7EE52F068FE44CF4909CE0883AB445FB"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_7F0593B2490B44D29458C3E07333637C"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_80E5976A4DC34AEEA58BA4F4678F9261"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_8577D37319CE4489B4587C15E2E3FB4B"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_91466C22C4C94CA2A11217C0AABE404B"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_92981A5D404B4E4A822F7E7D98B5665C"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_9323A2DF093944FA96EF9E79AA5FEDC3"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_96BC19B655FF4EE7BDBDE1B8314A44FD"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_97A8EA0847D242429469558A2F7FC731"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_991BB62075544FE2AF30A36D0AF75334"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_9BED714462D246698292FEA617C3BE76"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_A1F57C4D80254521B3D8F037205E0D48"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_A45088358C204B0484A84888EE540C6F"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_B4B4B2C2AE97497C930D4BB31BD0E278"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_B50C4C0046D04FE7B4BD011E54D060BD"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_B87078EAAD39464C9CEE84DFF2386F96"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_B97AB8EDF8404332BF87FDD84AB7DFB8"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_BFCB13AF30D44BC5920DE6E75ACD5E6C"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_C162F5E2848144C29DE849EDBC671E10"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_C35408C528B948A9AFE4729FCA67FB8D"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_C63BA0B9501E409EB78C7834178927F3"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_C6524C961DEF402E9BE50342D24C6D60"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_CC8296CA3DF74A09A1CE924C5DB56B92"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_D11A51D35A3442938C608920FA632E9E"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_D252FCCAF18446E4AD9F15AE3E54AAB4"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_E2A43AB6EAE74C1B952D84CADDDD0C1B"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_E3EC67E501314C938DAC6DFEA6EC7207"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_E514E144BDE54432BDCC7816AA0D13F1"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_E5B91D98224741AD9893DE73A605DA23"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_E98DA1DA9B4C4FD981D8F3E5AE1BB951"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_F1BCCBB90CE04DB181DF2BC26B7F85B9"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_F3255A3492E040B49529B7016A56A896"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_F3D2572CE8274BAF9C20E76AD177AB87"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_F4AFB45860624DE580E74853EA7E28CE"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_F5DE15D6D59A4924945EE75573A5BE31"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_F7292DDA7C60421394EC69BDBF9132B3"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_F9BAC701E02B49D4BB9F730401637641"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_FD7F219280EB4E04BDD2A8663B0261B6"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_UNDEFINED"
-        "OwnerKey" = "8:_1EE41EF56BA143788490913B5A71E9C8"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_UNDEFINED"
-        "OwnerKey" = "8:_C63BA0B9501E409EB78C7834178927F3"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_UNDEFINED"
-        "OwnerKey" = "8:_60D2EF188B7448598D171ECA07E6E2DE"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-    }
-    "Configurations"
-    {
-        "Debug"
-        {
-        "DisplayName" = "8:Debug"
-        "IsDebugOnly" = "11:TRUE"
-        "IsReleaseOnly" = "11:FALSE"
-        "OutputFilename" = "8:Debug\\mpich.msi"
-        "PackageFilesAs" = "3:2"
-        "PackageFileSize" = "3:-2147483648"
-        "CabType" = "3:1"
-        "Compression" = "3:3"
-        "SignOutput" = "11:FALSE"
-        "CertificateFile" = "8:"
-        "PrivateKeyFile" = "8:"
-        "TimeStampServer" = "8:"
-        "InstallerBootstrapper" = "3:2"
-            "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
-            {
-            "Enabled" = "11:TRUE"
-            "PromptEnabled" = "11:TRUE"
-            "PrerequisitesLocation" = "2:1"
-            "Url" = "8:"
-            "ComponentsUrl" = "8:"
-                "Items"
-                {
-                }
-            }
-        }
-        "Release"
-        {
-        "DisplayName" = "8:Release"
-        "IsDebugOnly" = "11:FALSE"
-        "IsReleaseOnly" = "11:TRUE"
-        "OutputFilename" = "8:ReleaseMSI\\mpich.msi"
-        "PackageFilesAs" = "3:2"
-        "PackageFileSize" = "3:-2147483648"
-        "CabType" = "3:1"
-        "Compression" = "3:3"
-        "SignOutput" = "11:FALSE"
-        "CertificateFile" = "8:"
-        "PrivateKeyFile" = "8:"
-        "TimeStampServer" = "8:"
-        "InstallerBootstrapper" = "3:2"
-            "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
-            {
-            "Enabled" = "11:TRUE"
-            "PromptEnabled" = "11:TRUE"
-            "PrerequisitesLocation" = "2:1"
-            "Url" = "8:"
-            "ComponentsUrl" = "8:"
-                "Items"
-                {
-                }
-            }
-        }
-        "ch3nemesisPRelease"
-        {
-        "DisplayName" = "8:ch3nemesisPRelease"
-        "IsDebugOnly" = "11:FALSE"
-        "IsReleaseOnly" = "11:FALSE"
-        "OutputFilename" = "8:ch3nemesisPRelease\\mpichi.msi"
-        "PackageFilesAs" = "3:2"
-        "PackageFileSize" = "3:-2147483648"
-        "CabType" = "3:1"
-        "Compression" = "3:3"
-        "SignOutput" = "11:FALSE"
-        "CertificateFile" = "8:"
-        "PrivateKeyFile" = "8:"
-        "TimeStampServer" = "8:"
-        "InstallerBootstrapper" = "3:2"
-            "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
-            {
-            "Enabled" = "11:TRUE"
-            "PromptEnabled" = "11:TRUE"
-            "PrerequisitesLocation" = "2:1"
-            "Url" = "8:"
-            "ComponentsUrl" = "8:"
-                "Items"
-                {
-                }
-            }
-        }
-        "ch3shm_mpichReleaseConfig_1_0_4"
-        {
-        "DisplayName" = "8:ch3shm_mpichReleaseConfig_1_0_4"
-        "IsDebugOnly" = "11:FALSE"
-        "IsReleaseOnly" = "11:FALSE"
-        "OutputFilename" = "8:ch3shm_mpichReleaseConfig_1_0_4\\mpichi.msi"
-        "PackageFilesAs" = "3:2"
-        "PackageFileSize" = "3:-2147483648"
-        "CabType" = "3:1"
-        "Compression" = "3:3"
-        "SignOutput" = "11:FALSE"
-        "CertificateFile" = "8:"
-        "PrivateKeyFile" = "8:"
-        "TimeStampServer" = "8:"
-        "InstallerBootstrapper" = "3:2"
-            "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
-            {
-            "Enabled" = "11:TRUE"
-            "PromptEnabled" = "11:TRUE"
-            "PrerequisitesLocation" = "2:1"
-            "Url" = "8:"
-            "ComponentsUrl" = "8:"
-                "Items"
-                {
-                }
-            }
-        }
-        "fmpe"
-        {
-        "DisplayName" = "8:fmpe"
-        "IsDebugOnly" = "11:FALSE"
-        "IsReleaseOnly" = "11:FALSE"
-        "OutputFilename" = "8:fmpe\\mpichi.msi"
-        "PackageFilesAs" = "3:2"
-        "PackageFileSize" = "3:-2147483648"
-        "CabType" = "3:1"
-        "Compression" = "3:3"
-        "SignOutput" = "11:FALSE"
-        "CertificateFile" = "8:"
-        "PrivateKeyFile" = "8:"
-        "TimeStampServer" = "8:"
-        "InstallerBootstrapper" = "3:2"
-            "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
-            {
-            "Enabled" = "11:TRUE"
-            "PromptEnabled" = "11:TRUE"
-            "PrerequisitesLocation" = "2:1"
-            "Url" = "8:"
-            "ComponentsUrl" = "8:"
-                "Items"
-                {
-                }
-            }
-        }
-        "fortDebugConfig_1_0_5"
-        {
-        "DisplayName" = "8:fortDebugConfig_1_0_5"
-        "IsDebugOnly" = "11:FALSE"
-        "IsReleaseOnly" = "11:FALSE"
-        "OutputFilename" = "8:fortDebugConfig_1_0_5\\mpichi.msi"
-        "PackageFilesAs" = "3:2"
-        "PackageFileSize" = "3:-2147483648"
-        "CabType" = "3:1"
-        "Compression" = "3:3"
-        "SignOutput" = "11:FALSE"
-        "CertificateFile" = "8:"
-        "PrivateKeyFile" = "8:"
-        "TimeStampServer" = "8:"
-        "InstallerBootstrapper" = "3:2"
-            "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
-            {
-            "Enabled" = "11:TRUE"
-            "PromptEnabled" = "11:TRUE"
-            "PrerequisitesLocation" = "2:1"
-            "Url" = "8:"
-            "ComponentsUrl" = "8:"
-                "Items"
-                {
-                }
-            }
-        }
-        "fortPRelease"
-        {
-        "DisplayName" = "8:fortPRelease"
-        "IsDebugOnly" = "11:FALSE"
-        "IsReleaseOnly" = "11:FALSE"
-        "OutputFilename" = "8:fortPRelease\\mpichi.msi"
-        "PackageFilesAs" = "3:2"
-        "PackageFileSize" = "3:-2147483648"
-        "CabType" = "3:1"
-        "Compression" = "3:3"
-        "SignOutput" = "11:FALSE"
-        "CertificateFile" = "8:"
-        "PrivateKeyFile" = "8:"
-        "TimeStampServer" = "8:"
-        "InstallerBootstrapper" = "3:2"
-            "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
-            {
-            "Enabled" = "11:TRUE"
-            "PromptEnabled" = "11:TRUE"
-            "PrerequisitesLocation" = "2:1"
-            "Url" = "8:"
-            "ComponentsUrl" = "8:"
-                "Items"
-                {
-                }
-            }
-        }
-        "mpichDebugConfig_1_0_4"
-        {
-        "DisplayName" = "8:mpichDebugConfig_1_0_4"
-        "IsDebugOnly" = "11:FALSE"
-        "IsReleaseOnly" = "11:FALSE"
-        "OutputFilename" = "8:mpichDebugConfig_1_0_4\\mpichi.msi"
-        "PackageFilesAs" = "3:2"
-        "PackageFileSize" = "3:-2147483648"
-        "CabType" = "3:1"
-        "Compression" = "3:3"
-        "SignOutput" = "11:FALSE"
-        "CertificateFile" = "8:"
-        "PrivateKeyFile" = "8:"
-        "TimeStampServer" = "8:"
-        "InstallerBootstrapper" = "3:2"
-            "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
-            {
-            "Enabled" = "11:TRUE"
-            "PromptEnabled" = "11:TRUE"
-            "PrerequisitesLocation" = "2:1"
-            "Url" = "8:"
-            "ComponentsUrl" = "8:"
-                "Items"
-                {
-                }
-            }
-        }
-        "mpichDebugConfig_1_0_5"
-        {
-        "DisplayName" = "8:mpichDebugConfig_1_0_5"
-        "IsDebugOnly" = "11:FALSE"
-        "IsReleaseOnly" = "11:FALSE"
-        "OutputFilename" = "8:mpichDebugConfig_1_0_5\\mpichi.msi"
-        "PackageFilesAs" = "3:2"
-        "PackageFileSize" = "3:-2147483648"
-        "CabType" = "3:1"
-        "Compression" = "3:3"
-        "SignOutput" = "11:FALSE"
-        "CertificateFile" = "8:"
-        "PrivateKeyFile" = "8:"
-        "TimeStampServer" = "8:"
-        "InstallerBootstrapper" = "3:2"
-            "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
-            {
-            "Enabled" = "11:TRUE"
-            "PromptEnabled" = "11:TRUE"
-            "PrerequisitesLocation" = "2:1"
-            "Url" = "8:"
-            "ComponentsUrl" = "8:"
-                "Items"
-                {
-                }
-            }
-        }
-        "mpichReleaseConfig_1_0_4"
-        {
-        "DisplayName" = "8:mpichReleaseConfig_1_0_4"
-        "IsDebugOnly" = "11:FALSE"
-        "IsReleaseOnly" = "11:FALSE"
-        "OutputFilename" = "8:mpichReleaseConfig_1_0_4\\mpichi.msi"
-        "PackageFilesAs" = "3:2"
-        "PackageFileSize" = "3:-2147483648"
-        "CabType" = "3:1"
-        "Compression" = "3:3"
-        "SignOutput" = "11:FALSE"
-        "CertificateFile" = "8:"
-        "PrivateKeyFile" = "8:"
-        "TimeStampServer" = "8:"
-        "InstallerBootstrapper" = "3:2"
-            "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
-            {
-            "Enabled" = "11:TRUE"
-            "PromptEnabled" = "11:TRUE"
-            "PrerequisitesLocation" = "2:1"
-            "Url" = "8:"
-            "ComponentsUrl" = "8:"
-                "Items"
-                {
-                }
-            }
-        }
-        "mpichsshm_mpichReleaseConfig_1_0_4"
-        {
-        "DisplayName" = "8:mpichsshm_mpichReleaseConfig_1_0_4"
-        "IsDebugOnly" = "11:FALSE"
-        "IsReleaseOnly" = "11:FALSE"
-        "OutputFilename" = "8:mpichsshm_mpichReleaseConfig_1_0_4\\mpichi.msi"
-        "PackageFilesAs" = "3:2"
-        "PackageFileSize" = "3:-2147483648"
-        "CabType" = "3:1"
-        "Compression" = "3:3"
-        "SignOutput" = "11:FALSE"
-        "CertificateFile" = "8:"
-        "PrivateKeyFile" = "8:"
-        "TimeStampServer" = "8:"
-        "InstallerBootstrapper" = "3:2"
-            "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
-            {
-            "Enabled" = "11:TRUE"
-            "PromptEnabled" = "11:TRUE"
-            "PrerequisitesLocation" = "2:1"
-            "Url" = "8:"
-            "ComponentsUrl" = "8:"
-                "Items"
-                {
-                }
-            }
-        }
-        "mpichssm_mpichReleaseConfig_1_0_4"
-        {
-        "DisplayName" = "8:mpichssm_mpichReleaseConfig_1_0_4"
-        "IsDebugOnly" = "11:FALSE"
-        "IsReleaseOnly" = "11:FALSE"
-        "OutputFilename" = "8:mpichssm_mpichReleaseConfig_1_0_4\\mpichi.msi"
-        "PackageFilesAs" = "3:2"
-        "PackageFileSize" = "3:-2147483648"
-        "CabType" = "3:1"
-        "Compression" = "3:3"
-        "SignOutput" = "11:FALSE"
-        "CertificateFile" = "8:"
-        "PrivateKeyFile" = "8:"
-        "TimeStampServer" = "8:"
-        "InstallerBootstrapper" = "3:2"
-            "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
-            {
-            "Enabled" = "11:TRUE"
-            "PromptEnabled" = "11:TRUE"
-            "PrerequisitesLocation" = "2:1"
-            "Url" = "8:"
-            "ComponentsUrl" = "8:"
-                "Items"
-                {
-                }
-            }
-        }
-        "mt_mpichReleaseConfig_1_0_4"
-        {
-        "DisplayName" = "8:mt_mpichReleaseConfig_1_0_4"
-        "IsDebugOnly" = "11:FALSE"
-        "IsReleaseOnly" = "11:FALSE"
-        "OutputFilename" = "8:mt_mpichReleaseConfig_1_0_4\\mpichi.msi"
-        "PackageFilesAs" = "3:2"
-        "PackageFileSize" = "3:-2147483648"
-        "CabType" = "3:1"
-        "Compression" = "3:3"
-        "SignOutput" = "11:FALSE"
-        "CertificateFile" = "8:"
-        "PrivateKeyFile" = "8:"
-        "TimeStampServer" = "8:"
-        "InstallerBootstrapper" = "3:2"
-            "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
-            {
-            "Enabled" = "11:TRUE"
-            "PromptEnabled" = "11:TRUE"
-            "PrerequisitesLocation" = "2:1"
-            "Url" = "8:"
-            "ComponentsUrl" = "8:"
-                "Items"
-                {
-                }
-            }
-        }
-        "testrelease"
-        {
-        "DisplayName" = "8:testrelease"
-        "IsDebugOnly" = "11:FALSE"
-        "IsReleaseOnly" = "11:FALSE"
-        "OutputFilename" = "8:testrelease\\mpichi.msi"
-        "PackageFilesAs" = "3:2"
-        "PackageFileSize" = "3:-2147483648"
-        "CabType" = "3:1"
-        "Compression" = "3:3"
-        "SignOutput" = "11:FALSE"
-        "CertificateFile" = "8:"
-        "PrivateKeyFile" = "8:"
-        "TimeStampServer" = "8:"
-        "InstallerBootstrapper" = "3:2"
-            "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
-            {
-            "Enabled" = "11:TRUE"
-            "PromptEnabled" = "11:TRUE"
-            "PrerequisitesLocation" = "2:1"
-            "Url" = "8:"
-            "ComponentsUrl" = "8:"
-                "Items"
-                {
-                }
-            }
-        }
-    }
-    "Deployable"
-    {
-        "CustomAction"
-        {
-            "{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_6B80255C195C48E2896CFBA25B6357E3"
-            {
-            "Name" = "8:smpd.exe"
-            "Condition" = "8:AdminUser"
-            "Object" = "8:_E514E144BDE54432BDCC7816AA0D13F1"
-            "FileType" = "3:2"
-            "InstallAction" = "3:1"
-            "Arguments" = "8:-install -phrase [PHRASE]"
-            "EntryPoint" = "8:"
-            "Sequence" = "3:1"
-            "Identifier" = "8:_E2D20B3F_A9C3_484E_8F11_3A003BF3353B"
-            "InstallerClass" = "11:FALSE"
-            "CustomActionData" = "8:/install /phrase=[PHRASE]"
-            }
-            "{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_B9EBE5FA2A254DB3AA38474EF469F426"
-            {
-            "Name" = "8:smpd.exe"
-            "Condition" = "8:"
-            "Object" = "8:_E514E144BDE54432BDCC7816AA0D13F1"
-            "FileType" = "3:2"
-            "InstallAction" = "3:4"
-            "Arguments" = "8:-remove"
-            "EntryPoint" = "8:"
-            "Sequence" = "3:1"
-            "Identifier" = "8:_54869BC3_2A99_4A43_B832_192E0AF051D5"
-            "InstallerClass" = "11:FALSE"
-            "CustomActionData" = "8:"
-            }
-        }
-        "DefaultFeature"
-        {
-        "Name" = "8:DefaultFeature"
-        "Title" = "8:"
-        "Description" = "8:"
-        }
-        "ExternalPersistence"
-        {
-            "LaunchCondition"
-            {
-                "{A06ECF26-33A3-4562-8140-9B0E340D4F24}:_F151AB7F429F4F4F9D04475E19B58065"
-                {
-                "Name" = "8:.NET Framework"
-                "Message" = "8:[VSDNETMSG]"
-                "Version" = "8:2.0.50727"
-                "AllowLaterVersions" = "11:TRUE"
-                "InstallUrl" = "8:http://www.microsoft.com"
-                "SupportedRuntimes" = "8:1.1.4322"
-                }
-            }
-        }
-        "File"
-        {
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_057C2638820940F6A0108954A2E8A186"
-            {
-            "SourcePath" = "8:..\\examples\\icpi.c"
-            "TargetName" = "8:icpi.c"
-            "Tag" = "8:"
-            "Folder" = "8:_7F73272448274F47B6C5C0E0BEDDE4DB"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_06C9AFF0A4704D6C9EFFFEE9E93B652F"
-            {
-            "SourcePath" = "8:..\\src\\mpe2\\src\\misc\\include\\mpe_misc.h"
-            "TargetName" = "8:mpe_misc.h"
-            "Tag" = "8:"
-            "Folder" = "8:_2FD87C1387F843A5BF89B818287DC235"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_0A5A5F75E9D442D0B99DD69E73C81A2F"
-            {
-            "SourcePath" = "8:..\\src\\include\\win32\\mpi.mod"
-            "TargetName" = "8:mpi.mod"
-            "Tag" = "8:"
-            "Folder" = "8:_2FD87C1387F843A5BF89B818287DC235"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_0EB8E1241E3F40D3B3BEEDE2838C8BFA"
-            {
-            "SourcePath" = "8:..\\lib\\mpichnemesis.dll"
-            "TargetName" = "8:mpichnemesis.dll"
-            "Tag" = "8:"
-            "Folder" = "8:_BB1583009D63480DBB484EB460D60D15"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_10F26AAAC99242F4A41413F62D7547E8"
-            {
-            "SourcePath" = "8:..\\lib\\libmpicxx.a"
-            "TargetName" = "8:libmpicxx.a"
-            "Tag" = "8:"
-            "Folder" = "8:_B167421D29EE4EAFA108A852DB65BD75"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_1AE274D52C344BC097376A2DF96145EC"
-            {
-            "SourcePath" = "8:..\\src\\util\\logging\\rlog\\TraceInput\\Release\\TraceInput.dll"
-            "TargetName" = "8:TraceInput.dll"
-            "Tag" = "8:"
-            "Folder" = "8:_09BC5ABDFA834ABD9D1000DD1EDD4212"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_1B4E24C63C564D4B92B7F7E2D41BBAE1"
-            {
-            "SourcePath" = "8:..\\lib\\mpichmpi.dll"
-            "TargetName" = "8:mpichmpi.dll"
-            "Tag" = "8:"
-            "Folder" = "8:_BB1583009D63480DBB484EB460D60D15"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_1EE41EF56BA143788490913B5A71E9C8"
-            {
-            "AssemblyRegister" = "3:1"
-            "AssemblyIsInGAC" = "11:FALSE"
-            "AssemblyAsmDisplayName" = "8:wmpiexec, Version=1.0.3775.18163, Culture=neutral, processorArchitecture=MSIL"
-                "ScatterAssemblies"
-                {
-                    "_1EE41EF56BA143788490913B5A71E9C8"
-                    {
-                    "Name" = "8:wmpiexec.exe"
-                    "Attributes" = "3:512"
-                    }
-                }
-            "SourcePath" = "8:..\\bin\\wmpiexec.exe"
-            "TargetName" = "8:"
-            "Tag" = "8:"
-            "Folder" = "8:_09BC5ABDFA834ABD9D1000DD1EDD4212"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_21105D7155A94C8592F5E25C4200294E"
-            {
-            "SourcePath" = "8:..\\src\\mpe2\\src\\logging\\include\\mpe_logf.h"
-            "TargetName" = "8:mpe_logf.h"
-            "Tag" = "8:"
-            "Folder" = "8:_2FD87C1387F843A5BF89B818287DC235"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_24ACBB0958E14B76B9B89E3C8BCF6238"
-            {
-            "SourcePath" = "8:..\\lib\\fmpichs.lib"
-            "TargetName" = "8:fmpichs.lib"
-            "Tag" = "8:"
-            "Folder" = "8:_B167421D29EE4EAFA108A852DB65BD75"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_27F7CCB2625E46C08666EC84E633644F"
-            {
-            "SourcePath" = "8:..\\lib\\mpe.lib"
-            "TargetName" = "8:mpe.lib"
-            "Tag" = "8:"
-            "Folder" = "8:_B167421D29EE4EAFA108A852DB65BD75"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_2AD8F51EFBF14D28AF727048C158A703"
-            {
-            "SourcePath" = "8:..\\src\\include\\win32\\mpi_sizeofs.mod"
-            "TargetName" = "8:mpi_sizeofs.mod"
-            "Tag" = "8:"
-            "Folder" = "8:_2FD87C1387F843A5BF89B818287DC235"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_3608DA3484C44546BA02FD05EDE4434F"
-            {
-            "SourcePath" = "8:..\\src\\mpe2\\src\\logging\\include\\clog_const.h"
-            "TargetName" = "8:clog_const.h"
-            "Tag" = "8:"
-            "Folder" = "8:_2FD87C1387F843A5BF89B818287DC235"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_3FF8808E32A24356B33DA343AAF3C745"
-            {
-            "SourcePath" = "8:..\\lib\\mpich.dll"
-            "TargetName" = "8:mpich.dll"
-            "Tag" = "8:"
-            "Folder" = "8:_BB1583009D63480DBB484EB460D60D15"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_45D33FCB757143A99EAA65E42919224D"
-            {
-            "SourcePath" = "8:..\\src\\mpe2\\src\\wrappers\\test\\fpilog.f"
-            "TargetName" = "8:fpilog.f"
-            "Tag" = "8:"
-            "Folder" = "8:_7F73272448274F47B6C5C0E0BEDDE4DB"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_4B04B7DBB6C64D42BEFD64D27B8B07FA"
-            {
-            "SourcePath" = "8:..\\src\\include\\mpicxx.h"
-            "TargetName" = "8:mpicxx.h"
-            "Tag" = "8:"
-            "Folder" = "8:_2FD87C1387F843A5BF89B818287DC235"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_4B0EC5EEB96E4CDC9830749FBE80BC5C"
-            {
-            "SourcePath" = "8:..\\lib\\fmpichg.dll"
-            "TargetName" = "8:fmpichg.dll"
-            "Tag" = "8:"
-            "Folder" = "8:_BB1583009D63480DBB484EB460D60D15"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_4E24D94FA816421EB7C8570369A0AC6D"
-            {
-            "SourcePath" = "8:..\\src\\pm\\smpd\\wmpiexec\\jumpshot.ico"
-            "TargetName" = "8:jumpshot.ico"
-            "Tag" = "8:"
-            "Folder" = "8:_871DA6537C074AC2849F6FA1B7FECE3E"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_54AA9644F49B4C408471D88AD956DB5D"
-            {
-            "SourcePath" = "8:..\\src\\mpe2\\src\\slog2sdk\\lib\\clog2TOslog2.jar"
-            "TargetName" = "8:clog2TOslog2.jar"
-            "Tag" = "8:"
-            "Folder" = "8:_09BC5ABDFA834ABD9D1000DD1EDD4212"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_60D2EF188B7448598D171ECA07E6E2DE"
-            {
-            "AssemblyRegister" = "3:1"
-            "AssemblyIsInGAC" = "11:FALSE"
-            "AssemblyAsmDisplayName" = "8:wmpiregister, Version=1.0.3775.18166, Culture=neutral, processorArchitecture=MSIL"
-                "ScatterAssemblies"
-                {
-                    "_60D2EF188B7448598D171ECA07E6E2DE"
-                    {
-                    "Name" = "8:wmpiregister.exe"
-                    "Attributes" = "3:512"
-                    }
-                }
-            "SourcePath" = "8:..\\bin\\wmpiregister.exe"
-            "TargetName" = "8:"
-            "Tag" = "8:"
-            "Folder" = "8:_09BC5ABDFA834ABD9D1000DD1EDD4212"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_6554112CB61046CD9A18A45F7910568C"
-            {
-            "SourcePath" = "8:..\\lib\\mpi.lib"
-            "TargetName" = "8:mpi.lib"
-            "Tag" = "8:"
-            "Folder" = "8:_B167421D29EE4EAFA108A852DB65BD75"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_6E248FED6ACF4D82867D8F75CEBD3DE5"
-            {
-            "SourcePath" = "8:..\\src\\include\\win32\\mpi_constants.mod"
-            "TargetName" = "8:mpi_constants.mod"
-            "Tag" = "8:"
-            "Folder" = "8:_2FD87C1387F843A5BF89B818287DC235"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_6E91E6F8EA2941A9B4FEEB6980A36BAB"
-            {
-            "SourcePath" = "8:..\\src\\mpe2\\src\\logging\\include\\clog_inttypes.h"
-            "TargetName" = "8:clog_inttypes.h"
-            "Tag" = "8:"
-            "Folder" = "8:_2FD87C1387F843A5BF89B818287DC235"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_76CE0DD9E83A4807AC2FB89A6A95B0DA"
-            {
-            "SourcePath" = "8:..\\src\\include\\win32\\mpi_base.mod"
-            "TargetName" = "8:mpi_base.mod"
-            "Tag" = "8:"
-            "Folder" = "8:_2FD87C1387F843A5BF89B818287DC235"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_7D15CDC776C240AA932A815EE652EABE"
-            {
-            "SourcePath" = "8:..\\src\\mpe2\\src\\slog2sdk\\lib\\jumpshot.jar"
-            "TargetName" = "8:jumpshot.jar"
-            "Tag" = "8:"
-            "Folder" = "8:_09BC5ABDFA834ABD9D1000DD1EDD4212"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_7EE52F068FE44CF4909CE0883AB445FB"
-            {
-            "SourcePath" = "8:..\\bin\\mpiexec.exe"
-            "TargetName" = "8:mpiexec.exe"
-            "Tag" = "8:"
-            "Folder" = "8:_09BC5ABDFA834ABD9D1000DD1EDD4212"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_7F0593B2490B44D29458C3E07333637C"
-            {
-            "SourcePath" = "8:..\\examples\\windows\\installed_examples\\cxxpi.cxx"
-            "TargetName" = "8:cxxpi.cxx"
-            "Tag" = "8:"
-            "Folder" = "8:_7F73272448274F47B6C5C0E0BEDDE4DB"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_80E5976A4DC34AEEA58BA4F4678F9261"
-            {
-            "SourcePath" = "8:..\\src\\mpe2\\src\\slog2sdk\\doc\\jumpshot-4\\usersguide.pdf"
-            "TargetName" = "8:usersguide.pdf"
-            "Tag" = "8:"
-            "Folder" = "8:_871DA6537C074AC2849F6FA1B7FECE3E"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_8577D37319CE4489B4587C15E2E3FB4B"
-            {
-            "SourcePath" = "8:..\\lib\\mpichmtp.dll"
-            "TargetName" = "8:mpichmtp.dll"
-            "Tag" = "8:"
-            "Folder" = "8:_BB1583009D63480DBB484EB460D60D15"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_91466C22C4C94CA2A11217C0AABE404B"
-            {
-            "SourcePath" = "8:..\\examples\\f77\\fpi.f"
-            "TargetName" = "8:fpi.f"
-            "Tag" = "8:"
-            "Folder" = "8:_7F73272448274F47B6C5C0E0BEDDE4DB"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_92981A5D404B4E4A822F7E7D98B5665C"
-            {
-            "SourcePath" = "8:..\\src\\include\\win32\\mpif.h"
-            "TargetName" = "8:mpif.h"
-            "Tag" = "8:"
-            "Folder" = "8:_2FD87C1387F843A5BF89B818287DC235"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_9323A2DF093944FA96EF9E79AA5FEDC3"
-            {
-            "SourcePath" = "8:..\\lib\\fmpichg.lib"
-            "TargetName" = "8:fmpichg.lib"
-            "Tag" = "8:"
-            "Folder" = "8:_B167421D29EE4EAFA108A852DB65BD75"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_96BC19B655FF4EE7BDBDE1B8314A44FD"
-            {
-            "SourcePath" = "8:..\\src\\mpe2\\src\\slog2sdk\\lib\\jumpshot_launcher.jar"
-            "TargetName" = "8:jumpshot_launcher.jar"
-            "Tag" = "8:"
-            "Folder" = "8:_09BC5ABDFA834ABD9D1000DD1EDD4212"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_97A8EA0847D242429469558A2F7FC731"
-            {
-            "SourcePath" = "8:..\\lib\\fmpichs.dll"
-            "TargetName" = "8:fmpichs.dll"
-            "Tag" = "8:"
-            "Folder" = "8:_BB1583009D63480DBB484EB460D60D15"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_991BB62075544FE2AF30A36D0AF75334"
-            {
-            "SourcePath" = "8:..\\src\\mpe2\\src\\logging\\include\\clog_commset.h"
-            "TargetName" = "8:clog_commset.h"
-            "Tag" = "8:"
-            "Folder" = "8:_2FD87C1387F843A5BF89B818287DC235"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_9BED714462D246698292FEA617C3BE76"
-            {
-            "SourcePath" = "8:..\\src\\util\\logging\\rlog\\Release\\irlog2rlog.exe"
-            "TargetName" = "8:irlog2rlog.exe"
-            "Tag" = "8:"
-            "Folder" = "8:_09BC5ABDFA834ABD9D1000DD1EDD4212"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_A1F57C4D80254521B3D8F037205E0D48"
-            {
-            "SourcePath" = "8:..\\lib\\cxx.lib"
-            "TargetName" = "8:cxx.lib"
-            "Tag" = "8:"
-            "Folder" = "8:_B167421D29EE4EAFA108A852DB65BD75"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_A45088358C204B0484A84888EE540C6F"
-            {
-            "SourcePath" = "8:..\\COPYRIGHT.rtf"
-            "TargetName" = "8:COPYRIGHT.rtf"
-            "Tag" = "8:"
-            "Folder" = "8:_3E78E778239C46D6AEB696355EB2F1DE"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_B4B4B2C2AE97497C930D4BB31BD0E278"
-            {
-            "SourcePath" = "8:..\\src\\include\\mpio.h"
-            "TargetName" = "8:mpio.h"
-            "Tag" = "8:"
-            "Folder" = "8:_2FD87C1387F843A5BF89B818287DC235"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_B50C4C0046D04FE7B4BD011E54D060BD"
-            {
-            "SourcePath" = "8:..\\src\\mpe2\\include\\mpe.h"
-            "TargetName" = "8:mpe.h"
-            "Tag" = "8:"
-            "Folder" = "8:_2FD87C1387F843A5BF89B818287DC235"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_B87078EAAD39464C9CEE84DFF2386F96"
-            {
-            "SourcePath" = "8:..\\lib\\fmpich.dll"
-            "TargetName" = "8:fmpich.dll"
-            "Tag" = "8:"
-            "Folder" = "8:_BB1583009D63480DBB484EB460D60D15"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_B97AB8EDF8404332BF87FDD84AB7DFB8"
-            {
-            "SourcePath" = "8:..\\lib\\libfmpichg.a"
-            "TargetName" = "8:libfmpichg.a"
-            "Tag" = "8:"
-            "Folder" = "8:_B167421D29EE4EAFA108A852DB65BD75"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_BFCB13AF30D44BC5920DE6E75ACD5E6C"
-            {
-            "SourcePath" = "8:..\\src\\mpe2\\src\\logging\\include\\mpe_log.h"
-            "TargetName" = "8:mpe_log.h"
-            "Tag" = "8:"
-            "Folder" = "8:_2FD87C1387F843A5BF89B818287DC235"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_C162F5E2848144C29DE849EDBC671E10"
-            {
-            "SourcePath" = "8:..\\src\\mpe2\\src\\wrappers\\test\\cpilog.c"
-            "TargetName" = "8:cpilog.c"
-            "Tag" = "8:"
-            "Folder" = "8:_7F73272448274F47B6C5C0E0BEDDE4DB"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_C35408C528B948A9AFE4729FCA67FB8D"
-            {
-            "SourcePath" = "8:..\\src\\include\\win32\\mpi.h"
-            "TargetName" = "8:mpi.h"
-            "Tag" = "8:"
-            "Folder" = "8:_2FD87C1387F843A5BF89B818287DC235"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_C63BA0B9501E409EB78C7834178927F3"
-            {
-            "AssemblyRegister" = "3:1"
-            "AssemblyIsInGAC" = "11:FALSE"
-            "AssemblyAsmDisplayName" = "8:wmpiconfig, Version=1.0.3775.18166, Culture=neutral, processorArchitecture=MSIL"
-                "ScatterAssemblies"
-                {
-                    "_C63BA0B9501E409EB78C7834178927F3"
-                    {
-                    "Name" = "8:wmpiconfig.exe"
-                    "Attributes" = "3:512"
-                    }
-                }
-            "SourcePath" = "8:..\\bin\\wmpiconfig.exe"
-            "TargetName" = "8:"
-            "Tag" = "8:"
-            "Folder" = "8:_09BC5ABDFA834ABD9D1000DD1EDD4212"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_C6524C961DEF402E9BE50342D24C6D60"
-            {
-            "SourcePath" = "8:..\\lib\\fmpich.lib"
-            "TargetName" = "8:fmpich.lib"
-            "Tag" = "8:"
-            "Folder" = "8:_B167421D29EE4EAFA108A852DB65BD75"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_CC8296CA3DF74A09A1CE924C5DB56B92"
-            {
-            "SourcePath" = "8:..\\examples\\windows\\installed_examples\\fpi.vfproj"
-            "TargetName" = "8:fpi.vfproj"
-            "Tag" = "8:"
-            "Folder" = "8:_7F73272448274F47B6C5C0E0BEDDE4DB"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_D11A51D35A3442938C608920FA632E9E"
-            {
-            "SourcePath" = "8:..\\lib\\mpichp.dll"
-            "TargetName" = "8:mpichp.dll"
-            "Tag" = "8:"
-            "Folder" = "8:_BB1583009D63480DBB484EB460D60D15"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_D252FCCAF18446E4AD9F15AE3E54AAB4"
-            {
-            "SourcePath" = "8:setup.jpg"
-            "TargetName" = "8:setup.jpg"
-            "Tag" = "8:"
-            "Folder" = "8:_3E78E778239C46D6AEB696355EB2F1DE"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_E2A43AB6EAE74C1B952D84CADDDD0C1B"
-            {
-            "SourcePath" = "8:..\\lib\\mpichmt.dll"
-            "TargetName" = "8:mpichmt.dll"
-            "Tag" = "8:"
-            "Folder" = "8:_BB1583009D63480DBB484EB460D60D15"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_E3EC67E501314C938DAC6DFEA6EC7207"
-            {
-            "SourcePath" = "8:..\\lib\\mpichnemesisp.dll"
-            "TargetName" = "8:mpichnemesisp.dll"
-            "Tag" = "8:"
-            "Folder" = "8:_BB1583009D63480DBB484EB460D60D15"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_E514E144BDE54432BDCC7816AA0D13F1"
-            {
-            "SourcePath" = "8:..\\bin\\smpd.exe"
-            "TargetName" = "8:smpd.exe"
-            "Tag" = "8:"
-            "Folder" = "8:_09BC5ABDFA834ABD9D1000DD1EDD4212"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_E5B91D98224741AD9893DE73A605DA23"
-            {
-            "SourcePath" = "8:..\\examples\\windows\\installed_examples\\cxxpi.vcproj"
-            "TargetName" = "8:cxxpi.vcproj"
-            "Tag" = "8:"
-            "Folder" = "8:_7F73272448274F47B6C5C0E0BEDDE4DB"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_E98DA1DA9B4C4FD981D8F3E5AE1BB951"
-            {
-            "SourcePath" = "8:..\\lib\\mpichmpe.dll"
-            "TargetName" = "8:mpichmpe.dll"
-            "Tag" = "8:"
-            "Folder" = "8:_BB1583009D63480DBB484EB460D60D15"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_F1BCCBB90CE04DB181DF2BC26B7F85B9"
-            {
-            "SourcePath" = "8:..\\examples\\windows\\installed_examples\\examples.sln"
-            "TargetName" = "8:examples.sln"
-            "Tag" = "8:"
-            "Folder" = "8:_7F73272448274F47B6C5C0E0BEDDE4DB"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_F3255A3492E040B49529B7016A56A896"
-            {
-            "SourcePath" = "8:..\\src\\mpe2\\src\\slog2sdk\\lib\\traceTOslog2.jar"
-            "TargetName" = "8:traceTOslog2.jar"
-            "Tag" = "8:"
-            "Folder" = "8:_09BC5ABDFA834ABD9D1000DD1EDD4212"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_F3D2572CE8274BAF9C20E76AD177AB87"
-            {
-            "SourcePath" = "8:..\\lib\\libmpi.a"
-            "TargetName" = "8:libmpi.a"
-            "Tag" = "8:"
-            "Folder" = "8:_B167421D29EE4EAFA108A852DB65BD75"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_F4AFB45860624DE580E74853EA7E28CE"
-            {
-            "SourcePath" = "8:..\\examples\\Release\\cpi.exe"
-            "TargetName" = "8:cpi.exe"
-            "Tag" = "8:"
-            "Folder" = "8:_7F73272448274F47B6C5C0E0BEDDE4DB"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_F5DE15D6D59A4924945EE75573A5BE31"
-            {
-            "SourcePath" = "8:..\\src\\mpe2\\src\\logging\\include\\clog_uuid.h"
-            "TargetName" = "8:clog_uuid.h"
-            "Tag" = "8:"
-            "Folder" = "8:_2FD87C1387F843A5BF89B818287DC235"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_F7292DDA7C60421394EC69BDBF9132B3"
-            {
-            "SourcePath" = "8:..\\README.winbin.rtf"
-            "TargetName" = "8:README.winbin.rtf"
-            "Tag" = "8:"
-            "Folder" = "8:_3E78E778239C46D6AEB696355EB2F1DE"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_F9BAC701E02B49D4BB9F730401637641"
-            {
-            "SourcePath" = "8:..\\lib\\mpe.dll"
-            "TargetName" = "8:mpe.dll"
-            "Tag" = "8:"
-            "Folder" = "8:_BB1583009D63480DBB484EB460D60D15"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_FD7F219280EB4E04BDD2A8663B0261B6"
-            {
-            "SourcePath" = "8:..\\examples\\windows\\installed_examples\\cpi.vcproj"
-            "TargetName" = "8:cpi.vcproj"
-            "Tag" = "8:"
-            "Folder" = "8:_7F73272448274F47B6C5C0E0BEDDE4DB"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-        }
-        "FileType"
-        {
-        }
-        "Folder"
-        {
-            "{3C67513D-01DD-4637-8A68-80971EB9504F}:_3E78E778239C46D6AEB696355EB2F1DE"
-            {
-            "DefaultLocation" = "8:[ProgramFilesFolder]\\[ProductName]"
-            "Name" = "8:#1925"
-            "AlwaysCreate" = "11:FALSE"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Property" = "8:TARGETDIR"
-                "Folders"
-                {
-                    "{9EF0B969-E518-4E46-987F-47570745A589}:_09BC5ABDFA834ABD9D1000DD1EDD4212"
-                    {
-                    "Name" = "8:bin"
-                    "AlwaysCreate" = "11:FALSE"
-                    "Condition" = "8:"
-                    "Transitive" = "11:FALSE"
-                    "Property" = "8:_C0B7C68B32FC4766A9BDB776EE7A5831"
-                        "Folders"
-                        {
-                        }
-                    }
-                    "{9EF0B969-E518-4E46-987F-47570745A589}:_2FD87C1387F843A5BF89B818287DC235"
-                    {
-                    "Name" = "8:include"
-                    "AlwaysCreate" = "11:FALSE"
-                    "Condition" = "8:"
-                    "Transitive" = "11:FALSE"
-                    "Property" = "8:_5029050AF20347BA9DC76BEA5FBD25F4"
-                        "Folders"
-                        {
-                        }
-                    }
-                    "{9EF0B969-E518-4E46-987F-47570745A589}:_7F73272448274F47B6C5C0E0BEDDE4DB"
-                    {
-                    "Name" = "8:examples"
-                    "AlwaysCreate" = "11:FALSE"
-                    "Condition" = "8:"
-                    "Transitive" = "11:FALSE"
-                    "Property" = "8:_99FD287482474B6B838F41650497EBE9"
-                        "Folders"
-                        {
-                        }
-                    }
-                    "{9EF0B969-E518-4E46-987F-47570745A589}:_871DA6537C074AC2849F6FA1B7FECE3E"
-                    {
-                    "Name" = "8:jumpshot"
-                    "AlwaysCreate" = "11:FALSE"
-                    "Condition" = "8:"
-                    "Transitive" = "11:FALSE"
-                    "Property" = "8:_B4AEC6E0DB6743D4BA62939096D0EE7E"
-                        "Folders"
-                        {
-                        }
-                    }
-                    "{9EF0B969-E518-4E46-987F-47570745A589}:_B167421D29EE4EAFA108A852DB65BD75"
-                    {
-                    "Name" = "8:lib"
-                    "AlwaysCreate" = "11:FALSE"
-                    "Condition" = "8:"
-                    "Transitive" = "11:FALSE"
-                    "Property" = "8:_9911B67DBBC74C1FB7B3B4BA4E2970DF"
-                        "Folders"
-                        {
-                        }
-                    }
-                }
-            }
-            "{1525181F-901A-416C-8A58-119130FE478E}:_ACE2DA403470409D9ED2D230AB981A29"
-            {
-            "Name" = "8:#1919"
-            "AlwaysCreate" = "11:FALSE"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Property" = "8:ProgramMenuFolder"
-                "Folders"
-                {
-                    "{9EF0B969-E518-4E46-987F-47570745A589}:_A197F3C53A7E44ADAE8C8687CB0A39FD"
-                    {
-                    "Name" = "8:MPICH"
-                    "AlwaysCreate" = "11:FALSE"
-                    "Condition" = "8:"
-                    "Transitive" = "11:FALSE"
-                    "Property" = "8:_B617137BCBAA42DDAC9DAF273496C9B1"
-                        "Folders"
-                        {
-                        }
-                    }
-                }
-            }
-            "{1525181F-901A-416C-8A58-119130FE478E}:_BB1583009D63480DBB484EB460D60D15"
-            {
-            "Name" = "8:#1914"
-            "AlwaysCreate" = "11:FALSE"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Property" = "8:SystemFolder"
-                "Folders"
-                {
-                }
-            }
-            "{1525181F-901A-416C-8A58-119130FE478E}:_EDC25C2F1626443E930E129979CE8707"
-            {
-            "Name" = "8:#1916"
-            "AlwaysCreate" = "11:FALSE"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Property" = "8:DesktopFolder"
-                "Folders"
-                {
-                }
-            }
-        }
-        "LaunchCondition"
-        {
-            "{836E08B8-0285-4809-BA42-01DB6754A45D}:_BC4AAD666A494E4FA76E9C1956A9A029"
-            {
-            "Name" = "8:AdminCondition"
-            "Condition" = "8:AdminUser"
-            "Message" = "8:You must have administrator privileges to install MPICH"
-            "InstallUrl" = "8:"
-            }
-            "{836E08B8-0285-4809-BA42-01DB6754A45D}:_E00DB7E030164B1B972BD21B495DB7DC"
-            {
-            "Name" = "8:VisualStudio_CRuntimeLibUnAvail"
-            "Condition" = "8:VSRUNTIMELIBEXISTS"
-            "Message" = "8:The version of C Runtime Library required to use MPICH is not currently installed. Please install Visual Studio C++ 2005 SP1 Redistributable package (x86) and try to re-install MPICH."
-            "InstallUrl" = "8:http://www.microsoft.com"
-            }
-        }
-        "Locator"
-        {
-            "{39E1837C-0DB9-45A2-89C8-438377A77565}:_9F9C83CF6F4047848D44A287CDD60891"
-            {
-            "Name" = "8:VisualStudio_CRuntimeLib"
-            "Folder" = "8:[WindowsFolder]\\WinSxS"
-            "Depth" = "2:1"
-            "FileName" = "8:msvcr80.dll"
-            "MinVesion" = "8:8.00.50727.761"
-            "MaxVersion" = "8:"
-            "MinSize" = "8:"
-            "MaxSize" = "8:"
-            "MinDate" = "8:"
-            "MaxDate" = "8:"
-            "Languages" = "8:"
-            "Property" = "8:VSRUNTIMELIBEXISTS"
-            }
-        }
-        "MsiBootstrapper"
-        {
-        "LangId" = "3:1033"
-        }
-        "Product"
-        {
-        "Name" = "8:Microsoft Visual Studio"
-        "ProductName" = "8:MPICH"
-        "ProductCode" = "8:{77531C63-4A48-4EB7-BCD2-5F3E1EFCC405}"
-        "PackageCode" = "8:{DD575BD9-0BC7-4074-9A24-1EF5FB3B0813}"
-        "UpgradeCode" = "8:{79DA0A3D-C7B5-4B12-85D4-231837D012E4}"
-        "RestartWWWService" = "11:FALSE"
-        "RemovePreviousVersions" = "11:TRUE"
-        "DetectNewerInstalledVersion" = "11:TRUE"
-        "InstallAllUsers" = "11:FALSE"
-        "ProductVersion" = "8:1.3"
-        "Manufacturer" = "8:Argonne National Lab"
-        "ARPHELPTELEPHONE" = "8:"
-        "ARPHELPLINK" = "8:www.mpich.org"
-        "Title" = "8:MPICH"
-        "Subject" = "8:MPICH implementation of the MPI-2 standard"
-        "ARPCONTACT" = "8:Argonne National Lab"
-        "Keywords" = "8:"
-        "ARPCOMMENTS" = "8:"
-        "ARPURLINFOABOUT" = "8:www.mpich.org"
-        "ARPPRODUCTICON" = "8:"
-        "ARPIconIndex" = "3:0"
-        "SearchPath" = "8:"
-        "UseSystemSearchPath" = "11:TRUE"
-        "TargetPlatform" = "3:0"
-        "PreBuildEvent" = "8:"
-        "PostBuildEvent" = "8:"
-        "RunPostBuildEvent" = "3:0"
-        }
-        "Registry"
-        {
-            "HKLM"
-            {
-                "Keys"
-                {
-                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_7E5B748DFD474BC4A13E6D4A8FDCA953"
-                    {
-                    "Name" = "8:Software"
-                    "Condition" = "8:"
-                    "AlwaysCreate" = "11:FALSE"
-                    "DeleteAtUninstall" = "11:FALSE"
-                    "Transitive" = "11:FALSE"
-                        "Keys"
-                        {
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_10428E15A4FB4E3FAACF336B58F12D2F"
-                            {
-                            "Name" = "8:[ProductName]"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:FALSE"
-                            "DeleteAtUninstall" = "11:FALSE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                }
-                                "Values"
-                                {
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_D4C1C05E112C44C78828A31E9948004B"
-                                    {
-                                    "Name" = "8:Path"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:[TARGETDIR]"
-                                    }
-                                }
-                            }
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_80D066DACF13439CBBA6BD541EE07437"
-                            {
-                            "Name" = "8:MPICH"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:FALSE"
-                            "DeleteAtUninstall" = "11:FALSE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_46485FE4B00A42C6BCBE5286D939FAEA"
-                                    {
-                                    "Name" = "8:SMPD"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:FALSE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_C472BC7F27FC466F83DBFF9C0DC720C1"
-                                            {
-                                            "Name" = "8:phrase"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:"
-                                            }
-                                        }
-                                    }
-                                }
-                                "Values"
-                                {
-                                }
-                            }
-                        }
-                        "Values"
-                        {
-                        }
-                    }
-                }
-            }
-            "HKCU"
-            {
-                "Keys"
-                {
-                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_57B4083AB265471C9BC5C218D0604826"
-                    {
-                    "Name" = "8:Software"
-                    "Condition" = "8:"
-                    "AlwaysCreate" = "11:FALSE"
-                    "DeleteAtUninstall" = "11:FALSE"
-                    "Transitive" = "11:FALSE"
-                        "Keys"
-                        {
-                        }
-                        "Values"
-                        {
-                        }
-                    }
-                }
-            }
-            "HKCR"
-            {
-                "Keys"
-                {
-                }
-            }
-            "HKU"
-            {
-                "Keys"
-                {
-                }
-            }
-            "HKPU"
-            {
-                "Keys"
-                {
-                }
-            }
-        }
-        "Sequences"
-        {
-        }
-        "Shortcut"
-        {
-            "{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_16C489FE7D5448AFA071580B26814ADE"
-            {
-            "Name" = "8:Jumpshot"
-            "Arguments" = "8:"
-            "Description" = "8:Launch the jumpshot logfile viewer"
-            "ShowCmd" = "3:1"
-            "IconIndex" = "3:0"
-            "Transitive" = "11:FALSE"
-            "Target" = "8:_96BC19B655FF4EE7BDBDE1B8314A44FD"
-            "Folder" = "8:_A197F3C53A7E44ADAE8C8687CB0A39FD"
-            "WorkingFolder" = "8:_09BC5ABDFA834ABD9D1000DD1EDD4212"
-            "Icon" = "8:_4E24D94FA816421EB7C8570369A0AC6D"
-            "Feature" = "8:"
-            }
-            "{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_40F8CF55FE20484C83F44E1F7512F175"
-            {
-            "Name" = "8:wmpiconfig.exe"
-            "Arguments" = "8:"
-            "Description" = "8:"
-            "ShowCmd" = "3:1"
-            "IconIndex" = "3:0"
-            "Transitive" = "11:FALSE"
-            "Target" = "8:_C63BA0B9501E409EB78C7834178927F3"
-            "Folder" = "8:_A197F3C53A7E44ADAE8C8687CB0A39FD"
-            "WorkingFolder" = "8:_09BC5ABDFA834ABD9D1000DD1EDD4212"
-            "Icon" = "8:"
-            "Feature" = "8:"
-            }
-            "{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_6EE48973B8CD43728DF421C93746EBAE"
-            {
-            "Name" = "8:Readme"
-            "Arguments" = "8:"
-            "Description" = "8:"
-            "ShowCmd" = "3:1"
-            "IconIndex" = "3:0"
-            "Transitive" = "11:FALSE"
-            "Target" = "8:_F7292DDA7C60421394EC69BDBF9132B3"
-            "Folder" = "8:_A197F3C53A7E44ADAE8C8687CB0A39FD"
-            "WorkingFolder" = "8:_3E78E778239C46D6AEB696355EB2F1DE"
-            "Icon" = "8:"
-            "Feature" = "8:"
-            }
-            "{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_85AB70A74FFE40938BF87FC4F27D2033"
-            {
-            "Name" = "8:Jumpshot Userguide"
-            "Arguments" = "8:"
-            "Description" = "8:View the Jumpshot user guide"
-            "ShowCmd" = "3:1"
-            "IconIndex" = "3:0"
-            "Transitive" = "11:FALSE"
-            "Target" = "8:_80E5976A4DC34AEEA58BA4F4678F9261"
-            "Folder" = "8:_A197F3C53A7E44ADAE8C8687CB0A39FD"
-            "WorkingFolder" = "8:_871DA6537C074AC2849F6FA1B7FECE3E"
-            "Icon" = "8:"
-            "Feature" = "8:"
-            }
-            "{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_C2A79B05E8F945A3A9373C7C38D8BA53"
-            {
-            "Name" = "8:wmpiexec.exe"
-            "Arguments" = "8:"
-            "Description" = "8:"
-            "ShowCmd" = "3:1"
-            "IconIndex" = "3:0"
-            "Transitive" = "11:FALSE"
-            "Target" = "8:_1EE41EF56BA143788490913B5A71E9C8"
-            "Folder" = "8:_A197F3C53A7E44ADAE8C8687CB0A39FD"
-            "WorkingFolder" = "8:_09BC5ABDFA834ABD9D1000DD1EDD4212"
-            "Icon" = "8:"
-            "Feature" = "8:"
-            }
-            "{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_C519D3755AC74C57AB6A6455882ED4AD"
-            {
-            "Name" = "8:wmpiregister.exe"
-            "Arguments" = "8:"
-            "Description" = "8:"
-            "ShowCmd" = "3:1"
-            "IconIndex" = "3:0"
-            "Transitive" = "11:FALSE"
-            "Target" = "8:_60D2EF188B7448598D171ECA07E6E2DE"
-            "Folder" = "8:_A197F3C53A7E44ADAE8C8687CB0A39FD"
-            "WorkingFolder" = "8:_09BC5ABDFA834ABD9D1000DD1EDD4212"
-            "Icon" = "8:"
-            "Feature" = "8:"
-            }
-        }
-        "UserInterface"
-        {
-            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_09283CFF9BD642BCBA5DD4ECC045C724"
-            {
-            "Name" = "8:#1901"
-            "Sequence" = "3:1"
-            "Attributes" = "3:2"
-                "Dialogs"
-                {
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_CC95E8424C8B4E4AB166EB84595E3D8C"
-                    {
-                    "Sequence" = "3:100"
-                    "DisplayName" = "8:Progress"
-                    "UseDynamicProperties" = "11:TRUE"
-                    "IsDependency" = "11:FALSE"
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdProgressDlg.wid"
-                        "Properties"
-                        {
-                            "BannerBitmap"
-                            {
-                            "Name" = "8:BannerBitmap"
-                            "DisplayName" = "8:#1001"
-                            "Description" = "8:#1101"
-                            "Type" = "3:8"
-                            "ContextData" = "8:Bitmap"
-                            "Attributes" = "3:4"
-                            "Setting" = "3:2"
-                            "Value" = "8:_D252FCCAF18446E4AD9F15AE3E54AAB4"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "ShowProgress"
-                            {
-                            "Name" = "8:ShowProgress"
-                            "DisplayName" = "8:#1009"
-                            "Description" = "8:#1109"
-                            "Type" = "3:5"
-                            "ContextData" = "8:1;True=1;False=0"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:0"
-                            "Value" = "3:1"
-                            "DefaultValue" = "3:1"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                        }
-                    }
-                }
-            }
-            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_29163A947B254A0DB7EB7FB6F21611CA"
-            {
-            "Name" = "8:#1900"
-            "Sequence" = "3:2"
-            "Attributes" = "3:1"
-                "Dialogs"
-                {
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_2F175ACA1424471E89B4EE1D585E3EF8"
-                    {
-                    "Sequence" = "3:400"
-                    "DisplayName" = "8:Installation Folder"
-                    "UseDynamicProperties" = "11:TRUE"
-                    "IsDependency" = "11:FALSE"
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdAdminFolderDlg.wid"
-                        "Properties"
-                        {
-                            "BannerBitmap"
-                            {
-                            "Name" = "8:BannerBitmap"
-                            "DisplayName" = "8:#1001"
-                            "Description" = "8:#1101"
-                            "Type" = "3:8"
-                            "ContextData" = "8:Bitmap"
-                            "Attributes" = "3:4"
-                            "Setting" = "3:2"
-                            "Value" = "8:_D252FCCAF18446E4AD9F15AE3E54AAB4"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                        }
-                    }
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_306D1FA825F74F70A9F8A6B81B2EF452"
-                    {
-                    "Sequence" = "3:100"
-                    "DisplayName" = "8:Welcome"
-                    "UseDynamicProperties" = "11:TRUE"
-                    "IsDependency" = "11:FALSE"
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdAdminWelcomeDlg.wid"
-                        "Properties"
-                        {
-                            "BannerBitmap"
-                            {
-                            "Name" = "8:BannerBitmap"
-                            "DisplayName" = "8:#1001"
-                            "Description" = "8:#1101"
-                            "Type" = "3:8"
-                            "ContextData" = "8:Bitmap"
-                            "Attributes" = "3:4"
-                            "Setting" = "3:0"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "CopyrightWarning"
-                            {
-                            "Name" = "8:CopyrightWarning"
-                            "DisplayName" = "8:#1002"
-                            "Description" = "8:#1102"
-                            "Type" = "3:3"
-                            "ContextData" = "8:"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:2"
-                            "Value" = "8:"
-                            "DefaultValue" = "8:#1202"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Welcome"
-                            {
-                            "Name" = "8:Welcome"
-                            "DisplayName" = "8:#1003"
-                            "Description" = "8:#1103"
-                            "Type" = "3:3"
-                            "ContextData" = "8:"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:1"
-                            "Value" = "8:#1203"
-                            "DefaultValue" = "8:#1203"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                        }
-                    }
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_5CEB0608B4154E308BB26DA8EDA77D37"
-                    {
-                    "Sequence" = "3:300"
-                    "DisplayName" = "8:License Agreement"
-                    "UseDynamicProperties" = "11:TRUE"
-                    "IsDependency" = "11:FALSE"
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdAdminLicenseDlg.wid"
-                        "Properties"
-                        {
-                            "BannerBitmap"
-                            {
-                            "Name" = "8:BannerBitmap"
-                            "DisplayName" = "8:#1001"
-                            "Description" = "8:#1101"
-                            "Type" = "3:8"
-                            "ContextData" = "8:Bitmap"
-                            "Attributes" = "3:4"
-                            "Setting" = "3:2"
-                            "Value" = "8:_D252FCCAF18446E4AD9F15AE3E54AAB4"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "EulaText"
-                            {
-                            "Name" = "8:EulaText"
-                            "DisplayName" = "8:#1008"
-                            "Description" = "8:#1108"
-                            "Type" = "3:6"
-                            "ContextData" = "8:"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:2"
-                            "Value" = "8:_A45088358C204B0484A84888EE540C6F"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Sunken"
-                            {
-                            "Name" = "8:Sunken"
-                            "DisplayName" = "8:#1007"
-                            "Description" = "8:#1107"
-                            "Type" = "3:5"
-                            "ContextData" = "8:4;True=4;False=0"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:0"
-                            "Value" = "3:0"
-                            "DefaultValue" = "3:4"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                        }
-                    }
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_73B6ACDAE00B49B6A412ACF22D05ED24"
-                    {
-                    "Sequence" = "3:500"
-                    "DisplayName" = "8:Confirm Installation"
-                    "UseDynamicProperties" = "11:TRUE"
-                    "IsDependency" = "11:FALSE"
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdAdminConfirmDlg.wid"
-                        "Properties"
-                        {
-                            "BannerBitmap"
-                            {
-                            "Name" = "8:BannerBitmap"
-                            "DisplayName" = "8:#1001"
-                            "Description" = "8:#1101"
-                            "Type" = "3:8"
-                            "ContextData" = "8:Bitmap"
-                            "Attributes" = "3:4"
-                            "Setting" = "3:2"
-                            "Value" = "8:_D252FCCAF18446E4AD9F15AE3E54AAB4"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                        }
-                    }
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_CEDDEC8F764A436A8DF9E27B6ECD1782"
-                    {
-                    "Sequence" = "3:200"
-                    "DisplayName" = "8:Read Me"
-                    "UseDynamicProperties" = "11:TRUE"
-                    "IsDependency" = "11:FALSE"
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdAdminReadmeDlg.wid"
-                        "Properties"
-                        {
-                            "BannerBitmap"
-                            {
-                            "Name" = "8:BannerBitmap"
-                            "DisplayName" = "8:#1001"
-                            "Description" = "8:#1101"
-                            "Type" = "3:8"
-                            "ContextData" = "8:Bitmap"
-                            "Attributes" = "3:4"
-                            "Setting" = "3:2"
-                            "Value" = "8:_D252FCCAF18446E4AD9F15AE3E54AAB4"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "ReadmeText"
-                            {
-                            "Name" = "8:ReadmeText"
-                            "DisplayName" = "8:#1010"
-                            "Description" = "8:#1110"
-                            "Type" = "3:6"
-                            "ContextData" = "8:"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:2"
-                            "Value" = "8:_F7292DDA7C60421394EC69BDBF9132B3"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Sunken"
-                            {
-                            "Name" = "8:Sunken"
-                            "DisplayName" = "8:#1007"
-                            "Description" = "8:#1107"
-                            "Type" = "3:5"
-                            "ContextData" = "8:4;True=4;False=0"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:0"
-                            "Value" = "3:4"
-                            "DefaultValue" = "3:4"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                        }
-                    }
-                }
-            }
-            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_32066DDE68504BCE98DE6856727CE659"
-            {
-            "Name" = "8:#1900"
-            "Sequence" = "3:1"
-            "Attributes" = "3:1"
-                "Dialogs"
-                {
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_07890E402A8F4485B1AE02DCFAC5B0AB"
-                    {
-                    "Sequence" = "3:100"
-                    "DisplayName" = "8:Welcome"
-                    "UseDynamicProperties" = "11:TRUE"
-                    "IsDependency" = "11:FALSE"
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdWelcomeDlg.wid"
-                        "Properties"
-                        {
-                            "BannerBitmap"
-                            {
-                            "Name" = "8:BannerBitmap"
-                            "DisplayName" = "8:#1001"
-                            "Description" = "8:#1101"
-                            "Type" = "3:8"
-                            "ContextData" = "8:Bitmap"
-                            "Attributes" = "3:4"
-                            "Setting" = "3:0"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "CopyrightWarning"
-                            {
-                            "Name" = "8:CopyrightWarning"
-                            "DisplayName" = "8:#1002"
-                            "Description" = "8:#1102"
-                            "Type" = "3:3"
-                            "ContextData" = "8:"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:2"
-                            "Value" = "8:"
-                            "DefaultValue" = "8:#1202"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Welcome"
-                            {
-                            "Name" = "8:Welcome"
-                            "DisplayName" = "8:#1003"
-                            "Description" = "8:#1103"
-                            "Type" = "3:3"
-                            "ContextData" = "8:"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:1"
-                            "Value" = "8:#1203"
-                            "DefaultValue" = "8:#1203"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                        }
-                    }
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_3FA9244F91174C85B598A8340F08EB94"
-                    {
-                    "Sequence" = "3:500"
-                    "DisplayName" = "8:Installation Folder"
-                    "UseDynamicProperties" = "11:TRUE"
-                    "IsDependency" = "11:FALSE"
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdFolderDlg.wid"
-                        "Properties"
-                        {
-                            "BannerBitmap"
-                            {
-                            "Name" = "8:BannerBitmap"
-                            "DisplayName" = "8:#1001"
-                            "Description" = "8:#1101"
-                            "Type" = "3:8"
-                            "ContextData" = "8:Bitmap"
-                            "Attributes" = "3:4"
-                            "Setting" = "3:2"
-                            "Value" = "8:_D252FCCAF18446E4AD9F15AE3E54AAB4"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "InstallAllUsersVisible"
-                            {
-                            "Name" = "8:InstallAllUsersVisible"
-                            "DisplayName" = "8:#1059"
-                            "Description" = "8:#1159"
-                            "Type" = "3:5"
-                            "ContextData" = "8:1;True=1;False=0"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:0"
-                            "Value" = "3:1"
-                            "DefaultValue" = "3:1"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                        }
-                    }
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_71E3776530034C65A12AD24D7D99FD6D"
-                    {
-                    "Sequence" = "3:400"
-                    "DisplayName" = "8:Textboxes   (A)"
-                    "UseDynamicProperties" = "11:TRUE"
-                    "IsDependency" = "11:FALSE"
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdCustomText1Dlg.wid"
-                        "Properties"
-                        {
-                            "BannerBitmap"
-                            {
-                            "Name" = "8:BannerBitmap"
-                            "DisplayName" = "8:#1001"
-                            "Description" = "8:#1101"
-                            "Type" = "3:8"
-                            "ContextData" = "8:Bitmap"
-                            "Attributes" = "3:4"
-                            "Setting" = "3:2"
-                            "Value" = "8:_D252FCCAF18446E4AD9F15AE3E54AAB4"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "BannerText"
-                            {
-                            "Name" = "8:BannerText"
-                            "DisplayName" = "8:#1014"
-                            "Description" = "8:#1114"
-                            "Type" = "3:3"
-                            "ContextData" = "8:"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:2"
-                            "Value" = "8:Process Manager setup"
-                            "DefaultValue" = "8:#1214"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "BodyText"
-                            {
-                            "Name" = "8:BodyText"
-                            "DisplayName" = "8:#1015"
-                            "Description" = "8:#1115"
-                            "Type" = "3:3"
-                            "ContextData" = "8:"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:2"
-                            "Value" = "8:The smpd process manager will be installed on this system.  It requires administrator privileges to install so if you are not in the administrator's group you should cancel the installation now.  Smpd will be installed as a service used to launch MPI processes.  Authorized access to the smpd service is regulated by a secret word entered here.  The same passphrase must be used on all systems."
-                            "DefaultValue" = "8:#1215"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Edit1Label"
-                            {
-                            "Name" = "8:Edit1Label"
-                            "DisplayName" = "8:#1046"
-                            "Description" = "8:#1146"
-                            "Type" = "3:3"
-                            "ContextData" = "8:"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:2"
-                            "Value" = "8:Passphrase:"
-                            "DefaultValue" = "8:#1246"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Edit1Property"
-                            {
-                            "Name" = "8:Edit1Property"
-                            "DisplayName" = "8:#1050"
-                            "Description" = "8:#1150"
-                            "Type" = "3:14"
-                            "ContextData" = "8:Public"
-                            "Attributes" = "3:2"
-                            "Setting" = "3:2"
-                            "Value" = "8:PHRASE"
-                            "DefaultValue" = "8:EDITA1"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Edit1Value"
-                            {
-                            "Name" = "8:Edit1Value"
-                            "DisplayName" = "8:#1054"
-                            "Description" = "8:#1154"
-                            "Type" = "3:3"
-                            "ContextData" = "8:"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:2"
-                            "Value" = "8:behappy"
-                            "DefaultValue" = "8:"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Edit1Visible"
-                            {
-                            "Name" = "8:Edit1Visible"
-                            "DisplayName" = "8:#1042"
-                            "Description" = "8:#1142"
-                            "Type" = "3:5"
-                            "ContextData" = "8:1;True=1;False=0"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:0"
-                            "Value" = "3:1"
-                            "DefaultValue" = "3:1"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Edit2Label"
-                            {
-                            "Name" = "8:Edit2Label"
-                            "DisplayName" = "8:#1047"
-                            "Description" = "8:#1147"
-                            "Type" = "3:3"
-                            "ContextData" = "8:"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:1"
-                            "Value" = "8:#1247"
-                            "DefaultValue" = "8:#1247"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Edit2Property"
-                            {
-                            "Name" = "8:Edit2Property"
-                            "DisplayName" = "8:#1051"
-                            "Description" = "8:#1151"
-                            "Type" = "3:14"
-                            "ContextData" = "8:Public"
-                            "Attributes" = "3:2"
-                            "Setting" = "3:2"
-                            "Value" = "8:EDITA2"
-                            "DefaultValue" = "8:EDITA2"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Edit2Value"
-                            {
-                            "Name" = "8:Edit2Value"
-                            "DisplayName" = "8:#1055"
-                            "Description" = "8:#1155"
-                            "Type" = "3:3"
-                            "ContextData" = "8:"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:1"
-                            "Value" = "8:"
-                            "DefaultValue" = "8:"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Edit2Visible"
-                            {
-                            "Name" = "8:Edit2Visible"
-                            "DisplayName" = "8:#1043"
-                            "Description" = "8:#1143"
-                            "Type" = "3:5"
-                            "ContextData" = "8:1;True=1;False=0"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:0"
-                            "Value" = "3:0"
-                            "DefaultValue" = "3:1"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Edit3Label"
-                            {
-                            "Name" = "8:Edit3Label"
-                            "DisplayName" = "8:#1048"
-                            "Description" = "8:#1148"
-                            "Type" = "3:3"
-                            "ContextData" = "8:"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:1"
-                            "Value" = "8:#1248"
-                            "DefaultValue" = "8:#1248"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Edit3Property"
-                            {
-                            "Name" = "8:Edit3Property"
-                            "DisplayName" = "8:#1052"
-                            "Description" = "8:#1152"
-                            "Type" = "3:14"
-                            "ContextData" = "8:Public"
-                            "Attributes" = "3:2"
-                            "Setting" = "3:2"
-                            "Value" = "8:EDITA3"
-                            "DefaultValue" = "8:EDITA3"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Edit3Value"
-                            {
-                            "Name" = "8:Edit3Value"
-                            "DisplayName" = "8:#1056"
-                            "Description" = "8:#1156"
-                            "Type" = "3:3"
-                            "ContextData" = "8:"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:1"
-                            "Value" = "8:"
-                            "DefaultValue" = "8:"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Edit3Visible"
-                            {
-                            "Name" = "8:Edit3Visible"
-                            "DisplayName" = "8:#1044"
-                            "Description" = "8:#1144"
-                            "Type" = "3:5"
-                            "ContextData" = "8:1;True=1;False=0"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:0"
-                            "Value" = "3:0"
-                            "DefaultValue" = "3:1"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Edit4Label"
-                            {
-                            "Name" = "8:Edit4Label"
-                            "DisplayName" = "8:#1049"
-                            "Description" = "8:#1149"
-                            "Type" = "3:3"
-                            "ContextData" = "8:"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:1"
-                            "Value" = "8:#1249"
-                            "DefaultValue" = "8:#1249"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Edit4Property"
-                            {
-                            "Name" = "8:Edit4Property"
-                            "DisplayName" = "8:#1053"
-                            "Description" = "8:#1153"
-                            "Type" = "3:14"
-                            "ContextData" = "8:Public"
-                            "Attributes" = "3:2"
-                            "Setting" = "3:2"
-                            "Value" = "8:EDITA4"
-                            "DefaultValue" = "8:EDITA4"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Edit4Value"
-                            {
-                            "Name" = "8:Edit4Value"
-                            "DisplayName" = "8:#1057"
-                            "Description" = "8:#1057"
-                            "Type" = "3:3"
-                            "ContextData" = "8:"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:1"
-                            "Value" = "8:"
-                            "DefaultValue" = "8:"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Edit4Visible"
-                            {
-                            "Name" = "8:Edit4Visible"
-                            "DisplayName" = "8:#1045"
-                            "Description" = "8:#1145"
-                            "Type" = "3:5"
-                            "ContextData" = "8:1;True=1;False=0"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:0"
-                            "Value" = "3:0"
-                            "DefaultValue" = "3:1"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                        }
-                    }
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_E5DCEED1AEA64496AC63118F96456CA4"
-                    {
-                    "Sequence" = "3:600"
-                    "DisplayName" = "8:Confirm Installation"
-                    "UseDynamicProperties" = "11:TRUE"
-                    "IsDependency" = "11:FALSE"
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdConfirmDlg.wid"
-                        "Properties"
-                        {
-                            "BannerBitmap"
-                            {
-                            "Name" = "8:BannerBitmap"
-                            "DisplayName" = "8:#1001"
-                            "Description" = "8:#1101"
-                            "Type" = "3:8"
-                            "ContextData" = "8:Bitmap"
-                            "Attributes" = "3:4"
-                            "Setting" = "3:2"
-                            "Value" = "8:_D252FCCAF18446E4AD9F15AE3E54AAB4"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                        }
-                    }
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_F6B6D63585964ABFA7A2AA8278CCE726"
-                    {
-                    "Sequence" = "3:300"
-                    "DisplayName" = "8:License Agreement"
-                    "UseDynamicProperties" = "11:TRUE"
-                    "IsDependency" = "11:FALSE"
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdLicenseDlg.wid"
-                        "Properties"
-                        {
-                            "BannerBitmap"
-                            {
-                            "Name" = "8:BannerBitmap"
-                            "DisplayName" = "8:#1001"
-                            "Description" = "8:#1101"
-                            "Type" = "3:8"
-                            "ContextData" = "8:Bitmap"
-                            "Attributes" = "3:4"
-                            "Setting" = "3:2"
-                            "Value" = "8:_D252FCCAF18446E4AD9F15AE3E54AAB4"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "EulaText"
-                            {
-                            "Name" = "8:EulaText"
-                            "DisplayName" = "8:#1008"
-                            "Description" = "8:#1108"
-                            "Type" = "3:6"
-                            "ContextData" = "8:"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:2"
-                            "Value" = "8:_A45088358C204B0484A84888EE540C6F"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Sunken"
-                            {
-                            "Name" = "8:Sunken"
-                            "DisplayName" = "8:#1007"
-                            "Description" = "8:#1107"
-                            "Type" = "3:5"
-                            "ContextData" = "8:4;True=4;False=0"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:0"
-                            "Value" = "3:0"
-                            "DefaultValue" = "3:4"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                        }
-                    }
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_FAD82E01D19E4958914B7DC8CCC1B73C"
-                    {
-                    "Sequence" = "3:200"
-                    "DisplayName" = "8:Read Me"
-                    "UseDynamicProperties" = "11:TRUE"
-                    "IsDependency" = "11:FALSE"
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdReadmeDlg.wid"
-                        "Properties"
-                        {
-                            "BannerBitmap"
-                            {
-                            "Name" = "8:BannerBitmap"
-                            "DisplayName" = "8:#1001"
-                            "Description" = "8:#1101"
-                            "Type" = "3:8"
-                            "ContextData" = "8:Bitmap"
-                            "Attributes" = "3:4"
-                            "Setting" = "3:2"
-                            "Value" = "8:_D252FCCAF18446E4AD9F15AE3E54AAB4"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "ReadmeText"
-                            {
-                            "Name" = "8:ReadmeText"
-                            "DisplayName" = "8:#1010"
-                            "Description" = "8:#1110"
-                            "Type" = "3:6"
-                            "ContextData" = "8:"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:2"
-                            "Value" = "8:_F7292DDA7C60421394EC69BDBF9132B3"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Sunken"
-                            {
-                            "Name" = "8:Sunken"
-                            "DisplayName" = "8:#1007"
-                            "Description" = "8:#1107"
-                            "Type" = "3:5"
-                            "ContextData" = "8:4;True=4;False=0"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:0"
-                            "Value" = "3:4"
-                            "DefaultValue" = "3:4"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                        }
-                    }
-                }
-            }
-            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_5C8522FCB71A463D8C2A73EF274F267D"
-            {
-            "Name" = "8:#1902"
-            "Sequence" = "3:1"
-            "Attributes" = "3:3"
-                "Dialogs"
-                {
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_C221256BFC944E9DABB9E71C5777056B"
-                    {
-                    "Sequence" = "3:100"
-                    "DisplayName" = "8:Finished"
-                    "UseDynamicProperties" = "11:TRUE"
-                    "IsDependency" = "11:FALSE"
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdFinishedDlg.wid"
-                        "Properties"
-                        {
-                            "BannerBitmap"
-                            {
-                            "Name" = "8:BannerBitmap"
-                            "DisplayName" = "8:#1001"
-                            "Description" = "8:#1101"
-                            "Type" = "3:8"
-                            "ContextData" = "8:Bitmap"
-                            "Attributes" = "3:4"
-                            "Setting" = "3:2"
-                            "Value" = "8:_D252FCCAF18446E4AD9F15AE3E54AAB4"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "UpdateText"
-                            {
-                            "Name" = "8:UpdateText"
-                            "DisplayName" = "8:#1058"
-                            "Description" = "8:#1158"
-                            "Type" = "3:15"
-                            "ContextData" = "8:"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:1"
-                            "Value" = "8:#1258"
-                            "DefaultValue" = "8:#1258"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                        }
-                    }
-                }
-            }
-            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_8256B0606DEF48ABB7A5C6826D29B532"
-            {
-            "Name" = "8:#1902"
-            "Sequence" = "3:2"
-            "Attributes" = "3:3"
-                "Dialogs"
-                {
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_92F4F365A9C9404F87A65FA974618572"
-                    {
-                    "Sequence" = "3:100"
-                    "DisplayName" = "8:Finished"
-                    "UseDynamicProperties" = "11:TRUE"
-                    "IsDependency" = "11:FALSE"
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdAdminFinishedDlg.wid"
-                        "Properties"
-                        {
-                            "BannerBitmap"
-                            {
-                            "Name" = "8:BannerBitmap"
-                            "DisplayName" = "8:#1001"
-                            "Description" = "8:#1101"
-                            "Type" = "3:8"
-                            "ContextData" = "8:Bitmap"
-                            "Attributes" = "3:4"
-                            "Setting" = "3:2"
-                            "Value" = "8:_D252FCCAF18446E4AD9F15AE3E54AAB4"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                        }
-                    }
-                }
-            }
-            "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_DD860167398C4B0C8D106F25DCF48A68"
-            {
-            "UseDynamicProperties" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "SourcePath" = "8:<VsdDialogDir>\\VsdUserInterface.wim"
-            }
-            "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_F03D3C3529854F5CB02F79D368434A1B"
-            {
-            "UseDynamicProperties" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "SourcePath" = "8:<VsdDialogDir>\\VsdBasicDialogs.wim"
-            }
-            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_F84D76F23AF7403DB97B3A2115E4FA87"
-            {
-            "Name" = "8:#1901"
-            "Sequence" = "3:2"
-            "Attributes" = "3:2"
-                "Dialogs"
-                {
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_DA767FF2402E467582BAF4592B9B7D74"
-                    {
-                    "Sequence" = "3:100"
-                    "DisplayName" = "8:Progress"
-                    "UseDynamicProperties" = "11:TRUE"
-                    "IsDependency" = "11:FALSE"
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdAdminProgressDlg.wid"
-                        "Properties"
-                        {
-                            "BannerBitmap"
-                            {
-                            "Name" = "8:BannerBitmap"
-                            "DisplayName" = "8:#1001"
-                            "Description" = "8:#1101"
-                            "Type" = "3:8"
-                            "ContextData" = "8:Bitmap"
-                            "Attributes" = "3:4"
-                            "Setting" = "3:2"
-                            "Value" = "8:_D252FCCAF18446E4AD9F15AE3E54AAB4"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "ShowProgress"
-                            {
-                            "Name" = "8:ShowProgress"
-                            "DisplayName" = "8:#1009"
-                            "Description" = "8:#1109"
-                            "Type" = "3:5"
-                            "ContextData" = "8:1;True=1;False=0"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:0"
-                            "Value" = "3:1"
-                            "DefaultValue" = "3:1"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                        }
-                    }
-                }
-            }
-        }
-        "MergeModule"
-        {
-        }
-        "ProjectOutput"
-        {
-        }
-        "VJSharpPlugin"
-        {
-        }
-    }
-}
diff --git a/maint/mpichx64i.vdproj b/maint/mpichx64i.vdproj
deleted file mode 100755
index 63f4ef1..0000000
--- a/maint/mpichx64i.vdproj
+++ /dev/null
@@ -1,3011 +0,0 @@
-"DeployProject"
-{
-"VSVersion" = "3:800"
-"ProjectType" = "8:{978C614F-708E-4E1A-B201-565925725DBA}"
-"IsWebType" = "8:FALSE"
-"ProjectName" = "8:MPICHx64Installer"
-"LanguageId" = "3:1033"
-"CodePage" = "3:1252"
-"UILanguageId" = "3:1033"
-"SccProjectName" = "8:"
-"SccLocalPath" = "8:"
-"SccAuxPath" = "8:"
-"SccProvider" = "8:"
-    "Hierarchy"
-    {
-        "Entry"
-        {
-        "MsmKey" = "8:_00D89EB1B52A45B79628A8A91613E9C1"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_08C3FC29C8234AFBA063D6194AB3DF56"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_1540511B7B264B1C8D6E729601BEF526"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_16898359DEFD4ED5A9AA75F627C67BFF"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_18D946452B7F4DBB81818445A0BC79D1"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_1BE96E15F472462586C19E8C77FF7927"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_1C4C987A6879485B8ED55B84C4DF9BD3"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_1E8D4446F79E4B7EA76D983E922131B7"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_204DB77A62174C2C900B75BA7782596A"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_2A131B743AAD4CC99C6926BDEAB87CB2"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_2CB8889ECC4846F2B9D5F55CF8DE8510"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_2E78FEC4317B423D931438231C273528"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_2ED4D01C4AB04611862206AEB490440A"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_328D583D55BC4B38A679F9ACF3DCE98A"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_34280675DFE044D6A460602A3301FCE2"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_343CE58947F643698E15CD6F39D6A2BA"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_35A1BA324472467D9DCE38274F4CBBDC"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_3657F5F6CFC4476A81DC55FE34CA7C21"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_3709086365A641DCA4592BCD26E7F6BF"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_3A1EBFC27BB54A3A9DBA16B281444494"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_3D84D4021D034BE893D901267659BBF2"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_40C475D735CD4B2E8DC110F8FCC1537A"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_416B3244828948FD94438F068D53EB6D"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_451C73E0FC7D4CEABC9DF17BBB029B32"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_4894F7532DA041EF8685865F1EDAE388"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_4BF17D75F44F4CEEB89D9839E70C22E3"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_54C7D697ADBB44EBA1259E64816D736B"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_55116394473C40CD956A4224C4479211"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_557AB17BED114C42A1C75C7EF7D48753"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_5C52BA4FCCAB4425B135B6F250DD6FAE"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_5D4FF08C585D45C081C0BDE5047B7756"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_6AA7C65D04D44601ABCE75E93A2E934F"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_7055054AF5354DA3AE8C5FD974EE14F2"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_7A233A78427B4EDF92D56AAFED8207B6"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_7C5BE6EC19994092906BF6B8527048E2"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_7D9F6BC68D3B438D9D6834EF34F3754F"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_7E8B10FEA51A4C228B4C06C2698D497C"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_8B61D0C85F2A4939A4501589E43FA60C"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_8CBECA0124104310A593105472265C70"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_8CFAE593C38E47659453A558981379CB"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_8FBD1D8602C2446685799893C6E96480"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_9A5863EE95224AB0B8F26BCFA587C816"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_9CE9ECCF24304F1BB550BE5A66E587C5"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_9D4DEE9F5523421098DF730A8377A873"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_A09539DCAC1340319AC29295E437BDEF"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_A5E50303EBCF4E13B1E85CD0AEDA0C31"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_A8F534B4415F4EDEA5433AD7A6AA9B2D"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_B4E7F878516042FF8E2767782EB8741D"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_B5D6CB6F146C48B5A707B94BF176011D"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_B70F3790256942D1B9C203509065A859"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_C4DDF6B309E54F6BB7F2704073AFCC2F"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_C77D77BEA3E344A898C97C3070800AA8"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_C7BE76CED1CC485EB71B363A2BFB9B10"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_E2D259D1CA1F441D813708FF8ACBC11E"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_E828E66ADFD04CF0BB87FB081CFB9C39"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_E9A99D9491374DCAA420D2DE8653D5F4"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_F5F1D4C1580A442DB92F822CE9183ACA"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_F8734FE1E95D489C99076694D4F5C387"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_FA7FEB4E019147ABB551882DD956CA32"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_FC909F7EDA2B41A09386F543C60DFB6F"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_UNDEFINED"
-        "OwnerKey" = "8:_2CB8889ECC4846F2B9D5F55CF8DE8510"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_UNDEFINED"
-        "OwnerKey" = "8:_FA7FEB4E019147ABB551882DD956CA32"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_UNDEFINED"
-        "OwnerKey" = "8:_34280675DFE044D6A460602A3301FCE2"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-    }
-    "Configurations"
-    {
-        "Debug"
-        {
-        "DisplayName" = "8:Debug"
-        "IsDebugOnly" = "11:TRUE"
-        "IsReleaseOnly" = "11:FALSE"
-        "OutputFilename" = "8:Debug\\MPICHx64Installer.msi"
-        "PackageFilesAs" = "3:2"
-        "PackageFileSize" = "3:-2147483648"
-        "CabType" = "3:1"
-        "Compression" = "3:2"
-        "SignOutput" = "11:FALSE"
-        "CertificateFile" = "8:"
-        "PrivateKeyFile" = "8:"
-        "TimeStampServer" = "8:"
-        "InstallerBootstrapper" = "3:2"
-            "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
-            {
-            "Enabled" = "11:TRUE"
-            "PromptEnabled" = "11:TRUE"
-            "PrerequisitesLocation" = "2:1"
-            "Url" = "8:"
-            "ComponentsUrl" = "8:"
-                "Items"
-                {
-                }
-            }
-        }
-        "Release"
-        {
-        "DisplayName" = "8:Release"
-        "IsDebugOnly" = "11:FALSE"
-        "IsReleaseOnly" = "11:TRUE"
-        "OutputFilename" = "8:ReleaseMSIx64\\mpichx64.msi"
-        "PackageFilesAs" = "3:2"
-        "PackageFileSize" = "3:-2147483648"
-        "CabType" = "3:1"
-        "Compression" = "3:2"
-        "SignOutput" = "11:FALSE"
-        "CertificateFile" = "8:"
-        "PrivateKeyFile" = "8:"
-        "TimeStampServer" = "8:"
-        "InstallerBootstrapper" = "3:2"
-            "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
-            {
-            "Enabled" = "11:TRUE"
-            "PromptEnabled" = "11:TRUE"
-            "PrerequisitesLocation" = "2:1"
-            "Url" = "8:"
-            "ComponentsUrl" = "8:"
-                "Items"
-                {
-                    "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Net.Framework.2.0"
-                    {
-                    "Name" = "8:Microsoft .NET Framework 2.0"
-                    "ProductCode" = "8:Microsoft.Net.Framework.2.0"
-                    }
-                }
-            }
-        }
-        "ch3nemesisPRelease"
-        {
-        "DisplayName" = "8:ch3nemesisPRelease"
-        "IsDebugOnly" = "11:FALSE"
-        "IsReleaseOnly" = "11:FALSE"
-        "OutputFilename" = "8:ch3nemesisPRelease\\mpichx64i.msi"
-        "PackageFilesAs" = "3:2"
-        "PackageFileSize" = "3:-2147483648"
-        "CabType" = "3:1"
-        "Compression" = "3:2"
-        "SignOutput" = "11:FALSE"
-        "CertificateFile" = "8:"
-        "PrivateKeyFile" = "8:"
-        "TimeStampServer" = "8:"
-        "InstallerBootstrapper" = "3:2"
-            "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
-            {
-            "Enabled" = "11:TRUE"
-            "PromptEnabled" = "11:TRUE"
-            "PrerequisitesLocation" = "2:1"
-            "Url" = "8:"
-            "ComponentsUrl" = "8:"
-                "Items"
-                {
-                    "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Net.Framework.2.0"
-                    {
-                    "Name" = "8:Microsoft .NET Framework 2.0"
-                    "ProductCode" = "8:Microsoft.Net.Framework.2.0"
-                    }
-                }
-            }
-        }
-        "fortPRelease"
-        {
-        "DisplayName" = "8:fortPRelease"
-        "IsDebugOnly" = "11:FALSE"
-        "IsReleaseOnly" = "11:FALSE"
-        "OutputFilename" = "8:fortPRelease\\mpichx64i.msi"
-        "PackageFilesAs" = "3:2"
-        "PackageFileSize" = "3:-2147483648"
-        "CabType" = "3:1"
-        "Compression" = "3:2"
-        "SignOutput" = "11:FALSE"
-        "CertificateFile" = "8:"
-        "PrivateKeyFile" = "8:"
-        "TimeStampServer" = "8:"
-        "InstallerBootstrapper" = "3:2"
-            "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
-            {
-            "Enabled" = "11:TRUE"
-            "PromptEnabled" = "11:TRUE"
-            "PrerequisitesLocation" = "2:1"
-            "Url" = "8:"
-            "ComponentsUrl" = "8:"
-                "Items"
-                {
-                    "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Net.Framework.2.0"
-                    {
-                    "Name" = "8:Microsoft .NET Framework 2.0"
-                    "ProductCode" = "8:Microsoft.Net.Framework.2.0"
-                    }
-                }
-            }
-        }
-    }
-    "Deployable"
-    {
-        "CustomAction"
-        {
-            "{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_A7A8C9516F4B48CF8A4095BB053D0F45"
-            {
-            "Name" = "8:smpd.exe"
-            "Condition" = "8:"
-            "Object" = "8:_328D583D55BC4B38A679F9ACF3DCE98A"
-            "FileType" = "3:2"
-            "InstallAction" = "3:4"
-            "Arguments" = "8:-remove"
-            "EntryPoint" = "8:"
-            "Sequence" = "3:1"
-            "Identifier" = "8:_AEA11D67_430E_486F_A5AC_199F3E0188FF"
-            "InstallerClass" = "11:FALSE"
-            "CustomActionData" = "8:"
-            }
-            "{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_E1B298D0E0D54A66851565EBDD436951"
-            {
-            "Name" = "8:smpd.exe"
-            "Condition" = "8:AdminUser"
-            "Object" = "8:_328D583D55BC4B38A679F9ACF3DCE98A"
-            "FileType" = "3:2"
-            "InstallAction" = "3:1"
-            "Arguments" = "8:-install -phrase [PHRASE]"
-            "EntryPoint" = "8:"
-            "Sequence" = "3:1"
-            "Identifier" = "8:_7B602BF0_0D9A_41F1_9287_1A035FB87175"
-            "InstallerClass" = "11:FALSE"
-            "CustomActionData" = "8:/install /phrase=[PHRASE]"
-            }
-        }
-        "DefaultFeature"
-        {
-        "Name" = "8:DefaultFeature"
-        "Title" = "8:"
-        "Description" = "8:"
-        }
-        "ExternalPersistence"
-        {
-            "LaunchCondition"
-            {
-                "{A06ECF26-33A3-4562-8140-9B0E340D4F24}:_E970EC37CB124A8AA1DE3079AB7DAB77"
-                {
-                "Name" = "8:.NET Framework"
-                "Message" = "8:[VSDNETMSG]"
-                "Version" = "8:2.0.50727"
-                "AllowLaterVersions" = "11:FALSE"
-                "InstallUrl" = "8:http://go.microsoft.com/fwlink/?LinkId=9832"
-                }
-            }
-        }
-        "File"
-        {
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_00D89EB1B52A45B79628A8A91613E9C1"
-            {
-            "SourcePath" = "8:..\\winbuild\\x64\\Release\\cxx\\cxx.lib"
-            "TargetName" = "8:cxx.lib"
-            "Tag" = "8:"
-            "Folder" = "8:_21FB2EC726254C54839F05E4290C1045"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_08C3FC29C8234AFBA063D6194AB3DF56"
-            {
-            "SourcePath" = "8:..\\examples\\windows\\installed_examples\\examples.sln"
-            "TargetName" = "8:examples.sln"
-            "Tag" = "8:"
-            "Folder" = "8:_066CEB1315D94E40BBFB6A2CCC2552A5"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_1540511B7B264B1C8D6E729601BEF526"
-            {
-            "SourcePath" = "8:..\\src\\mpe2\\src\\slog2sdk\\lib\\clog2TOslog2.jar"
-            "TargetName" = "8:clog2TOslog2.jar"
-            "Tag" = "8:"
-            "Folder" = "8:_CB4581DB084E4E7E8C5A128FA780483C"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_16898359DEFD4ED5A9AA75F627C67BFF"
-            {
-            "SourcePath" = "8:..\\winbuild\\x64\\Release\\gfortran\\fmpichg.lib"
-            "TargetName" = "8:fmpichg.lib"
-            "Tag" = "8:"
-            "Folder" = "8:_21FB2EC726254C54839F05E4290C1045"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_18D946452B7F4DBB81818445A0BC79D1"
-            {
-            "SourcePath" = "8:..\\src\\mpe2\\src\\logging\\include\\clog_inttypes.h"
-            "TargetName" = "8:clog_inttypes.h"
-            "Tag" = "8:"
-            "Folder" = "8:_40F589E2DCCB433E88F7946F0C0C75C5"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_1BE96E15F472462586C19E8C77FF7927"
-            {
-            "SourcePath" = "8:..\\winbuild\\x64\\Release\\nemesisp\\mpichnemesisp.dll"
-            "TargetName" = "8:mpichnemesisp.dll"
-            "Tag" = "8:"
-            "Folder" = "8:_C25C11E398284C2EAFD99160D8C6EA71"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_1C4C987A6879485B8ED55B84C4DF9BD3"
-            {
-            "SourcePath" = "8:..\\src\\mpe2\\src\\misc\\include\\mpe_misc.h"
-            "TargetName" = "8:mpe_misc.h"
-            "Tag" = "8:"
-            "Folder" = "8:_40F589E2DCCB433E88F7946F0C0C75C5"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_1E8D4446F79E4B7EA76D983E922131B7"
-            {
-            "SourcePath" = "8:..\\winbuild\\x64\\Release\\fortran\\mpi_constants.mod"
-            "TargetName" = "8:mpi_constants.mod"
-            "Tag" = "8:"
-            "Folder" = "8:_40F589E2DCCB433E88F7946F0C0C75C5"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_204DB77A62174C2C900B75BA7782596A"
-            {
-            "SourcePath" = "8:..\\winbuild\\x64\\Release\\gcc\\libmpicxx.a"
-            "TargetName" = "8:libmpicxx.a"
-            "Tag" = "8:"
-            "Folder" = "8:_21FB2EC726254C54839F05E4290C1045"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_2A131B743AAD4CC99C6926BDEAB87CB2"
-            {
-            "SourcePath" = "8:..\\winbuild\\x64\\Release\\mpe_wrap\\mpichmpe.dll"
-            "TargetName" = "8:mpichmpe.dll"
-            "Tag" = "8:"
-            "Folder" = "8:_C25C11E398284C2EAFD99160D8C6EA71"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_2CB8889ECC4846F2B9D5F55CF8DE8510"
-            {
-            "AssemblyRegister" = "3:1"
-            "AssemblyIsInGAC" = "11:FALSE"
-            "AssemblyAsmDisplayName" = "8:wmpiregister, Version=1.0.3947.19215, Culture=neutral, processorArchitecture=MSIL"
-                "ScatterAssemblies"
-                {
-                    "_2CB8889ECC4846F2B9D5F55CF8DE8510"
-                    {
-                    "Name" = "8:wmpiregister.exe"
-                    "Attributes" = "3:512"
-                    }
-                }
-            "SourcePath" = "8:..\\bin\\wmpiregister.exe"
-            "TargetName" = "8:"
-            "Tag" = "8:"
-            "Folder" = "8:_CB4581DB084E4E7E8C5A128FA780483C"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_2E78FEC4317B423D931438231C273528"
-            {
-            "SourcePath" = "8:..\\winbuild\\x64\\Release\\mpe\\mpe.dll"
-            "TargetName" = "8:mpe.dll"
-            "Tag" = "8:"
-            "Folder" = "8:_C25C11E398284C2EAFD99160D8C6EA71"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_2ED4D01C4AB04611862206AEB490440A"
-            {
-            "SourcePath" = "8:..\\winbuild\\x64\\Release\\gcc\\libmpi.a"
-            "TargetName" = "8:libmpi.a"
-            "Tag" = "8:"
-            "Folder" = "8:_21FB2EC726254C54839F05E4290C1045"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_328D583D55BC4B38A679F9ACF3DCE98A"
-            {
-            "SourcePath" = "8:..\\winbuild\\x64\\Release\\bin\\smpd.exe"
-            "TargetName" = "8:smpd.exe"
-            "Tag" = "8:"
-            "Folder" = "8:_CB4581DB084E4E7E8C5A128FA780483C"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_34280675DFE044D6A460602A3301FCE2"
-            {
-            "AssemblyRegister" = "3:1"
-            "AssemblyIsInGAC" = "11:FALSE"
-            "AssemblyAsmDisplayName" = "8:wmpiexec, Version=1.0.3947.19214, Culture=neutral, processorArchitecture=MSIL"
-                "ScatterAssemblies"
-                {
-                    "_34280675DFE044D6A460602A3301FCE2"
-                    {
-                    "Name" = "8:wmpiexec.exe"
-                    "Attributes" = "3:512"
-                    }
-                }
-            "SourcePath" = "8:..\\bin\\wmpiexec.exe"
-            "TargetName" = "8:"
-            "Tag" = "8:"
-            "Folder" = "8:_CB4581DB084E4E7E8C5A128FA780483C"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_343CE58947F643698E15CD6F39D6A2BA"
-            {
-            "SourcePath" = "8:..\\src\\mpe2\\src\\logging\\include\\mpe_log.h"
-            "TargetName" = "8:mpe_log.h"
-            "Tag" = "8:"
-            "Folder" = "8:_40F589E2DCCB433E88F7946F0C0C75C5"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_35A1BA324472467D9DCE38274F4CBBDC"
-            {
-            "SourcePath" = "8:..\\winbuild\\x64\\Release\\fortran\\mpi.mod"
-            "TargetName" = "8:mpi.mod"
-            "Tag" = "8:"
-            "Folder" = "8:_40F589E2DCCB433E88F7946F0C0C75C5"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_3657F5F6CFC4476A81DC55FE34CA7C21"
-            {
-            "SourcePath" = "8:..\\src\\include\\win64\\mpif.h"
-            "TargetName" = "8:mpif.h"
-            "Tag" = "8:"
-            "Folder" = "8:_40F589E2DCCB433E88F7946F0C0C75C5"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_3709086365A641DCA4592BCD26E7F6BF"
-            {
-            "SourcePath" = "8:..\\examples\\f77\\fpi.f"
-            "TargetName" = "8:fpi.f"
-            "Tag" = "8:"
-            "Folder" = "8:_066CEB1315D94E40BBFB6A2CCC2552A5"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_3A1EBFC27BB54A3A9DBA16B281444494"
-            {
-            "SourcePath" = "8:..\\winbuild\\x64\\Release\\mt\\mpichmt.dll"
-            "TargetName" = "8:mpichmt.dll"
-            "Tag" = "8:"
-            "Folder" = "8:_C25C11E398284C2EAFD99160D8C6EA71"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_3D84D4021D034BE893D901267659BBF2"
-            {
-            "SourcePath" = "8:..\\winbuild\\x64\\Release\\rlog\\TraceInput.lib"
-            "TargetName" = "8:TraceInput.lib"
-            "Tag" = "8:"
-            "Folder" = "8:_21FB2EC726254C54839F05E4290C1045"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_40C475D735CD4B2E8DC110F8FCC1537A"
-            {
-            "SourcePath" = "8:..\\src\\mpe2\\src\\slog2sdk\\lib\\jumpshot_launcher.jar"
-            "TargetName" = "8:jumpshot_launcher.jar"
-            "Tag" = "8:"
-            "Folder" = "8:_CB4581DB084E4E7E8C5A128FA780483C"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_416B3244828948FD94438F068D53EB6D"
-            {
-            "SourcePath" = "8:..\\src\\mpe2\\include\\mpe.h"
-            "TargetName" = "8:mpe.h"
-            "Tag" = "8:"
-            "Folder" = "8:_40F589E2DCCB433E88F7946F0C0C75C5"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_451C73E0FC7D4CEABC9DF17BBB029B32"
-            {
-            "SourcePath" = "8:..\\winbuild\\x64\\Release\\fortran\\mpi_base.mod"
-            "TargetName" = "8:mpi_base.mod"
-            "Tag" = "8:"
-            "Folder" = "8:_40F589E2DCCB433E88F7946F0C0C75C5"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_4894F7532DA041EF8685865F1EDAE388"
-            {
-            "SourcePath" = "8:setup.jpg"
-            "TargetName" = "8:setup.jpg"
-            "Tag" = "8:"
-            "Folder" = "8:_68D5CBFB6E6E4F878DE0BFA8C411C515"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_4BF17D75F44F4CEEB89D9839E70C22E3"
-            {
-            "SourcePath" = "8:..\\winbuild\\x64\\Release\\rlog\\rlog.lib"
-            "TargetName" = "8:rlog.lib"
-            "Tag" = "8:"
-            "Folder" = "8:_21FB2EC726254C54839F05E4290C1045"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_54C7D697ADBB44EBA1259E64816D736B"
-            {
-            "SourcePath" = "8:..\\examples\\windows\\installed_examples\\cxxpi.cxx"
-            "TargetName" = "8:cxxpi.cxx"
-            "Tag" = "8:"
-            "Folder" = "8:_066CEB1315D94E40BBFB6A2CCC2552A5"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_55116394473C40CD956A4224C4479211"
-            {
-            "SourcePath" = "8:..\\winbuild\\x64\\Release\\nemesis\\mpichnemesis.dll"
-            "TargetName" = "8:mpichnemesis.dll"
-            "Tag" = "8:"
-            "Folder" = "8:_C25C11E398284C2EAFD99160D8C6EA71"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_557AB17BED114C42A1C75C7EF7D48753"
-            {
-            "SourcePath" = "8:..\\winbuild\\x64\\Release\\mpi\\mpi.lib"
-            "TargetName" = "8:mpi.lib"
-            "Tag" = "8:"
-            "Folder" = "8:_21FB2EC726254C54839F05E4290C1045"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_5C52BA4FCCAB4425B135B6F250DD6FAE"
-            {
-            "SourcePath" = "8:..\\winbuild\\x64\\Release\\fortran\\fmpich.dll"
-            "TargetName" = "8:fmpich.dll"
-            "Tag" = "8:"
-            "Folder" = "8:_C25C11E398284C2EAFD99160D8C6EA71"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_5D4FF08C585D45C081C0BDE5047B7756"
-            {
-            "SourcePath" = "8:..\\src\\include\\mpicxx.h"
-            "TargetName" = "8:mpicxx.h"
-            "Tag" = "8:"
-            "Folder" = "8:_40F589E2DCCB433E88F7946F0C0C75C5"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_6AA7C65D04D44601ABCE75E93A2E934F"
-            {
-            "SourcePath" = "8:..\\winbuild\\x64\\Release\\rlog\\irlog2rlog.lib"
-            "TargetName" = "8:irlog2rlog.lib"
-            "Tag" = "8:"
-            "Folder" = "8:_21FB2EC726254C54839F05E4290C1045"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_7055054AF5354DA3AE8C5FD974EE14F2"
-            {
-            "SourcePath" = "8:..\\winbuild\\x64\\Release\\rlog\\irlog2rlog.exe"
-            "TargetName" = "8:irlog2rlog.exe"
-            "Tag" = "8:"
-            "Folder" = "8:_CB4581DB084E4E7E8C5A128FA780483C"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_7A233A78427B4EDF92D56AAFED8207B6"
-            {
-            "SourcePath" = "8:..\\src\\mpe2\\src\\logging\\include\\clog_const.h"
-            "TargetName" = "8:clog_const.h"
-            "Tag" = "8:"
-            "Folder" = "8:_40F589E2DCCB433E88F7946F0C0C75C5"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_7C5BE6EC19994092906BF6B8527048E2"
-            {
-            "SourcePath" = "8:..\\winbuild\\x64\\Release\\mtp\\mpichmtp.dll"
-            "TargetName" = "8:mpichmtp.dll"
-            "Tag" = "8:"
-            "Folder" = "8:_C25C11E398284C2EAFD99160D8C6EA71"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_7D9F6BC68D3B438D9D6834EF34F3754F"
-            {
-            "SourcePath" = "8:..\\winbuild\\x64\\Release\\mpi\\mpichmpi.dll"
-            "TargetName" = "8:mpichmpi.dll"
-            "Tag" = "8:"
-            "Folder" = "8:_C25C11E398284C2EAFD99160D8C6EA71"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_7E8B10FEA51A4C228B4C06C2698D497C"
-            {
-            "SourcePath" = "8:..\\winbuild\\x64\\Release\\sockp\\mpichp.dll"
-            "TargetName" = "8:mpichp.dll"
-            "Tag" = "8:"
-            "Folder" = "8:_C25C11E398284C2EAFD99160D8C6EA71"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_8B61D0C85F2A4939A4501589E43FA60C"
-            {
-            "SourcePath" = "8:..\\COPYRIGHT.rtf"
-            "TargetName" = "8:COPYRIGHT.rtf"
-            "Tag" = "8:"
-            "Folder" = "8:_68D5CBFB6E6E4F878DE0BFA8C411C515"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_8CBECA0124104310A593105472265C70"
-            {
-            "SourcePath" = "8:..\\README.winbin.rtf"
-            "TargetName" = "8:README.winbin.rtf"
-            "Tag" = "8:"
-            "Folder" = "8:_68D5CBFB6E6E4F878DE0BFA8C411C515"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_8CFAE593C38E47659453A558981379CB"
-            {
-            "SourcePath" = "8:..\\winbuild\\x64\\Release\\rlog\\TraceInput.dll"
-            "TargetName" = "8:TraceInput.dll"
-            "Tag" = "8:"
-            "Folder" = "8:_C25C11E398284C2EAFD99160D8C6EA71"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_8FBD1D8602C2446685799893C6E96480"
-            {
-            "SourcePath" = "8:..\\winbuild\\x64\\Release\\fortran\\fmpich.lib"
-            "TargetName" = "8:fmpich.lib"
-            "Tag" = "8:"
-            "Folder" = "8:_21FB2EC726254C54839F05E4290C1045"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_9A5863EE95224AB0B8F26BCFA587C816"
-            {
-            "SourcePath" = "8:..\\winbuild\\x64\\Release\\bin\\mpiexec.exe"
-            "TargetName" = "8:mpiexec.exe"
-            "Tag" = "8:"
-            "Folder" = "8:_CB4581DB084E4E7E8C5A128FA780483C"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_9CE9ECCF24304F1BB550BE5A66E587C5"
-            {
-            "SourcePath" = "8:..\\src\\mpe2\\src\\slog2sdk\\lib\\jumpshot.jar"
-            "TargetName" = "8:jumpshot.jar"
-            "Tag" = "8:"
-            "Folder" = "8:_CB4581DB084E4E7E8C5A128FA780483C"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_9D4DEE9F5523421098DF730A8377A873"
-            {
-            "SourcePath" = "8:..\\src\\include\\mpio.h"
-            "TargetName" = "8:mpio.h"
-            "Tag" = "8:"
-            "Folder" = "8:_40F589E2DCCB433E88F7946F0C0C75C5"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_A09539DCAC1340319AC29295E437BDEF"
-            {
-            "SourcePath" = "8:..\\winbuild\\x64\\Release\\fortran\\mpi_sizeofs.mod"
-            "TargetName" = "8:mpi_sizeofs.mod"
-            "Tag" = "8:"
-            "Folder" = "8:_40F589E2DCCB433E88F7946F0C0C75C5"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_A5E50303EBCF4E13B1E85CD0AEDA0C31"
-            {
-            "SourcePath" = "8:..\\src\\mpe2\\src\\logging\\include\\clog_commset.h"
-            "TargetName" = "8:clog_commset.h"
-            "Tag" = "8:"
-            "Folder" = "8:_40F589E2DCCB433E88F7946F0C0C75C5"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_A8F534B4415F4EDEA5433AD7A6AA9B2D"
-            {
-            "SourcePath" = "8:..\\examples\\x64\\Release\\cpi.exe"
-            "TargetName" = "8:cpi.exe"
-            "Tag" = "8:"
-            "Folder" = "8:_066CEB1315D94E40BBFB6A2CCC2552A5"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_B4E7F878516042FF8E2767782EB8741D"
-            {
-            "SourcePath" = "8:..\\winbuild\\x64\\Release\\gfortran\\fmpichg.dll"
-            "TargetName" = "8:fmpichg.dll"
-            "Tag" = "8:"
-            "Folder" = "8:_C25C11E398284C2EAFD99160D8C6EA71"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_B5D6CB6F146C48B5A707B94BF176011D"
-            {
-            "SourcePath" = "8:..\\src\\mpe2\\src\\logging\\include\\mpe_logf.h"
-            "TargetName" = "8:mpe_logf.h"
-            "Tag" = "8:"
-            "Folder" = "8:_40F589E2DCCB433E88F7946F0C0C75C5"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_B70F3790256942D1B9C203509065A859"
-            {
-            "SourcePath" = "8:..\\examples\\icpi.c"
-            "TargetName" = "8:icpi.c"
-            "Tag" = "8:"
-            "Folder" = "8:_066CEB1315D94E40BBFB6A2CCC2552A5"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_C4DDF6B309E54F6BB7F2704073AFCC2F"
-            {
-            "SourcePath" = "8:..\\examples\\windows\\installed_examples\\fpi.vfproj"
-            "TargetName" = "8:fpi.vfproj"
-            "Tag" = "8:"
-            "Folder" = "8:_066CEB1315D94E40BBFB6A2CCC2552A5"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_C77D77BEA3E344A898C97C3070800AA8"
-            {
-            "SourcePath" = "8:..\\winbuild\\x64\\Release\\mpe\\mpe.lib"
-            "TargetName" = "8:mpe.lib"
-            "Tag" = "8:"
-            "Folder" = "8:_21FB2EC726254C54839F05E4290C1045"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_C7BE76CED1CC485EB71B363A2BFB9B10"
-            {
-            "SourcePath" = "8:..\\src\\include\\win64\\mpi.h"
-            "TargetName" = "8:mpi.h"
-            "Tag" = "8:"
-            "Folder" = "8:_40F589E2DCCB433E88F7946F0C0C75C5"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_E2D259D1CA1F441D813708FF8ACBC11E"
-            {
-            "SourcePath" = "8:..\\winbuild\\x64\\Release\\sock\\mpich.dll"
-            "TargetName" = "8:mpich.dll"
-            "Tag" = "8:"
-            "Folder" = "8:_C25C11E398284C2EAFD99160D8C6EA71"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_E828E66ADFD04CF0BB87FB081CFB9C39"
-            {
-            "SourcePath" = "8:..\\src\\mpe2\\src\\logging\\include\\clog_uuid.h"
-            "TargetName" = "8:clog_uuid.h"
-            "Tag" = "8:"
-            "Folder" = "8:_40F589E2DCCB433E88F7946F0C0C75C5"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_E9A99D9491374DCAA420D2DE8653D5F4"
-            {
-            "SourcePath" = "8:..\\examples\\windows\\installed_examples\\cpi.vcproj"
-            "TargetName" = "8:cpi.vcproj"
-            "Tag" = "8:"
-            "Folder" = "8:_066CEB1315D94E40BBFB6A2CCC2552A5"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_F5F1D4C1580A442DB92F822CE9183ACA"
-            {
-            "SourcePath" = "8:..\\examples\\windows\\installed_examples\\cxxpi.vcproj"
-            "TargetName" = "8:cxxpi.vcproj"
-            "Tag" = "8:"
-            "Folder" = "8:_066CEB1315D94E40BBFB6A2CCC2552A5"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_F8734FE1E95D489C99076694D4F5C387"
-            {
-            "SourcePath" = "8:..\\winbuild\\x64\\Release\\gcc\\libfmpichg.a"
-            "TargetName" = "8:libfmpichg.a"
-            "Tag" = "8:"
-            "Folder" = "8:_21FB2EC726254C54839F05E4290C1045"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_FA7FEB4E019147ABB551882DD956CA32"
-            {
-            "AssemblyRegister" = "3:1"
-            "AssemblyIsInGAC" = "11:FALSE"
-            "AssemblyAsmDisplayName" = "8:wmpiconfig, Version=1.0.3947.19213, Culture=neutral, processorArchitecture=MSIL"
-                "ScatterAssemblies"
-                {
-                    "_FA7FEB4E019147ABB551882DD956CA32"
-                    {
-                    "Name" = "8:wmpiconfig.exe"
-                    "Attributes" = "3:512"
-                    }
-                }
-            "SourcePath" = "8:..\\bin\\wmpiconfig.exe"
-            "TargetName" = "8:"
-            "Tag" = "8:"
-            "Folder" = "8:_CB4581DB084E4E7E8C5A128FA780483C"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_FC909F7EDA2B41A09386F543C60DFB6F"
-            {
-            "SourcePath" = "8:..\\src\\mpe2\\src\\slog2sdk\\lib\\traceTOslog2.jar"
-            "TargetName" = "8:traceTOslog2.jar"
-            "Tag" = "8:"
-            "Folder" = "8:_CB4581DB084E4E7E8C5A128FA780483C"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-        }
-        "FileType"
-        {
-        }
-        "Folder"
-        {
-            "{1525181F-901A-416C-8A58-119130FE478E}:_542F3DAEC08140D7B6394FB316C3F9FA"
-            {
-            "Name" = "8:#1916"
-            "AlwaysCreate" = "11:FALSE"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Property" = "8:DesktopFolder"
-                "Folders"
-                {
-                }
-            }
-            "{1525181F-901A-416C-8A58-119130FE478E}:_60DE35107D3D40798CA398E9E9557B47"
-            {
-            "Name" = "8:#1919"
-            "AlwaysCreate" = "11:FALSE"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Property" = "8:ProgramMenuFolder"
-                "Folders"
-                {
-                    "{9EF0B969-E518-4E46-987F-47570745A589}:_04313EC4EFA74697A3F3DA33690273F3"
-                    {
-                    "Name" = "8:MPICH"
-                    "AlwaysCreate" = "11:FALSE"
-                    "Condition" = "8:"
-                    "Transitive" = "11:FALSE"
-                    "Property" = "8:_CF76DBB4C22C469F8CE5EB5E6718C2EE"
-                        "Folders"
-                        {
-                        }
-                    }
-                }
-            }
-            "{3C67513D-01DD-4637-8A68-80971EB9504F}:_68D5CBFB6E6E4F878DE0BFA8C411C515"
-            {
-            "DefaultLocation" = "8:[ProgramFiles64Folder]\\MPICH"
-            "Name" = "8:#1925"
-            "AlwaysCreate" = "11:FALSE"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Property" = "8:TARGETDIR"
-                "Folders"
-                {
-                    "{9EF0B969-E518-4E46-987F-47570745A589}:_066CEB1315D94E40BBFB6A2CCC2552A5"
-                    {
-                    "Name" = "8:examples"
-                    "AlwaysCreate" = "11:FALSE"
-                    "Condition" = "8:"
-                    "Transitive" = "11:FALSE"
-                    "Property" = "8:_15B081C07B80455AA965AC7E9A659F74"
-                        "Folders"
-                        {
-                        }
-                    }
-                    "{9EF0B969-E518-4E46-987F-47570745A589}:_21FB2EC726254C54839F05E4290C1045"
-                    {
-                    "Name" = "8:lib"
-                    "AlwaysCreate" = "11:FALSE"
-                    "Condition" = "8:"
-                    "Transitive" = "11:FALSE"
-                    "Property" = "8:_77F9D1A44492419B8EA01D818793C7CA"
-                        "Folders"
-                        {
-                        }
-                    }
-                    "{9EF0B969-E518-4E46-987F-47570745A589}:_40F589E2DCCB433E88F7946F0C0C75C5"
-                    {
-                    "Name" = "8:include"
-                    "AlwaysCreate" = "11:FALSE"
-                    "Condition" = "8:"
-                    "Transitive" = "11:FALSE"
-                    "Property" = "8:_D9EB9C14165A4573993ACC376ED0CA0F"
-                        "Folders"
-                        {
-                        }
-                    }
-                    "{9EF0B969-E518-4E46-987F-47570745A589}:_CB4581DB084E4E7E8C5A128FA780483C"
-                    {
-                    "Name" = "8:bin"
-                    "AlwaysCreate" = "11:FALSE"
-                    "Condition" = "8:"
-                    "Transitive" = "11:FALSE"
-                    "Property" = "8:_BF9ED70B3DDE44248765F4866DCC194E"
-                        "Folders"
-                        {
-                        }
-                    }
-                }
-            }
-            "{1525181F-901A-416C-8A58-119130FE478E}:_C25C11E398284C2EAFD99160D8C6EA71"
-            {
-            "Name" = "8:#1936"
-            "AlwaysCreate" = "11:FALSE"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Property" = "8:System64Folder"
-                "Folders"
-                {
-                }
-            }
-        }
-        "LaunchCondition"
-        {
-            "{836E08B8-0285-4809-BA42-01DB6754A45D}:_37900E8ED3A84A63AB3CA75EB79059A9"
-            {
-            "Name" = "8:VisualStudio_RuntimeLibUnAvail"
-            "Condition" = "8:VSRUNTIMELIBEXISTS"
-            "Message" = "8:The version of C Runtime Library required to use MPICH is not currently installed. Please install Visual Studio C++ 2005 SP1 Redistributable package (x64) and try to re-install MPICH."
-            "InstallUrl" = "8:http://www.microsoft.com"
-            }
-            "{836E08B8-0285-4809-BA42-01DB6754A45D}:_42E99F81208D42DB8B5B5BBFCA1C2D32"
-            {
-            "Name" = "8:AdminCondition"
-            "Condition" = "8:AdminUser"
-            "Message" = "8:You must have administrator privileges to install MPICH"
-            "InstallUrl" = "8:"
-            }
-        }
-        "Locator"
-        {
-            "{39E1837C-0DB9-45A2-89C8-438377A77565}:_5490CA4D5FF54A2C86FEE8EDE92398C6"
-            {
-            "Name" = "8:VisualStudio_CRuntimeLib"
-            "Folder" = "8:[WindowsFolder]\\WinSxS"
-            "Depth" = "2:1"
-            "FileName" = "8:msvcr80.dll"
-            "MinVesion" = "8:8.00.50727.761"
-            "MaxVersion" = "8:"
-            "MinSize" = "8:"
-            "MaxSize" = "8:"
-            "MinDate" = "8:"
-            "MaxDate" = "8:"
-            "Languages" = "8:"
-            "Property" = "8:VSRUNTIMELIBEXISTS"
-            }
-        }
-        "MsiBootstrapper"
-        {
-        "LangId" = "3:1033"
-        "RequiresElevation" = "11:TRUE"
-        }
-        "Product"
-        {
-        "Name" = "8:Microsoft Visual Studio"
-        "ProductName" = "8:MPICH 64-bit"
-        "ProductCode" = "8:{B91EB9DA-98D2-4241-87EA-3D889B58D564}"
-        "PackageCode" = "8:{F55A402E-C195-4398-ABA6-870074B69FEC}"
-        "UpgradeCode" = "8:{45D2D7E2-81B1-4B17-9907-6B451D30E9A0}"
-        "RestartWWWService" = "11:FALSE"
-        "RemovePreviousVersions" = "11:TRUE"
-        "DetectNewerInstalledVersion" = "11:TRUE"
-        "InstallAllUsers" = "11:FALSE"
-        "ProductVersion" = "8:1.3"
-        "Manufacturer" = "8:Argonne National Laboratory"
-        "ARPHELPTELEPHONE" = "8:"
-        "ARPHELPLINK" = "8:www.mpich.org"
-        "Title" = "8:MPICH 64-bit"
-        "Subject" = "8:MPICH implementation of the MPI-2 standard"
-        "ARPCONTACT" = "8:Argonne National Laboratory"
-        "Keywords" = "8:"
-        "ARPCOMMENTS" = "8:"
-        "ARPURLINFOABOUT" = "8:www.mpich.org"
-        "ARPPRODUCTICON" = "8:"
-        "ARPIconIndex" = "3:0"
-        "SearchPath" = "8:"
-        "UseSystemSearchPath" = "11:TRUE"
-        "TargetPlatform" = "3:1"
-        "PreBuildEvent" = "8:"
-        "PostBuildEvent" = "8:"
-        "RunPostBuildEvent" = "3:0"
-        }
-        "Registry"
-        {
-            "HKLM"
-            {
-                "Keys"
-                {
-                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_043746073B514946BC07C7A0ADCD338F"
-                    {
-                    "Name" = "8:Software"
-                    "Condition" = "8:"
-                    "AlwaysCreate" = "11:FALSE"
-                    "DeleteAtUninstall" = "11:FALSE"
-                    "Transitive" = "11:FALSE"
-                        "Keys"
-                        {
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_C342D7FB4180429583937C60C55845AD"
-                            {
-                            "Name" = "8:[Manufacturer]"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:FALSE"
-                            "DeleteAtUninstall" = "11:FALSE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                }
-                                "Values"
-                                {
-                                }
-                            }
-                        }
-                        "Values"
-                        {
-                        }
-                    }
-                }
-            }
-            "HKCU"
-            {
-                "Keys"
-                {
-                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_E0646C87E8F443C098FF2A38D6ECA2A3"
-                    {
-                    "Name" = "8:Software"
-                    "Condition" = "8:"
-                    "AlwaysCreate" = "11:FALSE"
-                    "DeleteAtUninstall" = "11:FALSE"
-                    "Transitive" = "11:FALSE"
-                        "Keys"
-                        {
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_09D88B35BC844895AABC236F0C447247"
-                            {
-                            "Name" = "8:[Manufacturer]"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:FALSE"
-                            "DeleteAtUninstall" = "11:FALSE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                }
-                                "Values"
-                                {
-                                }
-                            }
-                        }
-                        "Values"
-                        {
-                        }
-                    }
-                }
-            }
-            "HKCR"
-            {
-                "Keys"
-                {
-                }
-            }
-            "HKU"
-            {
-                "Keys"
-                {
-                }
-            }
-            "HKPU"
-            {
-                "Keys"
-                {
-                }
-            }
-        }
-        "Sequences"
-        {
-        }
-        "Shortcut"
-        {
-            "{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_88C5DAAFE24E48D1804737781488D23E"
-            {
-            "Name" = "8:wmpiconfig"
-            "Arguments" = "8:"
-            "Description" = "8:"
-            "ShowCmd" = "3:1"
-            "IconIndex" = "3:0"
-            "Transitive" = "11:FALSE"
-            "Target" = "8:_FA7FEB4E019147ABB551882DD956CA32"
-            "Folder" = "8:_04313EC4EFA74697A3F3DA33690273F3"
-            "WorkingFolder" = "8:_CB4581DB084E4E7E8C5A128FA780483C"
-            "Icon" = "8:"
-            "Feature" = "8:"
-            }
-            "{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_9C7CBF2AF78B4932AEC2DA77E2D793FE"
-            {
-            "Name" = "8:wmpiregister"
-            "Arguments" = "8:"
-            "Description" = "8:"
-            "ShowCmd" = "3:1"
-            "IconIndex" = "3:0"
-            "Transitive" = "11:FALSE"
-            "Target" = "8:_2CB8889ECC4846F2B9D5F55CF8DE8510"
-            "Folder" = "8:_04313EC4EFA74697A3F3DA33690273F3"
-            "WorkingFolder" = "8:_CB4581DB084E4E7E8C5A128FA780483C"
-            "Icon" = "8:"
-            "Feature" = "8:"
-            }
-            "{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_EF954B83624744F0B9A622F7D84A6553"
-            {
-            "Name" = "8:README"
-            "Arguments" = "8:"
-            "Description" = "8:"
-            "ShowCmd" = "3:1"
-            "IconIndex" = "3:0"
-            "Transitive" = "11:FALSE"
-            "Target" = "8:_8CBECA0124104310A593105472265C70"
-            "Folder" = "8:_04313EC4EFA74697A3F3DA33690273F3"
-            "WorkingFolder" = "8:_68D5CBFB6E6E4F878DE0BFA8C411C515"
-            "Icon" = "8:"
-            "Feature" = "8:"
-            }
-            "{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_FA22635E45E84501A5FCE22F460AC96C"
-            {
-            "Name" = "8:Jumpshot"
-            "Arguments" = "8:"
-            "Description" = "8:"
-            "ShowCmd" = "3:1"
-            "IconIndex" = "3:0"
-            "Transitive" = "11:FALSE"
-            "Target" = "8:_40C475D735CD4B2E8DC110F8FCC1537A"
-            "Folder" = "8:_04313EC4EFA74697A3F3DA33690273F3"
-            "WorkingFolder" = "8:_CB4581DB084E4E7E8C5A128FA780483C"
-            "Icon" = "8:"
-            "Feature" = "8:"
-            }
-            "{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_FC20C8FF8DB04FA8818511523262E7FB"
-            {
-            "Name" = "8:wmpiexec"
-            "Arguments" = "8:"
-            "Description" = "8:"
-            "ShowCmd" = "3:1"
-            "IconIndex" = "3:0"
-            "Transitive" = "11:FALSE"
-            "Target" = "8:_34280675DFE044D6A460602A3301FCE2"
-            "Folder" = "8:_04313EC4EFA74697A3F3DA33690273F3"
-            "WorkingFolder" = "8:_CB4581DB084E4E7E8C5A128FA780483C"
-            "Icon" = "8:"
-            "Feature" = "8:"
-            }
-        }
-        "UserInterface"
-        {
-            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_0B7FD356DF9948D1BADA0D4D8C3BB754"
-            {
-            "Name" = "8:#1900"
-            "Sequence" = "3:2"
-            "Attributes" = "3:1"
-                "Dialogs"
-                {
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_43AFE5F0B93441FCAD613675AA4D74CC"
-                    {
-                    "Sequence" = "3:500"
-                    "DisplayName" = "8:Confirm Installation"
-                    "UseDynamicProperties" = "11:TRUE"
-                    "IsDependency" = "11:FALSE"
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdAdminConfirmDlg.wid"
-                        "Properties"
-                        {
-                            "BannerBitmap"
-                            {
-                            "Name" = "8:BannerBitmap"
-                            "DisplayName" = "8:#1001"
-                            "Description" = "8:#1101"
-                            "Type" = "3:8"
-                            "ContextData" = "8:Bitmap"
-                            "Attributes" = "3:4"
-                            "Setting" = "3:2"
-                            "Value" = "8:_4894F7532DA041EF8685865F1EDAE388"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                        }
-                    }
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_756C9D4DC0774B129630A9FC6B9A2314"
-                    {
-                    "Sequence" = "3:400"
-                    "DisplayName" = "8:Installation Folder"
-                    "UseDynamicProperties" = "11:TRUE"
-                    "IsDependency" = "11:FALSE"
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdAdminFolderDlg.wid"
-                        "Properties"
-                        {
-                            "BannerBitmap"
-                            {
-                            "Name" = "8:BannerBitmap"
-                            "DisplayName" = "8:#1001"
-                            "Description" = "8:#1101"
-                            "Type" = "3:8"
-                            "ContextData" = "8:Bitmap"
-                            "Attributes" = "3:4"
-                            "Setting" = "3:2"
-                            "Value" = "8:_4894F7532DA041EF8685865F1EDAE388"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                        }
-                    }
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_BE946194560A4996A2612EFD1FB81145"
-                    {
-                    "Sequence" = "3:200"
-                    "DisplayName" = "8:Read Me"
-                    "UseDynamicProperties" = "11:TRUE"
-                    "IsDependency" = "11:FALSE"
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdAdminReadmeDlg.wid"
-                        "Properties"
-                        {
-                            "BannerBitmap"
-                            {
-                            "Name" = "8:BannerBitmap"
-                            "DisplayName" = "8:#1001"
-                            "Description" = "8:#1101"
-                            "Type" = "3:8"
-                            "ContextData" = "8:Bitmap"
-                            "Attributes" = "3:4"
-                            "Setting" = "3:2"
-                            "Value" = "8:_4894F7532DA041EF8685865F1EDAE388"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "ReadmeText"
-                            {
-                            "Name" = "8:ReadmeText"
-                            "DisplayName" = "8:#1010"
-                            "Description" = "8:#1110"
-                            "Type" = "3:6"
-                            "ContextData" = "8:"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:2"
-                            "Value" = "8:_8CBECA0124104310A593105472265C70"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Sunken"
-                            {
-                            "Name" = "8:Sunken"
-                            "DisplayName" = "8:#1007"
-                            "Description" = "8:#1107"
-                            "Type" = "3:5"
-                            "ContextData" = "8:4;True=4;False=0"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:0"
-                            "Value" = "3:4"
-                            "DefaultValue" = "3:4"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                        }
-                    }
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_EA2B4B9FE3CC420F8C1EAD9850F46E8A"
-                    {
-                    "Sequence" = "3:100"
-                    "DisplayName" = "8:Welcome"
-                    "UseDynamicProperties" = "11:TRUE"
-                    "IsDependency" = "11:FALSE"
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdAdminWelcomeDlg.wid"
-                        "Properties"
-                        {
-                            "BannerBitmap"
-                            {
-                            "Name" = "8:BannerBitmap"
-                            "DisplayName" = "8:#1001"
-                            "Description" = "8:#1101"
-                            "Type" = "3:8"
-                            "ContextData" = "8:Bitmap"
-                            "Attributes" = "3:4"
-                            "Setting" = "3:1"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "CopyrightWarning"
-                            {
-                            "Name" = "8:CopyrightWarning"
-                            "DisplayName" = "8:#1002"
-                            "Description" = "8:#1102"
-                            "Type" = "3:3"
-                            "ContextData" = "8:"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:2"
-                            "Value" = "8:"
-                            "DefaultValue" = "8:#1202"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Welcome"
-                            {
-                            "Name" = "8:Welcome"
-                            "DisplayName" = "8:#1003"
-                            "Description" = "8:#1103"
-                            "Type" = "3:3"
-                            "ContextData" = "8:"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:1"
-                            "Value" = "8:#1203"
-                            "DefaultValue" = "8:#1203"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                        }
-                    }
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_F3392DFF7690487693789E4B049DAEC4"
-                    {
-                    "Sequence" = "3:300"
-                    "DisplayName" = "8:License Agreement"
-                    "UseDynamicProperties" = "11:TRUE"
-                    "IsDependency" = "11:FALSE"
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdAdminLicenseDlg.wid"
-                        "Properties"
-                        {
-                            "BannerBitmap"
-                            {
-                            "Name" = "8:BannerBitmap"
-                            "DisplayName" = "8:#1001"
-                            "Description" = "8:#1101"
-                            "Type" = "3:8"
-                            "ContextData" = "8:Bitmap"
-                            "Attributes" = "3:4"
-                            "Setting" = "3:2"
-                            "Value" = "8:_4894F7532DA041EF8685865F1EDAE388"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "EulaText"
-                            {
-                            "Name" = "8:EulaText"
-                            "DisplayName" = "8:#1008"
-                            "Description" = "8:#1108"
-                            "Type" = "3:6"
-                            "ContextData" = "8:"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:2"
-                            "Value" = "8:_8B61D0C85F2A4939A4501589E43FA60C"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Sunken"
-                            {
-                            "Name" = "8:Sunken"
-                            "DisplayName" = "8:#1007"
-                            "Description" = "8:#1107"
-                            "Type" = "3:5"
-                            "ContextData" = "8:4;True=4;False=0"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:0"
-                            "Value" = "3:4"
-                            "DefaultValue" = "3:4"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                        }
-                    }
-                }
-            }
-            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_115C8EC9098644D1885FF872D430AFAF"
-            {
-            "Name" = "8:#1901"
-            "Sequence" = "3:1"
-            "Attributes" = "3:2"
-                "Dialogs"
-                {
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_C20549C7BB2D4CC9B5440C96CFF7D865"
-                    {
-                    "Sequence" = "3:100"
-                    "DisplayName" = "8:Progress"
-                    "UseDynamicProperties" = "11:TRUE"
-                    "IsDependency" = "11:FALSE"
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdProgressDlg.wid"
-                        "Properties"
-                        {
-                            "BannerBitmap"
-                            {
-                            "Name" = "8:BannerBitmap"
-                            "DisplayName" = "8:#1001"
-                            "Description" = "8:#1101"
-                            "Type" = "3:8"
-                            "ContextData" = "8:Bitmap"
-                            "Attributes" = "3:4"
-                            "Setting" = "3:2"
-                            "Value" = "8:_4894F7532DA041EF8685865F1EDAE388"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "ShowProgress"
-                            {
-                            "Name" = "8:ShowProgress"
-                            "DisplayName" = "8:#1009"
-                            "Description" = "8:#1109"
-                            "Type" = "3:5"
-                            "ContextData" = "8:1;True=1;False=0"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:0"
-                            "Value" = "3:1"
-                            "DefaultValue" = "3:1"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                        }
-                    }
-                }
-            }
-            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_4A7536389891455485DC27CB7831421D"
-            {
-            "Name" = "8:#1902"
-            "Sequence" = "3:1"
-            "Attributes" = "3:3"
-                "Dialogs"
-                {
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_C755C1332D4445268841BADA87257B79"
-                    {
-                    "Sequence" = "3:100"
-                    "DisplayName" = "8:Finished"
-                    "UseDynamicProperties" = "11:TRUE"
-                    "IsDependency" = "11:FALSE"
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdFinishedDlg.wid"
-                        "Properties"
-                        {
-                            "BannerBitmap"
-                            {
-                            "Name" = "8:BannerBitmap"
-                            "DisplayName" = "8:#1001"
-                            "Description" = "8:#1101"
-                            "Type" = "3:8"
-                            "ContextData" = "8:Bitmap"
-                            "Attributes" = "3:4"
-                            "Setting" = "3:2"
-                            "Value" = "8:_4894F7532DA041EF8685865F1EDAE388"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "UpdateText"
-                            {
-                            "Name" = "8:UpdateText"
-                            "DisplayName" = "8:#1058"
-                            "Description" = "8:#1158"
-                            "Type" = "3:15"
-                            "ContextData" = "8:"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:1"
-                            "Value" = "8:#1258"
-                            "DefaultValue" = "8:#1258"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                        }
-                    }
-                }
-            }
-            "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_537FB9712CDB4F34BAE212E4B33466D0"
-            {
-            "UseDynamicProperties" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "SourcePath" = "8:<VsdDialogDir>\\VsdBasicDialogs.wim"
-            }
-            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_5EA0769DDE4E4361AEF6C3C1A8356934"
-            {
-            "Name" = "8:#1901"
-            "Sequence" = "3:2"
-            "Attributes" = "3:2"
-                "Dialogs"
-                {
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_7A147DC7CF9C4AC6B333D8DBCE4690A0"
-                    {
-                    "Sequence" = "3:100"
-                    "DisplayName" = "8:Progress"
-                    "UseDynamicProperties" = "11:TRUE"
-                    "IsDependency" = "11:FALSE"
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdAdminProgressDlg.wid"
-                        "Properties"
-                        {
-                            "BannerBitmap"
-                            {
-                            "Name" = "8:BannerBitmap"
-                            "DisplayName" = "8:#1001"
-                            "Description" = "8:#1101"
-                            "Type" = "3:8"
-                            "ContextData" = "8:Bitmap"
-                            "Attributes" = "3:4"
-                            "Setting" = "3:2"
-                            "Value" = "8:_4894F7532DA041EF8685865F1EDAE388"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "ShowProgress"
-                            {
-                            "Name" = "8:ShowProgress"
-                            "DisplayName" = "8:#1009"
-                            "Description" = "8:#1109"
-                            "Type" = "3:5"
-                            "ContextData" = "8:1;True=1;False=0"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:0"
-                            "Value" = "3:1"
-                            "DefaultValue" = "3:1"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                        }
-                    }
-                }
-            }
-            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_CB479CBA00104275B270B3DDECEAA425"
-            {
-            "Name" = "8:#1900"
-            "Sequence" = "3:1"
-            "Attributes" = "3:1"
-                "Dialogs"
-                {
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_0E97C100DEB94BCC96F3551D06AF4963"
-                    {
-                    "Sequence" = "3:100"
-                    "DisplayName" = "8:Welcome"
-                    "UseDynamicProperties" = "11:TRUE"
-                    "IsDependency" = "11:FALSE"
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdWelcomeDlg.wid"
-                        "Properties"
-                        {
-                            "BannerBitmap"
-                            {
-                            "Name" = "8:BannerBitmap"
-                            "DisplayName" = "8:#1001"
-                            "Description" = "8:#1101"
-                            "Type" = "3:8"
-                            "ContextData" = "8:Bitmap"
-                            "Attributes" = "3:4"
-                            "Setting" = "3:0"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "CopyrightWarning"
-                            {
-                            "Name" = "8:CopyrightWarning"
-                            "DisplayName" = "8:#1002"
-                            "Description" = "8:#1102"
-                            "Type" = "3:3"
-                            "ContextData" = "8:"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:2"
-                            "Value" = "8:"
-                            "DefaultValue" = "8:#1202"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Welcome"
-                            {
-                            "Name" = "8:Welcome"
-                            "DisplayName" = "8:#1003"
-                            "Description" = "8:#1103"
-                            "Type" = "3:3"
-                            "ContextData" = "8:"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:1"
-                            "Value" = "8:#1203"
-                            "DefaultValue" = "8:#1203"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                        }
-                    }
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_2F3ABA8E095C4AC2844EE2A7019D8EDA"
-                    {
-                    "Sequence" = "3:200"
-                    "DisplayName" = "8:Read Me"
-                    "UseDynamicProperties" = "11:TRUE"
-                    "IsDependency" = "11:FALSE"
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdReadmeDlg.wid"
-                        "Properties"
-                        {
-                            "BannerBitmap"
-                            {
-                            "Name" = "8:BannerBitmap"
-                            "DisplayName" = "8:#1001"
-                            "Description" = "8:#1101"
-                            "Type" = "3:8"
-                            "ContextData" = "8:Bitmap"
-                            "Attributes" = "3:4"
-                            "Setting" = "3:2"
-                            "Value" = "8:_4894F7532DA041EF8685865F1EDAE388"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "ReadmeText"
-                            {
-                            "Name" = "8:ReadmeText"
-                            "DisplayName" = "8:#1010"
-                            "Description" = "8:#1110"
-                            "Type" = "3:6"
-                            "ContextData" = "8:"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:2"
-                            "Value" = "8:_8CBECA0124104310A593105472265C70"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Sunken"
-                            {
-                            "Name" = "8:Sunken"
-                            "DisplayName" = "8:#1007"
-                            "Description" = "8:#1107"
-                            "Type" = "3:5"
-                            "ContextData" = "8:4;True=4;False=0"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:0"
-                            "Value" = "3:4"
-                            "DefaultValue" = "3:4"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                        }
-                    }
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_5F780F44D9AB4024A8A71496926EBC52"
-                    {
-                    "Sequence" = "3:300"
-                    "DisplayName" = "8:License Agreement"
-                    "UseDynamicProperties" = "11:TRUE"
-                    "IsDependency" = "11:FALSE"
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdLicenseDlg.wid"
-                        "Properties"
-                        {
-                            "BannerBitmap"
-                            {
-                            "Name" = "8:BannerBitmap"
-                            "DisplayName" = "8:#1001"
-                            "Description" = "8:#1101"
-                            "Type" = "3:8"
-                            "ContextData" = "8:Bitmap"
-                            "Attributes" = "3:4"
-                            "Setting" = "3:2"
-                            "Value" = "8:_4894F7532DA041EF8685865F1EDAE388"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "EulaText"
-                            {
-                            "Name" = "8:EulaText"
-                            "DisplayName" = "8:#1008"
-                            "Description" = "8:#1108"
-                            "Type" = "3:6"
-                            "ContextData" = "8:"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:2"
-                            "Value" = "8:_8B61D0C85F2A4939A4501589E43FA60C"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Sunken"
-                            {
-                            "Name" = "8:Sunken"
-                            "DisplayName" = "8:#1007"
-                            "Description" = "8:#1107"
-                            "Type" = "3:5"
-                            "ContextData" = "8:4;True=4;False=0"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:0"
-                            "Value" = "3:4"
-                            "DefaultValue" = "3:4"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                        }
-                    }
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_7E3FCB8887BF43CD853AAC049C057CBE"
-                    {
-                    "Sequence" = "3:400"
-                    "DisplayName" = "8:Textboxes   (A)"
-                    "UseDynamicProperties" = "11:TRUE"
-                    "IsDependency" = "11:FALSE"
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdCustomText1Dlg.wid"
-                        "Properties"
-                        {
-                            "BannerBitmap"
-                            {
-                            "Name" = "8:BannerBitmap"
-                            "DisplayName" = "8:#1001"
-                            "Description" = "8:#1101"
-                            "Type" = "3:8"
-                            "ContextData" = "8:Bitmap"
-                            "Attributes" = "3:4"
-                            "Setting" = "3:2"
-                            "Value" = "8:_4894F7532DA041EF8685865F1EDAE388"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "BannerText"
-                            {
-                            "Name" = "8:BannerText"
-                            "DisplayName" = "8:#1014"
-                            "Description" = "8:#1114"
-                            "Type" = "3:3"
-                            "ContextData" = "8:"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:2"
-                            "Value" = "8:Process Manager Setup"
-                            "DefaultValue" = "8:#1214"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "BodyText"
-                            {
-                            "Name" = "8:BodyText"
-                            "DisplayName" = "8:#1015"
-                            "Description" = "8:#1115"
-                            "Type" = "3:3"
-                            "ContextData" = "8:"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:2"
-                            "Value" = "8:The smpd process manager will be installed on this system.  It requires administrator privileges to install so if you are not in the administrator's group you should cancel the installation now.  Smpd will be installed as a service used to launch MPI processes.  Authorized access to the smpd service is regulated by a secret word entered here.  The same passphrase must be used on all systems."
-                            "DefaultValue" = "8:#1215"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Edit1Label"
-                            {
-                            "Name" = "8:Edit1Label"
-                            "DisplayName" = "8:#1046"
-                            "Description" = "8:#1146"
-                            "Type" = "3:3"
-                            "ContextData" = "8:"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:2"
-                            "Value" = "8:Passphrase:"
-                            "DefaultValue" = "8:#1246"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Edit1Property"
-                            {
-                            "Name" = "8:Edit1Property"
-                            "DisplayName" = "8:#1050"
-                            "Description" = "8:#1150"
-                            "Type" = "3:14"
-                            "ContextData" = "8:Public"
-                            "Attributes" = "3:2"
-                            "Setting" = "3:2"
-                            "Value" = "8:PHRASE"
-                            "DefaultValue" = "8:EDITA1"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Edit1Value"
-                            {
-                            "Name" = "8:Edit1Value"
-                            "DisplayName" = "8:#1054"
-                            "Description" = "8:#1154"
-                            "Type" = "3:3"
-                            "ContextData" = "8:"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:2"
-                            "Value" = "8:behappy"
-                            "DefaultValue" = "8:"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Edit1Visible"
-                            {
-                            "Name" = "8:Edit1Visible"
-                            "DisplayName" = "8:#1042"
-                            "Description" = "8:#1142"
-                            "Type" = "3:5"
-                            "ContextData" = "8:1;True=1;False=0"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:0"
-                            "Value" = "3:1"
-                            "DefaultValue" = "3:1"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Edit2Label"
-                            {
-                            "Name" = "8:Edit2Label"
-                            "DisplayName" = "8:#1047"
-                            "Description" = "8:#1147"
-                            "Type" = "3:3"
-                            "ContextData" = "8:"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:1"
-                            "Value" = "8:#1247"
-                            "DefaultValue" = "8:#1247"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Edit2Property"
-                            {
-                            "Name" = "8:Edit2Property"
-                            "DisplayName" = "8:#1051"
-                            "Description" = "8:#1151"
-                            "Type" = "3:14"
-                            "ContextData" = "8:Public"
-                            "Attributes" = "3:2"
-                            "Setting" = "3:2"
-                            "Value" = "8:EDITA2"
-                            "DefaultValue" = "8:EDITA2"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Edit2Value"
-                            {
-                            "Name" = "8:Edit2Value"
-                            "DisplayName" = "8:#1055"
-                            "Description" = "8:#1155"
-                            "Type" = "3:3"
-                            "ContextData" = "8:"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:1"
-                            "Value" = "8:"
-                            "DefaultValue" = "8:"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Edit2Visible"
-                            {
-                            "Name" = "8:Edit2Visible"
-                            "DisplayName" = "8:#1043"
-                            "Description" = "8:#1143"
-                            "Type" = "3:5"
-                            "ContextData" = "8:1;True=1;False=0"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:0"
-                            "Value" = "3:0"
-                            "DefaultValue" = "3:1"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Edit3Label"
-                            {
-                            "Name" = "8:Edit3Label"
-                            "DisplayName" = "8:#1048"
-                            "Description" = "8:#1148"
-                            "Type" = "3:3"
-                            "ContextData" = "8:"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:1"
-                            "Value" = "8:#1248"
-                            "DefaultValue" = "8:#1248"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Edit3Property"
-                            {
-                            "Name" = "8:Edit3Property"
-                            "DisplayName" = "8:#1052"
-                            "Description" = "8:#1152"
-                            "Type" = "3:14"
-                            "ContextData" = "8:Public"
-                            "Attributes" = "3:2"
-                            "Setting" = "3:2"
-                            "Value" = "8:EDITA3"
-                            "DefaultValue" = "8:EDITA3"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Edit3Value"
-                            {
-                            "Name" = "8:Edit3Value"
-                            "DisplayName" = "8:#1056"
-                            "Description" = "8:#1156"
-                            "Type" = "3:3"
-                            "ContextData" = "8:"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:1"
-                            "Value" = "8:"
-                            "DefaultValue" = "8:"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Edit3Visible"
-                            {
-                            "Name" = "8:Edit3Visible"
-                            "DisplayName" = "8:#1044"
-                            "Description" = "8:#1144"
-                            "Type" = "3:5"
-                            "ContextData" = "8:1;True=1;False=0"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:0"
-                            "Value" = "3:0"
-                            "DefaultValue" = "3:1"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Edit4Label"
-                            {
-                            "Name" = "8:Edit4Label"
-                            "DisplayName" = "8:#1049"
-                            "Description" = "8:#1149"
-                            "Type" = "3:3"
-                            "ContextData" = "8:"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:1"
-                            "Value" = "8:#1249"
-                            "DefaultValue" = "8:#1249"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Edit4Property"
-                            {
-                            "Name" = "8:Edit4Property"
-                            "DisplayName" = "8:#1053"
-                            "Description" = "8:#1153"
-                            "Type" = "3:14"
-                            "ContextData" = "8:Public"
-                            "Attributes" = "3:2"
-                            "Setting" = "3:2"
-                            "Value" = "8:EDITA4"
-                            "DefaultValue" = "8:EDITA4"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Edit4Value"
-                            {
-                            "Name" = "8:Edit4Value"
-                            "DisplayName" = "8:#1057"
-                            "Description" = "8:#1157"
-                            "Type" = "3:3"
-                            "ContextData" = "8:"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:1"
-                            "Value" = "8:"
-                            "DefaultValue" = "8:"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Edit4Visible"
-                            {
-                            "Name" = "8:Edit4Visible"
-                            "DisplayName" = "8:#1045"
-                            "Description" = "8:#1145"
-                            "Type" = "3:5"
-                            "ContextData" = "8:1;True=1;False=0"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:0"
-                            "Value" = "3:0"
-                            "DefaultValue" = "3:1"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                        }
-                    }
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_AB27EAFEB4C04EF383122AB3426C5A76"
-                    {
-                    "Sequence" = "3:500"
-                    "DisplayName" = "8:Confirm Installation"
-                    "UseDynamicProperties" = "11:TRUE"
-                    "IsDependency" = "11:FALSE"
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdConfirmDlg.wid"
-                        "Properties"
-                        {
-                            "BannerBitmap"
-                            {
-                            "Name" = "8:BannerBitmap"
-                            "DisplayName" = "8:#1001"
-                            "Description" = "8:#1101"
-                            "Type" = "3:8"
-                            "ContextData" = "8:Bitmap"
-                            "Attributes" = "3:4"
-                            "Setting" = "3:2"
-                            "Value" = "8:_4894F7532DA041EF8685865F1EDAE388"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                        }
-                    }
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_D6A227CEAC7B4CFC8048C23DCA3D3E62"
-                    {
-                    "Sequence" = "3:410"
-                    "DisplayName" = "8:Installation Folder"
-                    "UseDynamicProperties" = "11:TRUE"
-                    "IsDependency" = "11:FALSE"
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdFolderDlg.wid"
-                        "Properties"
-                        {
-                            "BannerBitmap"
-                            {
-                            "Name" = "8:BannerBitmap"
-                            "DisplayName" = "8:#1001"
-                            "Description" = "8:#1101"
-                            "Type" = "3:8"
-                            "ContextData" = "8:Bitmap"
-                            "Attributes" = "3:4"
-                            "Setting" = "3:2"
-                            "Value" = "8:_4894F7532DA041EF8685865F1EDAE388"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "InstallAllUsersVisible"
-                            {
-                            "Name" = "8:InstallAllUsersVisible"
-                            "DisplayName" = "8:#1059"
-                            "Description" = "8:#1159"
-                            "Type" = "3:5"
-                            "ContextData" = "8:1;True=1;False=0"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:0"
-                            "Value" = "3:1"
-                            "DefaultValue" = "3:1"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                        }
-                    }
-                }
-            }
-            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_EA41D97D1F7E40B0A196C73EE80F9DF1"
-            {
-            "Name" = "8:#1902"
-            "Sequence" = "3:2"
-            "Attributes" = "3:3"
-                "Dialogs"
-                {
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_5E8D90C0BFEE444B9AF6A0D807E434C8"
-                    {
-                    "Sequence" = "3:100"
-                    "DisplayName" = "8:Finished"
-                    "UseDynamicProperties" = "11:TRUE"
-                    "IsDependency" = "11:FALSE"
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdAdminFinishedDlg.wid"
-                        "Properties"
-                        {
-                            "BannerBitmap"
-                            {
-                            "Name" = "8:BannerBitmap"
-                            "DisplayName" = "8:#1001"
-                            "Description" = "8:#1101"
-                            "Type" = "3:8"
-                            "ContextData" = "8:Bitmap"
-                            "Attributes" = "3:4"
-                            "Setting" = "3:2"
-                            "Value" = "8:_4894F7532DA041EF8685865F1EDAE388"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                        }
-                    }
-                }
-            }
-            "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_F7EA3FA718D440A4A4C24B6798844CE4"
-            {
-            "UseDynamicProperties" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "SourcePath" = "8:<VsdDialogDir>\\VsdUserInterface.wim"
-            }
-        }
-        "MergeModule"
-        {
-        }
-        "ProjectOutput"
-        {
-        }
-        "VJSharpPlugin"
-        {
-        }
-    }
-}
diff --git a/maint/release.pl b/maint/release.pl
index 9fcebc7..b2d1bca 100755
--- a/maint/release.pl
+++ b/maint/release.pl
@@ -296,7 +296,6 @@ run_cmd("cp -a man ${expdir}");
 run_cmd("cp -a www ${expdir}");
 run_cmd("cp -a doc/userguide/user.pdf ${expdir}/doc/userguide");
 run_cmd("cp -a doc/installguide/install.pdf ${expdir}/doc/installguide");
-run_cmd("cp -a doc/smpd/smpd_pmi.pdf ${expdir}/doc/smpd");
 run_cmd("cp -a doc/logging/logging.pdf ${expdir}/doc/logging");
 run_cmd("cp -a doc/windev/windev.pdf ${expdir}/doc/windev");
 print("done\n");
diff --git a/maint/update_windows_version b/maint/update_windows_version
deleted file mode 100755
index 89193b5..0000000
--- a/maint/update_windows_version
+++ /dev/null
@@ -1,83 +0,0 @@
-#! /usr/bin/env perl
-
-$version = "";
-$filename = "mpichi.vdproj";
-$verbose = false;
-
-# Create two new UUIDs
-chomp($product_uuid = `uuidgen`);
-chomp($package_uuid = `uuidgen`);
-#print "'" . $product_uuid . "'\n";
-#print "'" . $package_uuid . "'\n";
-
-# Parse the command line
-foreach $arg (@ARGV)
-{
-#	print "$arg\n";
-	if (substr($arg, 1, 5) eq "file:")
-	{
-		$filename = substr $arg, 6;
-#		print "file = '" . $filename . "'\n";
-	}
-	elsif (substr($arg, 1, 8) eq "version:")
-	{
-		$version = substr $arg, 9;
-#		print "version = '" . $version . "'\n";
-	}
-	elsif ($arg eq "-v" || $arg eq "/v")
-	{
-		$verbose = true;
-	}
-	else
-	{
-		$version = $arg;
-#		print "version = '" . $version . "'\n";
-	}
-}
-
-# Get the version if none is specified on the command line
-if ($version eq "")
-{
-	unless (open VERSION_FILE, "<Version")
-	{
-		die "Error: Cannot open Version file: $!";
-	}
-	$_ = <VERSION_FILE>;
-	s/\r//;
-	chomp;
-	$version = $_;
-	close VERSION_FILE;
-}
-
-#print "version = '$version'\n";
-#print "ProductCode = $product_uuid\n";
-#print "PackageCode = $package_uuid\n";
-
-unless (open PROJ, "<$filename")
-{
-	die "Error: Cannot open project file ($filename): $!";
-}
-unless (open PROJ_TMP, ">$filename.tmp")
-{
-	die "Error: Cannot open output file ($filename.tmp): $!";
-}
-
-while (<PROJ>)
-{
-	s/(ProductVersion" = "[\d]:).*"/\1$version"/;
-	s/(ProductCode.*{).*}/\1\U$product_uuid}/;
-	s/(PackageCode.*{).*}/\1\U$package_uuid}/;
-	print PROJ_TMP "$_";
-}
-close PROJ;
-close PROJ_TMP;
-unless (unlink "$filename")
-{
-	die "Error: Unable to delete the project file ($filename): $!";
-}
-unless (rename "$filename.tmp", "$filename")
-{
-	die "Error: Unable to rename '$filename.tmp' -> '$filename': $!";
-}
-
-print "Success\n";
diff --git a/maint/winbuild.wsf b/maint/winbuild.wsf
deleted file mode 100644
index bfea803..0000000
--- a/maint/winbuild.wsf
+++ /dev/null
@@ -1,229 +0,0 @@
-<package>
-<job id="winbuild">
-    <runtime>
-        <description> Build MPICH on windows using windows makefile </description>
-        <unnamed
-            name = "--with-cpu"
-            helpstring = "Specify the target CPU. Supports x86, x64. Eg: --with-cpu=x86"
-            required = "false"
-        />
-        <unnamed
-            name = "--build"
-            helpstring = "Specify the build type. Supports Release, Debug. Eg: --build=Release"
-            required = "false"
-        />
-        <unnamed
-            name = "--with-appver"
-            helpstring = "Specify the appver. Eg: --with-appver=0x502"
-            required = "false"
-        />
-        <unnamed
-            name = "--build-dir"
-            helpstring = "Specify the directory containing the windows makefile. Eg: --build-dir=c:\jay\downloads\mpich\winbuild. The default is the current directory."
-            required = "false"
-        />
-        <unnamed
-            name = "--with-channel"
-            helpstring = "Specify the channels to build. Supported channels are shm, ssm, sock, nemesis. Eg: --with-channel=nemesis,sock. By default all channels are built."
-            required = "false"
-        />
-        <unnamed
-            name = "--disable-profiling"
-            helpstring = "Specify to disable building profiled dlls. Eg: --disable-profiling"
-            required = "false"
-        />
-        <unnamed
-            name = "--disable-fortran"
-            helpstring = "Specify to disable building fortran interface files. Eg: --disable-fortran"
-            required = "false"
-        />
-        <unnamed
-            name = "--disable-gcc"
-            helpstring = "Specify to disable building gcc libs. Eg: --disable-gcc"
-            required = "false"
-        />
-        <unnamed
-            name = "--verbose"
-            helpstring = "Specify to enable verbose output. Eg: --verbose"
-            required = "false"
-        />
-        <example> Usage: cscript winbuild.wsf [--with-cpu=x86|x64] [--build=Release|Debug] [--with-appver=APPVER_NUM] [--build-dir=DIR_WITH_MAKEFILE] [--with-channel=...] [--disable-fortran] [--disable-gcc] </example>
-    </runtime>
-
-    <script language="VBScript">
-        Option Explicit
-        'Init vars
-        Dim cpu_type, build_type, appver, build_dir
-        Dim default_channel_array, user_channel_array 
-        Dim misc_targets_array, gcc_targets_array, fort_targets_array
-        Dim disable_profiling, disable_fortran, disable_gcc
-        Dim verbose_output
-        Dim vs_shell, cmd, cmd_output
-        Dim nmake_cmd_prefix, nmake_cmd_suffix
-
-        Dim i, arg, arg_cnt, arg_val, arg_option, tmp_str_array
-        Dim fso, tmp_build_script, tmp_fname
-    
-        default_channel_array = Array("nemesis", "sock", "mt")
-        misc_targets_array = Array("cxx", "sfort", "irlog2rlog", "TraceInput")
-        gcc_targets_array = Array("gcc_libs")
-        fort_targets_array = Array("fort", "mpi_mod", "gfort")
-
-        disable_profiling = False
-        disable_fortran = False
-        disable_gcc = False
-
-        verbose_output = False
-        
-        ' Parse the Arguments
-        arg_cnt = WScript.Arguments.Count
-        For arg = 0 To arg_cnt - 1
-            arg_val = WScript.Arguments(arg)
-            arg_option = Split(arg_val, "=", -1, 1)
-
-            If arg_option(0) = "--with-cpu" Then
-                If UBound(arg_option, 1) <> 1 Then
-                    WScript.Echo "Invalid format for --with-cpu option"
-                    WScript.Quit(-1)
-                Else
-                    cpu_type = arg_option(1)
-                End If
-            ElseIf arg_option(0) = "--build" Then
-                If UBound(arg_option, 1) <> 1 Then
-                    WScript.Echo "Invalid format for --build option"
-                    WScript.Quit(-1)
-                Else
-                    If (arg_option(1) = "Release") Or (arg_option(1) = "Debug") Then
-                        build_type = arg_option(1)
-                    Else
-                        WScript.Echo "Invalid format for --build"
-                        WScript.Quit(-1)
-                    End If
-                End If
-            ElseIf arg_option(0) = "--with-appver" Then
-                If UBound(arg_option, 1) <> 1 Then
-                    WScript.Echo "Invalid format for --with-appver option"
-                    WScript.Quit(-1)
-                Else
-                    appver = arg_option(1)
-                End If
-            ElseIf arg_option(0) = "--build-dir" Then
-                If UBound(arg_option, 1) <> 1 Then
-                    WScript.Echo "Invalid format for --build-dir option"
-                    WScript.Quit(-1)
-                Else
-                    build_dir = arg_option(1)
-                End If
-            ElseIf arg_option(0) = "--with-channel" Then
-                If UBound(arg_option, 1) <> 1 Then
-                    WScript.Echo "Invalid format for --with-channel option"
-                    WScript.Quit(-1)
-                Else
-                    user_channel_array = Split(arg_option(1), ",", -1, 1)
-                    ' FIXME: We don't validate the channel names
-                End If
-            ElseIf arg_option(0) = "--disable-profiling" Then
-                disable_profiling = True
-            ElseIf arg_option(0) = "--disable-fortran" Then
-                disable_fortran = True
-            ElseIf arg_option(0) = "--disable-gcc" Then
-                disable_gcc = True
-            Else
-                WScript.Echo "Unknown option: " & arg_option(0)
-                WScript.Quit(-1)
-            End If
-        Next
-
-        ' Create temp build script
-        Set fso = CreateObject("Scripting.FileSystemObject")
-        ' Does GetTempName() fail ?
-        tmp_fname = fso.GetTempName()
-        ' Give the temp filename a batch file extn
-        tmp_fname = Replace(tmp_fname, ".", "_") & ".cmd"
-        Set tmp_build_script = fso.CreateTextFile(tmp_fname, True)
-
-        nmake_cmd_prefix="nmake"
-        nmake_cmd_suffix=" > make.log 2>&1"
-
-        If Not IsEmpty(cpu_type) Then
-            nmake_cmd_prefix = nmake_cmd_prefix & " CPU=" & cpu_type
-        End If
-        If Not IsEmpty(build_type) Then
-            If build_type = "Release" Then
-                nmake_cmd_prefix = nmake_cmd_prefix & " NODEBUG=1"
-            End If
-        End If
-        If Not IsEmpty(appver) Then
-            nmake_cmd_prefix = nmake_cmd_prefix & " APPVER=" & appver
-        End If
-
-        If cpu_type = "x64" Then
-            tmp_build_script.WriteLine("set PATH=%CCP_LIB64%;%PATH%")                
-        ElseIf cpu_type = "x86" Then
-            ' Assume ia32
-            tmp_build_script.WriteLine("set PATH=%CCP_LIB32%;%PATH%")                
-        Else
-            ' Unknown cpu type OR CPU type specified by environment
-            ' Assume that CCP paths are also specified by the environment
-        End If
-
-        ' Write default target
-        tmp_build_script.WriteLine(nmake_cmd_prefix & nmake_cmd_suffix)
-
-        If IsEmpty(user_channel_array) Then
-            For i=0 to UBound(default_channel_array, 1)
-                tmp_build_script.WriteLine(nmake_cmd_prefix & " CHANNEL=" & default_channel_array(i) & " " & nmake_cmd_suffix)
-                If Not disable_profiling Then
-                    tmp_build_script.WriteLine(nmake_cmd_prefix & " CHANNEL=" & default_channel_array(i) & " RLOG=1 " & nmake_cmd_suffix)
-                End If
-            Next
-        Else
-            For i=0 to UBound(user_channel_array, 1)
-                tmp_build_script.WriteLine(nmake_cmd_prefix & " CHANNEL=" & user_channel_array(i) & " " & nmake_cmd_suffix)
-                If Not disable_profiling Then
-                    tmp_build_script.WriteLine(nmake_cmd_prefix & " CHANNEL=" & user_channel_array(i) & " RLOG=1 " & nmake_cmd_suffix)
-                End If
-            Next
-        End If
-
-        ' Add misc targets
-        For i=0 to UBound(misc_targets_array, 1)
-            tmp_build_script.WriteLine(nmake_cmd_prefix & " " & misc_targets_array(i))
-        Next
-
-        If Not disable_fortran Then
-            For i=0 to UBound(fort_targets_array, 1)
-                tmp_build_script.WriteLine(nmake_cmd_prefix & " " & fort_targets_array(i))
-            Next
-        End If
-
-        If Not disable_gcc Then
-            For i=0 to UBound(gcc_targets_array, 1)
-                tmp_build_script.WriteLine(nmake_cmd_prefix & " " & gcc_targets_array(i))
-            Next
-        End If
-
-        tmp_build_script.Close()
-
-        ' Execute the build script
-
-        Set vs_shell = WScript.CreateObject("WScript.Shell")
-        'Set vs_env = vs_shell.Environment("PROCESS")
-
-        ' Call nmake on targets
-        'cmd = "nmake > make.log 2>&1 "
-        cmd = tmp_fname
-        vs_shell.Run cmd, 0, True
-        'Do While cmd_output.status = 0
-        '    WScript.Sleep 10
-        'Loop
-        'WScript.Echo cmd_output.StdOut.ReadAll, cmd_output.StdErr.ReadAll
-
-        ' Remove the temp build script
-        Set tmp_build_script = fso.GetFile(tmp_fname)
-        tmp_build_script.Delete()
-
-    </script>
-
-</job>
-</package>
diff --git a/mpi.vcproj b/mpi.vcproj
deleted file mode 100644
index 7f2d905..0000000
--- a/mpi.vcproj
+++ /dev/null
@@ -1,425 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="mpi"
-	ProjectGUID="{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}"
-	RootNamespace="mpi"
-	Keyword="Win32Proj"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="Debug"
-			IntermediateDirectory="Debug"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="src\include;src\include\win32;src\mpl\include"
-				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;MPI_EXPORTS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile="lib/mpichmpid.dll"
-				LinkIncremental="2"
-				ModuleDefinitionFile=".\mpi.def"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)/mpi.pdb"
-				SubSystem="2"
-				ImportLibrary=".\$(ConfigurationName)/mpid.lib"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying mpichmpid.dll to system32 directory"
-				CommandLine="copy lib\mpichmpid.dll %SystemRoot%\system32\mpichmpid.dll&#x0D;&#x0A;copy $(ConfigurationName)\mpid.lib lib\mpid.lib&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="Release"
-			IntermediateDirectory="Release"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="src\include;src\include\win32;src\mpl\include"
-				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;MPI_EXPORTS"
-				RuntimeLibrary="0"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile="lib/mpichmpi.dll"
-				LinkIncremental="1"
-				ModuleDefinitionFile=".\mpi.def"
-				GenerateDebugInformation="false"
-				SubSystem="2"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				ImportLibrary=".\$(ConfigurationName)/mpi.lib"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying mpichmpi.dll to system32 directory"
-				CommandLine="copy lib\mpichmpi.dll %SystemRoot%\system32\mpichmpi.dll&#x0D;&#x0A;copy $(ConfigurationName)\mpi.lib lib\mpi.lib&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3nemesisPRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="src\include;src\include\win32;src\mpl\include"
-				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;MPI_EXPORTS"
-				RuntimeLibrary="0"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile="lib/mpichmpi.dll"
-				LinkIncremental="1"
-				ModuleDefinitionFile=".\mpi.def"
-				GenerateDebugInformation="true"
-				SubSystem="2"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				ImportLibrary=".\$(ConfigurationName)/mpi.lib"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying mpichmpi.dll to system32 directory"
-				CommandLine="copy lib\mpichmpi.dll %SystemRoot%\system32\mpichmpi.dll&#x0D;&#x0A;copy $(ConfigurationName)\mpi.lib lib\mpi.lib&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="fortPRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="src\include;src\include\win32;src\mpl\include"
-				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;MPI_EXPORTS"
-				RuntimeLibrary="0"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile="lib/mpichmpi.dll"
-				LinkIncremental="1"
-				ModuleDefinitionFile=".\mpi.def"
-				GenerateDebugInformation="false"
-				SubSystem="2"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				ImportLibrary=".\$(ConfigurationName)/mpi.lib"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying mpichmpi.dll to system32 directory"
-				CommandLine="copy lib\mpichmpi.dll %SystemRoot%\system32\mpichmpi.dll&#x0D;&#x0A;copy $(ConfigurationName)\mpi.lib lib\mpi.lib&#x0D;&#x0A;"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath=".\src\util\multichannel\mpi.c"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\mpi.def"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-			<File
-				RelativePath=".\src\include\win32\mpi.h"
-				>
-			</File>
-			<File
-				RelativePath=".\src\include\mpicxx.h"
-				>
-			</File>
-			<File
-				RelativePath=".\src\include\mpio.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/mpich.sln b/mpich.sln
deleted file mode 100644
index 1314993..0000000
--- a/mpich.sln
+++ /dev/null
@@ -1,5929 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mpich", "mpich.vcproj", "{0FACD81A-FE33-4845-ACF6-A1D50BD35991}"
-	ProjectSection(ProjectDependencies) = postProject
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A} = {97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2} = {8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}
-		{10115F75-1A40-4155-BCD4-9521609DFFEC} = {10115F75-1A40-4155-BCD4-9521609DFFEC}
-		{3DE857FA-6F20-4214-8D99-811165354D3F} = {3DE857FA-6F20-4214-8D99-811165354D3F}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mpichs", "mpichs.vcproj", "{7FBADF88-70AB-4415-B7DA-248EFA299A86}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ch3sock", "src\mpid\ch3\channels\sock\ch3sock.vcproj", "{88CF50C7-ECDC-4423-9332-8A0647374428}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sock", "src\mpid\common\sock\sock.vcproj", "{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dbg", "src\util\dbg\dbg.vcproj", "{DFFFA925-D59C-4480-8094-1B7E9D12BC02}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cxx", "src\binding\cxx\cxx.vcproj", "{A611626E-E8FF-44A7-8105-149AB9CA5D20}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rlog", "src\util\logging\rlog\rlog.vcproj", "{3DE857FA-6F20-4214-8D99-811165354D3F}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mpichf", "src\binding\f77\mpichf.vcproj", "{D45A7472-5ECD-481D-A26D-98D88ED44305}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mpiexec", "src\pm\smpd\mpiexec.vcproj", "{EFAF72A2-7154-410B-9235-460444894A38}"
-	ProjectSection(ProjectDependencies) = postProject
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02} = {DFFFA925-D59C-4480-8094-1B7E9D12BC02}
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2} = {8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A} = {97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51} = {0703FA94-8B8C-49AC-BFCE-91F67B599E51}
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86} = {7FBADF88-70AB-4415-B7DA-248EFA299A86}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "smpd", "src\pm\smpd\smpd.vcproj", "{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}"
-	ProjectSection(ProjectDependencies) = postProject
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51} = {0703FA94-8B8C-49AC-BFCE-91F67B599E51}
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86} = {7FBADF88-70AB-4415-B7DA-248EFA299A86}
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02} = {DFFFA925-D59C-4480-8094-1B7E9D12BC02}
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2} = {8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A} = {97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "smpd_util", "src\pm\smpd\smpd_util.vcproj", "{0703FA94-8B8C-49AC-BFCE-91F67B599E51}"
-	ProjectSection(ProjectDependencies) = postProject
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804} = {EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pmi", "src\pmi\smpd\pmi.vcproj", "{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}"
-	ProjectSection(ProjectDependencies) = postProject
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51} = {0703FA94-8B8C-49AC-BFCE-91F67B599E51}
-	EndProjectSection
-EndProject
-Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "mpichff", "src\binding\f77\mpichff.vfproj", "{F2B709B4-AB53-4E39-8025-00060DA5279D}"
-EndProject
-Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "MPICHInstaller", "maint\mpichi.vdproj", "{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "impgen", "maint\impgen.vcproj", "{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mpi", "mpi.vcproj", "{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mpe", "src\mpe2\mpe.vcproj", "{23709B5A-153D-422B-B006-17CC05552B57}"
-	ProjectSection(ProjectDependencies) = postProject
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804} = {EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mpewrap", "src\mpe2\mpewrap.vcproj", "{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}"
-	ProjectSection(ProjectDependencies) = postProject
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804} = {EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}
-		{23709B5A-153D-422B-B006-17CC05552B57} = {23709B5A-153D-422B-B006-17CC05552B57}
-	EndProjectSection
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "wmpiexec", "src\pm\smpd\wmpiexec\wmpiexec.csproj", "{B0365633-1495-4C2C-8FD6-6943F5208D5C}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "wmpiregister", "src\pm\smpd\wmpiregister\wmpiregister.csproj", "{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "wmpiconfig", "src\pm\smpd\wmpiconfig\wmpiconfig.csproj", "{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}"
-EndProject
-Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "MPICHx64Installer", "maint\mpichx64i.vdproj", "{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}"
-EndProject
-Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "mpif90", "src\binding\f90\mpif90.vfproj", "{D9B35828-6D2D-4661-827E-80FDBB3C07C5}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ch3nemesis", "src\mpid\ch3\channels\nemesis\ch3nemesis.vcproj", "{10115F75-1A40-4155-BCD4-9521609DFFEC}"
-	ProjectSection(ProjectDependencies) = postProject
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02} = {DFFFA925-D59C-4480-8094-1B7E9D12BC02}
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A} = {97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}
-		{3DE857FA-6F20-4214-8D99-811165354D3F} = {3DE857FA-6F20-4214-8D99-811165354D3F}
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2} = {8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B} = {ACB7CE11-E708-49CD-9DC5-6022B1BF730B}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "executive", "src\util\ex\executive.vcproj", "{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mpl", "mpl.vcproj", "{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		ch3nemesisDebug|Any CPU = ch3nemesisDebug|Any CPU
-		ch3nemesisDebug|Mixed Platforms = ch3nemesisDebug|Mixed Platforms
-		ch3nemesisDebug|Win32 = ch3nemesisDebug|Win32
-		ch3nemesisDebug|x64 = ch3nemesisDebug|x64
-		ch3nemesisPDebug|Any CPU = ch3nemesisPDebug|Any CPU
-		ch3nemesisPDebug|Mixed Platforms = ch3nemesisPDebug|Mixed Platforms
-		ch3nemesisPDebug|Win32 = ch3nemesisPDebug|Win32
-		ch3nemesisPDebug|x64 = ch3nemesisPDebug|x64
-		ch3nemesisPRelease|Any CPU = ch3nemesisPRelease|Any CPU
-		ch3nemesisPRelease|Mixed Platforms = ch3nemesisPRelease|Mixed Platforms
-		ch3nemesisPRelease|Win32 = ch3nemesisPRelease|Win32
-		ch3nemesisPRelease|x64 = ch3nemesisPRelease|x64
-		ch3nemesisRelease|Any CPU = ch3nemesisRelease|Any CPU
-		ch3nemesisRelease|Mixed Platforms = ch3nemesisRelease|Mixed Platforms
-		ch3nemesisRelease|Win32 = ch3nemesisRelease|Win32
-		ch3nemesisRelease|x64 = ch3nemesisRelease|x64
-		ch3shmDebug|Any CPU = ch3shmDebug|Any CPU
-		ch3shmDebug|Mixed Platforms = ch3shmDebug|Mixed Platforms
-		ch3shmDebug|Win32 = ch3shmDebug|Win32
-		ch3shmDebug|x64 = ch3shmDebug|x64
-		ch3shmPRelease|Any CPU = ch3shmPRelease|Any CPU
-		ch3shmPRelease|Mixed Platforms = ch3shmPRelease|Mixed Platforms
-		ch3shmPRelease|Win32 = ch3shmPRelease|Win32
-		ch3shmPRelease|x64 = ch3shmPRelease|x64
-		ch3shmRelease|Any CPU = ch3shmRelease|Any CPU
-		ch3shmRelease|Mixed Platforms = ch3shmRelease|Mixed Platforms
-		ch3shmRelease|Win32 = ch3shmRelease|Win32
-		ch3shmRelease|x64 = ch3shmRelease|x64
-		ch3sockDebug|Any CPU = ch3sockDebug|Any CPU
-		ch3sockDebug|Mixed Platforms = ch3sockDebug|Mixed Platforms
-		ch3sockDebug|Win32 = ch3sockDebug|Win32
-		ch3sockDebug|x64 = ch3sockDebug|x64
-		ch3sockmtDebug|Any CPU = ch3sockmtDebug|Any CPU
-		ch3sockmtDebug|Mixed Platforms = ch3sockmtDebug|Mixed Platforms
-		ch3sockmtDebug|Win32 = ch3sockmtDebug|Win32
-		ch3sockmtDebug|x64 = ch3sockmtDebug|x64
-		ch3sockmtPRelease|Any CPU = ch3sockmtPRelease|Any CPU
-		ch3sockmtPRelease|Mixed Platforms = ch3sockmtPRelease|Mixed Platforms
-		ch3sockmtPRelease|Win32 = ch3sockmtPRelease|Win32
-		ch3sockmtPRelease|x64 = ch3sockmtPRelease|x64
-		ch3sockmtRelease|Any CPU = ch3sockmtRelease|Any CPU
-		ch3sockmtRelease|Mixed Platforms = ch3sockmtRelease|Mixed Platforms
-		ch3sockmtRelease|Win32 = ch3sockmtRelease|Win32
-		ch3sockmtRelease|x64 = ch3sockmtRelease|x64
-		ch3sockPliteRelease|Any CPU = ch3sockPliteRelease|Any CPU
-		ch3sockPliteRelease|Mixed Platforms = ch3sockPliteRelease|Mixed Platforms
-		ch3sockPliteRelease|Win32 = ch3sockPliteRelease|Win32
-		ch3sockPliteRelease|x64 = ch3sockPliteRelease|x64
-		ch3sockPRelease|Any CPU = ch3sockPRelease|Any CPU
-		ch3sockPRelease|Mixed Platforms = ch3sockPRelease|Mixed Platforms
-		ch3sockPRelease|Win32 = ch3sockPRelease|Win32
-		ch3sockPRelease|x64 = ch3sockPRelease|x64
-		ch3sockRelease|Any CPU = ch3sockRelease|Any CPU
-		ch3sockRelease|Mixed Platforms = ch3sockRelease|Mixed Platforms
-		ch3sockRelease|Win32 = ch3sockRelease|Win32
-		ch3sockRelease|x64 = ch3sockRelease|x64
-		ch3ssmDebug|Any CPU = ch3ssmDebug|Any CPU
-		ch3ssmDebug|Mixed Platforms = ch3ssmDebug|Mixed Platforms
-		ch3ssmDebug|Win32 = ch3ssmDebug|Win32
-		ch3ssmDebug|x64 = ch3ssmDebug|x64
-		ch3ssmPDebug|Any CPU = ch3ssmPDebug|Any CPU
-		ch3ssmPDebug|Mixed Platforms = ch3ssmPDebug|Mixed Platforms
-		ch3ssmPDebug|Win32 = ch3ssmPDebug|Win32
-		ch3ssmPDebug|x64 = ch3ssmPDebug|x64
-		ch3ssmPRelease|Any CPU = ch3ssmPRelease|Any CPU
-		ch3ssmPRelease|Mixed Platforms = ch3ssmPRelease|Mixed Platforms
-		ch3ssmPRelease|Win32 = ch3ssmPRelease|Win32
-		ch3ssmPRelease|x64 = ch3ssmPRelease|x64
-		ch3ssmRelease|Any CPU = ch3ssmRelease|Any CPU
-		ch3ssmRelease|Mixed Platforms = ch3ssmRelease|Mixed Platforms
-		ch3ssmRelease|Win32 = ch3ssmRelease|Win32
-		ch3ssmRelease|x64 = ch3ssmRelease|x64
-		Debug|Any CPU = Debug|Any CPU
-		Debug|Mixed Platforms = Debug|Mixed Platforms
-		Debug|Win32 = Debug|Win32
-		Debug|x64 = Debug|x64
-		DebugStatic|Any CPU = DebugStatic|Any CPU
-		DebugStatic|Mixed Platforms = DebugStatic|Mixed Platforms
-		DebugStatic|Win32 = DebugStatic|Win32
-		DebugStatic|x64 = DebugStatic|x64
-		fmpe|Any CPU = fmpe|Any CPU
-		fmpe|Mixed Platforms = fmpe|Mixed Platforms
-		fmpe|Win32 = fmpe|Win32
-		fmpe|x64 = fmpe|x64
-		fortDebug|Any CPU = fortDebug|Any CPU
-		fortDebug|Mixed Platforms = fortDebug|Mixed Platforms
-		fortDebug|Win32 = fortDebug|Win32
-		fortDebug|x64 = fortDebug|x64
-		fortDebugConfig_1_0_5|Any CPU = fortDebugConfig_1_0_5|Any CPU
-		fortDebugConfig_1_0_5|Mixed Platforms = fortDebugConfig_1_0_5|Mixed Platforms
-		fortDebugConfig_1_0_5|Win32 = fortDebugConfig_1_0_5|Win32
-		fortDebugConfig_1_0_5|x64 = fortDebugConfig_1_0_5|x64
-		fortPRelease|Any CPU = fortPRelease|Any CPU
-		fortPRelease|Mixed Platforms = fortPRelease|Mixed Platforms
-		fortPRelease|Win32 = fortPRelease|Win32
-		fortPRelease|x64 = fortPRelease|x64
-		fortRelease|Any CPU = fortRelease|Any CPU
-		fortRelease|Mixed Platforms = fortRelease|Mixed Platforms
-		fortRelease|Win32 = fortRelease|Win32
-		fortRelease|x64 = fortRelease|x64
-		gfortDebug|Any CPU = gfortDebug|Any CPU
-		gfortDebug|Mixed Platforms = gfortDebug|Mixed Platforms
-		gfortDebug|Win32 = gfortDebug|Win32
-		gfortDebug|x64 = gfortDebug|x64
-		gfortRelease|Any CPU = gfortRelease|Any CPU
-		gfortRelease|Mixed Platforms = gfortRelease|Mixed Platforms
-		gfortRelease|Win32 = gfortRelease|Win32
-		gfortRelease|x64 = gfortRelease|x64
-		Installer|Any CPU = Installer|Any CPU
-		Installer|Mixed Platforms = Installer|Mixed Platforms
-		Installer|Win32 = Installer|Win32
-		Installer|x64 = Installer|x64
-		Installerx64|Any CPU = Installerx64|Any CPU
-		Installerx64|Mixed Platforms = Installerx64|Mixed Platforms
-		Installerx64|Win32 = Installerx64|Win32
-		Installerx64|x64 = Installerx64|x64
-		mpichDebugConfig_1_0_4|Any CPU = mpichDebugConfig_1_0_4|Any CPU
-		mpichDebugConfig_1_0_4|Mixed Platforms = mpichDebugConfig_1_0_4|Mixed Platforms
-		mpichDebugConfig_1_0_4|Win32 = mpichDebugConfig_1_0_4|Win32
-		mpichDebugConfig_1_0_4|x64 = mpichDebugConfig_1_0_4|x64
-		mpichDebugConfig_1_0_5|Any CPU = mpichDebugConfig_1_0_5|Any CPU
-		mpichDebugConfig_1_0_5|Mixed Platforms = mpichDebugConfig_1_0_5|Mixed Platforms
-		mpichDebugConfig_1_0_5|Win32 = mpichDebugConfig_1_0_5|Win32
-		mpichDebugConfig_1_0_5|x64 = mpichDebugConfig_1_0_5|x64
-		mpichReleaseConfig_1_0_4|Any CPU = mpichReleaseConfig_1_0_4|Any CPU
-		mpichReleaseConfig_1_0_4|Mixed Platforms = mpichReleaseConfig_1_0_4|Mixed Platforms
-		mpichReleaseConfig_1_0_4|Win32 = mpichReleaseConfig_1_0_4|Win32
-		mpichReleaseConfig_1_0_4|x64 = mpichReleaseConfig_1_0_4|x64
-		mpichshm_mpichReleaseConfig_1_0_4|Any CPU = mpichshm_mpichReleaseConfig_1_0_4|Any CPU
-		mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms = mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms
-		mpichshm_mpichReleaseConfig_1_0_4|Win32 = mpichshm_mpichReleaseConfig_1_0_4|Win32
-		mpichshm_mpichReleaseConfig_1_0_4|x64 = mpichshm_mpichReleaseConfig_1_0_4|x64
-		mpichssm_mpichReleaseConfig_1_0_4|Any CPU = mpichssm_mpichReleaseConfig_1_0_4|Any CPU
-		mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms = mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms
-		mpichssm_mpichReleaseConfig_1_0_4|Win32 = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		mpichssm_mpichReleaseConfig_1_0_4|x64 = mpichssm_mpichReleaseConfig_1_0_4|x64
-		mt_mpichReleaseConfig_1_0_4|Any CPU = mt_mpichReleaseConfig_1_0_4|Any CPU
-		mt_mpichReleaseConfig_1_0_4|Mixed Platforms = mt_mpichReleaseConfig_1_0_4|Mixed Platforms
-		mt_mpichReleaseConfig_1_0_4|Win32 = mt_mpichReleaseConfig_1_0_4|Win32
-		mt_mpichReleaseConfig_1_0_4|x64 = mt_mpichReleaseConfig_1_0_4|x64
-		Release|Any CPU = Release|Any CPU
-		Release|Mixed Platforms = Release|Mixed Platforms
-		Release|Win32 = Release|Win32
-		Release|x64 = Release|x64
-		sfortDebug|Any CPU = sfortDebug|Any CPU
-		sfortDebug|Mixed Platforms = sfortDebug|Mixed Platforms
-		sfortDebug|Win32 = sfortDebug|Win32
-		sfortDebug|x64 = sfortDebug|x64
-		sfortRelease|Any CPU = sfortRelease|Any CPU
-		sfortRelease|Mixed Platforms = sfortRelease|Mixed Platforms
-		sfortRelease|Win32 = sfortRelease|Win32
-		sfortRelease|x64 = sfortRelease|x64
-		testrelease|Any CPU = testrelease|Any CPU
-		testrelease|Mixed Platforms = testrelease|Mixed Platforms
-		testrelease|Win32 = testrelease|Win32
-		testrelease|x64 = testrelease|x64
-		wrapperUtilRelease|Any CPU = wrapperUtilRelease|Any CPU
-		wrapperUtilRelease|Mixed Platforms = wrapperUtilRelease|Mixed Platforms
-		wrapperUtilRelease|Win32 = wrapperUtilRelease|Win32
-		wrapperUtilRelease|x64 = wrapperUtilRelease|x64
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3nemesisDebug|Any CPU.ActiveCfg = ch3sockDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3nemesisDebug|Mixed Platforms.ActiveCfg = ch3nemesisDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3nemesisDebug|Mixed Platforms.Build.0 = ch3nemesisDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3nemesisDebug|Win32.ActiveCfg = ch3sockDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3nemesisDebug|Win32.Build.0 = ch3sockDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3nemesisDebug|x64.ActiveCfg = ch3sockDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3nemesisPDebug|Any CPU.ActiveCfg = ch3nemesisDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3nemesisPDebug|Mixed Platforms.ActiveCfg = ch3nemesisPDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3nemesisPDebug|Mixed Platforms.Build.0 = ch3nemesisPDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3nemesisPDebug|Win32.ActiveCfg = ch3nemesisDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3nemesisPDebug|Win32.Build.0 = ch3nemesisDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3nemesisPDebug|x64.ActiveCfg = ch3nemesisDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3nemesisPRelease|Any CPU.ActiveCfg = ch3nemesisPRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3nemesisPRelease|Mixed Platforms.ActiveCfg = ch3nemesisPRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3nemesisPRelease|Mixed Platforms.Build.0 = ch3nemesisPRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3nemesisPRelease|Win32.ActiveCfg = ch3nemesisPRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3nemesisPRelease|Win32.Build.0 = ch3nemesisPRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3nemesisPRelease|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3nemesisRelease|Any CPU.ActiveCfg = ch3nemesisPDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3nemesisRelease|Mixed Platforms.ActiveCfg = ch3nemesisRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3nemesisRelease|Mixed Platforms.Build.0 = ch3nemesisRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3nemesisRelease|Win32.ActiveCfg = ch3nemesisPDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3nemesisRelease|Win32.Build.0 = ch3nemesisPDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3nemesisRelease|x64.ActiveCfg = ch3nemesisPDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3shmDebug|Any CPU.ActiveCfg = ch3shmDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3shmDebug|Mixed Platforms.ActiveCfg = ch3shmDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3shmDebug|Mixed Platforms.Build.0 = ch3shmDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3shmDebug|Win32.ActiveCfg = ch3shmDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3shmDebug|Win32.Build.0 = ch3shmDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3shmDebug|x64.ActiveCfg = ch3shmDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3shmPRelease|Any CPU.ActiveCfg = ch3shmPRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3shmPRelease|Mixed Platforms.ActiveCfg = ch3shmPRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3shmPRelease|Mixed Platforms.Build.0 = ch3shmPRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3shmPRelease|Win32.ActiveCfg = ch3shmPRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3shmPRelease|Win32.Build.0 = ch3shmPRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3shmPRelease|x64.ActiveCfg = ch3shmPRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3shmRelease|Any CPU.ActiveCfg = ch3shmRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3shmRelease|Mixed Platforms.ActiveCfg = ch3shmRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3shmRelease|Mixed Platforms.Build.0 = ch3shmRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3shmRelease|Win32.ActiveCfg = ch3shmRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3shmRelease|Win32.Build.0 = ch3shmRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3shmRelease|x64.ActiveCfg = ch3shmRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3sockDebug|Any CPU.ActiveCfg = ch3sockDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3sockDebug|Mixed Platforms.ActiveCfg = ch3sockDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3sockDebug|Mixed Platforms.Build.0 = ch3sockDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3sockDebug|Win32.ActiveCfg = ch3sockDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3sockDebug|Win32.Build.0 = ch3sockDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3sockDebug|x64.ActiveCfg = ch3sockDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3sockmtDebug|Any CPU.ActiveCfg = ch3sockmtDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3sockmtDebug|Mixed Platforms.ActiveCfg = ch3sockmtDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3sockmtDebug|Mixed Platforms.Build.0 = ch3sockmtDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3sockmtDebug|Win32.ActiveCfg = ch3sockmtDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3sockmtDebug|Win32.Build.0 = ch3sockmtDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3sockmtDebug|x64.ActiveCfg = ch3sockmtDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3sockmtPRelease|Any CPU.ActiveCfg = ch3sockmtPRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3sockmtPRelease|Mixed Platforms.ActiveCfg = ch3sockmtPRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3sockmtPRelease|Mixed Platforms.Build.0 = ch3sockmtPRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3sockmtPRelease|Win32.ActiveCfg = ch3sockmtPRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3sockmtPRelease|Win32.Build.0 = ch3sockmtPRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3sockmtPRelease|x64.ActiveCfg = ch3sockmtPRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3sockmtRelease|Any CPU.ActiveCfg = ch3sockmtRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3sockmtRelease|Mixed Platforms.ActiveCfg = ch3sockmtRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3sockmtRelease|Mixed Platforms.Build.0 = ch3sockmtRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3sockmtRelease|Win32.ActiveCfg = ch3sockmtRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3sockmtRelease|Win32.Build.0 = ch3sockmtRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3sockmtRelease|x64.ActiveCfg = ch3sockmtRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3sockPliteRelease|Any CPU.ActiveCfg = ch3sockPliteRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3sockPliteRelease|Mixed Platforms.ActiveCfg = ch3sockPliteRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3sockPliteRelease|Mixed Platforms.Build.0 = ch3sockPliteRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3sockPliteRelease|Win32.ActiveCfg = ch3sockPliteRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3sockPliteRelease|Win32.Build.0 = ch3sockPliteRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3sockPliteRelease|x64.ActiveCfg = ch3sockPliteRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3sockPRelease|Any CPU.ActiveCfg = ch3sockPRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3sockPRelease|Mixed Platforms.ActiveCfg = ch3sockPRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3sockPRelease|Mixed Platforms.Build.0 = ch3sockPRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3sockPRelease|Win32.ActiveCfg = ch3sockPRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3sockPRelease|Win32.Build.0 = ch3sockPRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3sockPRelease|x64.ActiveCfg = ch3sockPRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3sockRelease|Any CPU.ActiveCfg = ch3sockRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3sockRelease|Mixed Platforms.ActiveCfg = ch3sockRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3sockRelease|Mixed Platforms.Build.0 = ch3sockRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3sockRelease|Win32.ActiveCfg = ch3sockRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3sockRelease|Win32.Build.0 = ch3sockRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3sockRelease|x64.ActiveCfg = ch3sockRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3ssmDebug|Any CPU.ActiveCfg = ch3ssmDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3ssmDebug|Mixed Platforms.ActiveCfg = ch3ssmDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3ssmDebug|Mixed Platforms.Build.0 = ch3ssmDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3ssmDebug|Win32.ActiveCfg = ch3ssmDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3ssmDebug|Win32.Build.0 = ch3ssmDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3ssmDebug|x64.ActiveCfg = ch3ssmDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3ssmPDebug|Any CPU.ActiveCfg = ch3ssmPDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3ssmPDebug|Mixed Platforms.ActiveCfg = ch3ssmPDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3ssmPDebug|Mixed Platforms.Build.0 = ch3ssmPDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3ssmPDebug|Win32.ActiveCfg = ch3ssmPDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3ssmPDebug|Win32.Build.0 = ch3ssmPDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3ssmPDebug|x64.ActiveCfg = ch3ssmPDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3ssmPRelease|Any CPU.ActiveCfg = ch3ssmPRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3ssmPRelease|Mixed Platforms.ActiveCfg = ch3ssmPRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3ssmPRelease|Mixed Platforms.Build.0 = ch3ssmPRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3ssmPRelease|Win32.ActiveCfg = ch3ssmPRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3ssmPRelease|Win32.Build.0 = ch3ssmPRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3ssmPRelease|x64.ActiveCfg = ch3ssmPRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3ssmRelease|Any CPU.ActiveCfg = ch3ssmRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3ssmRelease|Mixed Platforms.ActiveCfg = ch3ssmRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3ssmRelease|Mixed Platforms.Build.0 = ch3ssmRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3ssmRelease|Win32.ActiveCfg = ch3ssmRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3ssmRelease|Win32.Build.0 = ch3ssmRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.ch3ssmRelease|x64.ActiveCfg = ch3ssmRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.Debug|Any CPU.ActiveCfg = ch3sockDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.Debug|Mixed Platforms.ActiveCfg = ch3sockDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.Debug|Win32.ActiveCfg = ch3sockDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.Debug|Win32.Build.0 = ch3sockDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.Debug|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.DebugStatic|Any CPU.ActiveCfg = ch3sockDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.DebugStatic|Mixed Platforms.ActiveCfg = ch3sockDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.DebugStatic|Mixed Platforms.Build.0 = ch3sockDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.DebugStatic|Win32.ActiveCfg = ch3sockDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.DebugStatic|Win32.Build.0 = ch3sockDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.DebugStatic|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.fmpe|Any CPU.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.fmpe|Mixed Platforms.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.fmpe|Mixed Platforms.Build.0 = fortDebugConfig_1_0_5|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.fmpe|Win32.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.fmpe|Win32.Build.0 = fortDebugConfig_1_0_5|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.fmpe|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.fortDebug|Any CPU.ActiveCfg = ch3sockDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.fortDebug|Mixed Platforms.ActiveCfg = ch3shmDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.fortDebug|Win32.ActiveCfg = ch3sockDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.fortDebug|Win32.Build.0 = ch3sockDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.fortDebug|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.fortDebugConfig_1_0_5|Any CPU.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.fortDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.fortDebugConfig_1_0_5|Win32.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.fortDebugConfig_1_0_5|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.fortPRelease|Any CPU.ActiveCfg = fortPRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.fortPRelease|Mixed Platforms.ActiveCfg = fortPRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.fortPRelease|Win32.ActiveCfg = fortPRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.fortPRelease|x64.ActiveCfg = fortPRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.fortRelease|Any CPU.ActiveCfg = ch3sockRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.fortRelease|Mixed Platforms.ActiveCfg = ch3sockRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.fortRelease|Win32.ActiveCfg = ch3sockRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.fortRelease|Win32.Build.0 = ch3sockRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.fortRelease|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.gfortDebug|Any CPU.ActiveCfg = ch3sockDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.gfortDebug|Mixed Platforms.ActiveCfg = ch3shmDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.gfortDebug|Win32.ActiveCfg = ch3sockDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.gfortDebug|Win32.Build.0 = ch3sockDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.gfortDebug|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.gfortRelease|Any CPU.ActiveCfg = ch3sockRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.gfortRelease|Mixed Platforms.ActiveCfg = ch3sockRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.gfortRelease|Win32.ActiveCfg = ch3sockRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.gfortRelease|Win32.Build.0 = ch3sockRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.gfortRelease|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.Installer|Any CPU.ActiveCfg = ch3sockRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.Installer|Mixed Platforms.ActiveCfg = ch3sockRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.Installer|Win32.ActiveCfg = ch3sockRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.Installer|Win32.Build.0 = ch3sockRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.Installer|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.Installerx64|Any CPU.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.Installerx64|Mixed Platforms.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.Installerx64|Mixed Platforms.Build.0 = fortDebugConfig_1_0_5|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.Installerx64|Win32.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.Installerx64|Win32.Build.0 = fortDebugConfig_1_0_5|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.Installerx64|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.mpichDebugConfig_1_0_4|Any CPU.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.mpichDebugConfig_1_0_4|Mixed Platforms.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.mpichDebugConfig_1_0_4|Mixed Platforms.Build.0 = mpichDebugConfig_1_0_4|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.mpichDebugConfig_1_0_4|Win32.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.mpichDebugConfig_1_0_4|x64.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.mpichDebugConfig_1_0_5|Any CPU.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.mpichDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.mpichDebugConfig_1_0_5|Mixed Platforms.Build.0 = mpichDebugConfig_1_0_5|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.mpichDebugConfig_1_0_5|Win32.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.mpichDebugConfig_1_0_5|Win32.Build.0 = mpichDebugConfig_1_0_5|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.mpichDebugConfig_1_0_5|x64.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = mpichReleaseConfig_1_0_4|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.mpichReleaseConfig_1_0_4|Win32.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.mpichReleaseConfig_1_0_4|Win32.Build.0 = mpichReleaseConfig_1_0_4|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.mpichReleaseConfig_1_0_4|x64.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.mpichshm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.mpichshm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.mpichshm_mpichReleaseConfig_1_0_4|Win32.Build.0 = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.mpichshm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.mpichssm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.mpichssm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.mpichssm_mpichReleaseConfig_1_0_4|Win32.Build.0 = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.mpichssm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.mt_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.mt_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.mt_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = mt_mpichReleaseConfig_1_0_4|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.mt_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.mt_mpichReleaseConfig_1_0_4|Win32.Build.0 = mt_mpichReleaseConfig_1_0_4|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.mt_mpichReleaseConfig_1_0_4|x64.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.Release|Any CPU.ActiveCfg = ch3sockRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.Release|Mixed Platforms.ActiveCfg = ch3sockRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.Release|Win32.ActiveCfg = ch3sockRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.Release|Win32.Build.0 = ch3sockRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.Release|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.sfortDebug|Any CPU.ActiveCfg = ch3sockDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.sfortDebug|Mixed Platforms.ActiveCfg = ch3shmDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.sfortDebug|Win32.ActiveCfg = ch3sockDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.sfortDebug|Win32.Build.0 = ch3sockDebug|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.sfortDebug|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.sfortRelease|Any CPU.ActiveCfg = ch3sockRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.sfortRelease|Mixed Platforms.ActiveCfg = ch3sockRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.sfortRelease|Win32.ActiveCfg = ch3sockRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.sfortRelease|Win32.Build.0 = ch3sockRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.sfortRelease|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.testrelease|Any CPU.ActiveCfg = testrelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.testrelease|Mixed Platforms.ActiveCfg = testrelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.testrelease|Mixed Platforms.Build.0 = testrelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.testrelease|Win32.ActiveCfg = testrelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.testrelease|x64.ActiveCfg = testrelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.wrapperUtilRelease|Any CPU.ActiveCfg = ch3sockRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.wrapperUtilRelease|Mixed Platforms.ActiveCfg = ch3sockRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.wrapperUtilRelease|Win32.ActiveCfg = ch3sockRelease|Win32
-		{0FACD81A-FE33-4845-ACF6-A1D50BD35991}.wrapperUtilRelease|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3nemesisDebug|Any CPU.ActiveCfg = ch3sockDebug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3nemesisDebug|Mixed Platforms.ActiveCfg = ch3sockDebug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3nemesisDebug|Win32.ActiveCfg = ch3sockDebug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3nemesisDebug|Win32.Build.0 = ch3sockDebug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3nemesisDebug|x64.ActiveCfg = ch3sockDebug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3nemesisPDebug|Any CPU.ActiveCfg = Debug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3nemesisPDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3nemesisPDebug|Win32.ActiveCfg = Debug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3nemesisPDebug|Win32.Build.0 = Debug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3nemesisPDebug|x64.ActiveCfg = Debug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3nemesisPRelease|Any CPU.ActiveCfg = ch3nemesisPRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3nemesisPRelease|Mixed Platforms.ActiveCfg = ch3nemesisPRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3nemesisPRelease|Win32.ActiveCfg = ch3nemesisPRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3nemesisPRelease|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3nemesisRelease|Any CPU.ActiveCfg = Release|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3nemesisRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3nemesisRelease|Win32.ActiveCfg = Release|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3nemesisRelease|Win32.Build.0 = Release|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3nemesisRelease|x64.ActiveCfg = Release|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3shmDebug|Any CPU.ActiveCfg = ch3shmDebug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3shmDebug|Mixed Platforms.ActiveCfg = ch3shmDebug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3shmDebug|Win32.ActiveCfg = ch3shmDebug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3shmDebug|Win32.Build.0 = ch3shmDebug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3shmDebug|x64.ActiveCfg = ch3shmDebug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3shmPRelease|Any CPU.ActiveCfg = Release|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3shmPRelease|Mixed Platforms.ActiveCfg = ch3shmRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3shmPRelease|Win32.ActiveCfg = Release|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3shmPRelease|Win32.Build.0 = Release|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3shmPRelease|x64.ActiveCfg = Release|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3shmRelease|Any CPU.ActiveCfg = ch3shmRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3shmRelease|Mixed Platforms.ActiveCfg = ch3shmRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3shmRelease|Win32.ActiveCfg = ch3shmRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3shmRelease|Win32.Build.0 = ch3shmRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3shmRelease|x64.ActiveCfg = ch3shmRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3sockDebug|Any CPU.ActiveCfg = ch3sockDebug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3sockDebug|Mixed Platforms.ActiveCfg = ch3sockDebug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3sockDebug|Win32.ActiveCfg = ch3sockDebug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3sockDebug|Win32.Build.0 = ch3sockDebug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3sockDebug|x64.ActiveCfg = ch3sockDebug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3sockmtDebug|Any CPU.ActiveCfg = ch3sockRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3sockmtDebug|Mixed Platforms.ActiveCfg = ch3sockDebug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3sockmtDebug|Win32.ActiveCfg = Debug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3sockmtDebug|Win32.Build.0 = Debug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3sockmtDebug|x64.ActiveCfg = ch3sockRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3sockmtPRelease|Any CPU.ActiveCfg = ch3sockRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3sockmtPRelease|Mixed Platforms.ActiveCfg = ch3sockRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3sockmtPRelease|Win32.ActiveCfg = Release|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3sockmtPRelease|Win32.Build.0 = Release|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3sockmtPRelease|x64.ActiveCfg = ch3sockRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3sockmtRelease|Any CPU.ActiveCfg = ch3sockRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3sockmtRelease|Mixed Platforms.ActiveCfg = ch3sockRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3sockmtRelease|Win32.ActiveCfg = Release|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3sockmtRelease|Win32.Build.0 = Release|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3sockmtRelease|x64.ActiveCfg = ch3sockRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3sockPliteRelease|Any CPU.ActiveCfg = ch3sockRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3sockPliteRelease|Mixed Platforms.ActiveCfg = ch3sockRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3sockPliteRelease|Win32.ActiveCfg = Release|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3sockPliteRelease|Win32.Build.0 = Release|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3sockPliteRelease|x64.ActiveCfg = ch3sockRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3sockPRelease|Any CPU.ActiveCfg = ch3sockRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3sockPRelease|Mixed Platforms.ActiveCfg = ch3sockRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3sockPRelease|Win32.ActiveCfg = Release|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3sockPRelease|Win32.Build.0 = Release|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3sockPRelease|x64.ActiveCfg = ch3sockRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3sockRelease|Any CPU.ActiveCfg = ch3sockRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3sockRelease|Mixed Platforms.ActiveCfg = ch3sockRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3sockRelease|Win32.ActiveCfg = ch3sockRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3sockRelease|Win32.Build.0 = ch3sockRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3sockRelease|x64.ActiveCfg = ch3sockRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3ssmDebug|Any CPU.ActiveCfg = ch3ssmDebug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3ssmDebug|Mixed Platforms.ActiveCfg = ch3ssmDebug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3ssmDebug|Win32.ActiveCfg = ch3ssmDebug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3ssmDebug|Win32.Build.0 = ch3ssmDebug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3ssmDebug|x64.ActiveCfg = ch3ssmDebug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3ssmPDebug|Any CPU.ActiveCfg = ch3ssmRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3ssmPDebug|Mixed Platforms.ActiveCfg = ch3ssmDebug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3ssmPDebug|Win32.ActiveCfg = Debug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3ssmPDebug|Win32.Build.0 = Debug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3ssmPDebug|x64.ActiveCfg = ch3ssmRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3ssmPRelease|Any CPU.ActiveCfg = Release|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3ssmPRelease|Mixed Platforms.ActiveCfg = ch3ssmRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3ssmPRelease|Win32.ActiveCfg = Release|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3ssmPRelease|Win32.Build.0 = Release|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3ssmPRelease|x64.ActiveCfg = Release|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3ssmRelease|Any CPU.ActiveCfg = ch3ssmRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3ssmRelease|Mixed Platforms.ActiveCfg = ch3ssmRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3ssmRelease|Win32.ActiveCfg = ch3ssmRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3ssmRelease|Win32.Build.0 = ch3ssmRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.ch3ssmRelease|x64.ActiveCfg = ch3ssmRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.Debug|Any CPU.ActiveCfg = Debug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.Debug|Mixed Platforms.ActiveCfg = ch3sockDebug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.Debug|Win32.ActiveCfg = Debug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.Debug|Win32.Build.0 = Debug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.Debug|x64.ActiveCfg = Debug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.DebugStatic|Any CPU.ActiveCfg = Debug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.DebugStatic|Mixed Platforms.ActiveCfg = Debug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.DebugStatic|Win32.ActiveCfg = Debug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.DebugStatic|Win32.Build.0 = Debug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.DebugStatic|x64.ActiveCfg = Debug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.fmpe|Any CPU.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.fmpe|Mixed Platforms.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.fmpe|Mixed Platforms.Build.0 = fortDebugConfig_1_0_5|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.fmpe|Win32.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.fmpe|Win32.Build.0 = fortDebugConfig_1_0_5|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.fmpe|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.fortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.fortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.fortDebug|Win32.ActiveCfg = Debug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.fortDebug|Win32.Build.0 = Debug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.fortDebug|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.fortDebugConfig_1_0_5|Any CPU.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.fortDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.fortDebugConfig_1_0_5|Win32.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.fortDebugConfig_1_0_5|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.fortPRelease|Any CPU.ActiveCfg = fortPRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.fortPRelease|Mixed Platforms.ActiveCfg = fortPRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.fortPRelease|Win32.ActiveCfg = fortPRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.fortPRelease|x64.ActiveCfg = fortPRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.fortRelease|Any CPU.ActiveCfg = Release|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.fortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.fortRelease|Win32.ActiveCfg = Release|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.fortRelease|Win32.Build.0 = Release|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.fortRelease|x64.ActiveCfg = Release|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.gfortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.gfortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.gfortDebug|Win32.ActiveCfg = Debug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.gfortDebug|Win32.Build.0 = Debug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.gfortDebug|x64.ActiveCfg = Debug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.gfortRelease|Any CPU.ActiveCfg = Release|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.gfortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.gfortRelease|Win32.ActiveCfg = Release|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.gfortRelease|Win32.Build.0 = Release|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.gfortRelease|x64.ActiveCfg = Release|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.Installer|Any CPU.ActiveCfg = ch3essmRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.Installer|Mixed Platforms.ActiveCfg = Release|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.Installer|Win32.ActiveCfg = ch3essmRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.Installer|Win32.Build.0 = ch3essmRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.Installer|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.Installerx64|Any CPU.ActiveCfg = ch3nemesisPRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.Installerx64|Mixed Platforms.ActiveCfg = ch3nemesisPRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.Installerx64|Mixed Platforms.Build.0 = ch3nemesisPRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.Installerx64|Win32.ActiveCfg = ch3nemesisPRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.Installerx64|Win32.Build.0 = ch3nemesisPRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.Installerx64|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.mpichDebugConfig_1_0_4|Any CPU.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.mpichDebugConfig_1_0_4|Mixed Platforms.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.mpichDebugConfig_1_0_4|Mixed Platforms.Build.0 = mpichDebugConfig_1_0_4|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.mpichDebugConfig_1_0_4|Win32.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.mpichDebugConfig_1_0_4|x64.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.mpichDebugConfig_1_0_5|Any CPU.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.mpichDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.mpichDebugConfig_1_0_5|Mixed Platforms.Build.0 = mpichDebugConfig_1_0_5|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.mpichDebugConfig_1_0_5|Win32.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.mpichDebugConfig_1_0_5|Win32.Build.0 = mpichDebugConfig_1_0_5|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.mpichDebugConfig_1_0_5|x64.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = mpichReleaseConfig_1_0_4|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.mpichReleaseConfig_1_0_4|Win32.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.mpichReleaseConfig_1_0_4|Win32.Build.0 = mpichReleaseConfig_1_0_4|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.mpichReleaseConfig_1_0_4|x64.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.mpichshm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.mpichshm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.mpichshm_mpichReleaseConfig_1_0_4|Win32.Build.0 = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.mpichshm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.mpichssm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.mpichssm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.mpichssm_mpichReleaseConfig_1_0_4|Win32.Build.0 = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.mpichssm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.mt_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.mt_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.mt_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.mt_mpichReleaseConfig_1_0_4|Win32.Build.0 = mt_mpichReleaseConfig_1_0_4|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.mt_mpichReleaseConfig_1_0_4|x64.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.Release|Any CPU.ActiveCfg = Release|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.Release|Mixed Platforms.ActiveCfg = ch3sockRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.Release|Mixed Platforms.Build.0 = ch3sockRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.Release|Win32.ActiveCfg = Release|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.Release|Win32.Build.0 = Release|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.Release|x64.ActiveCfg = Release|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.sfortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.sfortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.sfortDebug|Win32.ActiveCfg = Debug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.sfortDebug|Win32.Build.0 = Debug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.sfortDebug|x64.ActiveCfg = Debug|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.sfortRelease|Any CPU.ActiveCfg = Release|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.sfortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.sfortRelease|Win32.ActiveCfg = Release|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.sfortRelease|Win32.Build.0 = Release|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.sfortRelease|x64.ActiveCfg = Release|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.testrelease|Any CPU.ActiveCfg = testrelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.testrelease|Mixed Platforms.ActiveCfg = testrelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.testrelease|Mixed Platforms.Build.0 = testrelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.testrelease|Win32.ActiveCfg = testrelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.testrelease|x64.ActiveCfg = testrelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.wrapperUtilRelease|Any CPU.ActiveCfg = Release|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.wrapperUtilRelease|Mixed Platforms.ActiveCfg = ch3sockRelease|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.wrapperUtilRelease|Win32.ActiveCfg = Release|Win32
-		{7FBADF88-70AB-4415-B7DA-248EFA299A86}.wrapperUtilRelease|x64.ActiveCfg = Release|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3nemesisDebug|Any CPU.ActiveCfg = ch3sockDebug|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3nemesisDebug|Mixed Platforms.ActiveCfg = ch3sockDebug|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3nemesisDebug|Win32.ActiveCfg = ch3sockDebug|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3nemesisDebug|Win32.Build.0 = ch3sockDebug|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3nemesisDebug|x64.ActiveCfg = ch3sockDebug|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3nemesisPDebug|Any CPU.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3nemesisPDebug|Mixed Platforms.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3nemesisPDebug|Win32.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3nemesisPDebug|Win32.Build.0 = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3nemesisPDebug|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3nemesisPRelease|Any CPU.ActiveCfg = ch3nemesisPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3nemesisPRelease|Mixed Platforms.ActiveCfg = ch3nemesisPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3nemesisPRelease|Win32.ActiveCfg = ch3nemesisPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3nemesisPRelease|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3nemesisRelease|Any CPU.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3nemesisRelease|Mixed Platforms.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3nemesisRelease|Win32.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3nemesisRelease|Win32.Build.0 = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3nemesisRelease|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3shmDebug|Any CPU.ActiveCfg = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3shmDebug|Mixed Platforms.ActiveCfg = ch3sockRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3shmDebug|Win32.ActiveCfg = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3shmDebug|Win32.Build.0 = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3shmDebug|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3shmPRelease|Any CPU.ActiveCfg = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3shmPRelease|Mixed Platforms.ActiveCfg = ch3sockPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3shmPRelease|Win32.ActiveCfg = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3shmPRelease|Win32.Build.0 = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3shmPRelease|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3shmRelease|Any CPU.ActiveCfg = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3shmRelease|Mixed Platforms.ActiveCfg = ch3sockRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3shmRelease|Win32.ActiveCfg = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3shmRelease|Win32.Build.0 = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3shmRelease|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3sockDebug|Any CPU.ActiveCfg = ch3sockDebug|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3sockDebug|Mixed Platforms.ActiveCfg = ch3sockDebug|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3sockDebug|Mixed Platforms.Build.0 = ch3sockDebug|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3sockDebug|Win32.ActiveCfg = ch3sockDebug|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3sockDebug|Win32.Build.0 = ch3sockDebug|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3sockDebug|x64.ActiveCfg = ch3sockDebug|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3sockmtDebug|Any CPU.ActiveCfg = ch3sockmtDebug|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3sockmtDebug|Mixed Platforms.ActiveCfg = ch3sockmtDebug|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3sockmtDebug|Mixed Platforms.Build.0 = ch3sockmtDebug|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3sockmtDebug|Win32.ActiveCfg = ch3sockmtDebug|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3sockmtDebug|Win32.Build.0 = ch3sockmtDebug|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3sockmtDebug|x64.ActiveCfg = ch3sockmtDebug|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3sockmtPRelease|Any CPU.ActiveCfg = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3sockmtPRelease|Mixed Platforms.ActiveCfg = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3sockmtPRelease|Mixed Platforms.Build.0 = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3sockmtPRelease|Win32.ActiveCfg = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3sockmtPRelease|Win32.Build.0 = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3sockmtPRelease|x64.ActiveCfg = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3sockmtRelease|Any CPU.ActiveCfg = ch3sockmtRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3sockmtRelease|Mixed Platforms.ActiveCfg = ch3sockmtRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3sockmtRelease|Mixed Platforms.Build.0 = ch3sockmtRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3sockmtRelease|Win32.ActiveCfg = ch3sockmtRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3sockmtRelease|Win32.Build.0 = ch3sockmtRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3sockmtRelease|x64.ActiveCfg = ch3sockmtRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3sockPliteRelease|Any CPU.ActiveCfg = ch3sockPliteRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3sockPliteRelease|Mixed Platforms.ActiveCfg = ch3sockPliteRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3sockPliteRelease|Mixed Platforms.Build.0 = ch3sockPliteRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3sockPliteRelease|Win32.ActiveCfg = ch3sockPliteRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3sockPliteRelease|Win32.Build.0 = ch3sockPliteRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3sockPliteRelease|x64.ActiveCfg = ch3sockPliteRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3sockPRelease|Any CPU.ActiveCfg = ch3sockPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3sockPRelease|Mixed Platforms.ActiveCfg = ch3sockPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3sockPRelease|Mixed Platforms.Build.0 = ch3sockPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3sockPRelease|Win32.ActiveCfg = ch3sockPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3sockPRelease|Win32.Build.0 = ch3sockPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3sockPRelease|x64.ActiveCfg = ch3sockPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3sockRelease|Any CPU.ActiveCfg = ch3sockRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3sockRelease|Mixed Platforms.ActiveCfg = ch3sockRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3sockRelease|Mixed Platforms.Build.0 = ch3sockRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3sockRelease|Win32.ActiveCfg = ch3sockRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3sockRelease|Win32.Build.0 = ch3sockRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3sockRelease|x64.ActiveCfg = ch3sockRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3ssmDebug|Any CPU.ActiveCfg = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3ssmDebug|Mixed Platforms.ActiveCfg = ch3sockPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3ssmDebug|Win32.ActiveCfg = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3ssmDebug|Win32.Build.0 = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3ssmDebug|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3ssmPDebug|Any CPU.ActiveCfg = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3ssmPDebug|Mixed Platforms.ActiveCfg = ch3sockPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3ssmPDebug|Win32.ActiveCfg = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3ssmPDebug|Win32.Build.0 = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3ssmPDebug|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3ssmPRelease|Any CPU.ActiveCfg = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3ssmPRelease|Mixed Platforms.ActiveCfg = ch3sockPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3ssmPRelease|Win32.ActiveCfg = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3ssmPRelease|Win32.Build.0 = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3ssmPRelease|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3ssmRelease|Any CPU.ActiveCfg = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3ssmRelease|Mixed Platforms.ActiveCfg = ch3sockRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3ssmRelease|Win32.ActiveCfg = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3ssmRelease|Win32.Build.0 = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.ch3ssmRelease|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.Debug|Any CPU.ActiveCfg = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.Debug|Mixed Platforms.ActiveCfg = ch3sockDebug|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.Debug|Win32.ActiveCfg = ch3sockmtDebug|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.Debug|Win32.Build.0 = ch3sockmtDebug|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.Debug|x64.ActiveCfg = fmpe|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.DebugStatic|Any CPU.ActiveCfg = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.DebugStatic|Mixed Platforms.ActiveCfg = ch3sockPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.DebugStatic|Win32.ActiveCfg = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.DebugStatic|Win32.Build.0 = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.DebugStatic|x64.ActiveCfg = fmpe|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.fmpe|Any CPU.ActiveCfg = fmpe|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.fmpe|Mixed Platforms.ActiveCfg = fmpe|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.fmpe|Win32.ActiveCfg = fmpe|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.fmpe|x64.ActiveCfg = fmpe|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.fortDebug|Any CPU.ActiveCfg = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.fortDebug|Mixed Platforms.ActiveCfg = ch3sockDebug|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.fortDebug|Win32.ActiveCfg = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.fortDebug|Win32.Build.0 = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.fortDebug|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.fortDebugConfig_1_0_5|Any CPU.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.fortDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.fortDebugConfig_1_0_5|Mixed Platforms.Build.0 = fortDebugConfig_1_0_5|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.fortDebugConfig_1_0_5|Win32.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.fortDebugConfig_1_0_5|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.fortPRelease|Any CPU.ActiveCfg = fortPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.fortPRelease|Mixed Platforms.ActiveCfg = fortPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.fortPRelease|Win32.ActiveCfg = fortPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.fortPRelease|x64.ActiveCfg = fortPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.fortRelease|Any CPU.ActiveCfg = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.fortRelease|Mixed Platforms.ActiveCfg = ch3sockRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.fortRelease|Win32.ActiveCfg = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.fortRelease|Win32.Build.0 = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.fortRelease|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.gfortDebug|Any CPU.ActiveCfg = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.gfortDebug|Mixed Platforms.ActiveCfg = ch3sockDebug|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.gfortDebug|Win32.ActiveCfg = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.gfortDebug|Win32.Build.0 = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.gfortDebug|x64.ActiveCfg = fmpe|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.gfortRelease|Any CPU.ActiveCfg = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.gfortRelease|Mixed Platforms.ActiveCfg = ch3sockRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.gfortRelease|Win32.ActiveCfg = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.gfortRelease|Win32.Build.0 = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.gfortRelease|x64.ActiveCfg = fmpe|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.Installer|Any CPU.ActiveCfg = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.Installer|Mixed Platforms.ActiveCfg = ch3sockRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.Installer|Win32.ActiveCfg = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.Installer|Win32.Build.0 = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.Installer|x64.ActiveCfg = fmpe|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.Installerx64|Any CPU.ActiveCfg = fmpe|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.Installerx64|Mixed Platforms.ActiveCfg = fmpe|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.Installerx64|Win32.ActiveCfg = fmpe|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.Installerx64|Win32.Build.0 = fmpe|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.Installerx64|x64.ActiveCfg = fmpe|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.mpichDebugConfig_1_0_4|Any CPU.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.mpichDebugConfig_1_0_4|Mixed Platforms.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.mpichDebugConfig_1_0_4|Mixed Platforms.Build.0 = mpichDebugConfig_1_0_4|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.mpichDebugConfig_1_0_4|Win32.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.mpichDebugConfig_1_0_4|x64.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.mpichDebugConfig_1_0_5|Any CPU.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.mpichDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.mpichDebugConfig_1_0_5|Mixed Platforms.Build.0 = mpichDebugConfig_1_0_5|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.mpichDebugConfig_1_0_5|Win32.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.mpichDebugConfig_1_0_5|Win32.Build.0 = mpichDebugConfig_1_0_5|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.mpichDebugConfig_1_0_5|x64.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = mpichReleaseConfig_1_0_4|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.mpichReleaseConfig_1_0_4|Win32.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.mpichReleaseConfig_1_0_4|Win32.Build.0 = mpichReleaseConfig_1_0_4|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.mpichReleaseConfig_1_0_4|x64.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.mpichshm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.mpichshm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.mpichshm_mpichReleaseConfig_1_0_4|Win32.Build.0 = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.mpichshm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.mpichssm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.mpichssm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.mpichssm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.mt_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.mt_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.mt_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = mt_mpichReleaseConfig_1_0_4|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.mt_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.mt_mpichReleaseConfig_1_0_4|Win32.Build.0 = mt_mpichReleaseConfig_1_0_4|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.mt_mpichReleaseConfig_1_0_4|x64.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.Release|Any CPU.ActiveCfg = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.Release|Mixed Platforms.ActiveCfg = ch3sockRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.Release|Win32.ActiveCfg = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.Release|Win32.Build.0 = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.Release|x64.ActiveCfg = fmpe|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.sfortDebug|Any CPU.ActiveCfg = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.sfortDebug|Mixed Platforms.ActiveCfg = ch3sockDebug|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.sfortDebug|Win32.ActiveCfg = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.sfortDebug|Win32.Build.0 = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.sfortDebug|x64.ActiveCfg = fmpe|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.sfortRelease|Any CPU.ActiveCfg = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.sfortRelease|Mixed Platforms.ActiveCfg = ch3sockRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.sfortRelease|Win32.ActiveCfg = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.sfortRelease|Win32.Build.0 = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.sfortRelease|x64.ActiveCfg = fmpe|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.testrelease|Any CPU.ActiveCfg = testrelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.testrelease|Mixed Platforms.ActiveCfg = testrelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.testrelease|Mixed Platforms.Build.0 = testrelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.testrelease|Win32.ActiveCfg = testrelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.testrelease|x64.ActiveCfg = testrelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.wrapperUtilRelease|Any CPU.ActiveCfg = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.wrapperUtilRelease|Mixed Platforms.ActiveCfg = ch3sockRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.wrapperUtilRelease|Win32.ActiveCfg = ch3sockmtPRelease|Win32
-		{88CF50C7-ECDC-4423-9332-8A0647374428}.wrapperUtilRelease|x64.ActiveCfg = fmpe|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3nemesisDebug|Any CPU.ActiveCfg = ch3sockDebug|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3nemesisDebug|Mixed Platforms.ActiveCfg = ch3sockDebug|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3nemesisDebug|Win32.ActiveCfg = ch3sockDebug|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3nemesisDebug|Win32.Build.0 = ch3sockDebug|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3nemesisDebug|x64.ActiveCfg = ch3sockDebug|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3nemesisPDebug|Any CPU.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3nemesisPDebug|Mixed Platforms.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3nemesisPDebug|Win32.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3nemesisPDebug|Win32.Build.0 = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3nemesisPDebug|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3nemesisPRelease|Any CPU.ActiveCfg = ch3nemesisPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3nemesisPRelease|Mixed Platforms.ActiveCfg = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3nemesisPRelease|Mixed Platforms.Build.0 = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3nemesisPRelease|Win32.ActiveCfg = ch3nemesisPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3nemesisPRelease|Win32.Build.0 = ch3nemesisPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3nemesisPRelease|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3nemesisRelease|Any CPU.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3nemesisRelease|Mixed Platforms.ActiveCfg = ch3sockmtRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3nemesisRelease|Mixed Platforms.Build.0 = ch3sockmtRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3nemesisRelease|Win32.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3nemesisRelease|Win32.Build.0 = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3nemesisRelease|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3shmDebug|Any CPU.ActiveCfg = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3shmDebug|Mixed Platforms.ActiveCfg = ch3ssmPDebug|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3shmDebug|Win32.ActiveCfg = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3shmDebug|Win32.Build.0 = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3shmDebug|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3shmPRelease|Any CPU.ActiveCfg = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3shmPRelease|Mixed Platforms.ActiveCfg = ch3sockPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3shmPRelease|Mixed Platforms.Build.0 = ch3sockPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3shmPRelease|Win32.ActiveCfg = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3shmPRelease|Win32.Build.0 = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3shmPRelease|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3shmRelease|Any CPU.ActiveCfg = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3shmRelease|Mixed Platforms.ActiveCfg = ch3sockRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3shmRelease|Win32.ActiveCfg = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3shmRelease|Win32.Build.0 = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3shmRelease|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3sockDebug|Any CPU.ActiveCfg = ch3sockDebug|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3sockDebug|Mixed Platforms.ActiveCfg = ch3sockDebug|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3sockDebug|Mixed Platforms.Build.0 = ch3sockDebug|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3sockDebug|Win32.ActiveCfg = ch3sockDebug|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3sockDebug|Win32.Build.0 = ch3sockDebug|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3sockDebug|x64.ActiveCfg = ch3sockDebug|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3sockmtDebug|Any CPU.ActiveCfg = ch3sockmtDebug|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3sockmtDebug|Mixed Platforms.ActiveCfg = ch3sockmtDebug|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3sockmtDebug|Mixed Platforms.Build.0 = ch3sockmtDebug|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3sockmtDebug|Win32.ActiveCfg = ch3sockmtDebug|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3sockmtDebug|Win32.Build.0 = ch3sockmtDebug|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3sockmtDebug|x64.ActiveCfg = ch3sockmtDebug|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3sockmtPRelease|Any CPU.ActiveCfg = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3sockmtPRelease|Mixed Platforms.ActiveCfg = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3sockmtPRelease|Mixed Platforms.Build.0 = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3sockmtPRelease|Win32.ActiveCfg = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3sockmtPRelease|Win32.Build.0 = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3sockmtPRelease|x64.ActiveCfg = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3sockmtRelease|Any CPU.ActiveCfg = ch3sockmtRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3sockmtRelease|Mixed Platforms.ActiveCfg = ch3sockmtRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3sockmtRelease|Mixed Platforms.Build.0 = ch3sockmtRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3sockmtRelease|Win32.ActiveCfg = ch3sockmtRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3sockmtRelease|Win32.Build.0 = ch3sockmtRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3sockmtRelease|x64.ActiveCfg = ch3sockmtRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3sockPliteRelease|Any CPU.ActiveCfg = ch3sockPliteRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3sockPliteRelease|Mixed Platforms.ActiveCfg = ch3sockPliteRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3sockPliteRelease|Mixed Platforms.Build.0 = ch3sockPliteRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3sockPliteRelease|Win32.ActiveCfg = ch3sockPliteRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3sockPliteRelease|Win32.Build.0 = ch3sockPliteRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3sockPliteRelease|x64.ActiveCfg = ch3sockPliteRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3sockPRelease|Any CPU.ActiveCfg = ch3sockPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3sockPRelease|Mixed Platforms.ActiveCfg = ch3sockPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3sockPRelease|Mixed Platforms.Build.0 = ch3sockPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3sockPRelease|Win32.ActiveCfg = ch3sockPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3sockPRelease|Win32.Build.0 = ch3sockPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3sockPRelease|x64.ActiveCfg = ch3sockPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3sockRelease|Any CPU.ActiveCfg = ch3sockRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3sockRelease|Mixed Platforms.ActiveCfg = ch3sockRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3sockRelease|Mixed Platforms.Build.0 = ch3sockRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3sockRelease|Win32.ActiveCfg = ch3sockRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3sockRelease|Win32.Build.0 = ch3sockRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3sockRelease|x64.ActiveCfg = ch3sockRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3ssmDebug|Any CPU.ActiveCfg = ch3ssmDebug|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3ssmDebug|Mixed Platforms.ActiveCfg = ch3ssmDebug|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3ssmDebug|Mixed Platforms.Build.0 = ch3ssmDebug|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3ssmDebug|Win32.ActiveCfg = ch3ssmDebug|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3ssmDebug|Win32.Build.0 = ch3ssmDebug|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3ssmDebug|x64.ActiveCfg = ch3ssmDebug|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3ssmPDebug|Any CPU.ActiveCfg = ch3ssmPDebug|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3ssmPDebug|Mixed Platforms.ActiveCfg = ch3ssmPDebug|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3ssmPDebug|Mixed Platforms.Build.0 = ch3ssmPDebug|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3ssmPDebug|Win32.ActiveCfg = ch3ssmPDebug|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3ssmPDebug|Win32.Build.0 = ch3ssmPDebug|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3ssmPDebug|x64.ActiveCfg = ch3ssmPDebug|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3ssmPRelease|Any CPU.ActiveCfg = ch3ssmPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3ssmPRelease|Mixed Platforms.ActiveCfg = ch3sockPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3ssmPRelease|Win32.ActiveCfg = ch3ssmPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3ssmPRelease|Win32.Build.0 = ch3ssmPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3ssmPRelease|x64.ActiveCfg = ch3ssmPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3ssmRelease|Any CPU.ActiveCfg = ch3ssmRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3ssmRelease|Mixed Platforms.ActiveCfg = ch3sockRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3ssmRelease|Win32.ActiveCfg = ch3ssmRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3ssmRelease|Win32.Build.0 = ch3ssmRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.ch3ssmRelease|x64.ActiveCfg = ch3ssmRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.Debug|Any CPU.ActiveCfg = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.Debug|Mixed Platforms.ActiveCfg = ch3ssmPDebug|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.Debug|Win32.ActiveCfg = ch3sockmtDebug|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.Debug|Win32.Build.0 = ch3sockmtDebug|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.Debug|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.DebugStatic|Any CPU.ActiveCfg = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.DebugStatic|Mixed Platforms.ActiveCfg = ch3ssmPDebug|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.DebugStatic|Win32.ActiveCfg = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.DebugStatic|Win32.Build.0 = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.DebugStatic|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.fmpe|Any CPU.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.fmpe|Mixed Platforms.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.fmpe|Mixed Platforms.Build.0 = fortDebugConfig_1_0_5|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.fmpe|Win32.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.fmpe|Win32.Build.0 = fortDebugConfig_1_0_5|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.fmpe|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.fortDebug|Any CPU.ActiveCfg = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.fortDebug|Mixed Platforms.ActiveCfg = ch3ssmPDebug|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.fortDebug|Win32.ActiveCfg = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.fortDebug|Win32.Build.0 = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.fortDebug|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.fortDebugConfig_1_0_5|Any CPU.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.fortDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.fortDebugConfig_1_0_5|Win32.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.fortDebugConfig_1_0_5|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.fortPRelease|Any CPU.ActiveCfg = fortPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.fortPRelease|Mixed Platforms.ActiveCfg = fortPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.fortPRelease|Win32.ActiveCfg = fortPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.fortPRelease|x64.ActiveCfg = fortPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.fortRelease|Any CPU.ActiveCfg = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.fortRelease|Mixed Platforms.ActiveCfg = ch3sockPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.fortRelease|Win32.ActiveCfg = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.fortRelease|Win32.Build.0 = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.fortRelease|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.gfortDebug|Any CPU.ActiveCfg = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.gfortDebug|Mixed Platforms.ActiveCfg = ch3ssmPDebug|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.gfortDebug|Win32.ActiveCfg = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.gfortDebug|Win32.Build.0 = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.gfortDebug|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.gfortRelease|Any CPU.ActiveCfg = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.gfortRelease|Mixed Platforms.ActiveCfg = ch3sockPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.gfortRelease|Win32.ActiveCfg = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.gfortRelease|Win32.Build.0 = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.gfortRelease|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.Installer|Any CPU.ActiveCfg = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.Installer|Mixed Platforms.ActiveCfg = ch3sockPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.Installer|Win32.ActiveCfg = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.Installer|Win32.Build.0 = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.Installer|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.Installerx64|Any CPU.ActiveCfg = ch3nemesisPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.Installerx64|Mixed Platforms.ActiveCfg = ch3nemesisPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.Installerx64|Mixed Platforms.Build.0 = ch3nemesisPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.Installerx64|Win32.ActiveCfg = ch3nemesisPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.Installerx64|Win32.Build.0 = ch3nemesisPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.Installerx64|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.mpichDebugConfig_1_0_4|Any CPU.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.mpichDebugConfig_1_0_4|Mixed Platforms.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.mpichDebugConfig_1_0_4|Mixed Platforms.Build.0 = mpichDebugConfig_1_0_4|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.mpichDebugConfig_1_0_4|Win32.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.mpichDebugConfig_1_0_4|x64.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.mpichDebugConfig_1_0_5|Any CPU.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.mpichDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.mpichDebugConfig_1_0_5|Mixed Platforms.Build.0 = mpichDebugConfig_1_0_5|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.mpichDebugConfig_1_0_5|Win32.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.mpichDebugConfig_1_0_5|Win32.Build.0 = mpichDebugConfig_1_0_5|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.mpichDebugConfig_1_0_5|x64.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = mpichReleaseConfig_1_0_4|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.mpichReleaseConfig_1_0_4|Win32.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.mpichReleaseConfig_1_0_4|Win32.Build.0 = mpichReleaseConfig_1_0_4|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.mpichReleaseConfig_1_0_4|x64.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.mpichshm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.mpichshm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.mpichshm_mpichReleaseConfig_1_0_4|Win32.Build.0 = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.mpichshm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.mpichssm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.mpichssm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.mpichssm_mpichReleaseConfig_1_0_4|Win32.Build.0 = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.mpichssm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.mt_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.mt_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.mt_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = mt_mpichReleaseConfig_1_0_4|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.mt_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.mt_mpichReleaseConfig_1_0_4|Win32.Build.0 = mt_mpichReleaseConfig_1_0_4|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.mt_mpichReleaseConfig_1_0_4|x64.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.Release|Any CPU.ActiveCfg = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.Release|Mixed Platforms.ActiveCfg = ch3sockRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.Release|Win32.ActiveCfg = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.Release|Win32.Build.0 = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.Release|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.sfortDebug|Any CPU.ActiveCfg = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.sfortDebug|Mixed Platforms.ActiveCfg = ch3ssmPDebug|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.sfortDebug|Win32.ActiveCfg = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.sfortDebug|Win32.Build.0 = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.sfortDebug|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.sfortRelease|Any CPU.ActiveCfg = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.sfortRelease|Mixed Platforms.ActiveCfg = ch3sockPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.sfortRelease|Win32.ActiveCfg = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.sfortRelease|Win32.Build.0 = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.sfortRelease|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.testrelease|Any CPU.ActiveCfg = testrelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.testrelease|Mixed Platforms.ActiveCfg = testrelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.testrelease|Mixed Platforms.Build.0 = testrelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.testrelease|Win32.ActiveCfg = testrelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.testrelease|x64.ActiveCfg = testrelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.wrapperUtilRelease|Any CPU.ActiveCfg = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.wrapperUtilRelease|Mixed Platforms.ActiveCfg = ch3sockRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.wrapperUtilRelease|Win32.ActiveCfg = ch3sockmtPRelease|Win32
-		{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}.wrapperUtilRelease|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3nemesisDebug|Any CPU.ActiveCfg = ch3sockDebug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3nemesisDebug|Mixed Platforms.ActiveCfg = ch3sockDebug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3nemesisDebug|Mixed Platforms.Build.0 = ch3sockDebug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3nemesisDebug|Win32.ActiveCfg = ch3sockDebug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3nemesisDebug|Win32.Build.0 = ch3sockDebug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3nemesisDebug|x64.ActiveCfg = ch3sockDebug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3nemesisPDebug|Any CPU.ActiveCfg = Debug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3nemesisPDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3nemesisPDebug|Win32.ActiveCfg = Debug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3nemesisPDebug|Win32.Build.0 = Debug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3nemesisPDebug|x64.ActiveCfg = Debug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3nemesisPRelease|Any CPU.ActiveCfg = ch3nemesisPRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3nemesisPRelease|Mixed Platforms.ActiveCfg = ch3sockmtPRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3nemesisPRelease|Mixed Platforms.Build.0 = ch3sockmtPRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3nemesisPRelease|Win32.ActiveCfg = ch3nemesisPRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3nemesisPRelease|Win32.Build.0 = ch3nemesisPRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3nemesisPRelease|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3nemesisRelease|Any CPU.ActiveCfg = Release|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3nemesisRelease|Mixed Platforms.ActiveCfg = ch3sockmtRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3nemesisRelease|Mixed Platforms.Build.0 = ch3sockmtRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3nemesisRelease|Win32.ActiveCfg = Release|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3nemesisRelease|Win32.Build.0 = Release|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3nemesisRelease|x64.ActiveCfg = Release|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3shmDebug|Any CPU.ActiveCfg = ch3shmDebug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3shmDebug|Mixed Platforms.ActiveCfg = ch3shmDebug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3shmDebug|Mixed Platforms.Build.0 = ch3shmDebug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3shmDebug|Win32.ActiveCfg = ch3shmDebug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3shmDebug|Win32.Build.0 = ch3shmDebug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3shmDebug|x64.ActiveCfg = ch3shmDebug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3shmPRelease|Any CPU.ActiveCfg = Release|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3shmPRelease|Mixed Platforms.ActiveCfg = ch3shmRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3shmPRelease|Mixed Platforms.Build.0 = ch3shmRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3shmPRelease|Win32.ActiveCfg = Release|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3shmPRelease|Win32.Build.0 = Release|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3shmPRelease|x64.ActiveCfg = Release|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3shmRelease|Any CPU.ActiveCfg = ch3shmRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3shmRelease|Mixed Platforms.ActiveCfg = ch3shmRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3shmRelease|Mixed Platforms.Build.0 = ch3shmRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3shmRelease|Win32.ActiveCfg = ch3shmRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3shmRelease|Win32.Build.0 = ch3shmRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3shmRelease|x64.ActiveCfg = ch3shmRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3sockDebug|Any CPU.ActiveCfg = ch3sockDebug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3sockDebug|Mixed Platforms.ActiveCfg = ch3sockDebug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3sockDebug|Mixed Platforms.Build.0 = ch3sockDebug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3sockDebug|Win32.ActiveCfg = ch3sockDebug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3sockDebug|Win32.Build.0 = ch3sockDebug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3sockDebug|x64.ActiveCfg = ch3sockDebug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3sockmtDebug|Any CPU.ActiveCfg = ch3sockmtDebug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3sockmtDebug|Mixed Platforms.ActiveCfg = ch3sockmtDebug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3sockmtDebug|Mixed Platforms.Build.0 = ch3sockmtDebug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3sockmtDebug|Win32.ActiveCfg = ch3sockmtDebug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3sockmtDebug|Win32.Build.0 = ch3sockmtDebug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3sockmtDebug|x64.ActiveCfg = ch3sockmtDebug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3sockmtPRelease|Any CPU.ActiveCfg = ch3sockmtPRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3sockmtPRelease|Mixed Platforms.ActiveCfg = ch3sockmtPRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3sockmtPRelease|Mixed Platforms.Build.0 = ch3sockmtPRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3sockmtPRelease|Win32.ActiveCfg = ch3sockmtPRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3sockmtPRelease|Win32.Build.0 = ch3sockmtPRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3sockmtPRelease|x64.ActiveCfg = ch3sockmtPRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3sockmtRelease|Any CPU.ActiveCfg = ch3sockmtRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3sockmtRelease|Mixed Platforms.ActiveCfg = ch3sockmtRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3sockmtRelease|Mixed Platforms.Build.0 = ch3sockmtRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3sockmtRelease|Win32.ActiveCfg = ch3sockmtRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3sockmtRelease|Win32.Build.0 = ch3sockmtRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3sockmtRelease|x64.ActiveCfg = ch3sockmtRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3sockPliteRelease|Any CPU.ActiveCfg = ch3sockmtPRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3sockPliteRelease|Mixed Platforms.ActiveCfg = ch3sockRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3sockPliteRelease|Mixed Platforms.Build.0 = ch3sockRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3sockPliteRelease|Win32.ActiveCfg = Release|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3sockPliteRelease|Win32.Build.0 = Release|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3sockPliteRelease|x64.ActiveCfg = ch3sockmtPRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3sockPRelease|Any CPU.ActiveCfg = ch3sockmtPRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3sockPRelease|Mixed Platforms.ActiveCfg = ch3sockRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3sockPRelease|Mixed Platforms.Build.0 = ch3sockRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3sockPRelease|Win32.ActiveCfg = Release|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3sockPRelease|Win32.Build.0 = Release|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3sockPRelease|x64.ActiveCfg = ch3sockmtPRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3sockRelease|Any CPU.ActiveCfg = ch3sockRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3sockRelease|Mixed Platforms.ActiveCfg = ch3sockRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3sockRelease|Mixed Platforms.Build.0 = ch3sockRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3sockRelease|Win32.ActiveCfg = ch3sockRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3sockRelease|Win32.Build.0 = ch3sockRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3sockRelease|x64.ActiveCfg = ch3sockRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3ssmDebug|Any CPU.ActiveCfg = ch3ssmDebug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3ssmDebug|Mixed Platforms.ActiveCfg = ch3ssmDebug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3ssmDebug|Mixed Platforms.Build.0 = ch3ssmDebug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3ssmDebug|Win32.ActiveCfg = ch3ssmDebug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3ssmDebug|Win32.Build.0 = ch3ssmDebug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3ssmDebug|x64.ActiveCfg = ch3ssmDebug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3ssmPDebug|Any CPU.ActiveCfg = ch3ssmRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3ssmPDebug|Mixed Platforms.ActiveCfg = ch3ssmDebug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3ssmPDebug|Mixed Platforms.Build.0 = ch3ssmDebug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3ssmPDebug|Win32.ActiveCfg = Debug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3ssmPDebug|Win32.Build.0 = Debug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3ssmPDebug|x64.ActiveCfg = ch3ssmRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3ssmPRelease|Any CPU.ActiveCfg = Release|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3ssmPRelease|Mixed Platforms.ActiveCfg = ch3ssmRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3ssmPRelease|Mixed Platforms.Build.0 = ch3ssmRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3ssmPRelease|Win32.ActiveCfg = Release|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3ssmPRelease|Win32.Build.0 = Release|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3ssmPRelease|x64.ActiveCfg = Release|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3ssmRelease|Any CPU.ActiveCfg = ch3ssmRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3ssmRelease|Mixed Platforms.ActiveCfg = ch3ssmRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3ssmRelease|Mixed Platforms.Build.0 = ch3ssmRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3ssmRelease|Win32.ActiveCfg = ch3ssmRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3ssmRelease|Win32.Build.0 = ch3ssmRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.ch3ssmRelease|x64.ActiveCfg = ch3ssmRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.Debug|Any CPU.ActiveCfg = Debug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.Debug|Mixed Platforms.Build.0 = Debug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.Debug|Win32.ActiveCfg = Debug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.Debug|Win32.Build.0 = Debug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.Debug|x64.ActiveCfg = Debug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.DebugStatic|Any CPU.ActiveCfg = Debug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.DebugStatic|Mixed Platforms.ActiveCfg = Debug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.DebugStatic|Mixed Platforms.Build.0 = Debug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.DebugStatic|Win32.ActiveCfg = Debug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.DebugStatic|Win32.Build.0 = Debug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.DebugStatic|x64.ActiveCfg = Debug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.fmpe|Any CPU.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.fmpe|Mixed Platforms.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.fmpe|Mixed Platforms.Build.0 = fortDebugConfig_1_0_5|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.fmpe|Win32.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.fmpe|Win32.Build.0 = fortDebugConfig_1_0_5|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.fmpe|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.fortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.fortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.fortDebug|Win32.ActiveCfg = Debug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.fortDebug|Win32.Build.0 = Debug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.fortDebug|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.fortDebugConfig_1_0_5|Any CPU.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.fortDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.fortDebugConfig_1_0_5|Win32.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.fortDebugConfig_1_0_5|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.fortPRelease|Any CPU.ActiveCfg = fortPRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.fortPRelease|Mixed Platforms.ActiveCfg = fortPRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.fortPRelease|Win32.ActiveCfg = fortPRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.fortPRelease|x64.ActiveCfg = fortPRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.fortRelease|Any CPU.ActiveCfg = Release|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.fortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.fortRelease|Win32.ActiveCfg = Release|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.fortRelease|Win32.Build.0 = Release|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.fortRelease|x64.ActiveCfg = Release|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.gfortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.gfortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.gfortDebug|Win32.ActiveCfg = Debug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.gfortDebug|Win32.Build.0 = Debug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.gfortDebug|x64.ActiveCfg = Debug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.gfortRelease|Any CPU.ActiveCfg = Release|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.gfortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.gfortRelease|Win32.ActiveCfg = Release|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.gfortRelease|Win32.Build.0 = Release|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.gfortRelease|x64.ActiveCfg = Release|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.Installer|Any CPU.ActiveCfg = ch3sockmtPRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.Installer|Mixed Platforms.ActiveCfg = Release|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.Installer|Win32.ActiveCfg = ch3sockmtPRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.Installer|Win32.Build.0 = ch3sockmtPRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.Installer|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.Installerx64|Any CPU.ActiveCfg = ch3nemesisPRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.Installerx64|Mixed Platforms.ActiveCfg = ch3nemesisPRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.Installerx64|Mixed Platforms.Build.0 = ch3nemesisPRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.Installerx64|Win32.ActiveCfg = ch3nemesisPRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.Installerx64|Win32.Build.0 = ch3nemesisPRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.Installerx64|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.mpichDebugConfig_1_0_4|Any CPU.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.mpichDebugConfig_1_0_4|Mixed Platforms.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.mpichDebugConfig_1_0_4|Mixed Platforms.Build.0 = mpichDebugConfig_1_0_4|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.mpichDebugConfig_1_0_4|Win32.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.mpichDebugConfig_1_0_4|x64.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.mpichDebugConfig_1_0_5|Any CPU.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.mpichDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.mpichDebugConfig_1_0_5|Mixed Platforms.Build.0 = mpichDebugConfig_1_0_5|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.mpichDebugConfig_1_0_5|Win32.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.mpichDebugConfig_1_0_5|Win32.Build.0 = mpichDebugConfig_1_0_5|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.mpichDebugConfig_1_0_5|x64.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = mpichReleaseConfig_1_0_4|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.mpichReleaseConfig_1_0_4|Win32.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.mpichReleaseConfig_1_0_4|Win32.Build.0 = mpichReleaseConfig_1_0_4|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.mpichReleaseConfig_1_0_4|x64.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.mpichshm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.mpichshm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.mpichshm_mpichReleaseConfig_1_0_4|Win32.Build.0 = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.mpichshm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.mpichssm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.mpichssm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.mpichssm_mpichReleaseConfig_1_0_4|Win32.Build.0 = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.mpichssm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.mt_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.mt_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.mt_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = mt_mpichReleaseConfig_1_0_4|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.mt_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.mt_mpichReleaseConfig_1_0_4|Win32.Build.0 = mt_mpichReleaseConfig_1_0_4|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.mt_mpichReleaseConfig_1_0_4|x64.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.Release|Any CPU.ActiveCfg = Release|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.Release|Mixed Platforms.ActiveCfg = Release|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.Release|Win32.ActiveCfg = Release|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.Release|Win32.Build.0 = Release|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.Release|x64.ActiveCfg = Release|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.sfortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.sfortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.sfortDebug|Win32.ActiveCfg = Debug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.sfortDebug|Win32.Build.0 = Debug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.sfortDebug|x64.ActiveCfg = Debug|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.sfortRelease|Any CPU.ActiveCfg = Release|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.sfortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.sfortRelease|Win32.ActiveCfg = Release|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.sfortRelease|Win32.Build.0 = Release|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.sfortRelease|x64.ActiveCfg = Release|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.testrelease|Any CPU.ActiveCfg = testrelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.testrelease|Mixed Platforms.ActiveCfg = testrelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.testrelease|Mixed Platforms.Build.0 = testrelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.testrelease|Win32.ActiveCfg = testrelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.testrelease|x64.ActiveCfg = testrelease|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.wrapperUtilRelease|Any CPU.ActiveCfg = Release|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.wrapperUtilRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.wrapperUtilRelease|Win32.ActiveCfg = Release|Win32
-		{DFFFA925-D59C-4480-8094-1B7E9D12BC02}.wrapperUtilRelease|x64.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3nemesisDebug|Any CPU.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3nemesisDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3nemesisDebug|Win32.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3nemesisDebug|Win32.Build.0 = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3nemesisDebug|x64.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3nemesisPDebug|Any CPU.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3nemesisPDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3nemesisPDebug|Win32.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3nemesisPDebug|Win32.Build.0 = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3nemesisPDebug|x64.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3nemesisPRelease|Any CPU.ActiveCfg = ch3nemesisPRelease|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3nemesisPRelease|Mixed Platforms.ActiveCfg = ch3nemesisPRelease|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3nemesisPRelease|Win32.ActiveCfg = ch3nemesisPRelease|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3nemesisPRelease|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3nemesisRelease|Any CPU.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3nemesisRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3nemesisRelease|Win32.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3nemesisRelease|Win32.Build.0 = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3nemesisRelease|x64.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3shmDebug|Any CPU.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3shmDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3shmDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3shmDebug|Win32.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3shmDebug|Win32.Build.0 = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3shmDebug|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3shmPRelease|Any CPU.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3shmPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3shmPRelease|Mixed Platforms.Build.0 = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3shmPRelease|Win32.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3shmPRelease|Win32.Build.0 = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3shmPRelease|x64.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3shmRelease|Any CPU.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3shmRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3shmRelease|Mixed Platforms.Build.0 = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3shmRelease|Win32.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3shmRelease|Win32.Build.0 = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3shmRelease|x64.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3sockDebug|Any CPU.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3sockDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3sockDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3sockDebug|Win32.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3sockDebug|Win32.Build.0 = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3sockDebug|x64.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3sockmtDebug|Any CPU.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3sockmtDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3sockmtDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3sockmtDebug|Win32.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3sockmtDebug|Win32.Build.0 = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3sockmtDebug|x64.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3sockmtPRelease|Any CPU.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3sockmtPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3sockmtPRelease|Mixed Platforms.Build.0 = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3sockmtPRelease|Win32.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3sockmtPRelease|Win32.Build.0 = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3sockmtPRelease|x64.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3sockmtRelease|Any CPU.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3sockmtRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3sockmtRelease|Mixed Platforms.Build.0 = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3sockmtRelease|Win32.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3sockmtRelease|Win32.Build.0 = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3sockmtRelease|x64.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3sockPliteRelease|Any CPU.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3sockPliteRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3sockPliteRelease|Mixed Platforms.Build.0 = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3sockPliteRelease|Win32.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3sockPliteRelease|Win32.Build.0 = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3sockPliteRelease|x64.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3sockPRelease|Any CPU.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3sockPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3sockPRelease|Mixed Platforms.Build.0 = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3sockPRelease|Win32.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3sockPRelease|Win32.Build.0 = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3sockPRelease|x64.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3sockRelease|Any CPU.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3sockRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3sockRelease|Mixed Platforms.Build.0 = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3sockRelease|Win32.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3sockRelease|Win32.Build.0 = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3sockRelease|x64.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3ssmDebug|Any CPU.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3ssmDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3ssmDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3ssmDebug|Win32.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3ssmDebug|Win32.Build.0 = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3ssmDebug|x64.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3ssmPDebug|Any CPU.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3ssmPDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3ssmPDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3ssmPDebug|Win32.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3ssmPDebug|Win32.Build.0 = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3ssmPDebug|x64.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3ssmPRelease|Any CPU.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3ssmPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3ssmPRelease|Mixed Platforms.Build.0 = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3ssmPRelease|Win32.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3ssmPRelease|Win32.Build.0 = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3ssmPRelease|x64.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3ssmRelease|Any CPU.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3ssmRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3ssmRelease|Mixed Platforms.Build.0 = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3ssmRelease|Win32.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3ssmRelease|Win32.Build.0 = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.ch3ssmRelease|x64.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.Debug|Any CPU.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.Debug|Mixed Platforms.Build.0 = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.Debug|Win32.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.Debug|Win32.Build.0 = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.Debug|x64.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.DebugStatic|Any CPU.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.DebugStatic|Mixed Platforms.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.DebugStatic|Win32.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.DebugStatic|Win32.Build.0 = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.DebugStatic|x64.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.fmpe|Any CPU.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.fmpe|Mixed Platforms.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.fmpe|Mixed Platforms.Build.0 = fortDebugConfig_1_0_5|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.fmpe|Win32.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.fmpe|Win32.Build.0 = fortDebugConfig_1_0_5|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.fmpe|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.fortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.fortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.fortDebug|Win32.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.fortDebug|Win32.Build.0 = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.fortDebug|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.fortDebugConfig_1_0_5|Any CPU.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.fortDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.fortDebugConfig_1_0_5|Win32.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.fortDebugConfig_1_0_5|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.fortPRelease|Any CPU.ActiveCfg = fortPRelease|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.fortPRelease|Mixed Platforms.ActiveCfg = fortPRelease|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.fortPRelease|Win32.ActiveCfg = fortPRelease|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.fortPRelease|x64.ActiveCfg = fortPRelease|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.fortRelease|Any CPU.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.fortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.fortRelease|Win32.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.fortRelease|Win32.Build.0 = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.fortRelease|x64.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.gfortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.gfortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.gfortDebug|Win32.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.gfortDebug|Win32.Build.0 = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.gfortDebug|x64.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.gfortRelease|Any CPU.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.gfortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.gfortRelease|Win32.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.gfortRelease|Win32.Build.0 = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.gfortRelease|x64.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.Installer|Any CPU.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.Installer|Mixed Platforms.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.Installer|Win32.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.Installer|Win32.Build.0 = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.Installer|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.Installerx64|Any CPU.ActiveCfg = ch3nemesisPRelease|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.Installerx64|Mixed Platforms.ActiveCfg = ch3nemesisPRelease|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.Installerx64|Mixed Platforms.Build.0 = ch3nemesisPRelease|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.Installerx64|Win32.ActiveCfg = ch3nemesisPRelease|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.Installerx64|Win32.Build.0 = ch3nemesisPRelease|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.Installerx64|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.mpichDebugConfig_1_0_4|Any CPU.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.mpichDebugConfig_1_0_4|Mixed Platforms.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.mpichDebugConfig_1_0_4|Mixed Platforms.Build.0 = mpichDebugConfig_1_0_4|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.mpichDebugConfig_1_0_4|Win32.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.mpichDebugConfig_1_0_4|x64.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.mpichDebugConfig_1_0_5|Any CPU.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.mpichDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.mpichDebugConfig_1_0_5|Mixed Platforms.Build.0 = mpichDebugConfig_1_0_5|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.mpichDebugConfig_1_0_5|Win32.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.mpichDebugConfig_1_0_5|Win32.Build.0 = mpichDebugConfig_1_0_5|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.mpichDebugConfig_1_0_5|x64.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = mpichReleaseConfig_1_0_4|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.mpichReleaseConfig_1_0_4|Win32.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.mpichReleaseConfig_1_0_4|Win32.Build.0 = mpichReleaseConfig_1_0_4|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.mpichReleaseConfig_1_0_4|x64.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.mpichshm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.mpichshm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.mpichshm_mpichReleaseConfig_1_0_4|Win32.Build.0 = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.mpichshm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.mpichssm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.mpichssm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.mpichssm_mpichReleaseConfig_1_0_4|Win32.Build.0 = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.mpichssm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.mt_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.mt_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.mt_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.mt_mpichReleaseConfig_1_0_4|Win32.Build.0 = mt_mpichReleaseConfig_1_0_4|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.mt_mpichReleaseConfig_1_0_4|x64.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.Release|Any CPU.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.Release|Mixed Platforms.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.Release|Win32.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.Release|Win32.Build.0 = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.Release|x64.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.sfortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.sfortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.sfortDebug|Win32.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.sfortDebug|Win32.Build.0 = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.sfortDebug|x64.ActiveCfg = Debug|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.sfortRelease|Any CPU.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.sfortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.sfortRelease|Win32.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.sfortRelease|Win32.Build.0 = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.sfortRelease|x64.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.testrelease|Any CPU.ActiveCfg = testrelease|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.testrelease|Mixed Platforms.ActiveCfg = testrelease|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.testrelease|Mixed Platforms.Build.0 = testrelease|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.testrelease|Win32.ActiveCfg = testrelease|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.testrelease|x64.ActiveCfg = testrelease|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.wrapperUtilRelease|Any CPU.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.wrapperUtilRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.wrapperUtilRelease|Win32.ActiveCfg = Release|Win32
-		{A611626E-E8FF-44A7-8105-149AB9CA5D20}.wrapperUtilRelease|x64.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3nemesisDebug|Any CPU.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3nemesisDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3nemesisDebug|Win32.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3nemesisDebug|Win32.Build.0 = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3nemesisDebug|x64.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3nemesisPDebug|Any CPU.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3nemesisPDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3nemesisPDebug|Win32.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3nemesisPDebug|Win32.Build.0 = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3nemesisPDebug|x64.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3nemesisPRelease|Any CPU.ActiveCfg = ch3nemesisPRelease|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3nemesisPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3nemesisPRelease|Mixed Platforms.Build.0 = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3nemesisPRelease|Win32.ActiveCfg = ch3nemesisPRelease|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3nemesisPRelease|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3nemesisRelease|Any CPU.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3nemesisRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3nemesisRelease|Mixed Platforms.Build.0 = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3nemesisRelease|Win32.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3nemesisRelease|Win32.Build.0 = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3nemesisRelease|x64.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3shmDebug|Any CPU.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3shmDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3shmDebug|Win32.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3shmDebug|Win32.Build.0 = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3shmDebug|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3shmPRelease|Any CPU.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3shmPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3shmPRelease|Mixed Platforms.Build.0 = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3shmPRelease|Win32.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3shmPRelease|Win32.Build.0 = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3shmPRelease|x64.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3shmRelease|Any CPU.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3shmRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3shmRelease|Win32.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3shmRelease|Win32.Build.0 = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3shmRelease|x64.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3sockDebug|Any CPU.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3sockDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3sockDebug|Win32.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3sockDebug|Win32.Build.0 = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3sockDebug|x64.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3sockmtDebug|Any CPU.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3sockmtDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3sockmtDebug|Win32.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3sockmtDebug|Win32.Build.0 = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3sockmtDebug|x64.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3sockmtPRelease|Any CPU.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3sockmtPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3sockmtPRelease|Mixed Platforms.Build.0 = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3sockmtPRelease|Win32.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3sockmtPRelease|Win32.Build.0 = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3sockmtPRelease|x64.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3sockmtRelease|Any CPU.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3sockmtRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3sockmtRelease|Win32.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3sockmtRelease|Win32.Build.0 = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3sockmtRelease|x64.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3sockPliteRelease|Any CPU.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3sockPliteRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3sockPliteRelease|Mixed Platforms.Build.0 = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3sockPliteRelease|Win32.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3sockPliteRelease|Win32.Build.0 = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3sockPliteRelease|x64.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3sockPRelease|Any CPU.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3sockPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3sockPRelease|Mixed Platforms.Build.0 = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3sockPRelease|Win32.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3sockPRelease|Win32.Build.0 = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3sockPRelease|x64.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3sockRelease|Any CPU.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3sockRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3sockRelease|Mixed Platforms.Build.0 = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3sockRelease|Win32.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3sockRelease|Win32.Build.0 = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3sockRelease|x64.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3ssmDebug|Any CPU.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3ssmDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3ssmDebug|Win32.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3ssmDebug|Win32.Build.0 = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3ssmDebug|x64.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3ssmPDebug|Any CPU.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3ssmPDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3ssmPDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3ssmPDebug|Win32.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3ssmPDebug|Win32.Build.0 = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3ssmPDebug|x64.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3ssmPRelease|Any CPU.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3ssmPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3ssmPRelease|Mixed Platforms.Build.0 = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3ssmPRelease|Win32.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3ssmPRelease|Win32.Build.0 = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3ssmPRelease|x64.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3ssmRelease|Any CPU.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3ssmRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3ssmRelease|Win32.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3ssmRelease|Win32.Build.0 = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.ch3ssmRelease|x64.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.Debug|Any CPU.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.Debug|Mixed Platforms.Build.0 = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.Debug|Win32.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.Debug|Win32.Build.0 = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.Debug|x64.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.DebugStatic|Any CPU.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.DebugStatic|Mixed Platforms.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.DebugStatic|Mixed Platforms.Build.0 = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.DebugStatic|Win32.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.DebugStatic|Win32.Build.0 = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.DebugStatic|x64.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.fmpe|Any CPU.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.fmpe|Mixed Platforms.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.fmpe|Mixed Platforms.Build.0 = fortDebugConfig_1_0_5|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.fmpe|Win32.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.fmpe|Win32.Build.0 = fortDebugConfig_1_0_5|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.fmpe|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.fortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.fortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.fortDebug|Win32.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.fortDebug|Win32.Build.0 = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.fortDebug|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.fortDebugConfig_1_0_5|Any CPU.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.fortDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.fortDebugConfig_1_0_5|Win32.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.fortDebugConfig_1_0_5|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.fortPRelease|Any CPU.ActiveCfg = fortPRelease|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.fortPRelease|Mixed Platforms.ActiveCfg = fortPRelease|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.fortPRelease|Win32.ActiveCfg = fortPRelease|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.fortPRelease|x64.ActiveCfg = fortPRelease|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.fortRelease|Any CPU.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.fortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.fortRelease|Win32.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.fortRelease|Win32.Build.0 = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.fortRelease|x64.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.gfortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.gfortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.gfortDebug|Win32.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.gfortDebug|Win32.Build.0 = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.gfortDebug|x64.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.gfortRelease|Any CPU.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.gfortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.gfortRelease|Win32.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.gfortRelease|Win32.Build.0 = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.gfortRelease|x64.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.Installer|Any CPU.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.Installer|Mixed Platforms.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.Installer|Win32.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.Installer|Win32.Build.0 = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.Installer|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.Installerx64|Any CPU.ActiveCfg = ch3nemesisPRelease|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.Installerx64|Mixed Platforms.ActiveCfg = ch3nemesisPRelease|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.Installerx64|Mixed Platforms.Build.0 = ch3nemesisPRelease|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.Installerx64|Win32.ActiveCfg = ch3nemesisPRelease|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.Installerx64|Win32.Build.0 = ch3nemesisPRelease|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.Installerx64|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.mpichDebugConfig_1_0_4|Any CPU.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.mpichDebugConfig_1_0_4|Mixed Platforms.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.mpichDebugConfig_1_0_4|Mixed Platforms.Build.0 = mpichDebugConfig_1_0_4|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.mpichDebugConfig_1_0_4|Win32.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.mpichDebugConfig_1_0_4|Win32.Build.0 = mpichDebugConfig_1_0_4|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.mpichDebugConfig_1_0_4|x64.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.mpichDebugConfig_1_0_5|Any CPU.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.mpichDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.mpichDebugConfig_1_0_5|Mixed Platforms.Build.0 = mpichDebugConfig_1_0_5|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.mpichDebugConfig_1_0_5|Win32.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.mpichDebugConfig_1_0_5|Win32.Build.0 = mpichDebugConfig_1_0_5|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.mpichDebugConfig_1_0_5|x64.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = mpichReleaseConfig_1_0_4|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.mpichReleaseConfig_1_0_4|Win32.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.mpichReleaseConfig_1_0_4|Win32.Build.0 = mpichReleaseConfig_1_0_4|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.mpichReleaseConfig_1_0_4|x64.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.mpichshm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.mpichshm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.mpichshm_mpichReleaseConfig_1_0_4|Win32.Build.0 = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.mpichshm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.mpichssm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.mpichssm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.mpichssm_mpichReleaseConfig_1_0_4|Win32.Build.0 = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.mpichssm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.mt_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.mt_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.mt_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.mt_mpichReleaseConfig_1_0_4|Win32.Build.0 = mt_mpichReleaseConfig_1_0_4|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.mt_mpichReleaseConfig_1_0_4|x64.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.Release|Any CPU.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.Release|Mixed Platforms.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.Release|Mixed Platforms.Build.0 = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.Release|Win32.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.Release|Win32.Build.0 = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.Release|x64.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.sfortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.sfortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.sfortDebug|Win32.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.sfortDebug|Win32.Build.0 = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.sfortDebug|x64.ActiveCfg = Debug|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.sfortRelease|Any CPU.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.sfortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.sfortRelease|Win32.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.sfortRelease|Win32.Build.0 = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.sfortRelease|x64.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.testrelease|Any CPU.ActiveCfg = testrelease|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.testrelease|Mixed Platforms.ActiveCfg = testrelease|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.testrelease|Mixed Platforms.Build.0 = testrelease|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.testrelease|Win32.ActiveCfg = testrelease|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.testrelease|Win32.Build.0 = testrelease|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.testrelease|x64.ActiveCfg = testrelease|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.wrapperUtilRelease|Any CPU.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.wrapperUtilRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.wrapperUtilRelease|Win32.ActiveCfg = Release|Win32
-		{3DE857FA-6F20-4214-8D99-811165354D3F}.wrapperUtilRelease|x64.ActiveCfg = Release|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3nemesisDebug|Any CPU.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3nemesisDebug|Mixed Platforms.ActiveCfg = fortDebug|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3nemesisDebug|Win32.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3nemesisDebug|Win32.Build.0 = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3nemesisDebug|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3nemesisPDebug|Any CPU.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3nemesisPDebug|Mixed Platforms.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3nemesisPDebug|Win32.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3nemesisPDebug|Win32.Build.0 = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3nemesisPDebug|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3nemesisPRelease|Any CPU.ActiveCfg = ch3nemesisPRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3nemesisPRelease|Mixed Platforms.ActiveCfg = ch3nemesisPRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3nemesisPRelease|Win32.ActiveCfg = ch3nemesisPRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3nemesisPRelease|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3nemesisRelease|Any CPU.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3nemesisRelease|Mixed Platforms.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3nemesisRelease|Win32.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3nemesisRelease|Win32.Build.0 = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3nemesisRelease|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3shmDebug|Any CPU.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3shmDebug|Mixed Platforms.ActiveCfg = sfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3shmDebug|Win32.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3shmDebug|Win32.Build.0 = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3shmDebug|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3shmPRelease|Any CPU.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3shmPRelease|Mixed Platforms.ActiveCfg = sfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3shmPRelease|Win32.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3shmPRelease|Win32.Build.0 = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3shmPRelease|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3shmRelease|Any CPU.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3shmRelease|Mixed Platforms.ActiveCfg = sfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3shmRelease|Win32.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3shmRelease|Win32.Build.0 = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3shmRelease|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3sockDebug|Any CPU.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3sockDebug|Mixed Platforms.ActiveCfg = fortDebug|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3sockDebug|Win32.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3sockDebug|Win32.Build.0 = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3sockDebug|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3sockmtDebug|Any CPU.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3sockmtDebug|Mixed Platforms.ActiveCfg = fortDebug|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3sockmtDebug|Win32.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3sockmtDebug|Win32.Build.0 = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3sockmtDebug|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3sockmtPRelease|Any CPU.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3sockmtPRelease|Mixed Platforms.ActiveCfg = fortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3sockmtPRelease|Win32.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3sockmtPRelease|Win32.Build.0 = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3sockmtPRelease|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3sockmtRelease|Any CPU.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3sockmtRelease|Mixed Platforms.ActiveCfg = fortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3sockmtRelease|Win32.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3sockmtRelease|Win32.Build.0 = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3sockmtRelease|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3sockPliteRelease|Any CPU.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3sockPliteRelease|Mixed Platforms.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3sockPliteRelease|Win32.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3sockPliteRelease|Win32.Build.0 = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3sockPliteRelease|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3sockPRelease|Any CPU.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3sockPRelease|Mixed Platforms.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3sockPRelease|Win32.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3sockPRelease|Win32.Build.0 = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3sockPRelease|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3sockRelease|Any CPU.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3sockRelease|Mixed Platforms.ActiveCfg = fortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3sockRelease|Win32.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3sockRelease|Win32.Build.0 = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3sockRelease|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3ssmDebug|Any CPU.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3ssmDebug|Mixed Platforms.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3ssmDebug|Win32.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3ssmDebug|Win32.Build.0 = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3ssmDebug|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3ssmPDebug|Any CPU.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3ssmPDebug|Mixed Platforms.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3ssmPDebug|Win32.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3ssmPDebug|Win32.Build.0 = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3ssmPDebug|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3ssmPRelease|Any CPU.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3ssmPRelease|Mixed Platforms.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3ssmPRelease|Win32.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3ssmPRelease|Win32.Build.0 = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3ssmPRelease|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3ssmRelease|Any CPU.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3ssmRelease|Mixed Platforms.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3ssmRelease|Win32.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3ssmRelease|Win32.Build.0 = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.ch3ssmRelease|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.Debug|Any CPU.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.Debug|Mixed Platforms.ActiveCfg = gfortDebug|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.Debug|Win32.ActiveCfg = gfortDebug|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.Debug|Win32.Build.0 = gfortDebug|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.Debug|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.DebugStatic|Any CPU.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.DebugStatic|Mixed Platforms.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.DebugStatic|Win32.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.DebugStatic|Win32.Build.0 = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.DebugStatic|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.fmpe|Any CPU.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.fmpe|Mixed Platforms.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.fmpe|Mixed Platforms.Build.0 = fortDebugConfig_1_0_5|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.fmpe|Win32.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.fmpe|Win32.Build.0 = fortDebugConfig_1_0_5|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.fmpe|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.fortDebug|Any CPU.ActiveCfg = fortDebug|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.fortDebug|Mixed Platforms.ActiveCfg = fortDebug|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.fortDebug|Mixed Platforms.Build.0 = fortDebug|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.fortDebug|Win32.ActiveCfg = fortDebug|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.fortDebug|Win32.Build.0 = fortDebug|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.fortDebug|x64.ActiveCfg = fortDebug|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.fortDebugConfig_1_0_5|Any CPU.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.fortDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.fortDebugConfig_1_0_5|Mixed Platforms.Build.0 = fortDebugConfig_1_0_5|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.fortDebugConfig_1_0_5|Win32.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.fortDebugConfig_1_0_5|Win32.Build.0 = fortDebugConfig_1_0_5|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.fortDebugConfig_1_0_5|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.fortPRelease|Any CPU.ActiveCfg = fortPRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.fortPRelease|Mixed Platforms.ActiveCfg = fortPRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.fortPRelease|Mixed Platforms.Build.0 = fortPRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.fortPRelease|Win32.ActiveCfg = fortPRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.fortPRelease|Win32.Build.0 = fortPRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.fortPRelease|x64.ActiveCfg = fortPRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.fortRelease|Any CPU.ActiveCfg = fortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.fortRelease|Mixed Platforms.ActiveCfg = fortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.fortRelease|Mixed Platforms.Build.0 = fortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.fortRelease|Win32.ActiveCfg = fortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.fortRelease|Win32.Build.0 = fortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.fortRelease|x64.ActiveCfg = fortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.gfortDebug|Any CPU.ActiveCfg = gfortDebug|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.gfortDebug|Mixed Platforms.ActiveCfg = gfortDebug|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.gfortDebug|Mixed Platforms.Build.0 = gfortDebug|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.gfortDebug|Win32.ActiveCfg = gfortDebug|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.gfortDebug|Win32.Build.0 = gfortDebug|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.gfortDebug|x64.ActiveCfg = gfortDebug|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.gfortRelease|Any CPU.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.gfortRelease|Mixed Platforms.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.gfortRelease|Mixed Platforms.Build.0 = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.gfortRelease|Win32.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.gfortRelease|Win32.Build.0 = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.gfortRelease|x64.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.Installer|Any CPU.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.Installer|Mixed Platforms.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.Installer|Win32.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.Installer|Win32.Build.0 = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.Installer|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.Installerx64|Any CPU.ActiveCfg = ch3nemesisPRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.Installerx64|Mixed Platforms.ActiveCfg = ch3nemesisPRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.Installerx64|Mixed Platforms.Build.0 = ch3nemesisPRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.Installerx64|Win32.ActiveCfg = ch3nemesisPRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.Installerx64|Win32.Build.0 = ch3nemesisPRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.Installerx64|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.mpichDebugConfig_1_0_4|Any CPU.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.mpichDebugConfig_1_0_4|Mixed Platforms.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.mpichDebugConfig_1_0_4|Win32.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.mpichDebugConfig_1_0_4|x64.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.mpichDebugConfig_1_0_5|Any CPU.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.mpichDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.mpichDebugConfig_1_0_5|Mixed Platforms.Build.0 = mpichDebugConfig_1_0_5|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.mpichDebugConfig_1_0_5|Win32.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.mpichDebugConfig_1_0_5|x64.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.mpichReleaseConfig_1_0_4|Win32.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.mpichReleaseConfig_1_0_4|x64.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.mpichshm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.mpichshm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.mpichshm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.mpichssm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.mpichssm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.mpichssm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.mt_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.mt_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.mt_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.mt_mpichReleaseConfig_1_0_4|x64.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.Release|Any CPU.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.Release|Mixed Platforms.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.Release|Win32.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.Release|Win32.Build.0 = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.Release|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.sfortDebug|Any CPU.ActiveCfg = sfortDebug|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.sfortDebug|Mixed Platforms.ActiveCfg = sfortDebug|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.sfortDebug|Mixed Platforms.Build.0 = sfortDebug|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.sfortDebug|Win32.ActiveCfg = sfortDebug|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.sfortDebug|Win32.Build.0 = sfortDebug|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.sfortDebug|x64.ActiveCfg = sfortDebug|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.sfortRelease|Any CPU.ActiveCfg = sfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.sfortRelease|Mixed Platforms.ActiveCfg = sfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.sfortRelease|Mixed Platforms.Build.0 = sfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.sfortRelease|Win32.ActiveCfg = sfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.sfortRelease|Win32.Build.0 = sfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.sfortRelease|x64.ActiveCfg = sfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.testrelease|Any CPU.ActiveCfg = testrelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.testrelease|Mixed Platforms.ActiveCfg = testrelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.testrelease|Mixed Platforms.Build.0 = testrelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.testrelease|Win32.ActiveCfg = testrelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.testrelease|x64.ActiveCfg = testrelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.wrapperUtilRelease|Any CPU.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.wrapperUtilRelease|Mixed Platforms.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.wrapperUtilRelease|Win32.ActiveCfg = gfortRelease|Win32
-		{D45A7472-5ECD-481D-A26D-98D88ED44305}.wrapperUtilRelease|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3nemesisDebug|Any CPU.ActiveCfg = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3nemesisDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3nemesisDebug|Win32.ActiveCfg = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3nemesisDebug|Win32.Build.0 = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3nemesisDebug|x64.ActiveCfg = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3nemesisPDebug|Any CPU.ActiveCfg = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3nemesisPDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3nemesisPDebug|Win32.ActiveCfg = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3nemesisPDebug|Win32.Build.0 = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3nemesisPDebug|x64.ActiveCfg = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3nemesisPRelease|Any CPU.ActiveCfg = ch3nemesisPRelease|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3nemesisPRelease|Mixed Platforms.ActiveCfg = ch3nemesisPRelease|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3nemesisPRelease|Win32.ActiveCfg = ch3nemesisPRelease|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3nemesisPRelease|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3nemesisRelease|Any CPU.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3nemesisRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3nemesisRelease|Win32.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3nemesisRelease|Win32.Build.0 = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3nemesisRelease|x64.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3shmDebug|Any CPU.ActiveCfg = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3shmDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3shmDebug|Win32.ActiveCfg = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3shmDebug|Win32.Build.0 = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3shmDebug|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3shmPRelease|Any CPU.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3shmPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3shmPRelease|Win32.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3shmPRelease|Win32.Build.0 = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3shmPRelease|x64.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3shmRelease|Any CPU.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3shmRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3shmRelease|Win32.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3shmRelease|Win32.Build.0 = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3shmRelease|x64.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3sockDebug|Any CPU.ActiveCfg = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3sockDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3sockDebug|Win32.ActiveCfg = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3sockDebug|Win32.Build.0 = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3sockDebug|x64.ActiveCfg = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3sockmtDebug|Any CPU.ActiveCfg = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3sockmtDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3sockmtDebug|Win32.ActiveCfg = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3sockmtDebug|Win32.Build.0 = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3sockmtDebug|x64.ActiveCfg = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3sockmtPRelease|Any CPU.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3sockmtPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3sockmtPRelease|Win32.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3sockmtPRelease|Win32.Build.0 = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3sockmtPRelease|x64.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3sockmtRelease|Any CPU.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3sockmtRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3sockmtRelease|Win32.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3sockmtRelease|Win32.Build.0 = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3sockmtRelease|x64.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3sockPliteRelease|Any CPU.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3sockPliteRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3sockPliteRelease|Win32.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3sockPliteRelease|Win32.Build.0 = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3sockPliteRelease|x64.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3sockPRelease|Any CPU.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3sockPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3sockPRelease|Win32.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3sockPRelease|Win32.Build.0 = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3sockPRelease|x64.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3sockRelease|Any CPU.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3sockRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3sockRelease|Win32.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3sockRelease|Win32.Build.0 = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3sockRelease|x64.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3ssmDebug|Any CPU.ActiveCfg = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3ssmDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3ssmDebug|Win32.ActiveCfg = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3ssmDebug|Win32.Build.0 = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3ssmDebug|x64.ActiveCfg = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3ssmPDebug|Any CPU.ActiveCfg = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3ssmPDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3ssmPDebug|Win32.ActiveCfg = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3ssmPDebug|Win32.Build.0 = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3ssmPDebug|x64.ActiveCfg = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3ssmPRelease|Any CPU.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3ssmPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3ssmPRelease|Win32.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3ssmPRelease|Win32.Build.0 = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3ssmPRelease|x64.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3ssmRelease|Any CPU.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3ssmRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3ssmRelease|Win32.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3ssmRelease|Win32.Build.0 = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.ch3ssmRelease|x64.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.Debug|Any CPU.ActiveCfg = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.Debug|Mixed Platforms.Build.0 = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.Debug|Win32.ActiveCfg = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.Debug|Win32.Build.0 = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.Debug|x64.ActiveCfg = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.DebugStatic|Any CPU.ActiveCfg = DebugStatic|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.DebugStatic|Mixed Platforms.ActiveCfg = DebugStatic|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.DebugStatic|Mixed Platforms.Build.0 = DebugStatic|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.DebugStatic|Win32.ActiveCfg = DebugStatic|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.DebugStatic|Win32.Build.0 = DebugStatic|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.DebugStatic|x64.ActiveCfg = DebugStatic|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.fmpe|Any CPU.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.fmpe|Mixed Platforms.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.fmpe|Mixed Platforms.Build.0 = fortDebugConfig_1_0_5|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.fmpe|Win32.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.fmpe|Win32.Build.0 = fortDebugConfig_1_0_5|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.fmpe|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.fortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.fortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.fortDebug|Win32.ActiveCfg = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.fortDebug|Win32.Build.0 = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.fortDebug|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.fortDebugConfig_1_0_5|Any CPU.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.fortDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.fortDebugConfig_1_0_5|Win32.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.fortDebugConfig_1_0_5|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.fortPRelease|Any CPU.ActiveCfg = fortPRelease|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.fortPRelease|Mixed Platforms.ActiveCfg = fortPRelease|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.fortPRelease|Win32.ActiveCfg = fortPRelease|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.fortPRelease|x64.ActiveCfg = fortPRelease|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.fortRelease|Any CPU.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.fortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.fortRelease|Win32.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.fortRelease|Win32.Build.0 = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.fortRelease|x64.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.gfortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.gfortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.gfortDebug|Win32.ActiveCfg = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.gfortDebug|Win32.Build.0 = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.gfortDebug|x64.ActiveCfg = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.gfortRelease|Any CPU.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.gfortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.gfortRelease|Win32.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.gfortRelease|Win32.Build.0 = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.gfortRelease|x64.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.Installer|Any CPU.ActiveCfg = DebugStatic|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.Installer|Mixed Platforms.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.Installer|Win32.ActiveCfg = DebugStatic|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.Installer|Win32.Build.0 = DebugStatic|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.Installer|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.Installerx64|Any CPU.ActiveCfg = ch3nemesisPRelease|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.Installerx64|Mixed Platforms.ActiveCfg = ch3nemesisPRelease|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.Installerx64|Mixed Platforms.Build.0 = ch3nemesisPRelease|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.Installerx64|Win32.ActiveCfg = ch3nemesisPRelease|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.Installerx64|Win32.Build.0 = ch3nemesisPRelease|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.Installerx64|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.mpichDebugConfig_1_0_4|Any CPU.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.mpichDebugConfig_1_0_4|Mixed Platforms.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.mpichDebugConfig_1_0_4|Mixed Platforms.Build.0 = mpichDebugConfig_1_0_4|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.mpichDebugConfig_1_0_4|Win32.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.mpichDebugConfig_1_0_4|Win32.Build.0 = mpichDebugConfig_1_0_4|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.mpichDebugConfig_1_0_4|x64.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.mpichDebugConfig_1_0_5|Any CPU.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.mpichDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.mpichDebugConfig_1_0_5|Mixed Platforms.Build.0 = mpichDebugConfig_1_0_5|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.mpichDebugConfig_1_0_5|Win32.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.mpichDebugConfig_1_0_5|Win32.Build.0 = mpichDebugConfig_1_0_5|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.mpichDebugConfig_1_0_5|x64.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = mpichReleaseConfig_1_0_4|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.mpichReleaseConfig_1_0_4|Win32.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.mpichReleaseConfig_1_0_4|Win32.Build.0 = mpichReleaseConfig_1_0_4|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.mpichReleaseConfig_1_0_4|x64.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.mpichshm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.mpichshm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.mpichshm_mpichReleaseConfig_1_0_4|Win32.Build.0 = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.mpichshm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.mpichssm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.mpichssm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.mpichssm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.mt_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.mt_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.mt_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.mt_mpichReleaseConfig_1_0_4|Win32.Build.0 = mt_mpichReleaseConfig_1_0_4|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.mt_mpichReleaseConfig_1_0_4|x64.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.Release|Any CPU.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.Release|Mixed Platforms.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.Release|Mixed Platforms.Build.0 = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.Release|Win32.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.Release|Win32.Build.0 = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.Release|x64.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.sfortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.sfortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.sfortDebug|Win32.ActiveCfg = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.sfortDebug|Win32.Build.0 = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.sfortDebug|x64.ActiveCfg = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.sfortRelease|Any CPU.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.sfortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.sfortRelease|Win32.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.sfortRelease|Win32.Build.0 = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.sfortRelease|x64.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.testrelease|Any CPU.ActiveCfg = testrelease|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.testrelease|Mixed Platforms.ActiveCfg = testrelease|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.testrelease|Mixed Platforms.Build.0 = testrelease|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.testrelease|Win32.ActiveCfg = testrelease|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.testrelease|Win32.Build.0 = testrelease|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.testrelease|x64.ActiveCfg = testrelease|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.wrapperUtilRelease|Any CPU.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.wrapperUtilRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.wrapperUtilRelease|Win32.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.wrapperUtilRelease|x64.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3nemesisDebug|Any CPU.ActiveCfg = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3nemesisDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3nemesisDebug|Win32.ActiveCfg = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3nemesisDebug|Win32.Build.0 = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3nemesisDebug|x64.ActiveCfg = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3nemesisPDebug|Any CPU.ActiveCfg = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3nemesisPDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3nemesisPDebug|Win32.ActiveCfg = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3nemesisPDebug|Win32.Build.0 = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3nemesisPDebug|x64.ActiveCfg = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3nemesisPRelease|Any CPU.ActiveCfg = ch3nemesisPRelease|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3nemesisPRelease|Mixed Platforms.ActiveCfg = ch3nemesisPRelease|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3nemesisPRelease|Win32.ActiveCfg = ch3nemesisPRelease|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3nemesisPRelease|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3nemesisRelease|Any CPU.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3nemesisRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3nemesisRelease|Win32.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3nemesisRelease|Win32.Build.0 = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3nemesisRelease|x64.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3shmDebug|Any CPU.ActiveCfg = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3shmDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3shmDebug|Win32.ActiveCfg = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3shmDebug|Win32.Build.0 = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3shmDebug|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3shmPRelease|Any CPU.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3shmPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3shmPRelease|Win32.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3shmPRelease|Win32.Build.0 = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3shmPRelease|x64.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3shmRelease|Any CPU.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3shmRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3shmRelease|Win32.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3shmRelease|Win32.Build.0 = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3shmRelease|x64.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3sockDebug|Any CPU.ActiveCfg = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3sockDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3sockDebug|Win32.ActiveCfg = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3sockDebug|Win32.Build.0 = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3sockDebug|x64.ActiveCfg = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3sockmtDebug|Any CPU.ActiveCfg = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3sockmtDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3sockmtDebug|Win32.ActiveCfg = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3sockmtDebug|Win32.Build.0 = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3sockmtDebug|x64.ActiveCfg = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3sockmtPRelease|Any CPU.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3sockmtPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3sockmtPRelease|Win32.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3sockmtPRelease|Win32.Build.0 = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3sockmtPRelease|x64.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3sockmtRelease|Any CPU.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3sockmtRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3sockmtRelease|Win32.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3sockmtRelease|Win32.Build.0 = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3sockmtRelease|x64.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3sockPliteRelease|Any CPU.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3sockPliteRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3sockPliteRelease|Win32.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3sockPliteRelease|Win32.Build.0 = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3sockPliteRelease|x64.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3sockPRelease|Any CPU.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3sockPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3sockPRelease|Win32.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3sockPRelease|Win32.Build.0 = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3sockPRelease|x64.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3sockRelease|Any CPU.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3sockRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3sockRelease|Win32.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3sockRelease|Win32.Build.0 = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3sockRelease|x64.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3ssmDebug|Any CPU.ActiveCfg = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3ssmDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3ssmDebug|Win32.ActiveCfg = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3ssmDebug|Win32.Build.0 = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3ssmDebug|x64.ActiveCfg = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3ssmPDebug|Any CPU.ActiveCfg = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3ssmPDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3ssmPDebug|Win32.ActiveCfg = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3ssmPDebug|Win32.Build.0 = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3ssmPDebug|x64.ActiveCfg = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3ssmPRelease|Any CPU.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3ssmPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3ssmPRelease|Win32.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3ssmPRelease|Win32.Build.0 = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3ssmPRelease|x64.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3ssmRelease|Any CPU.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3ssmRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3ssmRelease|Win32.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3ssmRelease|Win32.Build.0 = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.ch3ssmRelease|x64.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.Debug|Any CPU.ActiveCfg = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.Debug|Mixed Platforms.Build.0 = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.Debug|Win32.ActiveCfg = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.Debug|Win32.Build.0 = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.Debug|x64.ActiveCfg = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.DebugStatic|Any CPU.ActiveCfg = DebugStatic|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.DebugStatic|Mixed Platforms.ActiveCfg = DebugStatic|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.DebugStatic|Mixed Platforms.Build.0 = DebugStatic|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.DebugStatic|Win32.ActiveCfg = DebugStatic|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.DebugStatic|Win32.Build.0 = DebugStatic|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.DebugStatic|x64.ActiveCfg = DebugStatic|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.fmpe|Any CPU.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.fmpe|Mixed Platforms.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.fmpe|Mixed Platforms.Build.0 = fortDebugConfig_1_0_5|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.fmpe|Win32.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.fmpe|Win32.Build.0 = fortDebugConfig_1_0_5|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.fmpe|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.fortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.fortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.fortDebug|Win32.ActiveCfg = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.fortDebug|Win32.Build.0 = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.fortDebug|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.fortDebugConfig_1_0_5|Any CPU.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.fortDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.fortDebugConfig_1_0_5|Win32.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.fortDebugConfig_1_0_5|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.fortPRelease|Any CPU.ActiveCfg = fortPRelease|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.fortPRelease|Mixed Platforms.ActiveCfg = fortPRelease|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.fortPRelease|Win32.ActiveCfg = fortPRelease|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.fortPRelease|x64.ActiveCfg = fortPRelease|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.fortRelease|Any CPU.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.fortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.fortRelease|Win32.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.fortRelease|Win32.Build.0 = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.fortRelease|x64.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.gfortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.gfortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.gfortDebug|Win32.ActiveCfg = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.gfortDebug|Win32.Build.0 = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.gfortDebug|x64.ActiveCfg = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.gfortRelease|Any CPU.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.gfortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.gfortRelease|Win32.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.gfortRelease|Win32.Build.0 = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.gfortRelease|x64.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.Installer|Any CPU.ActiveCfg = DebugStatic|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.Installer|Mixed Platforms.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.Installer|Win32.ActiveCfg = DebugStatic|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.Installer|Win32.Build.0 = DebugStatic|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.Installer|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.Installerx64|Any CPU.ActiveCfg = ch3nemesisPRelease|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.Installerx64|Mixed Platforms.ActiveCfg = ch3nemesisPRelease|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.Installerx64|Mixed Platforms.Build.0 = ch3nemesisPRelease|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.Installerx64|Win32.ActiveCfg = ch3nemesisPRelease|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.Installerx64|Win32.Build.0 = ch3nemesisPRelease|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.Installerx64|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.mpichDebugConfig_1_0_4|Any CPU.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.mpichDebugConfig_1_0_4|Mixed Platforms.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.mpichDebugConfig_1_0_4|Mixed Platforms.Build.0 = mpichDebugConfig_1_0_4|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.mpichDebugConfig_1_0_4|Win32.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.mpichDebugConfig_1_0_4|Win32.Build.0 = mpichDebugConfig_1_0_4|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.mpichDebugConfig_1_0_4|x64.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.mpichDebugConfig_1_0_5|Any CPU.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.mpichDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.mpichDebugConfig_1_0_5|Mixed Platforms.Build.0 = mpichDebugConfig_1_0_5|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.mpichDebugConfig_1_0_5|Win32.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.mpichDebugConfig_1_0_5|Win32.Build.0 = mpichDebugConfig_1_0_5|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.mpichDebugConfig_1_0_5|x64.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = mpichReleaseConfig_1_0_4|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.mpichReleaseConfig_1_0_4|Win32.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.mpichReleaseConfig_1_0_4|Win32.Build.0 = mpichReleaseConfig_1_0_4|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.mpichReleaseConfig_1_0_4|x64.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.mpichshm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.mpichshm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.mpichshm_mpichReleaseConfig_1_0_4|Win32.Build.0 = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.mpichshm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.mpichssm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.mpichssm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.mpichssm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.mt_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.mt_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.mt_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.mt_mpichReleaseConfig_1_0_4|Win32.Build.0 = mt_mpichReleaseConfig_1_0_4|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.mt_mpichReleaseConfig_1_0_4|x64.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.Release|Any CPU.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.Release|Mixed Platforms.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.Release|Mixed Platforms.Build.0 = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.Release|Win32.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.Release|Win32.Build.0 = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.Release|x64.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.sfortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.sfortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.sfortDebug|Win32.ActiveCfg = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.sfortDebug|Win32.Build.0 = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.sfortDebug|x64.ActiveCfg = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.sfortRelease|Any CPU.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.sfortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.sfortRelease|Win32.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.sfortRelease|Win32.Build.0 = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.sfortRelease|x64.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.testrelease|Any CPU.ActiveCfg = testrelease|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.testrelease|Mixed Platforms.ActiveCfg = testrelease|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.testrelease|Mixed Platforms.Build.0 = testrelease|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.testrelease|Win32.ActiveCfg = testrelease|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.testrelease|Win32.Build.0 = testrelease|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.testrelease|x64.ActiveCfg = testrelease|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.wrapperUtilRelease|Any CPU.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.wrapperUtilRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.wrapperUtilRelease|Win32.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.wrapperUtilRelease|x64.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3nemesisDebug|Any CPU.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3nemesisDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3nemesisDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3nemesisDebug|Win32.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3nemesisDebug|Win32.Build.0 = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3nemesisDebug|x64.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3nemesisPDebug|Any CPU.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3nemesisPDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3nemesisPDebug|Win32.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3nemesisPDebug|Win32.Build.0 = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3nemesisPDebug|x64.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3nemesisPRelease|Any CPU.ActiveCfg = ch3nemesisPRelease|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3nemesisPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3nemesisPRelease|Mixed Platforms.Build.0 = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3nemesisPRelease|Win32.ActiveCfg = ch3nemesisPRelease|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3nemesisPRelease|Win32.Build.0 = ch3nemesisPRelease|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3nemesisPRelease|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3nemesisRelease|Any CPU.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3nemesisRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3nemesisRelease|Mixed Platforms.Build.0 = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3nemesisRelease|Win32.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3nemesisRelease|Win32.Build.0 = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3nemesisRelease|x64.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3shmDebug|Any CPU.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3shmDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3shmDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3shmDebug|Win32.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3shmDebug|Win32.Build.0 = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3shmDebug|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3shmPRelease|Any CPU.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3shmPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3shmPRelease|Mixed Platforms.Build.0 = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3shmPRelease|Win32.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3shmPRelease|Win32.Build.0 = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3shmPRelease|x64.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3shmRelease|Any CPU.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3shmRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3shmRelease|Mixed Platforms.Build.0 = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3shmRelease|Win32.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3shmRelease|Win32.Build.0 = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3shmRelease|x64.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3sockDebug|Any CPU.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3sockDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3sockDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3sockDebug|Win32.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3sockDebug|Win32.Build.0 = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3sockDebug|x64.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3sockmtDebug|Any CPU.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3sockmtDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3sockmtDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3sockmtDebug|Win32.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3sockmtDebug|Win32.Build.0 = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3sockmtDebug|x64.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3sockmtPRelease|Any CPU.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3sockmtPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3sockmtPRelease|Mixed Platforms.Build.0 = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3sockmtPRelease|Win32.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3sockmtPRelease|Win32.Build.0 = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3sockmtPRelease|x64.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3sockmtRelease|Any CPU.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3sockmtRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3sockmtRelease|Mixed Platforms.Build.0 = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3sockmtRelease|Win32.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3sockmtRelease|Win32.Build.0 = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3sockmtRelease|x64.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3sockPliteRelease|Any CPU.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3sockPliteRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3sockPliteRelease|Mixed Platforms.Build.0 = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3sockPliteRelease|Win32.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3sockPliteRelease|Win32.Build.0 = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3sockPliteRelease|x64.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3sockPRelease|Any CPU.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3sockPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3sockPRelease|Mixed Platforms.Build.0 = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3sockPRelease|Win32.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3sockPRelease|Win32.Build.0 = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3sockPRelease|x64.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3sockRelease|Any CPU.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3sockRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3sockRelease|Mixed Platforms.Build.0 = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3sockRelease|Win32.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3sockRelease|Win32.Build.0 = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3sockRelease|x64.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3ssmDebug|Any CPU.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3ssmDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3ssmDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3ssmDebug|Win32.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3ssmDebug|Win32.Build.0 = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3ssmDebug|x64.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3ssmPDebug|Any CPU.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3ssmPDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3ssmPDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3ssmPDebug|Win32.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3ssmPDebug|Win32.Build.0 = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3ssmPDebug|x64.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3ssmPRelease|Any CPU.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3ssmPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3ssmPRelease|Mixed Platforms.Build.0 = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3ssmPRelease|Win32.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3ssmPRelease|Win32.Build.0 = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3ssmPRelease|x64.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3ssmRelease|Any CPU.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3ssmRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3ssmRelease|Mixed Platforms.Build.0 = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3ssmRelease|Win32.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3ssmRelease|Win32.Build.0 = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.ch3ssmRelease|x64.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.Debug|Any CPU.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.Debug|Mixed Platforms.Build.0 = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.Debug|Win32.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.Debug|Win32.Build.0 = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.Debug|x64.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.DebugStatic|Any CPU.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.DebugStatic|Mixed Platforms.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.DebugStatic|Mixed Platforms.Build.0 = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.DebugStatic|Win32.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.DebugStatic|Win32.Build.0 = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.DebugStatic|x64.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.fmpe|Any CPU.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.fmpe|Mixed Platforms.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.fmpe|Mixed Platforms.Build.0 = fortDebugConfig_1_0_5|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.fmpe|Win32.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.fmpe|Win32.Build.0 = fortDebugConfig_1_0_5|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.fmpe|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.fortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.fortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.fortDebug|Win32.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.fortDebug|Win32.Build.0 = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.fortDebug|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.fortDebugConfig_1_0_5|Any CPU.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.fortDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.fortDebugConfig_1_0_5|Win32.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.fortDebugConfig_1_0_5|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.fortPRelease|Any CPU.ActiveCfg = fortPRelease|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.fortPRelease|Mixed Platforms.ActiveCfg = fortPRelease|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.fortPRelease|Win32.ActiveCfg = fortPRelease|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.fortPRelease|x64.ActiveCfg = fortPRelease|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.fortRelease|Any CPU.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.fortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.fortRelease|Win32.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.fortRelease|Win32.Build.0 = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.fortRelease|x64.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.gfortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.gfortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.gfortDebug|Win32.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.gfortDebug|Win32.Build.0 = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.gfortDebug|x64.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.gfortRelease|Any CPU.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.gfortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.gfortRelease|Win32.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.gfortRelease|Win32.Build.0 = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.gfortRelease|x64.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.Installer|Any CPU.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.Installer|Mixed Platforms.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.Installer|Win32.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.Installer|Win32.Build.0 = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.Installer|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.Installerx64|Any CPU.ActiveCfg = ch3nemesisPRelease|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.Installerx64|Mixed Platforms.ActiveCfg = ch3nemesisPRelease|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.Installerx64|Mixed Platforms.Build.0 = ch3nemesisPRelease|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.Installerx64|Win32.ActiveCfg = ch3nemesisPRelease|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.Installerx64|Win32.Build.0 = ch3nemesisPRelease|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.Installerx64|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.mpichDebugConfig_1_0_4|Any CPU.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.mpichDebugConfig_1_0_4|Mixed Platforms.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.mpichDebugConfig_1_0_4|Mixed Platforms.Build.0 = mpichDebugConfig_1_0_4|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.mpichDebugConfig_1_0_4|Win32.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.mpichDebugConfig_1_0_4|Win32.Build.0 = mpichDebugConfig_1_0_4|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.mpichDebugConfig_1_0_4|x64.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.mpichDebugConfig_1_0_5|Any CPU.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.mpichDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.mpichDebugConfig_1_0_5|Mixed Platforms.Build.0 = mpichDebugConfig_1_0_5|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.mpichDebugConfig_1_0_5|Win32.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.mpichDebugConfig_1_0_5|Win32.Build.0 = mpichDebugConfig_1_0_5|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.mpichDebugConfig_1_0_5|x64.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = mpichReleaseConfig_1_0_4|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.mpichReleaseConfig_1_0_4|Win32.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.mpichReleaseConfig_1_0_4|Win32.Build.0 = mpichReleaseConfig_1_0_4|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.mpichReleaseConfig_1_0_4|x64.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.mpichshm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.mpichshm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.mpichshm_mpichReleaseConfig_1_0_4|Win32.Build.0 = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.mpichshm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.mpichssm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.mpichssm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.mpichssm_mpichReleaseConfig_1_0_4|Win32.Build.0 = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.mpichssm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.mt_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.mt_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.mt_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.mt_mpichReleaseConfig_1_0_4|Win32.Build.0 = mt_mpichReleaseConfig_1_0_4|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.mt_mpichReleaseConfig_1_0_4|x64.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.Release|Any CPU.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.Release|Mixed Platforms.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.Release|Mixed Platforms.Build.0 = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.Release|Win32.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.Release|Win32.Build.0 = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.Release|x64.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.sfortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.sfortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.sfortDebug|Win32.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.sfortDebug|Win32.Build.0 = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.sfortDebug|x64.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.sfortRelease|Any CPU.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.sfortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.sfortRelease|Win32.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.sfortRelease|Win32.Build.0 = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.sfortRelease|x64.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.testrelease|Any CPU.ActiveCfg = testrelease|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.testrelease|Mixed Platforms.ActiveCfg = testrelease|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.testrelease|Mixed Platforms.Build.0 = testrelease|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.testrelease|Win32.ActiveCfg = testrelease|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.testrelease|Win32.Build.0 = testrelease|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.testrelease|x64.ActiveCfg = testrelease|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.wrapperUtilRelease|Any CPU.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.wrapperUtilRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.wrapperUtilRelease|Win32.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.wrapperUtilRelease|x64.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3nemesisDebug|Any CPU.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3nemesisDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3nemesisDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3nemesisDebug|Win32.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3nemesisDebug|Win32.Build.0 = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3nemesisDebug|x64.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3nemesisPDebug|Any CPU.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3nemesisPDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3nemesisPDebug|Win32.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3nemesisPDebug|Win32.Build.0 = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3nemesisPDebug|x64.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3nemesisPRelease|Any CPU.ActiveCfg = ch3nemesisPRelease|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3nemesisPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3nemesisPRelease|Mixed Platforms.Build.0 = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3nemesisPRelease|Win32.ActiveCfg = ch3nemesisPRelease|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3nemesisPRelease|Win32.Build.0 = ch3nemesisPRelease|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3nemesisPRelease|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3nemesisRelease|Any CPU.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3nemesisRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3nemesisRelease|Mixed Platforms.Build.0 = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3nemesisRelease|Win32.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3nemesisRelease|Win32.Build.0 = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3nemesisRelease|x64.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3shmDebug|Any CPU.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3shmDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3shmDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3shmDebug|Win32.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3shmDebug|Win32.Build.0 = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3shmDebug|x64.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3shmPRelease|Any CPU.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3shmPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3shmPRelease|Mixed Platforms.Build.0 = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3shmPRelease|Win32.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3shmPRelease|Win32.Build.0 = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3shmPRelease|x64.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3shmRelease|Any CPU.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3shmRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3shmRelease|Mixed Platforms.Build.0 = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3shmRelease|Win32.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3shmRelease|Win32.Build.0 = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3shmRelease|x64.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3sockDebug|Any CPU.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3sockDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3sockDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3sockDebug|Win32.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3sockDebug|Win32.Build.0 = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3sockDebug|x64.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3sockmtDebug|Any CPU.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3sockmtDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3sockmtDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3sockmtDebug|Win32.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3sockmtDebug|Win32.Build.0 = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3sockmtDebug|x64.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3sockmtPRelease|Any CPU.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3sockmtPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3sockmtPRelease|Mixed Platforms.Build.0 = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3sockmtPRelease|Win32.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3sockmtPRelease|Win32.Build.0 = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3sockmtPRelease|x64.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3sockmtRelease|Any CPU.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3sockmtRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3sockmtRelease|Mixed Platforms.Build.0 = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3sockmtRelease|Win32.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3sockmtRelease|Win32.Build.0 = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3sockmtRelease|x64.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3sockPliteRelease|Any CPU.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3sockPliteRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3sockPliteRelease|Mixed Platforms.Build.0 = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3sockPliteRelease|Win32.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3sockPliteRelease|Win32.Build.0 = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3sockPliteRelease|x64.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3sockPRelease|Any CPU.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3sockPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3sockPRelease|Mixed Platforms.Build.0 = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3sockPRelease|Win32.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3sockPRelease|Win32.Build.0 = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3sockPRelease|x64.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3sockRelease|Any CPU.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3sockRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3sockRelease|Mixed Platforms.Build.0 = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3sockRelease|Win32.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3sockRelease|Win32.Build.0 = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3sockRelease|x64.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3ssmDebug|Any CPU.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3ssmDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3ssmDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3ssmDebug|Win32.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3ssmDebug|Win32.Build.0 = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3ssmDebug|x64.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3ssmPDebug|Any CPU.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3ssmPDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3ssmPDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3ssmPDebug|Win32.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3ssmPDebug|Win32.Build.0 = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3ssmPDebug|x64.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3ssmPRelease|Any CPU.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3ssmPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3ssmPRelease|Mixed Platforms.Build.0 = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3ssmPRelease|Win32.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3ssmPRelease|Win32.Build.0 = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3ssmPRelease|x64.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3ssmRelease|Any CPU.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3ssmRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3ssmRelease|Mixed Platforms.Build.0 = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3ssmRelease|Win32.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3ssmRelease|Win32.Build.0 = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.ch3ssmRelease|x64.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.Debug|Any CPU.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.Debug|Mixed Platforms.Build.0 = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.Debug|Win32.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.Debug|Win32.Build.0 = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.Debug|x64.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.DebugStatic|Any CPU.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.DebugStatic|Mixed Platforms.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.DebugStatic|Mixed Platforms.Build.0 = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.DebugStatic|Win32.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.DebugStatic|Win32.Build.0 = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.DebugStatic|x64.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.fmpe|Any CPU.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.fmpe|Mixed Platforms.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.fmpe|Mixed Platforms.Build.0 = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.fmpe|Win32.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.fmpe|Win32.Build.0 = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.fmpe|x64.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.fortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.fortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.fortDebug|Win32.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.fortDebug|Win32.Build.0 = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.fortDebug|x64.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.fortDebugConfig_1_0_5|Any CPU.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.fortDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.fortDebugConfig_1_0_5|Mixed Platforms.Build.0 = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.fortDebugConfig_1_0_5|Win32.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.fortDebugConfig_1_0_5|Win32.Build.0 = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.fortDebugConfig_1_0_5|x64.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.fortPRelease|Any CPU.ActiveCfg = fortPRelease|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.fortPRelease|Mixed Platforms.ActiveCfg = fortPRelease|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.fortPRelease|Win32.ActiveCfg = fortPRelease|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.fortPRelease|x64.ActiveCfg = fortPRelease|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.fortRelease|Any CPU.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.fortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.fortRelease|Win32.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.fortRelease|Win32.Build.0 = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.fortRelease|x64.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.gfortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.gfortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.gfortDebug|Win32.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.gfortDebug|Win32.Build.0 = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.gfortDebug|x64.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.gfortRelease|Any CPU.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.gfortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.gfortRelease|Win32.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.gfortRelease|Win32.Build.0 = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.gfortRelease|x64.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.Installer|Any CPU.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.Installer|Mixed Platforms.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.Installer|Win32.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.Installer|Win32.Build.0 = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.Installer|x64.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.Installerx64|Any CPU.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.Installerx64|Mixed Platforms.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.Installerx64|Mixed Platforms.Build.0 = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.Installerx64|Win32.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.Installerx64|Win32.Build.0 = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.Installerx64|x64.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.mpichDebugConfig_1_0_4|Any CPU.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.mpichDebugConfig_1_0_4|Mixed Platforms.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.mpichDebugConfig_1_0_4|Mixed Platforms.Build.0 = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.mpichDebugConfig_1_0_4|Win32.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.mpichDebugConfig_1_0_4|Win32.Build.0 = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.mpichDebugConfig_1_0_4|x64.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.mpichDebugConfig_1_0_5|Any CPU.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.mpichDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.mpichDebugConfig_1_0_5|Mixed Platforms.Build.0 = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.mpichDebugConfig_1_0_5|Win32.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.mpichDebugConfig_1_0_5|Win32.Build.0 = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.mpichDebugConfig_1_0_5|x64.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.mpichReleaseConfig_1_0_4|Win32.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.mpichReleaseConfig_1_0_4|Win32.Build.0 = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.mpichReleaseConfig_1_0_4|x64.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.mpichshm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.mpichshm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.mpichshm_mpichReleaseConfig_1_0_4|Win32.Build.0 = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.mpichshm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.mpichssm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.mpichssm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.mpichssm_mpichReleaseConfig_1_0_4|Win32.Build.0 = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.mpichssm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.mt_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.mt_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.mt_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.mt_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.mt_mpichReleaseConfig_1_0_4|Win32.Build.0 = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.mt_mpichReleaseConfig_1_0_4|x64.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.Release|Any CPU.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.Release|Mixed Platforms.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.Release|Mixed Platforms.Build.0 = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.Release|Win32.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.Release|Win32.Build.0 = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.Release|x64.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.sfortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.sfortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.sfortDebug|Win32.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.sfortDebug|Win32.Build.0 = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.sfortDebug|x64.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.sfortRelease|Any CPU.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.sfortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.sfortRelease|Win32.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.sfortRelease|Win32.Build.0 = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.sfortRelease|x64.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.testrelease|Any CPU.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.testrelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.testrelease|Mixed Platforms.Build.0 = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.testrelease|Win32.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.testrelease|Win32.Build.0 = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.testrelease|x64.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.wrapperUtilRelease|Any CPU.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.wrapperUtilRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.wrapperUtilRelease|Win32.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.wrapperUtilRelease|x64.ActiveCfg = Release|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3nemesisDebug|Any CPU.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3nemesisDebug|Mixed Platforms.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3nemesisDebug|Win32.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3nemesisDebug|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3nemesisPDebug|Any CPU.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3nemesisPDebug|Mixed Platforms.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3nemesisPDebug|Win32.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3nemesisPDebug|Win32.Build.0 = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3nemesisPDebug|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3nemesisPRelease|Any CPU.ActiveCfg = ch3nemesisPRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3nemesisPRelease|Mixed Platforms.ActiveCfg = ch3nemesisPRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3nemesisPRelease|Win32.ActiveCfg = ch3nemesisPRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3nemesisPRelease|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3nemesisRelease|Any CPU.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3nemesisRelease|Mixed Platforms.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3nemesisRelease|Win32.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3nemesisRelease|Win32.Build.0 = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3nemesisRelease|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3shmDebug|Any CPU.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3shmDebug|Mixed Platforms.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3shmDebug|Win32.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3shmDebug|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3shmPRelease|Any CPU.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3shmPRelease|Mixed Platforms.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3shmPRelease|Win32.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3shmPRelease|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3shmRelease|Any CPU.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3shmRelease|Mixed Platforms.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3shmRelease|Win32.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3shmRelease|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3sockDebug|Any CPU.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3sockDebug|Mixed Platforms.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3sockDebug|Win32.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3sockDebug|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3sockmtDebug|Any CPU.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3sockmtDebug|Mixed Platforms.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3sockmtDebug|Win32.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3sockmtDebug|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3sockmtPRelease|Any CPU.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3sockmtPRelease|Mixed Platforms.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3sockmtPRelease|Win32.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3sockmtPRelease|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3sockmtRelease|Any CPU.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3sockmtRelease|Mixed Platforms.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3sockmtRelease|Win32.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3sockmtRelease|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3sockPliteRelease|Any CPU.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3sockPliteRelease|Mixed Platforms.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3sockPliteRelease|Win32.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3sockPliteRelease|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3sockPRelease|Any CPU.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3sockPRelease|Mixed Platforms.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3sockPRelease|Win32.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3sockPRelease|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3sockRelease|Any CPU.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3sockRelease|Mixed Platforms.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3sockRelease|Win32.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3sockRelease|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3ssmDebug|Any CPU.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3ssmDebug|Mixed Platforms.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3ssmDebug|Win32.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3ssmDebug|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3ssmPDebug|Any CPU.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3ssmPDebug|Mixed Platforms.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3ssmPDebug|Win32.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3ssmPDebug|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3ssmPRelease|Any CPU.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3ssmPRelease|Mixed Platforms.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3ssmPRelease|Win32.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3ssmPRelease|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3ssmRelease|Any CPU.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3ssmRelease|Mixed Platforms.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3ssmRelease|Win32.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.ch3ssmRelease|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.Debug|Any CPU.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.Debug|Mixed Platforms.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.Debug|Win32.ActiveCfg = gfortDebug|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.Debug|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.DebugStatic|Any CPU.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.DebugStatic|Mixed Platforms.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.DebugStatic|Win32.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.DebugStatic|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.fmpe|Any CPU.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.fmpe|Mixed Platforms.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.fmpe|Mixed Platforms.Build.0 = fortDebugConfig_1_0_5|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.fmpe|Win32.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.fmpe|Win32.Build.0 = fortDebugConfig_1_0_5|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.fmpe|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.fortDebug|Any CPU.ActiveCfg = fortDebug|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.fortDebug|Mixed Platforms.ActiveCfg = fortDebug|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.fortDebug|Mixed Platforms.Build.0 = fortDebug|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.fortDebug|Win32.ActiveCfg = fortDebug|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.fortDebug|x64.ActiveCfg = fortDebug|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.fortDebugConfig_1_0_5|Any CPU.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.fortDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.fortDebugConfig_1_0_5|Mixed Platforms.Build.0 = fortDebugConfig_1_0_5|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.fortDebugConfig_1_0_5|Win32.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.fortDebugConfig_1_0_5|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.fortPRelease|Any CPU.ActiveCfg = fortPRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.fortPRelease|Mixed Platforms.ActiveCfg = fortPRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.fortPRelease|Win32.ActiveCfg = fortPRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.fortPRelease|Win32.Build.0 = fortPRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.fortPRelease|x64.ActiveCfg = fortPRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.fortRelease|Any CPU.ActiveCfg = fortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.fortRelease|Mixed Platforms.ActiveCfg = fortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.fortRelease|Mixed Platforms.Build.0 = fortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.fortRelease|Win32.ActiveCfg = fortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.fortRelease|x64.ActiveCfg = fortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.gfortDebug|Any CPU.ActiveCfg = gfortDebug|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.gfortDebug|Mixed Platforms.ActiveCfg = gfortDebug|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.gfortDebug|Mixed Platforms.Build.0 = gfortDebug|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.gfortDebug|Win32.ActiveCfg = gfortDebug|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.gfortDebug|x64.ActiveCfg = gfortDebug|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.gfortRelease|Any CPU.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.gfortRelease|Mixed Platforms.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.gfortRelease|Mixed Platforms.Build.0 = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.gfortRelease|Win32.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.gfortRelease|x64.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.Installer|Any CPU.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.Installer|Mixed Platforms.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.Installer|Win32.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.Installer|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.Installerx64|Any CPU.ActiveCfg = ch3nemesisPRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.Installerx64|Mixed Platforms.ActiveCfg = ch3nemesisPRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.Installerx64|Mixed Platforms.Build.0 = ch3nemesisPRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.Installerx64|Win32.ActiveCfg = ch3nemesisPRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.Installerx64|Win32.Build.0 = ch3nemesisPRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.Installerx64|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.mpichDebugConfig_1_0_4|Any CPU.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.mpichDebugConfig_1_0_4|Mixed Platforms.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.mpichDebugConfig_1_0_4|Win32.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.mpichDebugConfig_1_0_4|x64.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.mpichDebugConfig_1_0_5|Any CPU.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.mpichDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.mpichDebugConfig_1_0_5|Mixed Platforms.Build.0 = mpichDebugConfig_1_0_5|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.mpichDebugConfig_1_0_5|Win32.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.mpichDebugConfig_1_0_5|x64.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = sfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = sfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.mpichReleaseConfig_1_0_4|Win32.ActiveCfg = sfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.mpichReleaseConfig_1_0_4|x64.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.mpichshm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.mpichshm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.mpichshm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.mpichssm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.mpichssm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.mpichssm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.mt_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.mt_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.mt_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.mt_mpichReleaseConfig_1_0_4|x64.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.Release|Any CPU.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.Release|Mixed Platforms.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.Release|Win32.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.Release|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.sfortDebug|Any CPU.ActiveCfg = sfortDebug|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.sfortDebug|Mixed Platforms.ActiveCfg = sfortDebug|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.sfortDebug|Mixed Platforms.Build.0 = sfortDebug|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.sfortDebug|Win32.ActiveCfg = sfortDebug|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.sfortDebug|x64.ActiveCfg = sfortDebug|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.sfortRelease|Any CPU.ActiveCfg = sfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.sfortRelease|Mixed Platforms.ActiveCfg = sfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.sfortRelease|Mixed Platforms.Build.0 = sfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.sfortRelease|Win32.ActiveCfg = sfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.sfortRelease|x64.ActiveCfg = sfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.testrelease|Any CPU.ActiveCfg = testrelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.testrelease|Mixed Platforms.ActiveCfg = testrelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.testrelease|Mixed Platforms.Build.0 = testrelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.testrelease|Win32.ActiveCfg = testrelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.testrelease|x64.ActiveCfg = testrelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.wrapperUtilRelease|Any CPU.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.wrapperUtilRelease|Mixed Platforms.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.wrapperUtilRelease|Win32.ActiveCfg = gfortRelease|Win32
-		{F2B709B4-AB53-4E39-8025-00060DA5279D}.wrapperUtilRelease|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3nemesisDebug|Any CPU.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3nemesisDebug|Any CPU.Build.0 = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3nemesisDebug|Mixed Platforms.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3nemesisDebug|Win32.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3nemesisDebug|Win32.Build.0 = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3nemesisDebug|x64.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3nemesisDebug|x64.Build.0 = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3nemesisPDebug|Any CPU.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3nemesisPDebug|Any CPU.Build.0 = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3nemesisPDebug|Mixed Platforms.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3nemesisPDebug|Win32.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3nemesisPDebug|Win32.Build.0 = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3nemesisPDebug|x64.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3nemesisPDebug|x64.Build.0 = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3nemesisPRelease|Any CPU.ActiveCfg = ch3nemesisPRelease
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3nemesisPRelease|Mixed Platforms.ActiveCfg = ch3nemesisPRelease
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3nemesisPRelease|Win32.ActiveCfg = ch3nemesisPRelease
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3nemesisPRelease|Win32.Build.0 = ch3nemesisPRelease
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3nemesisPRelease|x64.ActiveCfg = ch3nemesisPRelease
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3nemesisPRelease|x64.Build.0 = ch3nemesisPRelease
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3nemesisRelease|Any CPU.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3nemesisRelease|Any CPU.Build.0 = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3nemesisRelease|Mixed Platforms.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3nemesisRelease|Win32.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3nemesisRelease|Win32.Build.0 = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3nemesisRelease|x64.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3nemesisRelease|x64.Build.0 = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3shmDebug|Any CPU.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3shmDebug|Any CPU.Build.0 = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3shmDebug|Mixed Platforms.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3shmDebug|Win32.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3shmDebug|Win32.Build.0 = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3shmDebug|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3shmDebug|x64.Build.0 = ch3shm_mpichReleaseConfig_1_0_4
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3shmPRelease|Any CPU.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3shmPRelease|Any CPU.Build.0 = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3shmPRelease|Mixed Platforms.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3shmPRelease|Win32.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3shmPRelease|Win32.Build.0 = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3shmPRelease|x64.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3shmPRelease|x64.Build.0 = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3shmRelease|Any CPU.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3shmRelease|Any CPU.Build.0 = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3shmRelease|Mixed Platforms.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3shmRelease|Win32.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3shmRelease|Win32.Build.0 = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3shmRelease|x64.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3shmRelease|x64.Build.0 = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockDebug|Any CPU.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockDebug|Any CPU.Build.0 = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockDebug|Mixed Platforms.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockDebug|Win32.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockDebug|Win32.Build.0 = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockDebug|x64.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockDebug|x64.Build.0 = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockmtDebug|Any CPU.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockmtDebug|Any CPU.Build.0 = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockmtDebug|Mixed Platforms.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockmtDebug|Win32.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockmtDebug|Win32.Build.0 = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockmtDebug|x64.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockmtDebug|x64.Build.0 = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockmtPRelease|Any CPU.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockmtPRelease|Any CPU.Build.0 = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockmtPRelease|Mixed Platforms.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockmtPRelease|Win32.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockmtPRelease|Win32.Build.0 = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockmtPRelease|x64.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockmtPRelease|x64.Build.0 = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockmtRelease|Any CPU.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockmtRelease|Any CPU.Build.0 = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockmtRelease|Mixed Platforms.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockmtRelease|Win32.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockmtRelease|Win32.Build.0 = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockmtRelease|x64.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockmtRelease|x64.Build.0 = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockPliteRelease|Any CPU.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockPliteRelease|Any CPU.Build.0 = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockPliteRelease|Mixed Platforms.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockPliteRelease|Win32.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockPliteRelease|Win32.Build.0 = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockPliteRelease|x64.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockPliteRelease|x64.Build.0 = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockPRelease|Any CPU.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockPRelease|Any CPU.Build.0 = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockPRelease|Mixed Platforms.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockPRelease|Win32.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockPRelease|Win32.Build.0 = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockPRelease|x64.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockPRelease|x64.Build.0 = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockRelease|Any CPU.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockRelease|Any CPU.Build.0 = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockRelease|Mixed Platforms.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockRelease|Win32.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockRelease|Win32.Build.0 = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockRelease|x64.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3sockRelease|x64.Build.0 = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3ssmDebug|Any CPU.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3ssmDebug|Any CPU.Build.0 = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3ssmDebug|Mixed Platforms.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3ssmDebug|Win32.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3ssmDebug|Win32.Build.0 = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3ssmDebug|x64.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3ssmDebug|x64.Build.0 = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3ssmPDebug|Any CPU.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3ssmPDebug|Any CPU.Build.0 = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3ssmPDebug|Mixed Platforms.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3ssmPDebug|Win32.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3ssmPDebug|Win32.Build.0 = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3ssmPDebug|x64.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3ssmPDebug|x64.Build.0 = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3ssmPRelease|Any CPU.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3ssmPRelease|Any CPU.Build.0 = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3ssmPRelease|Mixed Platforms.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3ssmPRelease|Win32.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3ssmPRelease|Win32.Build.0 = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3ssmPRelease|x64.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3ssmPRelease|x64.Build.0 = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3ssmRelease|Any CPU.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3ssmRelease|Any CPU.Build.0 = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3ssmRelease|Mixed Platforms.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3ssmRelease|Win32.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3ssmRelease|Win32.Build.0 = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3ssmRelease|x64.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.ch3ssmRelease|x64.Build.0 = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.Debug|Any CPU.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.Debug|Any CPU.Build.0 = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.Debug|Mixed Platforms.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.Debug|Win32.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.Debug|Win32.Build.0 = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.Debug|x64.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.Debug|x64.Build.0 = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.DebugStatic|Any CPU.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.DebugStatic|Any CPU.Build.0 = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.DebugStatic|Mixed Platforms.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.DebugStatic|Win32.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.DebugStatic|Win32.Build.0 = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.DebugStatic|x64.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.DebugStatic|x64.Build.0 = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.fmpe|Any CPU.ActiveCfg = fmpe
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.fmpe|Mixed Platforms.ActiveCfg = fmpe
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.fmpe|Win32.ActiveCfg = fmpe
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.fmpe|Win32.Build.0 = fmpe
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.fmpe|x64.ActiveCfg = fmpe
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.fmpe|x64.Build.0 = fmpe
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.fortDebug|Any CPU.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.fortDebug|Any CPU.Build.0 = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.fortDebug|Mixed Platforms.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.fortDebug|Win32.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.fortDebug|Win32.Build.0 = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.fortDebug|x64.ActiveCfg = fortDebugConfig_1_0_5
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.fortDebug|x64.Build.0 = fortDebugConfig_1_0_5
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.fortDebugConfig_1_0_5|Any CPU.ActiveCfg = fortDebugConfig_1_0_5
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.fortDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = fortDebugConfig_1_0_5
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.fortDebugConfig_1_0_5|Win32.ActiveCfg = fortDebugConfig_1_0_5
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.fortDebugConfig_1_0_5|Win32.Build.0 = fortDebugConfig_1_0_5
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.fortDebugConfig_1_0_5|x64.ActiveCfg = fortDebugConfig_1_0_5
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.fortDebugConfig_1_0_5|x64.Build.0 = fortDebugConfig_1_0_5
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.fortPRelease|Any CPU.ActiveCfg = fortPRelease
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.fortPRelease|Mixed Platforms.ActiveCfg = fortPRelease
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.fortPRelease|Win32.ActiveCfg = fortPRelease
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.fortPRelease|Win32.Build.0 = fortPRelease
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.fortPRelease|x64.ActiveCfg = fortPRelease
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.fortPRelease|x64.Build.0 = fortPRelease
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.fortRelease|Any CPU.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.fortRelease|Any CPU.Build.0 = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.fortRelease|Mixed Platforms.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.fortRelease|Win32.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.fortRelease|Win32.Build.0 = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.fortRelease|x64.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.fortRelease|x64.Build.0 = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.gfortDebug|Any CPU.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.gfortDebug|Any CPU.Build.0 = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.gfortDebug|Mixed Platforms.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.gfortDebug|Win32.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.gfortDebug|Win32.Build.0 = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.gfortDebug|x64.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.gfortDebug|x64.Build.0 = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.gfortRelease|Any CPU.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.gfortRelease|Any CPU.Build.0 = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.gfortRelease|Mixed Platforms.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.gfortRelease|Win32.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.gfortRelease|Win32.Build.0 = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.gfortRelease|x64.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.gfortRelease|x64.Build.0 = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.Installer|Any CPU.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.Installer|Any CPU.Build.0 = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.Installer|Mixed Platforms.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.Installer|Mixed Platforms.Build.0 = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.Installer|Win32.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.Installer|Win32.Build.0 = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.Installer|x64.ActiveCfg = testrelease
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.Installer|x64.Build.0 = testrelease
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.Installerx64|Any CPU.ActiveCfg = testrelease
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.Installerx64|Any CPU.Build.0 = testrelease
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.Installerx64|Mixed Platforms.ActiveCfg = testrelease
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.Installerx64|Win32.ActiveCfg = testrelease
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.Installerx64|Win32.Build.0 = testrelease
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.Installerx64|x64.ActiveCfg = testrelease
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.mpichDebugConfig_1_0_4|Any CPU.ActiveCfg = mpichDebugConfig_1_0_4
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.mpichDebugConfig_1_0_4|Mixed Platforms.ActiveCfg = mpichDebugConfig_1_0_4
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.mpichDebugConfig_1_0_4|Mixed Platforms.Build.0 = mpichDebugConfig_1_0_4
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.mpichDebugConfig_1_0_4|Win32.ActiveCfg = mpichDebugConfig_1_0_4
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.mpichDebugConfig_1_0_4|Win32.Build.0 = mpichDebugConfig_1_0_4
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.mpichDebugConfig_1_0_4|x64.ActiveCfg = mpichDebugConfig_1_0_4
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.mpichDebugConfig_1_0_4|x64.Build.0 = mpichDebugConfig_1_0_4
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.mpichDebugConfig_1_0_5|Any CPU.ActiveCfg = mpichDebugConfig_1_0_5
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.mpichDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = mpichDebugConfig_1_0_5
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.mpichDebugConfig_1_0_5|Mixed Platforms.Build.0 = mpichDebugConfig_1_0_5
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.mpichDebugConfig_1_0_5|Win32.ActiveCfg = mpichDebugConfig_1_0_5
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.mpichDebugConfig_1_0_5|Win32.Build.0 = mpichDebugConfig_1_0_5
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.mpichDebugConfig_1_0_5|x64.ActiveCfg = mpichDebugConfig_1_0_5
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.mpichDebugConfig_1_0_5|x64.Build.0 = mpichDebugConfig_1_0_5
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mpichReleaseConfig_1_0_4
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.mpichReleaseConfig_1_0_4|Any CPU.Build.0 = mpichReleaseConfig_1_0_4
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = mpichReleaseConfig_1_0_4
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.mpichReleaseConfig_1_0_4|Win32.ActiveCfg = mpichReleaseConfig_1_0_4
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.mpichReleaseConfig_1_0_4|Win32.Build.0 = mpichReleaseConfig_1_0_4
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.mpichReleaseConfig_1_0_4|x64.ActiveCfg = mpichReleaseConfig_1_0_4
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.mpichReleaseConfig_1_0_4|x64.Build.0 = mpichReleaseConfig_1_0_4
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.mpichshm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.mpichshm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = mpichReleaseConfig_1_0_4
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.mpichshm_mpichReleaseConfig_1_0_4|Win32.Build.0 = mpichReleaseConfig_1_0_4
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.mpichshm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = mpichReleaseConfig_1_0_4
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.mpichshm_mpichReleaseConfig_1_0_4|x64.Build.0 = mpichReleaseConfig_1_0_4
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.mpichssm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.mpichssm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.mpichssm_mpichReleaseConfig_1_0_4|Win32.Build.0 = mpichssm_mpichReleaseConfig_1_0_4
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.mpichssm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.mpichssm_mpichReleaseConfig_1_0_4|x64.Build.0 = mpichssm_mpichReleaseConfig_1_0_4
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.mt_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mt_mpichReleaseConfig_1_0_4
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.mt_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = mt_mpichReleaseConfig_1_0_4
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.mt_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = mt_mpichReleaseConfig_1_0_4
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.mt_mpichReleaseConfig_1_0_4|Win32.Build.0 = mt_mpichReleaseConfig_1_0_4
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.mt_mpichReleaseConfig_1_0_4|x64.ActiveCfg = mt_mpichReleaseConfig_1_0_4
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.mt_mpichReleaseConfig_1_0_4|x64.Build.0 = mt_mpichReleaseConfig_1_0_4
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.Release|Any CPU.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.Release|Any CPU.Build.0 = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.Release|Mixed Platforms.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.Release|Win32.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.Release|Win32.Build.0 = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.Release|x64.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.Release|x64.Build.0 = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.sfortDebug|Any CPU.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.sfortDebug|Any CPU.Build.0 = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.sfortDebug|Mixed Platforms.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.sfortDebug|Win32.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.sfortDebug|Win32.Build.0 = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.sfortDebug|x64.ActiveCfg = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.sfortDebug|x64.Build.0 = Debug
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.sfortRelease|Any CPU.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.sfortRelease|Any CPU.Build.0 = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.sfortRelease|Mixed Platforms.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.sfortRelease|Win32.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.sfortRelease|Win32.Build.0 = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.sfortRelease|x64.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.sfortRelease|x64.Build.0 = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.testrelease|Any CPU.ActiveCfg = testrelease
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.testrelease|Mixed Platforms.ActiveCfg = testrelease
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.testrelease|Win32.ActiveCfg = testrelease
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.testrelease|Win32.Build.0 = testrelease
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.testrelease|x64.ActiveCfg = testrelease
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.testrelease|x64.Build.0 = testrelease
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.wrapperUtilRelease|Any CPU.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.wrapperUtilRelease|Mixed Platforms.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.wrapperUtilRelease|Win32.ActiveCfg = Release
-		{3B6F7528-9943-46B3-9609-5ED0D7C31EFE}.wrapperUtilRelease|x64.ActiveCfg = Release
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3nemesisDebug|Any CPU.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3nemesisDebug|Mixed Platforms.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3nemesisDebug|Win32.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3nemesisDebug|Win32.Build.0 = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3nemesisDebug|x64.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3nemesisPDebug|Any CPU.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3nemesisPDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3nemesisPDebug|Win32.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3nemesisPDebug|Win32.Build.0 = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3nemesisPDebug|x64.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3nemesisPRelease|Any CPU.ActiveCfg = ch3nemesisPRelease|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3nemesisPRelease|Mixed Platforms.ActiveCfg = ch3nemesisPRelease|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3nemesisPRelease|Win32.ActiveCfg = ch3nemesisPRelease|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3nemesisPRelease|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3nemesisRelease|Any CPU.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3nemesisRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3nemesisRelease|Win32.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3nemesisRelease|Win32.Build.0 = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3nemesisRelease|x64.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3shmDebug|Any CPU.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3shmDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3shmDebug|Win32.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3shmDebug|Win32.Build.0 = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3shmDebug|x64.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3shmPRelease|Any CPU.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3shmPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3shmPRelease|Win32.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3shmPRelease|Win32.Build.0 = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3shmPRelease|x64.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3shmRelease|Any CPU.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3shmRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3shmRelease|Win32.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3shmRelease|Win32.Build.0 = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3shmRelease|x64.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3sockDebug|Any CPU.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3sockDebug|Mixed Platforms.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3sockDebug|Win32.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3sockDebug|Win32.Build.0 = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3sockDebug|x64.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3sockmtDebug|Any CPU.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3sockmtDebug|Mixed Platforms.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3sockmtDebug|Win32.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3sockmtDebug|Win32.Build.0 = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3sockmtDebug|x64.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3sockmtPRelease|Any CPU.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3sockmtPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3sockmtPRelease|Win32.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3sockmtPRelease|Win32.Build.0 = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3sockmtPRelease|x64.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3sockmtRelease|Any CPU.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3sockmtRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3sockmtRelease|Win32.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3sockmtRelease|Win32.Build.0 = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3sockmtRelease|x64.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3sockPliteRelease|Any CPU.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3sockPliteRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3sockPliteRelease|Win32.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3sockPliteRelease|Win32.Build.0 = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3sockPliteRelease|x64.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3sockPRelease|Any CPU.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3sockPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3sockPRelease|Win32.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3sockPRelease|Win32.Build.0 = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3sockPRelease|x64.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3sockRelease|Any CPU.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3sockRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3sockRelease|Win32.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3sockRelease|Win32.Build.0 = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3sockRelease|x64.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3ssmDebug|Any CPU.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3ssmDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3ssmDebug|Win32.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3ssmDebug|Win32.Build.0 = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3ssmDebug|x64.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3ssmPDebug|Any CPU.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3ssmPDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3ssmPDebug|Win32.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3ssmPDebug|Win32.Build.0 = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3ssmPDebug|x64.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3ssmPRelease|Any CPU.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3ssmPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3ssmPRelease|Win32.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3ssmPRelease|Win32.Build.0 = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3ssmPRelease|x64.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3ssmRelease|Any CPU.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3ssmRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3ssmRelease|Win32.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3ssmRelease|Win32.Build.0 = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.ch3ssmRelease|x64.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.Debug|Any CPU.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.Debug|Win32.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.Debug|Win32.Build.0 = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.Debug|x64.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.DebugStatic|Any CPU.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.DebugStatic|Mixed Platforms.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.DebugStatic|Mixed Platforms.Build.0 = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.DebugStatic|Win32.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.DebugStatic|Win32.Build.0 = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.DebugStatic|x64.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.fmpe|Any CPU.ActiveCfg = ch3nemesisPRelease|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.fmpe|Mixed Platforms.ActiveCfg = ch3nemesisPRelease|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.fmpe|Mixed Platforms.Build.0 = ch3nemesisPRelease|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.fmpe|Win32.ActiveCfg = ch3nemesisPRelease|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.fmpe|Win32.Build.0 = ch3nemesisPRelease|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.fmpe|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.fortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.fortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.fortDebug|Win32.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.fortDebug|Win32.Build.0 = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.fortDebug|x64.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.fortDebugConfig_1_0_5|Any CPU.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.fortDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.fortDebugConfig_1_0_5|Mixed Platforms.Build.0 = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.fortDebugConfig_1_0_5|Win32.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.fortDebugConfig_1_0_5|Win32.Build.0 = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.fortDebugConfig_1_0_5|x64.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.fortPRelease|Any CPU.ActiveCfg = fortPRelease|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.fortPRelease|Mixed Platforms.ActiveCfg = fortPRelease|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.fortPRelease|Win32.ActiveCfg = fortPRelease|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.fortPRelease|x64.ActiveCfg = fortPRelease|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.fortRelease|Any CPU.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.fortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.fortRelease|Win32.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.fortRelease|Win32.Build.0 = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.fortRelease|x64.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.gfortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.gfortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.gfortDebug|Win32.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.gfortDebug|Win32.Build.0 = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.gfortDebug|x64.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.gfortRelease|Any CPU.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.gfortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.gfortRelease|Win32.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.gfortRelease|Win32.Build.0 = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.gfortRelease|x64.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.Installer|Any CPU.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.Installer|Mixed Platforms.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.Installer|Win32.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.Installer|Win32.Build.0 = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.Installer|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.Installerx64|Any CPU.ActiveCfg = ch3nemesisPRelease|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.Installerx64|Mixed Platforms.ActiveCfg = ch3nemesisPRelease|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.Installerx64|Mixed Platforms.Build.0 = ch3nemesisPRelease|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.Installerx64|Win32.ActiveCfg = ch3nemesisPRelease|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.Installerx64|Win32.Build.0 = ch3nemesisPRelease|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.Installerx64|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.mpichDebugConfig_1_0_4|Any CPU.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.mpichDebugConfig_1_0_4|Mixed Platforms.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.mpichDebugConfig_1_0_4|Mixed Platforms.Build.0 = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.mpichDebugConfig_1_0_4|Win32.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.mpichDebugConfig_1_0_4|Win32.Build.0 = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.mpichDebugConfig_1_0_4|x64.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.mpichDebugConfig_1_0_5|Any CPU.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.mpichDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.mpichDebugConfig_1_0_5|Mixed Platforms.Build.0 = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.mpichDebugConfig_1_0_5|Win32.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.mpichDebugConfig_1_0_5|Win32.Build.0 = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.mpichDebugConfig_1_0_5|x64.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.mpichReleaseConfig_1_0_4|Win32.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.mpichReleaseConfig_1_0_4|Win32.Build.0 = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.mpichReleaseConfig_1_0_4|x64.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.mpichshm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.mpichshm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.mpichshm_mpichReleaseConfig_1_0_4|Win32.Build.0 = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.mpichshm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.mpichssm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.mpichssm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.mpichssm_mpichReleaseConfig_1_0_4|Win32.Build.0 = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.mpichssm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.mt_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.mt_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.mt_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.mt_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.mt_mpichReleaseConfig_1_0_4|Win32.Build.0 = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.mt_mpichReleaseConfig_1_0_4|x64.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.Release|Any CPU.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.Release|Mixed Platforms.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.Release|Mixed Platforms.Build.0 = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.Release|Win32.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.Release|Win32.Build.0 = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.Release|x64.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.sfortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.sfortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.sfortDebug|Win32.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.sfortDebug|Win32.Build.0 = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.sfortDebug|x64.ActiveCfg = Debug|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.sfortRelease|Any CPU.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.sfortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.sfortRelease|Win32.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.sfortRelease|Win32.Build.0 = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.sfortRelease|x64.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.testrelease|Any CPU.ActiveCfg = ch3nemesisPRelease|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.testrelease|Mixed Platforms.ActiveCfg = ch3nemesisPRelease|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.testrelease|Mixed Platforms.Build.0 = ch3nemesisPRelease|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.testrelease|Win32.ActiveCfg = ch3nemesisPRelease|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.testrelease|Win32.Build.0 = ch3nemesisPRelease|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.testrelease|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.wrapperUtilRelease|Any CPU.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.wrapperUtilRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.wrapperUtilRelease|Win32.ActiveCfg = Release|Win32
-		{68A6C7AD-9713-4315-9ABE-B47E22E5E0A9}.wrapperUtilRelease|x64.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3nemesisDebug|Any CPU.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3nemesisDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3nemesisDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3nemesisDebug|Win32.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3nemesisDebug|Win32.Build.0 = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3nemesisDebug|x64.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3nemesisPDebug|Any CPU.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3nemesisPDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3nemesisPDebug|Win32.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3nemesisPDebug|Win32.Build.0 = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3nemesisPDebug|x64.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3nemesisPRelease|Any CPU.ActiveCfg = ch3nemesisPRelease|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3nemesisPRelease|Mixed Platforms.ActiveCfg = ch3nemesisPRelease|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3nemesisPRelease|Mixed Platforms.Build.0 = ch3nemesisPRelease|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3nemesisPRelease|Win32.ActiveCfg = ch3nemesisPRelease|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3nemesisPRelease|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3nemesisRelease|Any CPU.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3nemesisRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3nemesisRelease|Win32.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3nemesisRelease|Win32.Build.0 = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3nemesisRelease|x64.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3shmDebug|Any CPU.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3shmDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3shmDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3shmDebug|Win32.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3shmDebug|Win32.Build.0 = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3shmDebug|x64.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3shmPRelease|Any CPU.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3shmPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3shmPRelease|Mixed Platforms.Build.0 = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3shmPRelease|Win32.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3shmPRelease|Win32.Build.0 = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3shmPRelease|x64.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3shmRelease|Any CPU.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3shmRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3shmRelease|Mixed Platforms.Build.0 = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3shmRelease|Win32.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3shmRelease|Win32.Build.0 = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3shmRelease|x64.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3sockDebug|Any CPU.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3sockDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3sockDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3sockDebug|Win32.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3sockDebug|Win32.Build.0 = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3sockDebug|x64.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3sockmtDebug|Any CPU.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3sockmtDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3sockmtDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3sockmtDebug|Win32.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3sockmtDebug|Win32.Build.0 = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3sockmtDebug|x64.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3sockmtPRelease|Any CPU.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3sockmtPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3sockmtPRelease|Mixed Platforms.Build.0 = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3sockmtPRelease|Win32.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3sockmtPRelease|Win32.Build.0 = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3sockmtPRelease|x64.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3sockmtRelease|Any CPU.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3sockmtRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3sockmtRelease|Mixed Platforms.Build.0 = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3sockmtRelease|Win32.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3sockmtRelease|Win32.Build.0 = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3sockmtRelease|x64.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3sockPliteRelease|Any CPU.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3sockPliteRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3sockPliteRelease|Mixed Platforms.Build.0 = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3sockPliteRelease|Win32.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3sockPliteRelease|Win32.Build.0 = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3sockPliteRelease|x64.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3sockPRelease|Any CPU.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3sockPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3sockPRelease|Mixed Platforms.Build.0 = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3sockPRelease|Win32.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3sockPRelease|Win32.Build.0 = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3sockPRelease|x64.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3sockRelease|Any CPU.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3sockRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3sockRelease|Mixed Platforms.Build.0 = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3sockRelease|Win32.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3sockRelease|Win32.Build.0 = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3sockRelease|x64.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3ssmDebug|Any CPU.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3ssmDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3ssmDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3ssmDebug|Win32.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3ssmDebug|Win32.Build.0 = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3ssmDebug|x64.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3ssmPDebug|Any CPU.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3ssmPDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3ssmPDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3ssmPDebug|Win32.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3ssmPDebug|Win32.Build.0 = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3ssmPDebug|x64.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3ssmPRelease|Any CPU.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3ssmPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3ssmPRelease|Mixed Platforms.Build.0 = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3ssmPRelease|Win32.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3ssmPRelease|Win32.Build.0 = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3ssmPRelease|x64.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3ssmRelease|Any CPU.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3ssmRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3ssmRelease|Mixed Platforms.Build.0 = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3ssmRelease|Win32.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3ssmRelease|Win32.Build.0 = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.ch3ssmRelease|x64.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.Debug|Any CPU.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.Debug|Mixed Platforms.Build.0 = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.Debug|Win32.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.Debug|Win32.Build.0 = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.Debug|x64.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.DebugStatic|Any CPU.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.DebugStatic|Mixed Platforms.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.DebugStatic|Mixed Platforms.Build.0 = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.DebugStatic|Win32.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.DebugStatic|Win32.Build.0 = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.DebugStatic|x64.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.fmpe|Any CPU.ActiveCfg = ch3nemesisPRelease|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.fmpe|Mixed Platforms.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.fmpe|Mixed Platforms.Build.0 = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.fmpe|Win32.ActiveCfg = ch3nemesisPRelease|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.fmpe|Win32.Build.0 = ch3nemesisPRelease|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.fmpe|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.fortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.fortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.fortDebug|Win32.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.fortDebug|Win32.Build.0 = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.fortDebug|x64.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.fortDebugConfig_1_0_5|Any CPU.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.fortDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.fortDebugConfig_1_0_5|Mixed Platforms.Build.0 = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.fortDebugConfig_1_0_5|Win32.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.fortDebugConfig_1_0_5|Win32.Build.0 = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.fortDebugConfig_1_0_5|x64.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.fortPRelease|Any CPU.ActiveCfg = fortPRelease|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.fortPRelease|Mixed Platforms.ActiveCfg = fortPRelease|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.fortPRelease|Win32.ActiveCfg = fortPRelease|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.fortPRelease|x64.ActiveCfg = fortPRelease|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.fortRelease|Any CPU.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.fortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.fortRelease|Win32.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.fortRelease|Win32.Build.0 = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.fortRelease|x64.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.gfortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.gfortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.gfortDebug|Win32.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.gfortDebug|Win32.Build.0 = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.gfortDebug|x64.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.gfortRelease|Any CPU.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.gfortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.gfortRelease|Win32.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.gfortRelease|Win32.Build.0 = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.gfortRelease|x64.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.Installer|Any CPU.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.Installer|Mixed Platforms.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.Installer|Win32.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.Installer|Win32.Build.0 = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.Installer|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.Installerx64|Any CPU.ActiveCfg = ch3nemesisPRelease|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.Installerx64|Mixed Platforms.ActiveCfg = ch3nemesisPRelease|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.Installerx64|Mixed Platforms.Build.0 = ch3nemesisPRelease|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.Installerx64|Win32.ActiveCfg = ch3nemesisPRelease|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.Installerx64|Win32.Build.0 = ch3nemesisPRelease|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.Installerx64|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.mpichDebugConfig_1_0_4|Any CPU.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.mpichDebugConfig_1_0_4|Mixed Platforms.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.mpichDebugConfig_1_0_4|Mixed Platforms.Build.0 = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.mpichDebugConfig_1_0_4|Win32.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.mpichDebugConfig_1_0_4|Win32.Build.0 = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.mpichDebugConfig_1_0_4|x64.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.mpichDebugConfig_1_0_5|Any CPU.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.mpichDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.mpichDebugConfig_1_0_5|Mixed Platforms.Build.0 = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.mpichDebugConfig_1_0_5|Win32.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.mpichDebugConfig_1_0_5|Win32.Build.0 = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.mpichDebugConfig_1_0_5|x64.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.mpichReleaseConfig_1_0_4|Win32.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.mpichReleaseConfig_1_0_4|Win32.Build.0 = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.mpichReleaseConfig_1_0_4|x64.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.mpichshm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.mpichshm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.mpichshm_mpichReleaseConfig_1_0_4|Win32.Build.0 = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.mpichshm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.mpichssm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.mpichssm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.mpichssm_mpichReleaseConfig_1_0_4|Win32.Build.0 = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.mpichssm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.mt_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.mt_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.mt_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.mt_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.mt_mpichReleaseConfig_1_0_4|Win32.Build.0 = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.mt_mpichReleaseConfig_1_0_4|x64.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.Release|Any CPU.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.Release|Mixed Platforms.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.Release|Mixed Platforms.Build.0 = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.Release|Win32.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.Release|Win32.Build.0 = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.Release|x64.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.sfortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.sfortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.sfortDebug|Win32.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.sfortDebug|Win32.Build.0 = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.sfortDebug|x64.ActiveCfg = Debug|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.sfortRelease|Any CPU.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.sfortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.sfortRelease|Win32.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.sfortRelease|Win32.Build.0 = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.sfortRelease|x64.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.testrelease|Any CPU.ActiveCfg = ch3nemesisPRelease|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.testrelease|Mixed Platforms.ActiveCfg = ch3nemesisPRelease|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.testrelease|Mixed Platforms.Build.0 = ch3nemesisPRelease|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.testrelease|Win32.ActiveCfg = ch3nemesisPRelease|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.testrelease|Win32.Build.0 = ch3nemesisPRelease|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.testrelease|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.wrapperUtilRelease|Any CPU.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.wrapperUtilRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.wrapperUtilRelease|Win32.ActiveCfg = Release|Win32
-		{EAC12E9B-4B5D-4D26-8FAE-2425A48E3804}.wrapperUtilRelease|x64.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3nemesisDebug|Any CPU.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3nemesisDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3nemesisDebug|Win32.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3nemesisDebug|Win32.Build.0 = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3nemesisDebug|x64.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3nemesisPDebug|Any CPU.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3nemesisPDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3nemesisPDebug|Win32.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3nemesisPDebug|Win32.Build.0 = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3nemesisPDebug|x64.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3nemesisPRelease|Any CPU.ActiveCfg = ch3nemesisPRelease|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3nemesisPRelease|Mixed Platforms.ActiveCfg = ch3nemesisPRelease|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3nemesisPRelease|Win32.ActiveCfg = ch3nemesisPRelease|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3nemesisPRelease|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3nemesisRelease|Any CPU.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3nemesisRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3nemesisRelease|Win32.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3nemesisRelease|Win32.Build.0 = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3nemesisRelease|x64.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3shmDebug|Any CPU.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3shmDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3shmDebug|Win32.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3shmDebug|Win32.Build.0 = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3shmDebug|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3shmPRelease|Any CPU.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3shmPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3shmPRelease|Win32.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3shmPRelease|Win32.Build.0 = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3shmPRelease|x64.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3shmRelease|Any CPU.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3shmRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3shmRelease|Win32.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3shmRelease|Win32.Build.0 = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3shmRelease|x64.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3sockDebug|Any CPU.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3sockDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3sockDebug|Win32.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3sockDebug|Win32.Build.0 = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3sockDebug|x64.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3sockmtDebug|Any CPU.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3sockmtDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3sockmtDebug|Win32.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3sockmtDebug|Win32.Build.0 = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3sockmtDebug|x64.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3sockmtPRelease|Any CPU.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3sockmtPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3sockmtPRelease|Win32.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3sockmtPRelease|Win32.Build.0 = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3sockmtPRelease|x64.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3sockmtRelease|Any CPU.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3sockmtRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3sockmtRelease|Win32.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3sockmtRelease|Win32.Build.0 = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3sockmtRelease|x64.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3sockPliteRelease|Any CPU.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3sockPliteRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3sockPliteRelease|Win32.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3sockPliteRelease|Win32.Build.0 = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3sockPliteRelease|x64.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3sockPRelease|Any CPU.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3sockPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3sockPRelease|Win32.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3sockPRelease|Win32.Build.0 = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3sockPRelease|x64.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3sockRelease|Any CPU.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3sockRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3sockRelease|Win32.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3sockRelease|Win32.Build.0 = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3sockRelease|x64.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3ssmDebug|Any CPU.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3ssmDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3ssmDebug|Win32.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3ssmDebug|Win32.Build.0 = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3ssmDebug|x64.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3ssmPDebug|Any CPU.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3ssmPDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3ssmPDebug|Win32.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3ssmPDebug|Win32.Build.0 = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3ssmPDebug|x64.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3ssmPRelease|Any CPU.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3ssmPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3ssmPRelease|Win32.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3ssmPRelease|Win32.Build.0 = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3ssmPRelease|x64.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3ssmRelease|Any CPU.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3ssmRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3ssmRelease|Win32.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3ssmRelease|Win32.Build.0 = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.ch3ssmRelease|x64.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.Debug|Any CPU.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.Debug|Win32.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.Debug|Win32.Build.0 = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.Debug|x64.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.DebugStatic|Any CPU.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.DebugStatic|Mixed Platforms.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.DebugStatic|Mixed Platforms.Build.0 = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.DebugStatic|Win32.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.DebugStatic|Win32.Build.0 = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.DebugStatic|x64.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.fmpe|Any CPU.ActiveCfg = fmpe|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.fmpe|Mixed Platforms.ActiveCfg = fmpe|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.fmpe|Mixed Platforms.Build.0 = fmpe|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.fmpe|Win32.ActiveCfg = fmpe|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.fmpe|Win32.Build.0 = fmpe|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.fmpe|x64.ActiveCfg = fmpe|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.fortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.fortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.fortDebug|Win32.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.fortDebug|Win32.Build.0 = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.fortDebug|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.fortDebugConfig_1_0_5|Any CPU.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.fortDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.fortDebugConfig_1_0_5|Win32.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.fortDebugConfig_1_0_5|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.fortPRelease|Any CPU.ActiveCfg = fortPRelease|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.fortPRelease|Mixed Platforms.ActiveCfg = fortPRelease|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.fortPRelease|Win32.ActiveCfg = fortPRelease|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.fortPRelease|x64.ActiveCfg = fortPRelease|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.fortRelease|Any CPU.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.fortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.fortRelease|Win32.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.fortRelease|Win32.Build.0 = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.fortRelease|x64.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.gfortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.gfortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.gfortDebug|Win32.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.gfortDebug|Win32.Build.0 = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.gfortDebug|x64.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.gfortRelease|Any CPU.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.gfortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.gfortRelease|Win32.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.gfortRelease|Win32.Build.0 = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.gfortRelease|x64.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.Installer|Any CPU.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.Installer|Mixed Platforms.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.Installer|Win32.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.Installer|Win32.Build.0 = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.Installer|x64.ActiveCfg = fmpe|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.Installerx64|Any CPU.ActiveCfg = fmpe|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.Installerx64|Mixed Platforms.ActiveCfg = fmpe|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.Installerx64|Win32.ActiveCfg = fmpe|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.Installerx64|Win32.Build.0 = fmpe|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.Installerx64|x64.ActiveCfg = fmpe|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.mpichDebugConfig_1_0_4|Any CPU.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.mpichDebugConfig_1_0_4|Mixed Platforms.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.mpichDebugConfig_1_0_4|Mixed Platforms.Build.0 = mpichDebugConfig_1_0_4|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.mpichDebugConfig_1_0_4|Win32.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.mpichDebugConfig_1_0_4|Win32.Build.0 = mpichDebugConfig_1_0_4|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.mpichDebugConfig_1_0_4|x64.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.mpichDebugConfig_1_0_5|Any CPU.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.mpichDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.mpichDebugConfig_1_0_5|Mixed Platforms.Build.0 = mpichDebugConfig_1_0_5|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.mpichDebugConfig_1_0_5|Win32.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.mpichDebugConfig_1_0_5|Win32.Build.0 = mpichDebugConfig_1_0_5|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.mpichDebugConfig_1_0_5|x64.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = mpichReleaseConfig_1_0_4|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.mpichReleaseConfig_1_0_4|Win32.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.mpichReleaseConfig_1_0_4|Win32.Build.0 = mpichReleaseConfig_1_0_4|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.mpichReleaseConfig_1_0_4|x64.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.mpichshm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.mpichshm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.mpichshm_mpichReleaseConfig_1_0_4|Win32.Build.0 = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.mpichshm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.mpichssm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.mpichssm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.mpichssm_mpichReleaseConfig_1_0_4|Win32.Build.0 = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.mpichssm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.mt_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.mt_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.mt_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.mt_mpichReleaseConfig_1_0_4|Win32.Build.0 = mt_mpichReleaseConfig_1_0_4|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.mt_mpichReleaseConfig_1_0_4|x64.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.Release|Any CPU.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.Release|Mixed Platforms.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.Release|Mixed Platforms.Build.0 = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.Release|Win32.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.Release|Win32.Build.0 = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.Release|x64.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.sfortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.sfortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.sfortDebug|Win32.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.sfortDebug|Win32.Build.0 = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.sfortDebug|x64.ActiveCfg = Debug|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.sfortRelease|Any CPU.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.sfortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.sfortRelease|Win32.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.sfortRelease|Win32.Build.0 = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.sfortRelease|x64.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.testrelease|Any CPU.ActiveCfg = testrelease|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.testrelease|Mixed Platforms.ActiveCfg = testrelease|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.testrelease|Mixed Platforms.Build.0 = testrelease|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.testrelease|Win32.ActiveCfg = testrelease|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.testrelease|Win32.Build.0 = testrelease|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.testrelease|x64.ActiveCfg = testrelease|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.wrapperUtilRelease|Any CPU.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.wrapperUtilRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.wrapperUtilRelease|Win32.ActiveCfg = Release|Win32
-		{23709B5A-153D-422B-B006-17CC05552B57}.wrapperUtilRelease|x64.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3nemesisDebug|Any CPU.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3nemesisDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3nemesisDebug|Win32.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3nemesisDebug|Win32.Build.0 = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3nemesisDebug|x64.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3nemesisPDebug|Any CPU.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3nemesisPDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3nemesisPDebug|Win32.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3nemesisPDebug|Win32.Build.0 = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3nemesisPDebug|x64.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3nemesisPRelease|Any CPU.ActiveCfg = ch3nemesisPRelease|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3nemesisPRelease|Mixed Platforms.ActiveCfg = ch3nemesisPRelease|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3nemesisPRelease|Win32.ActiveCfg = ch3nemesisPRelease|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3nemesisPRelease|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3nemesisRelease|Any CPU.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3nemesisRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3nemesisRelease|Win32.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3nemesisRelease|Win32.Build.0 = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3nemesisRelease|x64.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3shmDebug|Any CPU.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3shmDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3shmDebug|Win32.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3shmDebug|Win32.Build.0 = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3shmDebug|x64.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3shmPRelease|Any CPU.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3shmPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3shmPRelease|Win32.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3shmPRelease|Win32.Build.0 = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3shmPRelease|x64.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3shmRelease|Any CPU.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3shmRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3shmRelease|Win32.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3shmRelease|Win32.Build.0 = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3shmRelease|x64.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3sockDebug|Any CPU.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3sockDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3sockDebug|Win32.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3sockDebug|Win32.Build.0 = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3sockDebug|x64.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3sockmtDebug|Any CPU.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3sockmtDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3sockmtDebug|Win32.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3sockmtDebug|Win32.Build.0 = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3sockmtDebug|x64.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3sockmtPRelease|Any CPU.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3sockmtPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3sockmtPRelease|Win32.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3sockmtPRelease|Win32.Build.0 = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3sockmtPRelease|x64.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3sockmtRelease|Any CPU.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3sockmtRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3sockmtRelease|Win32.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3sockmtRelease|Win32.Build.0 = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3sockmtRelease|x64.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3sockPliteRelease|Any CPU.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3sockPliteRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3sockPliteRelease|Win32.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3sockPliteRelease|Win32.Build.0 = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3sockPliteRelease|x64.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3sockPRelease|Any CPU.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3sockPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3sockPRelease|Win32.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3sockPRelease|Win32.Build.0 = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3sockPRelease|x64.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3sockRelease|Any CPU.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3sockRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3sockRelease|Win32.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3sockRelease|Win32.Build.0 = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3sockRelease|x64.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3ssmDebug|Any CPU.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3ssmDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3ssmDebug|Win32.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3ssmDebug|Win32.Build.0 = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3ssmDebug|x64.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3ssmPDebug|Any CPU.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3ssmPDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3ssmPDebug|Win32.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3ssmPDebug|Win32.Build.0 = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3ssmPDebug|x64.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3ssmPRelease|Any CPU.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3ssmPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3ssmPRelease|Win32.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3ssmPRelease|Win32.Build.0 = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3ssmPRelease|x64.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3ssmRelease|Any CPU.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3ssmRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3ssmRelease|Win32.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3ssmRelease|Win32.Build.0 = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.ch3ssmRelease|x64.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.Debug|Any CPU.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.Debug|Win32.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.Debug|Win32.Build.0 = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.Debug|x64.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.DebugStatic|Any CPU.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.DebugStatic|Mixed Platforms.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.DebugStatic|Mixed Platforms.Build.0 = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.DebugStatic|Win32.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.DebugStatic|Win32.Build.0 = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.DebugStatic|x64.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.fmpe|Any CPU.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.fmpe|Mixed Platforms.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.fmpe|Mixed Platforms.Build.0 = fortDebugConfig_1_0_5|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.fmpe|Win32.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.fmpe|Win32.Build.0 = fortDebugConfig_1_0_5|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.fmpe|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.fortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.fortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.fortDebug|Win32.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.fortDebug|Win32.Build.0 = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.fortDebug|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.fortDebugConfig_1_0_5|Any CPU.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.fortDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.fortDebugConfig_1_0_5|Win32.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.fortDebugConfig_1_0_5|x64.ActiveCfg = fortDebugConfig_1_0_5|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.fortPRelease|Any CPU.ActiveCfg = fortPRelease|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.fortPRelease|Mixed Platforms.ActiveCfg = fortPRelease|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.fortPRelease|Win32.ActiveCfg = fortPRelease|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.fortPRelease|x64.ActiveCfg = fortPRelease|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.fortRelease|Any CPU.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.fortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.fortRelease|Win32.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.fortRelease|Win32.Build.0 = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.fortRelease|x64.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.gfortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.gfortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.gfortDebug|Win32.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.gfortDebug|Win32.Build.0 = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.gfortDebug|x64.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.gfortRelease|Any CPU.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.gfortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.gfortRelease|Win32.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.gfortRelease|Win32.Build.0 = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.gfortRelease|x64.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.Installer|Any CPU.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.Installer|Mixed Platforms.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.Installer|Win32.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.Installer|Win32.Build.0 = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.Installer|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.Installerx64|Any CPU.ActiveCfg = ch3nemesisPRelease|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.Installerx64|Mixed Platforms.ActiveCfg = ch3nemesisPRelease|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.Installerx64|Mixed Platforms.Build.0 = ch3nemesisPRelease|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.Installerx64|Win32.ActiveCfg = ch3nemesisPRelease|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.Installerx64|Win32.Build.0 = ch3nemesisPRelease|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.Installerx64|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.mpichDebugConfig_1_0_4|Any CPU.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.mpichDebugConfig_1_0_4|Mixed Platforms.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.mpichDebugConfig_1_0_4|Mixed Platforms.Build.0 = mpichDebugConfig_1_0_4|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.mpichDebugConfig_1_0_4|Win32.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.mpichDebugConfig_1_0_4|Win32.Build.0 = mpichDebugConfig_1_0_4|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.mpichDebugConfig_1_0_4|x64.ActiveCfg = mpichDebugConfig_1_0_4|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.mpichDebugConfig_1_0_5|Any CPU.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.mpichDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.mpichDebugConfig_1_0_5|Mixed Platforms.Build.0 = mpichDebugConfig_1_0_5|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.mpichDebugConfig_1_0_5|Win32.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.mpichDebugConfig_1_0_5|Win32.Build.0 = mpichDebugConfig_1_0_5|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.mpichDebugConfig_1_0_5|x64.ActiveCfg = mpichDebugConfig_1_0_5|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = mpichReleaseConfig_1_0_4|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.mpichReleaseConfig_1_0_4|Win32.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.mpichReleaseConfig_1_0_4|Win32.Build.0 = mpichReleaseConfig_1_0_4|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.mpichReleaseConfig_1_0_4|x64.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.mpichshm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.mpichshm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.mpichshm_mpichReleaseConfig_1_0_4|Win32.Build.0 = ch3shm_mpichReleaseConfig_1_0_4|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.mpichshm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = mpichReleaseConfig_1_0_4|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.mpichssm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.mpichssm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.mpichssm_mpichReleaseConfig_1_0_4|Win32.Build.0 = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.mpichssm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = mpichssm_mpichReleaseConfig_1_0_4|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.mt_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.mt_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.mt_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.mt_mpichReleaseConfig_1_0_4|Win32.Build.0 = mt_mpichReleaseConfig_1_0_4|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.mt_mpichReleaseConfig_1_0_4|x64.ActiveCfg = mt_mpichReleaseConfig_1_0_4|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.Release|Any CPU.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.Release|Mixed Platforms.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.Release|Mixed Platforms.Build.0 = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.Release|Win32.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.Release|Win32.Build.0 = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.Release|x64.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.sfortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.sfortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.sfortDebug|Win32.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.sfortDebug|Win32.Build.0 = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.sfortDebug|x64.ActiveCfg = Debug|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.sfortRelease|Any CPU.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.sfortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.sfortRelease|Win32.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.sfortRelease|Win32.Build.0 = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.sfortRelease|x64.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.testrelease|Any CPU.ActiveCfg = testrelease|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.testrelease|Mixed Platforms.ActiveCfg = testrelease|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.testrelease|Mixed Platforms.Build.0 = testrelease|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.testrelease|Win32.ActiveCfg = testrelease|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.testrelease|Win32.Build.0 = testrelease|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.testrelease|x64.ActiveCfg = testrelease|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.wrapperUtilRelease|Any CPU.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.wrapperUtilRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.wrapperUtilRelease|Win32.ActiveCfg = Release|Win32
-		{AA0AAB17-BDC9-45DD-8FF0-01F8D384FB18}.wrapperUtilRelease|x64.ActiveCfg = Release|Win32
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3nemesisDebug|Any CPU.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3nemesisDebug|Any CPU.Build.0 = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3nemesisDebug|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3nemesisDebug|Win32.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3nemesisDebug|x64.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3nemesisPDebug|Any CPU.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3nemesisPDebug|Any CPU.Build.0 = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3nemesisPDebug|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3nemesisPDebug|Win32.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3nemesisPDebug|x64.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3nemesisPRelease|Any CPU.ActiveCfg = ch3nemesisPRelease|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3nemesisPRelease|Mixed Platforms.ActiveCfg = ch3nemesisPRelease|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3nemesisPRelease|Win32.ActiveCfg = ch3nemesisPRelease|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3nemesisPRelease|x64.ActiveCfg = ch3nemesisPRelease|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3nemesisRelease|Any CPU.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3nemesisRelease|Any CPU.Build.0 = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3nemesisRelease|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3nemesisRelease|Win32.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3nemesisRelease|x64.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3shmDebug|Any CPU.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3shmDebug|Any CPU.Build.0 = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3shmDebug|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3shmDebug|Win32.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3shmDebug|x64.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3shmPRelease|Any CPU.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3shmPRelease|Any CPU.Build.0 = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3shmPRelease|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3shmPRelease|Win32.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3shmPRelease|x64.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3shmRelease|Any CPU.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3shmRelease|Any CPU.Build.0 = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3shmRelease|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3shmRelease|Win32.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3shmRelease|x64.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3sockDebug|Any CPU.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3sockDebug|Any CPU.Build.0 = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3sockDebug|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3sockDebug|Win32.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3sockDebug|x64.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3sockmtDebug|Any CPU.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3sockmtDebug|Any CPU.Build.0 = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3sockmtDebug|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3sockmtDebug|Win32.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3sockmtDebug|x64.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3sockmtPRelease|Any CPU.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3sockmtPRelease|Any CPU.Build.0 = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3sockmtPRelease|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3sockmtPRelease|Win32.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3sockmtPRelease|x64.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3sockmtRelease|Any CPU.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3sockmtRelease|Any CPU.Build.0 = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3sockmtRelease|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3sockmtRelease|Win32.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3sockmtRelease|x64.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3sockPliteRelease|Any CPU.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3sockPliteRelease|Any CPU.Build.0 = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3sockPliteRelease|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3sockPliteRelease|Win32.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3sockPliteRelease|x64.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3sockPRelease|Any CPU.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3sockPRelease|Any CPU.Build.0 = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3sockPRelease|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3sockPRelease|Win32.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3sockPRelease|x64.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3sockRelease|Any CPU.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3sockRelease|Any CPU.Build.0 = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3sockRelease|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3sockRelease|Win32.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3sockRelease|x64.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3ssmDebug|Any CPU.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3ssmDebug|Any CPU.Build.0 = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3ssmDebug|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3ssmDebug|Win32.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3ssmDebug|x64.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3ssmPDebug|Any CPU.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3ssmPDebug|Any CPU.Build.0 = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3ssmPDebug|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3ssmPDebug|Win32.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3ssmPDebug|x64.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3ssmPRelease|Any CPU.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3ssmPRelease|Any CPU.Build.0 = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3ssmPRelease|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3ssmPRelease|Win32.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3ssmPRelease|x64.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3ssmRelease|Any CPU.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3ssmRelease|Any CPU.Build.0 = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3ssmRelease|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3ssmRelease|Win32.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.ch3ssmRelease|x64.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.Debug|Win32.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.DebugStatic|Any CPU.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.DebugStatic|Any CPU.Build.0 = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.DebugStatic|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.DebugStatic|Mixed Platforms.Build.0 = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.DebugStatic|Win32.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.DebugStatic|x64.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.fmpe|Any CPU.ActiveCfg = fmpewrap|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.fmpe|Any CPU.Build.0 = fmpewrap|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.fmpe|Mixed Platforms.ActiveCfg = fmpewrap|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.fmpe|Mixed Platforms.Build.0 = fmpewrap|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.fmpe|Win32.ActiveCfg = fmpewrap|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.fmpe|x64.ActiveCfg = fmpewrap|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.fortDebug|Any CPU.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.fortDebug|Any CPU.Build.0 = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.fortDebug|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.fortDebug|Win32.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.fortDebug|x64.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.fortDebugConfig_1_0_5|Any CPU.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.fortDebugConfig_1_0_5|Any CPU.Build.0 = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.fortDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.fortDebugConfig_1_0_5|Mixed Platforms.Build.0 = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.fortDebugConfig_1_0_5|Win32.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.fortDebugConfig_1_0_5|x64.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.fortPRelease|Any CPU.ActiveCfg = fortPRelease|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.fortPRelease|Mixed Platforms.ActiveCfg = fortPRelease|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.fortPRelease|Win32.ActiveCfg = fortPRelease|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.fortPRelease|x64.ActiveCfg = fortPRelease|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.fortRelease|Any CPU.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.fortRelease|Any CPU.Build.0 = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.fortRelease|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.fortRelease|Win32.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.fortRelease|x64.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.gfortDebug|Any CPU.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.gfortDebug|Any CPU.Build.0 = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.gfortDebug|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.gfortDebug|Win32.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.gfortDebug|x64.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.gfortRelease|Any CPU.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.gfortRelease|Any CPU.Build.0 = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.gfortRelease|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.gfortRelease|Win32.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.gfortRelease|x64.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.Installer|Any CPU.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.Installer|Any CPU.Build.0 = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.Installer|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.Installer|Win32.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.Installer|x64.ActiveCfg = ch3nemesisPRelease|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.Installerx64|Any CPU.ActiveCfg = ch3nemesisPRelease|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.Installerx64|Any CPU.Build.0 = ch3nemesisPRelease|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.Installerx64|Mixed Platforms.ActiveCfg = ch3nemesisPRelease|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.Installerx64|Mixed Platforms.Build.0 = ch3nemesisPRelease|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.Installerx64|Win32.ActiveCfg = ch3nemesisPRelease|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.Installerx64|x64.ActiveCfg = ch3nemesisPRelease|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.mpichDebugConfig_1_0_4|Any CPU.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.mpichDebugConfig_1_0_4|Any CPU.Build.0 = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.mpichDebugConfig_1_0_4|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.mpichDebugConfig_1_0_4|Mixed Platforms.Build.0 = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.mpichDebugConfig_1_0_4|Win32.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.mpichDebugConfig_1_0_4|x64.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.mpichDebugConfig_1_0_5|Any CPU.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.mpichDebugConfig_1_0_5|Any CPU.Build.0 = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.mpichDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.mpichDebugConfig_1_0_5|Mixed Platforms.Build.0 = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.mpichDebugConfig_1_0_5|Win32.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.mpichDebugConfig_1_0_5|x64.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.mpichReleaseConfig_1_0_4|Any CPU.Build.0 = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.mpichReleaseConfig_1_0_4|Win32.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.mpichReleaseConfig_1_0_4|x64.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.mpichshm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.mpichshm_mpichReleaseConfig_1_0_4|Any CPU.Build.0 = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.mpichshm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.mpichshm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.mpichssm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.mpichssm_mpichReleaseConfig_1_0_4|Any CPU.Build.0 = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.mpichssm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.mpichssm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.mt_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.mt_mpichReleaseConfig_1_0_4|Any CPU.Build.0 = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.mt_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.mt_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.mt_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.mt_mpichReleaseConfig_1_0_4|x64.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.Release|Any CPU.Build.0 = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.Release|Mixed Platforms.Build.0 = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.Release|Win32.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.Release|x64.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.sfortDebug|Any CPU.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.sfortDebug|Any CPU.Build.0 = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.sfortDebug|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.sfortDebug|Win32.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.sfortDebug|x64.ActiveCfg = Debug|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.sfortRelease|Any CPU.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.sfortRelease|Any CPU.Build.0 = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.sfortRelease|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.sfortRelease|Win32.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.sfortRelease|x64.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.testrelease|Any CPU.ActiveCfg = ch3nemesisPRelease|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.testrelease|Any CPU.Build.0 = ch3nemesisPRelease|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.testrelease|Mixed Platforms.ActiveCfg = ch3nemesisPRelease|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.testrelease|Mixed Platforms.Build.0 = ch3nemesisPRelease|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.testrelease|Win32.ActiveCfg = ch3nemesisPRelease|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.testrelease|x64.ActiveCfg = ch3nemesisPRelease|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.wrapperUtilRelease|Any CPU.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.wrapperUtilRelease|Any CPU.Build.0 = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.wrapperUtilRelease|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.wrapperUtilRelease|Mixed Platforms.Build.0 = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.wrapperUtilRelease|Win32.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.wrapperUtilRelease|x64.ActiveCfg = Release|Any CPU
-		{B0365633-1495-4C2C-8FD6-6943F5208D5C}.wrapperUtilRelease|x64.Build.0 = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3nemesisDebug|Any CPU.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3nemesisDebug|Any CPU.Build.0 = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3nemesisDebug|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3nemesisDebug|Win32.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3nemesisDebug|x64.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3nemesisPDebug|Any CPU.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3nemesisPDebug|Any CPU.Build.0 = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3nemesisPDebug|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3nemesisPDebug|Win32.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3nemesisPDebug|x64.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3nemesisPRelease|Any CPU.ActiveCfg = ch3nemesisPRelease|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3nemesisPRelease|Mixed Platforms.ActiveCfg = ch3nemesisPRelease|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3nemesisPRelease|Win32.ActiveCfg = ch3nemesisPRelease|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3nemesisPRelease|x64.ActiveCfg = ch3nemesisPRelease|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3nemesisRelease|Any CPU.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3nemesisRelease|Any CPU.Build.0 = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3nemesisRelease|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3nemesisRelease|Win32.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3nemesisRelease|x64.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3shmDebug|Any CPU.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3shmDebug|Any CPU.Build.0 = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3shmDebug|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3shmDebug|Win32.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3shmDebug|x64.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3shmPRelease|Any CPU.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3shmPRelease|Any CPU.Build.0 = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3shmPRelease|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3shmPRelease|Win32.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3shmPRelease|x64.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3shmRelease|Any CPU.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3shmRelease|Any CPU.Build.0 = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3shmRelease|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3shmRelease|Win32.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3shmRelease|x64.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3sockDebug|Any CPU.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3sockDebug|Any CPU.Build.0 = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3sockDebug|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3sockDebug|Win32.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3sockDebug|x64.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3sockmtDebug|Any CPU.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3sockmtDebug|Any CPU.Build.0 = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3sockmtDebug|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3sockmtDebug|Win32.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3sockmtDebug|x64.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3sockmtPRelease|Any CPU.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3sockmtPRelease|Any CPU.Build.0 = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3sockmtPRelease|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3sockmtPRelease|Win32.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3sockmtPRelease|x64.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3sockmtRelease|Any CPU.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3sockmtRelease|Any CPU.Build.0 = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3sockmtRelease|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3sockmtRelease|Win32.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3sockmtRelease|x64.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3sockPliteRelease|Any CPU.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3sockPliteRelease|Any CPU.Build.0 = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3sockPliteRelease|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3sockPliteRelease|Win32.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3sockPliteRelease|x64.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3sockPRelease|Any CPU.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3sockPRelease|Any CPU.Build.0 = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3sockPRelease|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3sockPRelease|Win32.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3sockPRelease|x64.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3sockRelease|Any CPU.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3sockRelease|Any CPU.Build.0 = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3sockRelease|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3sockRelease|Win32.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3sockRelease|x64.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3ssmDebug|Any CPU.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3ssmDebug|Any CPU.Build.0 = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3ssmDebug|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3ssmDebug|Win32.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3ssmDebug|x64.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3ssmPDebug|Any CPU.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3ssmPDebug|Any CPU.Build.0 = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3ssmPDebug|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3ssmPDebug|Win32.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3ssmPDebug|x64.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3ssmPRelease|Any CPU.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3ssmPRelease|Any CPU.Build.0 = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3ssmPRelease|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3ssmPRelease|Win32.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3ssmPRelease|x64.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3ssmRelease|Any CPU.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3ssmRelease|Any CPU.Build.0 = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3ssmRelease|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3ssmRelease|Win32.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.ch3ssmRelease|x64.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.Debug|Win32.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.DebugStatic|Any CPU.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.DebugStatic|Any CPU.Build.0 = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.DebugStatic|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.DebugStatic|Mixed Platforms.Build.0 = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.DebugStatic|Win32.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.DebugStatic|x64.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.fmpe|Any CPU.ActiveCfg = fmpewrap|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.fmpe|Any CPU.Build.0 = fmpewrap|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.fmpe|Mixed Platforms.ActiveCfg = fmpewrap|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.fmpe|Mixed Platforms.Build.0 = fmpewrap|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.fmpe|Win32.ActiveCfg = fmpewrap|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.fmpe|x64.ActiveCfg = fmpewrap|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.fortDebug|Any CPU.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.fortDebug|Any CPU.Build.0 = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.fortDebug|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.fortDebug|Win32.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.fortDebug|x64.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.fortDebugConfig_1_0_5|Any CPU.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.fortDebugConfig_1_0_5|Any CPU.Build.0 = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.fortDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.fortDebugConfig_1_0_5|Mixed Platforms.Build.0 = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.fortDebugConfig_1_0_5|Win32.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.fortDebugConfig_1_0_5|x64.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.fortPRelease|Any CPU.ActiveCfg = fortPRelease|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.fortPRelease|Mixed Platforms.ActiveCfg = fortPRelease|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.fortPRelease|Win32.ActiveCfg = fortPRelease|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.fortPRelease|x64.ActiveCfg = fortPRelease|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.fortRelease|Any CPU.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.fortRelease|Any CPU.Build.0 = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.fortRelease|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.fortRelease|Win32.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.fortRelease|x64.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.gfortDebug|Any CPU.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.gfortDebug|Any CPU.Build.0 = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.gfortDebug|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.gfortDebug|Win32.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.gfortDebug|x64.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.gfortRelease|Any CPU.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.gfortRelease|Any CPU.Build.0 = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.gfortRelease|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.gfortRelease|Win32.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.gfortRelease|x64.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.Installer|Any CPU.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.Installer|Any CPU.Build.0 = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.Installer|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.Installer|Win32.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.Installer|x64.ActiveCfg = ch3nemesisPRelease|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.Installerx64|Any CPU.ActiveCfg = ch3nemesisPRelease|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.Installerx64|Any CPU.Build.0 = ch3nemesisPRelease|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.Installerx64|Mixed Platforms.ActiveCfg = ch3nemesisPRelease|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.Installerx64|Mixed Platforms.Build.0 = ch3nemesisPRelease|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.Installerx64|Win32.ActiveCfg = ch3nemesisPRelease|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.Installerx64|x64.ActiveCfg = ch3nemesisPRelease|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.mpichDebugConfig_1_0_4|Any CPU.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.mpichDebugConfig_1_0_4|Any CPU.Build.0 = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.mpichDebugConfig_1_0_4|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.mpichDebugConfig_1_0_4|Mixed Platforms.Build.0 = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.mpichDebugConfig_1_0_4|Win32.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.mpichDebugConfig_1_0_4|x64.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.mpichDebugConfig_1_0_5|Any CPU.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.mpichDebugConfig_1_0_5|Any CPU.Build.0 = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.mpichDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.mpichDebugConfig_1_0_5|Mixed Platforms.Build.0 = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.mpichDebugConfig_1_0_5|Win32.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.mpichDebugConfig_1_0_5|x64.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.mpichReleaseConfig_1_0_4|Any CPU.Build.0 = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.mpichReleaseConfig_1_0_4|Win32.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.mpichReleaseConfig_1_0_4|x64.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.mpichshm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.mpichshm_mpichReleaseConfig_1_0_4|Any CPU.Build.0 = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.mpichshm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.mpichshm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.mpichssm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.mpichssm_mpichReleaseConfig_1_0_4|Any CPU.Build.0 = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.mpichssm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.mpichssm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.mt_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.mt_mpichReleaseConfig_1_0_4|Any CPU.Build.0 = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.mt_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.mt_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.mt_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.mt_mpichReleaseConfig_1_0_4|x64.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.Release|Any CPU.Build.0 = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.Release|Mixed Platforms.Build.0 = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.Release|Win32.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.Release|x64.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.sfortDebug|Any CPU.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.sfortDebug|Any CPU.Build.0 = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.sfortDebug|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.sfortDebug|Win32.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.sfortDebug|x64.ActiveCfg = Debug|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.sfortRelease|Any CPU.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.sfortRelease|Any CPU.Build.0 = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.sfortRelease|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.sfortRelease|Win32.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.sfortRelease|x64.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.testrelease|Any CPU.ActiveCfg = ch3nemesisPRelease|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.testrelease|Any CPU.Build.0 = ch3nemesisPRelease|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.testrelease|Mixed Platforms.ActiveCfg = ch3nemesisPRelease|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.testrelease|Mixed Platforms.Build.0 = ch3nemesisPRelease|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.testrelease|Win32.ActiveCfg = ch3nemesisPRelease|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.testrelease|x64.ActiveCfg = ch3nemesisPRelease|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.wrapperUtilRelease|Any CPU.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.wrapperUtilRelease|Any CPU.Build.0 = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.wrapperUtilRelease|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.wrapperUtilRelease|Mixed Platforms.Build.0 = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.wrapperUtilRelease|Win32.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.wrapperUtilRelease|x64.ActiveCfg = Release|Any CPU
-		{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}.wrapperUtilRelease|x64.Build.0 = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3nemesisDebug|Any CPU.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3nemesisDebug|Any CPU.Build.0 = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3nemesisDebug|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3nemesisDebug|Win32.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3nemesisDebug|x64.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3nemesisPDebug|Any CPU.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3nemesisPDebug|Any CPU.Build.0 = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3nemesisPDebug|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3nemesisPDebug|Win32.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3nemesisPDebug|x64.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3nemesisPRelease|Any CPU.ActiveCfg = ch3nemesisPRelease|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3nemesisPRelease|Mixed Platforms.ActiveCfg = ch3nemesisPRelease|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3nemesisPRelease|Win32.ActiveCfg = ch3nemesisPRelease|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3nemesisPRelease|x64.ActiveCfg = ch3nemesisPRelease|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3nemesisRelease|Any CPU.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3nemesisRelease|Any CPU.Build.0 = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3nemesisRelease|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3nemesisRelease|Win32.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3nemesisRelease|x64.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3shmDebug|Any CPU.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3shmDebug|Any CPU.Build.0 = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3shmDebug|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3shmDebug|Win32.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3shmDebug|x64.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3shmPRelease|Any CPU.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3shmPRelease|Any CPU.Build.0 = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3shmPRelease|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3shmPRelease|Win32.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3shmPRelease|x64.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3shmRelease|Any CPU.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3shmRelease|Any CPU.Build.0 = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3shmRelease|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3shmRelease|Win32.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3shmRelease|x64.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3sockDebug|Any CPU.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3sockDebug|Any CPU.Build.0 = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3sockDebug|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3sockDebug|Win32.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3sockDebug|x64.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3sockmtDebug|Any CPU.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3sockmtDebug|Any CPU.Build.0 = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3sockmtDebug|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3sockmtDebug|Win32.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3sockmtDebug|x64.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3sockmtPRelease|Any CPU.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3sockmtPRelease|Any CPU.Build.0 = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3sockmtPRelease|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3sockmtPRelease|Win32.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3sockmtPRelease|x64.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3sockmtRelease|Any CPU.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3sockmtRelease|Any CPU.Build.0 = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3sockmtRelease|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3sockmtRelease|Win32.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3sockmtRelease|x64.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3sockPliteRelease|Any CPU.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3sockPliteRelease|Any CPU.Build.0 = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3sockPliteRelease|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3sockPliteRelease|Win32.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3sockPliteRelease|x64.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3sockPRelease|Any CPU.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3sockPRelease|Any CPU.Build.0 = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3sockPRelease|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3sockPRelease|Win32.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3sockPRelease|x64.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3sockRelease|Any CPU.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3sockRelease|Any CPU.Build.0 = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3sockRelease|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3sockRelease|Win32.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3sockRelease|x64.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3ssmDebug|Any CPU.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3ssmDebug|Any CPU.Build.0 = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3ssmDebug|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3ssmDebug|Win32.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3ssmDebug|x64.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3ssmPDebug|Any CPU.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3ssmPDebug|Any CPU.Build.0 = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3ssmPDebug|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3ssmPDebug|Win32.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3ssmPDebug|x64.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3ssmPRelease|Any CPU.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3ssmPRelease|Any CPU.Build.0 = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3ssmPRelease|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3ssmPRelease|Win32.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3ssmPRelease|x64.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3ssmRelease|Any CPU.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3ssmRelease|Any CPU.Build.0 = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3ssmRelease|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3ssmRelease|Win32.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.ch3ssmRelease|x64.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.Debug|Win32.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.DebugStatic|Any CPU.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.DebugStatic|Any CPU.Build.0 = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.DebugStatic|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.DebugStatic|Mixed Platforms.Build.0 = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.DebugStatic|Win32.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.DebugStatic|x64.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.fmpe|Any CPU.ActiveCfg = fmpewrap|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.fmpe|Any CPU.Build.0 = fmpewrap|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.fmpe|Mixed Platforms.ActiveCfg = fmpewrap|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.fmpe|Mixed Platforms.Build.0 = fmpewrap|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.fmpe|Win32.ActiveCfg = fmpewrap|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.fmpe|x64.ActiveCfg = fmpewrap|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.fortDebug|Any CPU.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.fortDebug|Any CPU.Build.0 = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.fortDebug|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.fortDebug|Win32.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.fortDebug|x64.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.fortDebugConfig_1_0_5|Any CPU.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.fortDebugConfig_1_0_5|Any CPU.Build.0 = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.fortDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.fortDebugConfig_1_0_5|Mixed Platforms.Build.0 = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.fortDebugConfig_1_0_5|Win32.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.fortDebugConfig_1_0_5|x64.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.fortPRelease|Any CPU.ActiveCfg = fortPRelease|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.fortPRelease|Mixed Platforms.ActiveCfg = fortPRelease|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.fortPRelease|Win32.ActiveCfg = fortPRelease|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.fortPRelease|x64.ActiveCfg = fortPRelease|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.fortRelease|Any CPU.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.fortRelease|Any CPU.Build.0 = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.fortRelease|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.fortRelease|Win32.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.fortRelease|x64.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.gfortDebug|Any CPU.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.gfortDebug|Any CPU.Build.0 = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.gfortDebug|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.gfortDebug|Win32.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.gfortDebug|x64.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.gfortRelease|Any CPU.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.gfortRelease|Any CPU.Build.0 = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.gfortRelease|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.gfortRelease|Win32.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.gfortRelease|x64.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.Installer|Any CPU.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.Installer|Any CPU.Build.0 = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.Installer|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.Installer|Win32.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.Installer|x64.ActiveCfg = ch3nemesisPRelease|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.Installerx64|Any CPU.ActiveCfg = ch3nemesisPRelease|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.Installerx64|Any CPU.Build.0 = ch3nemesisPRelease|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.Installerx64|Mixed Platforms.ActiveCfg = ch3nemesisPRelease|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.Installerx64|Mixed Platforms.Build.0 = ch3nemesisPRelease|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.Installerx64|Win32.ActiveCfg = ch3nemesisPRelease|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.Installerx64|x64.ActiveCfg = ch3nemesisPRelease|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.mpichDebugConfig_1_0_4|Any CPU.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.mpichDebugConfig_1_0_4|Any CPU.Build.0 = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.mpichDebugConfig_1_0_4|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.mpichDebugConfig_1_0_4|Mixed Platforms.Build.0 = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.mpichDebugConfig_1_0_4|Win32.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.mpichDebugConfig_1_0_4|x64.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.mpichDebugConfig_1_0_5|Any CPU.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.mpichDebugConfig_1_0_5|Any CPU.Build.0 = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.mpichDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.mpichDebugConfig_1_0_5|Mixed Platforms.Build.0 = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.mpichDebugConfig_1_0_5|Win32.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.mpichDebugConfig_1_0_5|x64.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.mpichReleaseConfig_1_0_4|Any CPU.Build.0 = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.mpichReleaseConfig_1_0_4|Win32.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.mpichReleaseConfig_1_0_4|x64.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.mpichshm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.mpichshm_mpichReleaseConfig_1_0_4|Any CPU.Build.0 = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.mpichshm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.mpichshm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.mpichssm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.mpichssm_mpichReleaseConfig_1_0_4|Any CPU.Build.0 = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.mpichssm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.mpichssm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.mt_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.mt_mpichReleaseConfig_1_0_4|Any CPU.Build.0 = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.mt_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.mt_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.mt_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.mt_mpichReleaseConfig_1_0_4|x64.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.Release|Any CPU.Build.0 = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.Release|Mixed Platforms.Build.0 = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.Release|Win32.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.Release|x64.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.sfortDebug|Any CPU.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.sfortDebug|Any CPU.Build.0 = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.sfortDebug|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.sfortDebug|Win32.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.sfortDebug|x64.ActiveCfg = Debug|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.sfortRelease|Any CPU.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.sfortRelease|Any CPU.Build.0 = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.sfortRelease|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.sfortRelease|Win32.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.sfortRelease|x64.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.testrelease|Any CPU.ActiveCfg = ch3nemesisPRelease|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.testrelease|Any CPU.Build.0 = ch3nemesisPRelease|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.testrelease|Mixed Platforms.ActiveCfg = ch3nemesisPRelease|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.testrelease|Mixed Platforms.Build.0 = ch3nemesisPRelease|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.testrelease|Win32.ActiveCfg = ch3nemesisPRelease|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.testrelease|x64.ActiveCfg = ch3nemesisPRelease|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.wrapperUtilRelease|Any CPU.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.wrapperUtilRelease|Any CPU.Build.0 = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.wrapperUtilRelease|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.wrapperUtilRelease|Mixed Platforms.Build.0 = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.wrapperUtilRelease|Win32.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.wrapperUtilRelease|x64.ActiveCfg = Release|Any CPU
-		{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}.wrapperUtilRelease|x64.Build.0 = Release|Any CPU
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3nemesisDebug|Any CPU.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3nemesisDebug|Any CPU.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3nemesisDebug|Mixed Platforms.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3nemesisDebug|Win32.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3nemesisDebug|Win32.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3nemesisDebug|x64.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3nemesisDebug|x64.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3nemesisPDebug|Any CPU.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3nemesisPDebug|Any CPU.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3nemesisPDebug|Mixed Platforms.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3nemesisPDebug|Win32.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3nemesisPDebug|Win32.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3nemesisPDebug|x64.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3nemesisPDebug|x64.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3nemesisPRelease|Any CPU.ActiveCfg = ch3nemesisPRelease
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3nemesisPRelease|Mixed Platforms.ActiveCfg = ch3nemesisPRelease
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3nemesisPRelease|Win32.ActiveCfg = ch3nemesisPRelease
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3nemesisPRelease|Win32.Build.0 = ch3nemesisPRelease
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3nemesisPRelease|x64.ActiveCfg = ch3nemesisPRelease
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3nemesisPRelease|x64.Build.0 = ch3nemesisPRelease
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3nemesisRelease|Any CPU.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3nemesisRelease|Any CPU.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3nemesisRelease|Mixed Platforms.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3nemesisRelease|Win32.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3nemesisRelease|Win32.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3nemesisRelease|x64.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3nemesisRelease|x64.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3shmDebug|Any CPU.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3shmDebug|Any CPU.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3shmDebug|Mixed Platforms.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3shmDebug|Mixed Platforms.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3shmDebug|Win32.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3shmDebug|Win32.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3shmDebug|x64.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3shmDebug|x64.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3shmPRelease|Any CPU.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3shmPRelease|Any CPU.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3shmPRelease|Mixed Platforms.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3shmPRelease|Win32.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3shmPRelease|Win32.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3shmPRelease|x64.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3shmPRelease|x64.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3shmRelease|Any CPU.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3shmRelease|Any CPU.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3shmRelease|Mixed Platforms.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3shmRelease|Win32.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3shmRelease|Win32.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3shmRelease|x64.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3shmRelease|x64.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockDebug|Any CPU.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockDebug|Any CPU.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockDebug|Mixed Platforms.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockDebug|Mixed Platforms.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockDebug|Win32.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockDebug|Win32.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockDebug|x64.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockDebug|x64.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockmtDebug|Any CPU.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockmtDebug|Any CPU.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockmtDebug|Mixed Platforms.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockmtDebug|Mixed Platforms.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockmtDebug|Win32.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockmtDebug|Win32.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockmtDebug|x64.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockmtDebug|x64.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockmtPRelease|Any CPU.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockmtPRelease|Any CPU.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockmtPRelease|Mixed Platforms.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockmtPRelease|Win32.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockmtPRelease|Win32.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockmtPRelease|x64.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockmtPRelease|x64.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockmtRelease|Any CPU.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockmtRelease|Any CPU.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockmtRelease|Mixed Platforms.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockmtRelease|Win32.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockmtRelease|Win32.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockmtRelease|x64.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockmtRelease|x64.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockPliteRelease|Any CPU.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockPliteRelease|Any CPU.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockPliteRelease|Mixed Platforms.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockPliteRelease|Mixed Platforms.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockPliteRelease|Win32.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockPliteRelease|Win32.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockPliteRelease|x64.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockPliteRelease|x64.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockPRelease|Any CPU.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockPRelease|Any CPU.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockPRelease|Mixed Platforms.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockPRelease|Win32.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockPRelease|Win32.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockPRelease|x64.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockPRelease|x64.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockRelease|Any CPU.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockRelease|Any CPU.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockRelease|Mixed Platforms.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockRelease|Win32.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockRelease|x64.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3sockRelease|x64.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3ssmDebug|Any CPU.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3ssmDebug|Any CPU.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3ssmDebug|Mixed Platforms.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3ssmDebug|Mixed Platforms.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3ssmDebug|Win32.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3ssmDebug|Win32.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3ssmDebug|x64.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3ssmDebug|x64.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3ssmPDebug|Any CPU.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3ssmPDebug|Any CPU.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3ssmPDebug|Mixed Platforms.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3ssmPDebug|Mixed Platforms.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3ssmPDebug|Win32.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3ssmPDebug|Win32.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3ssmPDebug|x64.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3ssmPDebug|x64.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3ssmPRelease|Any CPU.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3ssmPRelease|Any CPU.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3ssmPRelease|Mixed Platforms.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3ssmPRelease|Win32.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3ssmPRelease|Win32.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3ssmPRelease|x64.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3ssmPRelease|x64.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3ssmRelease|Any CPU.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3ssmRelease|Any CPU.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3ssmRelease|Mixed Platforms.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3ssmRelease|Win32.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3ssmRelease|Win32.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3ssmRelease|x64.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.ch3ssmRelease|x64.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.Debug|Any CPU.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.Debug|Any CPU.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.Debug|Mixed Platforms.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.Debug|Win32.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.Debug|Win32.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.Debug|x64.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.Debug|x64.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.DebugStatic|Any CPU.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.DebugStatic|Any CPU.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.DebugStatic|Mixed Platforms.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.DebugStatic|Mixed Platforms.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.DebugStatic|Win32.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.DebugStatic|Win32.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.DebugStatic|x64.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.DebugStatic|x64.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.fmpe|Any CPU.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.fmpe|Any CPU.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.fmpe|Mixed Platforms.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.fmpe|Win32.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.fmpe|Win32.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.fmpe|x64.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.fmpe|x64.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.fortDebug|Any CPU.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.fortDebug|Any CPU.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.fortDebug|Mixed Platforms.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.fortDebug|Mixed Platforms.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.fortDebug|Win32.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.fortDebug|Win32.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.fortDebug|x64.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.fortDebug|x64.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.fortDebugConfig_1_0_5|Any CPU.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.fortDebugConfig_1_0_5|Any CPU.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.fortDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.fortDebugConfig_1_0_5|Mixed Platforms.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.fortDebugConfig_1_0_5|Win32.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.fortDebugConfig_1_0_5|Win32.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.fortDebugConfig_1_0_5|x64.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.fortDebugConfig_1_0_5|x64.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.fortPRelease|Any CPU.ActiveCfg = fortPRelease
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.fortPRelease|Mixed Platforms.ActiveCfg = fortPRelease
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.fortPRelease|Win32.ActiveCfg = fortPRelease
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.fortPRelease|Win32.Build.0 = fortPRelease
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.fortPRelease|x64.ActiveCfg = fortPRelease
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.fortPRelease|x64.Build.0 = fortPRelease
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.fortRelease|Any CPU.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.fortRelease|Any CPU.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.fortRelease|Mixed Platforms.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.fortRelease|Win32.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.fortRelease|Win32.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.fortRelease|x64.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.fortRelease|x64.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.gfortDebug|Any CPU.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.gfortDebug|Any CPU.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.gfortDebug|Mixed Platforms.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.gfortDebug|Mixed Platforms.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.gfortDebug|Win32.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.gfortDebug|Win32.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.gfortDebug|x64.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.gfortDebug|x64.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.gfortRelease|Any CPU.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.gfortRelease|Any CPU.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.gfortRelease|Mixed Platforms.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.gfortRelease|Win32.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.gfortRelease|Win32.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.gfortRelease|x64.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.gfortRelease|x64.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.Installer|Any CPU.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.Installer|Mixed Platforms.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.Installer|Win32.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.Installer|Win32.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.Installer|x64.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.Installer|x64.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.Installerx64|Any CPU.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.Installerx64|Any CPU.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.Installerx64|Mixed Platforms.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.Installerx64|Mixed Platforms.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.Installerx64|Win32.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.Installerx64|Win32.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.Installerx64|x64.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.Installerx64|x64.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mpichDebugConfig_1_0_4|Any CPU.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mpichDebugConfig_1_0_4|Any CPU.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mpichDebugConfig_1_0_4|Mixed Platforms.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mpichDebugConfig_1_0_4|Mixed Platforms.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mpichDebugConfig_1_0_4|Win32.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mpichDebugConfig_1_0_4|Win32.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mpichDebugConfig_1_0_4|x64.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mpichDebugConfig_1_0_4|x64.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mpichDebugConfig_1_0_5|Any CPU.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mpichDebugConfig_1_0_5|Any CPU.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mpichDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mpichDebugConfig_1_0_5|Mixed Platforms.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mpichDebugConfig_1_0_5|Win32.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mpichDebugConfig_1_0_5|Win32.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mpichDebugConfig_1_0_5|x64.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mpichDebugConfig_1_0_5|x64.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mpichReleaseConfig_1_0_4|Any CPU.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mpichReleaseConfig_1_0_4|Win32.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mpichReleaseConfig_1_0_4|Win32.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mpichReleaseConfig_1_0_4|x64.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mpichReleaseConfig_1_0_4|x64.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mpichshm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mpichshm_mpichReleaseConfig_1_0_4|Any CPU.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mpichshm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mpichshm_mpichReleaseConfig_1_0_4|Win32.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mpichshm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mpichshm_mpichReleaseConfig_1_0_4|x64.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mpichssm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mpichssm_mpichReleaseConfig_1_0_4|Any CPU.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mpichssm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mpichssm_mpichReleaseConfig_1_0_4|Win32.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mpichssm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mpichssm_mpichReleaseConfig_1_0_4|x64.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mt_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mt_mpichReleaseConfig_1_0_4|Any CPU.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mt_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mt_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mt_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mt_mpichReleaseConfig_1_0_4|Win32.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mt_mpichReleaseConfig_1_0_4|x64.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.mt_mpichReleaseConfig_1_0_4|x64.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.Release|Any CPU.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.Release|Any CPU.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.Release|Mixed Platforms.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.Release|Win32.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.Release|Win32.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.Release|x64.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.Release|x64.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.sfortDebug|Any CPU.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.sfortDebug|Any CPU.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.sfortDebug|Mixed Platforms.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.sfortDebug|Mixed Platforms.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.sfortDebug|Win32.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.sfortDebug|Win32.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.sfortDebug|x64.ActiveCfg = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.sfortDebug|x64.Build.0 = Debug
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.sfortRelease|Any CPU.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.sfortRelease|Any CPU.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.sfortRelease|Mixed Platforms.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.sfortRelease|Win32.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.sfortRelease|Win32.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.sfortRelease|x64.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.sfortRelease|x64.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.testrelease|Any CPU.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.testrelease|Any CPU.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.testrelease|Mixed Platforms.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.testrelease|Mixed Platforms.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.testrelease|Win32.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.testrelease|Win32.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.testrelease|x64.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.testrelease|x64.Build.0 = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.wrapperUtilRelease|Any CPU.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.wrapperUtilRelease|Mixed Platforms.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.wrapperUtilRelease|Win32.ActiveCfg = Release
-		{6460CD1F-66E3-40FF-A9C9-A48CDA9B6EBD}.wrapperUtilRelease|x64.ActiveCfg = Release
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3nemesisDebug|Any CPU.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3nemesisDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3nemesisDebug|Win32.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3nemesisDebug|Win32.Build.0 = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3nemesisDebug|x64.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3nemesisPDebug|Any CPU.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3nemesisPDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3nemesisPDebug|Win32.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3nemesisPDebug|Win32.Build.0 = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3nemesisPDebug|x64.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3nemesisPRelease|Any CPU.ActiveCfg = ch3nemesisPRelease|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3nemesisPRelease|Mixed Platforms.ActiveCfg = ch3nemesisPRelease|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3nemesisPRelease|Win32.ActiveCfg = ch3nemesisPRelease|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3nemesisPRelease|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3nemesisRelease|Any CPU.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3nemesisRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3nemesisRelease|Win32.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3nemesisRelease|Win32.Build.0 = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3nemesisRelease|x64.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3shmDebug|Any CPU.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3shmDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3shmDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3shmDebug|Win32.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3shmDebug|Win32.Build.0 = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3shmDebug|x64.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3shmPRelease|Any CPU.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3shmPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3shmPRelease|Win32.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3shmPRelease|Win32.Build.0 = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3shmPRelease|x64.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3shmRelease|Any CPU.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3shmRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3shmRelease|Win32.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3shmRelease|Win32.Build.0 = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3shmRelease|x64.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3sockDebug|Any CPU.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3sockDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3sockDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3sockDebug|Win32.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3sockDebug|Win32.Build.0 = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3sockDebug|x64.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3sockmtDebug|Any CPU.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3sockmtDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3sockmtDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3sockmtDebug|Win32.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3sockmtDebug|Win32.Build.0 = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3sockmtDebug|x64.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3sockmtPRelease|Any CPU.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3sockmtPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3sockmtPRelease|Win32.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3sockmtPRelease|Win32.Build.0 = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3sockmtPRelease|x64.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3sockmtRelease|Any CPU.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3sockmtRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3sockmtRelease|Win32.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3sockmtRelease|Win32.Build.0 = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3sockmtRelease|x64.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3sockPliteRelease|Any CPU.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3sockPliteRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3sockPliteRelease|Mixed Platforms.Build.0 = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3sockPliteRelease|Win32.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3sockPliteRelease|Win32.Build.0 = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3sockPliteRelease|x64.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3sockPRelease|Any CPU.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3sockPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3sockPRelease|Win32.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3sockPRelease|Win32.Build.0 = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3sockPRelease|x64.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3sockRelease|Any CPU.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3sockRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3sockRelease|Win32.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3sockRelease|Win32.Build.0 = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3sockRelease|x64.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3ssmDebug|Any CPU.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3ssmDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3ssmDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3ssmDebug|Win32.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3ssmDebug|Win32.Build.0 = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3ssmDebug|x64.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3ssmPDebug|Any CPU.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3ssmPDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3ssmPDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3ssmPDebug|Win32.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3ssmPDebug|Win32.Build.0 = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3ssmPDebug|x64.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3ssmPRelease|Any CPU.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3ssmPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3ssmPRelease|Win32.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3ssmPRelease|Win32.Build.0 = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3ssmPRelease|x64.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3ssmRelease|Any CPU.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3ssmRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3ssmRelease|Win32.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3ssmRelease|Win32.Build.0 = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.ch3ssmRelease|x64.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.Debug|Any CPU.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.Debug|Win32.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.Debug|Win32.Build.0 = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.Debug|x64.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.DebugStatic|Any CPU.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.DebugStatic|Mixed Platforms.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.DebugStatic|Mixed Platforms.Build.0 = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.DebugStatic|Win32.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.DebugStatic|Win32.Build.0 = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.DebugStatic|x64.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.fmpe|Any CPU.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.fmpe|Mixed Platforms.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.fmpe|Win32.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.fmpe|Win32.Build.0 = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.fmpe|x64.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.fortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.fortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.fortDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.fortDebug|Win32.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.fortDebug|Win32.Build.0 = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.fortDebug|x64.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.fortDebugConfig_1_0_5|Any CPU.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.fortDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.fortDebugConfig_1_0_5|Mixed Platforms.Build.0 = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.fortDebugConfig_1_0_5|Win32.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.fortDebugConfig_1_0_5|Win32.Build.0 = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.fortDebugConfig_1_0_5|x64.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.fortPRelease|Any CPU.ActiveCfg = fortPRelease|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.fortPRelease|Mixed Platforms.ActiveCfg = fortPRelease|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.fortPRelease|Win32.ActiveCfg = fortPRelease|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.fortPRelease|Win32.Build.0 = fortPRelease|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.fortPRelease|x64.ActiveCfg = fortPRelease|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.fortRelease|Any CPU.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.fortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.fortRelease|Mixed Platforms.Build.0 = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.fortRelease|Win32.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.fortRelease|Win32.Build.0 = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.fortRelease|x64.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.gfortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.gfortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.gfortDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.gfortDebug|Win32.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.gfortDebug|Win32.Build.0 = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.gfortDebug|x64.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.gfortRelease|Any CPU.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.gfortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.gfortRelease|Win32.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.gfortRelease|Win32.Build.0 = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.gfortRelease|x64.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.Installer|Any CPU.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.Installer|Mixed Platforms.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.Installer|Win32.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.Installer|Win32.Build.0 = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.Installer|x64.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.Installerx64|Any CPU.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.Installerx64|Mixed Platforms.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.Installerx64|Win32.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.Installerx64|Win32.Build.0 = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.Installerx64|x64.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.mpichDebugConfig_1_0_4|Any CPU.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.mpichDebugConfig_1_0_4|Mixed Platforms.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.mpichDebugConfig_1_0_4|Mixed Platforms.Build.0 = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.mpichDebugConfig_1_0_4|Win32.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.mpichDebugConfig_1_0_4|Win32.Build.0 = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.mpichDebugConfig_1_0_4|x64.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.mpichDebugConfig_1_0_5|Any CPU.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.mpichDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.mpichDebugConfig_1_0_5|Mixed Platforms.Build.0 = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.mpichDebugConfig_1_0_5|Win32.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.mpichDebugConfig_1_0_5|Win32.Build.0 = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.mpichDebugConfig_1_0_5|x64.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.mpichReleaseConfig_1_0_4|Win32.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.mpichReleaseConfig_1_0_4|Win32.Build.0 = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.mpichReleaseConfig_1_0_4|x64.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.mpichshm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.mpichshm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.mpichshm_mpichReleaseConfig_1_0_4|Win32.Build.0 = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.mpichshm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.mpichssm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.mpichssm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.mpichssm_mpichReleaseConfig_1_0_4|Win32.Build.0 = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.mpichssm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.mt_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.mt_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.mt_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.mt_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.mt_mpichReleaseConfig_1_0_4|Win32.Build.0 = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.mt_mpichReleaseConfig_1_0_4|x64.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.Release|Any CPU.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.Release|Mixed Platforms.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.Release|Win32.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.Release|Win32.Build.0 = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.Release|x64.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.sfortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.sfortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.sfortDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.sfortDebug|Win32.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.sfortDebug|Win32.Build.0 = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.sfortDebug|x64.ActiveCfg = Debug|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.sfortRelease|Any CPU.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.sfortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.sfortRelease|Win32.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.sfortRelease|Win32.Build.0 = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.sfortRelease|x64.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.testrelease|Any CPU.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.testrelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.testrelease|Mixed Platforms.Build.0 = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.testrelease|Win32.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.testrelease|Win32.Build.0 = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.testrelease|x64.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.wrapperUtilRelease|Any CPU.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.wrapperUtilRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.wrapperUtilRelease|Win32.ActiveCfg = Release|Win32
-		{D9B35828-6D2D-4661-827E-80FDBB3C07C5}.wrapperUtilRelease|x64.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3nemesisDebug|Any CPU.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3nemesisDebug|Mixed Platforms.ActiveCfg = ch3nemesisDebug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3nemesisDebug|Mixed Platforms.Build.0 = ch3nemesisDebug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3nemesisDebug|Win32.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3nemesisDebug|Win32.Build.0 = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3nemesisDebug|x64.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3nemesisPDebug|Any CPU.ActiveCfg = ch3nemesisDebug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3nemesisPDebug|Mixed Platforms.ActiveCfg = ch3nemesisPDebug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3nemesisPDebug|Mixed Platforms.Build.0 = ch3nemesisPDebug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3nemesisPDebug|Win32.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3nemesisPDebug|Win32.Build.0 = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3nemesisPDebug|x64.ActiveCfg = ch3nemesisDebug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3nemesisPRelease|Any CPU.ActiveCfg = ch3nemesisPRelease|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3nemesisPRelease|Mixed Platforms.ActiveCfg = ch3nemesisPRelease|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3nemesisPRelease|Mixed Platforms.Build.0 = ch3nemesisPRelease|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3nemesisPRelease|Win32.ActiveCfg = ch3nemesisPRelease|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3nemesisPRelease|Win32.Build.0 = ch3nemesisPRelease|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3nemesisPRelease|x64.ActiveCfg = ch3nemesisPRelease|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3nemesisRelease|Any CPU.ActiveCfg = ch3nemesisPDebug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3nemesisRelease|Mixed Platforms.ActiveCfg = ch3nemesisRelease|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3nemesisRelease|Mixed Platforms.Build.0 = ch3nemesisRelease|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3nemesisRelease|Win32.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3nemesisRelease|Win32.Build.0 = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3nemesisRelease|x64.ActiveCfg = ch3nemesisPDebug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3shmDebug|Any CPU.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3shmDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3shmDebug|Win32.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3shmDebug|Win32.Build.0 = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3shmDebug|x64.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3shmPRelease|Any CPU.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3shmPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3shmPRelease|Win32.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3shmPRelease|Win32.Build.0 = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3shmPRelease|x64.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3shmRelease|Any CPU.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3shmRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3shmRelease|Win32.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3shmRelease|Win32.Build.0 = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3shmRelease|x64.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3sockDebug|Any CPU.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3sockDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3sockDebug|Win32.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3sockDebug|Win32.Build.0 = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3sockDebug|x64.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3sockmtDebug|Any CPU.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3sockmtDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3sockmtDebug|Win32.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3sockmtDebug|Win32.Build.0 = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3sockmtDebug|x64.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3sockmtPRelease|Any CPU.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3sockmtPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3sockmtPRelease|Win32.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3sockmtPRelease|Win32.Build.0 = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3sockmtPRelease|x64.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3sockmtRelease|Any CPU.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3sockmtRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3sockmtRelease|Win32.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3sockmtRelease|Win32.Build.0 = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3sockmtRelease|x64.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3sockPliteRelease|Any CPU.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3sockPliteRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3sockPliteRelease|Win32.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3sockPliteRelease|Win32.Build.0 = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3sockPliteRelease|x64.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3sockPRelease|Any CPU.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3sockPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3sockPRelease|Win32.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3sockPRelease|Win32.Build.0 = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3sockPRelease|x64.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3sockRelease|Any CPU.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3sockRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3sockRelease|Win32.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3sockRelease|Win32.Build.0 = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3sockRelease|x64.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3ssmDebug|Any CPU.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3ssmDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3ssmDebug|Win32.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3ssmDebug|Win32.Build.0 = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3ssmDebug|x64.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3ssmPDebug|Any CPU.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3ssmPDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3ssmPDebug|Win32.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3ssmPDebug|Win32.Build.0 = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3ssmPDebug|x64.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3ssmPRelease|Any CPU.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3ssmPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3ssmPRelease|Win32.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3ssmPRelease|Win32.Build.0 = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3ssmPRelease|x64.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3ssmRelease|Any CPU.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3ssmRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3ssmRelease|Win32.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3ssmRelease|Win32.Build.0 = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.ch3ssmRelease|x64.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.Debug|Any CPU.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.Debug|Win32.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.Debug|Win32.Build.0 = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.Debug|x64.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.DebugStatic|Any CPU.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.DebugStatic|Mixed Platforms.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.DebugStatic|Mixed Platforms.Build.0 = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.DebugStatic|Win32.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.DebugStatic|Win32.Build.0 = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.DebugStatic|x64.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.fmpe|Any CPU.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.fmpe|Mixed Platforms.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.fmpe|Win32.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.fmpe|Win32.Build.0 = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.fmpe|x64.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.fortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.fortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.fortDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.fortDebug|Win32.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.fortDebug|Win32.Build.0 = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.fortDebug|x64.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.fortDebugConfig_1_0_5|Any CPU.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.fortDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.fortDebugConfig_1_0_5|Mixed Platforms.Build.0 = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.fortDebugConfig_1_0_5|Win32.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.fortDebugConfig_1_0_5|Win32.Build.0 = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.fortDebugConfig_1_0_5|x64.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.fortPRelease|Any CPU.ActiveCfg = fortPRelease|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.fortPRelease|Mixed Platforms.ActiveCfg = fortPRelease|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.fortPRelease|Win32.ActiveCfg = fortPRelease|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.fortPRelease|x64.ActiveCfg = fortPRelease|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.fortRelease|Any CPU.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.fortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.fortRelease|Win32.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.fortRelease|Win32.Build.0 = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.fortRelease|x64.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.gfortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.gfortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.gfortDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.gfortDebug|Win32.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.gfortDebug|Win32.Build.0 = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.gfortDebug|x64.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.gfortRelease|Any CPU.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.gfortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.gfortRelease|Win32.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.gfortRelease|Win32.Build.0 = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.gfortRelease|x64.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.Installer|Any CPU.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.Installer|Mixed Platforms.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.Installer|Win32.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.Installer|Win32.Build.0 = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.Installer|x64.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.Installerx64|Any CPU.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.Installerx64|Mixed Platforms.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.Installerx64|Win32.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.Installerx64|Win32.Build.0 = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.Installerx64|x64.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.mpichDebugConfig_1_0_4|Any CPU.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.mpichDebugConfig_1_0_4|Mixed Platforms.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.mpichDebugConfig_1_0_4|Mixed Platforms.Build.0 = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.mpichDebugConfig_1_0_4|Win32.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.mpichDebugConfig_1_0_4|Win32.Build.0 = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.mpichDebugConfig_1_0_4|x64.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.mpichDebugConfig_1_0_5|Any CPU.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.mpichDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.mpichDebugConfig_1_0_5|Mixed Platforms.Build.0 = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.mpichDebugConfig_1_0_5|Win32.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.mpichDebugConfig_1_0_5|Win32.Build.0 = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.mpichDebugConfig_1_0_5|x64.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.mpichReleaseConfig_1_0_4|Win32.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.mpichReleaseConfig_1_0_4|Win32.Build.0 = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.mpichReleaseConfig_1_0_4|x64.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.mpichshm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.mpichshm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.mpichshm_mpichReleaseConfig_1_0_4|Win32.Build.0 = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.mpichshm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.mpichssm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.mpichssm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.mpichssm_mpichReleaseConfig_1_0_4|Win32.Build.0 = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.mpichssm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.mt_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.mt_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.mt_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.mt_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.mt_mpichReleaseConfig_1_0_4|Win32.Build.0 = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.mt_mpichReleaseConfig_1_0_4|x64.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.Release|Any CPU.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.Release|Mixed Platforms.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.Release|Win32.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.Release|Win32.Build.0 = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.Release|x64.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.sfortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.sfortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.sfortDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.sfortDebug|Win32.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.sfortDebug|Win32.Build.0 = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.sfortDebug|x64.ActiveCfg = Debug|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.sfortRelease|Any CPU.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.sfortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.sfortRelease|Win32.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.sfortRelease|Win32.Build.0 = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.sfortRelease|x64.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.testrelease|Any CPU.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.testrelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.testrelease|Mixed Platforms.Build.0 = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.testrelease|Win32.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.testrelease|Win32.Build.0 = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.testrelease|x64.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.wrapperUtilRelease|Any CPU.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.wrapperUtilRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.wrapperUtilRelease|Win32.ActiveCfg = Release|Win32
-		{10115F75-1A40-4155-BCD4-9521609DFFEC}.wrapperUtilRelease|x64.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3nemesisDebug|Any CPU.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3nemesisDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3nemesisDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3nemesisDebug|Win32.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3nemesisDebug|Win32.Build.0 = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3nemesisDebug|x64.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3nemesisPDebug|Any CPU.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3nemesisPDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3nemesisPDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3nemesisPDebug|Win32.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3nemesisPDebug|Win32.Build.0 = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3nemesisPDebug|x64.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3nemesisPRelease|Any CPU.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3nemesisPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3nemesisPRelease|Win32.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3nemesisPRelease|Win32.Build.0 = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3nemesisPRelease|x64.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3nemesisRelease|Any CPU.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3nemesisRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3nemesisRelease|Mixed Platforms.Build.0 = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3nemesisRelease|Win32.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3nemesisRelease|Win32.Build.0 = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3nemesisRelease|x64.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3shmDebug|Any CPU.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3shmDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3shmDebug|Win32.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3shmDebug|Win32.Build.0 = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3shmDebug|x64.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3shmPRelease|Any CPU.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3shmPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3shmPRelease|Win32.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3shmPRelease|Win32.Build.0 = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3shmPRelease|x64.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3shmRelease|Any CPU.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3shmRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3shmRelease|Win32.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3shmRelease|Win32.Build.0 = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3shmRelease|x64.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3sockDebug|Any CPU.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3sockDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3sockDebug|Win32.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3sockDebug|Win32.Build.0 = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3sockDebug|x64.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3sockmtDebug|Any CPU.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3sockmtDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3sockmtDebug|Win32.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3sockmtDebug|Win32.Build.0 = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3sockmtDebug|x64.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3sockmtPRelease|Any CPU.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3sockmtPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3sockmtPRelease|Win32.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3sockmtPRelease|Win32.Build.0 = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3sockmtPRelease|x64.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3sockmtRelease|Any CPU.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3sockmtRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3sockmtRelease|Win32.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3sockmtRelease|Win32.Build.0 = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3sockmtRelease|x64.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3sockPliteRelease|Any CPU.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3sockPliteRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3sockPliteRelease|Win32.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3sockPliteRelease|Win32.Build.0 = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3sockPliteRelease|x64.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3sockPRelease|Any CPU.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3sockPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3sockPRelease|Win32.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3sockPRelease|Win32.Build.0 = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3sockPRelease|x64.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3sockRelease|Any CPU.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3sockRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3sockRelease|Win32.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3sockRelease|Win32.Build.0 = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3sockRelease|x64.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3ssmDebug|Any CPU.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3ssmDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3ssmDebug|Win32.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3ssmDebug|Win32.Build.0 = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3ssmDebug|x64.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3ssmPDebug|Any CPU.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3ssmPDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3ssmPDebug|Win32.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3ssmPDebug|Win32.Build.0 = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3ssmPDebug|x64.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3ssmPRelease|Any CPU.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3ssmPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3ssmPRelease|Win32.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3ssmPRelease|Win32.Build.0 = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3ssmPRelease|x64.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3ssmRelease|Any CPU.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3ssmRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3ssmRelease|Win32.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3ssmRelease|Win32.Build.0 = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.ch3ssmRelease|x64.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.Debug|Any CPU.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.Debug|Win32.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.Debug|Win32.Build.0 = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.Debug|x64.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.DebugStatic|Any CPU.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.DebugStatic|Mixed Platforms.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.DebugStatic|Win32.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.DebugStatic|Win32.Build.0 = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.DebugStatic|x64.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.fmpe|Any CPU.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.fmpe|Mixed Platforms.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.fmpe|Win32.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.fmpe|Win32.Build.0 = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.fmpe|x64.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.fortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.fortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.fortDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.fortDebug|Win32.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.fortDebug|Win32.Build.0 = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.fortDebug|x64.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.fortDebugConfig_1_0_5|Any CPU.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.fortDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.fortDebugConfig_1_0_5|Mixed Platforms.Build.0 = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.fortDebugConfig_1_0_5|Win32.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.fortDebugConfig_1_0_5|Win32.Build.0 = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.fortDebugConfig_1_0_5|x64.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.fortPRelease|Any CPU.ActiveCfg = fortPRelease|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.fortPRelease|Mixed Platforms.ActiveCfg = fortPRelease|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.fortPRelease|Win32.ActiveCfg = fortPRelease|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.fortPRelease|x64.ActiveCfg = fortPRelease|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.fortRelease|Any CPU.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.fortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.fortRelease|Win32.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.fortRelease|Win32.Build.0 = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.fortRelease|x64.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.gfortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.gfortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.gfortDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.gfortDebug|Win32.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.gfortDebug|Win32.Build.0 = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.gfortDebug|x64.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.gfortRelease|Any CPU.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.gfortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.gfortRelease|Win32.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.gfortRelease|Win32.Build.0 = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.gfortRelease|x64.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.Installer|Any CPU.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.Installer|Mixed Platforms.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.Installer|Win32.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.Installer|Win32.Build.0 = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.Installer|x64.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.Installerx64|Any CPU.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.Installerx64|Mixed Platforms.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.Installerx64|Win32.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.Installerx64|Win32.Build.0 = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.Installerx64|x64.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.mpichDebugConfig_1_0_4|Any CPU.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.mpichDebugConfig_1_0_4|Mixed Platforms.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.mpichDebugConfig_1_0_4|Mixed Platforms.Build.0 = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.mpichDebugConfig_1_0_4|Win32.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.mpichDebugConfig_1_0_4|Win32.Build.0 = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.mpichDebugConfig_1_0_4|x64.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.mpichDebugConfig_1_0_5|Any CPU.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.mpichDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.mpichDebugConfig_1_0_5|Mixed Platforms.Build.0 = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.mpichDebugConfig_1_0_5|Win32.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.mpichDebugConfig_1_0_5|Win32.Build.0 = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.mpichDebugConfig_1_0_5|x64.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.mpichReleaseConfig_1_0_4|Win32.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.mpichReleaseConfig_1_0_4|Win32.Build.0 = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.mpichReleaseConfig_1_0_4|x64.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.mpichshm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.mpichshm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.mpichshm_mpichReleaseConfig_1_0_4|Win32.Build.0 = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.mpichshm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.mpichssm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.mpichssm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.mpichssm_mpichReleaseConfig_1_0_4|Win32.Build.0 = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.mpichssm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.mt_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.mt_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.mt_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.mt_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.mt_mpichReleaseConfig_1_0_4|Win32.Build.0 = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.mt_mpichReleaseConfig_1_0_4|x64.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.Release|Any CPU.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.Release|Mixed Platforms.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.Release|Win32.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.Release|Win32.Build.0 = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.Release|x64.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.sfortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.sfortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.sfortDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.sfortDebug|Win32.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.sfortDebug|Win32.Build.0 = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.sfortDebug|x64.ActiveCfg = Debug|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.sfortRelease|Any CPU.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.sfortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.sfortRelease|Win32.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.sfortRelease|Win32.Build.0 = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.sfortRelease|x64.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.testrelease|Any CPU.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.testrelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.testrelease|Mixed Platforms.Build.0 = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.testrelease|Win32.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.testrelease|Win32.Build.0 = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.testrelease|x64.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.wrapperUtilRelease|Any CPU.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.wrapperUtilRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.wrapperUtilRelease|Win32.ActiveCfg = Release|Win32
-		{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}.wrapperUtilRelease|x64.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3nemesisDebug|Any CPU.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3nemesisDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3nemesisDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3nemesisDebug|Win32.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3nemesisDebug|Win32.Build.0 = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3nemesisDebug|x64.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3nemesisPDebug|Any CPU.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3nemesisPDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3nemesisPDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3nemesisPDebug|Win32.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3nemesisPDebug|Win32.Build.0 = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3nemesisPDebug|x64.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3nemesisPRelease|Any CPU.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3nemesisPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3nemesisPRelease|Mixed Platforms.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3nemesisPRelease|Win32.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3nemesisPRelease|Win32.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3nemesisPRelease|x64.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3nemesisRelease|Any CPU.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3nemesisRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3nemesisRelease|Mixed Platforms.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3nemesisRelease|Win32.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3nemesisRelease|Win32.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3nemesisRelease|x64.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3shmDebug|Any CPU.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3shmDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3shmDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3shmDebug|Win32.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3shmDebug|Win32.Build.0 = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3shmDebug|x64.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3shmPRelease|Any CPU.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3shmPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3shmPRelease|Mixed Platforms.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3shmPRelease|Win32.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3shmPRelease|Win32.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3shmPRelease|x64.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3shmRelease|Any CPU.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3shmRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3shmRelease|Mixed Platforms.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3shmRelease|Win32.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3shmRelease|Win32.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3shmRelease|x64.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3sockDebug|Any CPU.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3sockDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3sockDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3sockDebug|Win32.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3sockDebug|Win32.Build.0 = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3sockDebug|x64.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3sockmtDebug|Any CPU.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3sockmtDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3sockmtDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3sockmtDebug|Win32.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3sockmtDebug|Win32.Build.0 = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3sockmtDebug|x64.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3sockmtPRelease|Any CPU.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3sockmtPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3sockmtPRelease|Mixed Platforms.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3sockmtPRelease|Win32.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3sockmtPRelease|Win32.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3sockmtPRelease|x64.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3sockmtRelease|Any CPU.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3sockmtRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3sockmtRelease|Mixed Platforms.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3sockmtRelease|Win32.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3sockmtRelease|Win32.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3sockmtRelease|x64.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3sockPliteRelease|Any CPU.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3sockPliteRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3sockPliteRelease|Mixed Platforms.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3sockPliteRelease|Win32.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3sockPliteRelease|Win32.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3sockPliteRelease|x64.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3sockPRelease|Any CPU.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3sockPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3sockPRelease|Mixed Platforms.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3sockPRelease|Win32.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3sockPRelease|Win32.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3sockPRelease|x64.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3sockRelease|Any CPU.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3sockRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3sockRelease|Mixed Platforms.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3sockRelease|Win32.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3sockRelease|Win32.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3sockRelease|x64.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3ssmDebug|Any CPU.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3ssmDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3ssmDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3ssmDebug|Win32.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3ssmDebug|Win32.Build.0 = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3ssmDebug|x64.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3ssmPDebug|Any CPU.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3ssmPDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3ssmPDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3ssmPDebug|Win32.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3ssmPDebug|Win32.Build.0 = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3ssmPDebug|x64.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3ssmPRelease|Any CPU.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3ssmPRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3ssmPRelease|Mixed Platforms.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3ssmPRelease|Win32.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3ssmPRelease|Win32.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3ssmPRelease|x64.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3ssmRelease|Any CPU.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3ssmRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3ssmRelease|Mixed Platforms.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3ssmRelease|Win32.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3ssmRelease|Win32.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.ch3ssmRelease|x64.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.Debug|Any CPU.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.Debug|Mixed Platforms.Build.0 = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.Debug|Win32.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.Debug|Win32.Build.0 = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.Debug|x64.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.DebugStatic|Any CPU.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.DebugStatic|Mixed Platforms.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.DebugStatic|Mixed Platforms.Build.0 = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.DebugStatic|Win32.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.DebugStatic|Win32.Build.0 = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.DebugStatic|x64.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.fmpe|Any CPU.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.fmpe|Mixed Platforms.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.fmpe|Mixed Platforms.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.fmpe|Win32.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.fmpe|Win32.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.fmpe|x64.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.fortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.fortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.fortDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.fortDebug|Win32.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.fortDebug|Win32.Build.0 = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.fortDebug|x64.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.fortDebugConfig_1_0_5|Any CPU.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.fortDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.fortDebugConfig_1_0_5|Mixed Platforms.Build.0 = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.fortDebugConfig_1_0_5|Win32.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.fortDebugConfig_1_0_5|Win32.Build.0 = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.fortDebugConfig_1_0_5|x64.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.fortPRelease|Any CPU.ActiveCfg = fortPRelease|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.fortPRelease|Mixed Platforms.ActiveCfg = fortPRelease|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.fortPRelease|Win32.ActiveCfg = fortPRelease|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.fortPRelease|Win32.Build.0 = fortPRelease|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.fortPRelease|x64.ActiveCfg = fortPRelease|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.fortRelease|Any CPU.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.fortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.fortRelease|Mixed Platforms.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.fortRelease|Win32.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.fortRelease|Win32.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.fortRelease|x64.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.gfortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.gfortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.gfortDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.gfortDebug|Win32.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.gfortDebug|Win32.Build.0 = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.gfortDebug|x64.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.gfortRelease|Any CPU.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.gfortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.gfortRelease|Mixed Platforms.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.gfortRelease|Win32.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.gfortRelease|Win32.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.gfortRelease|x64.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.Installer|Any CPU.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.Installer|Mixed Platforms.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.Installer|Mixed Platforms.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.Installer|Win32.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.Installer|Win32.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.Installer|x64.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.Installerx64|Any CPU.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.Installerx64|Mixed Platforms.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.Installerx64|Mixed Platforms.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.Installerx64|Win32.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.Installerx64|Win32.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.Installerx64|x64.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.mpichDebugConfig_1_0_4|Any CPU.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.mpichDebugConfig_1_0_4|Mixed Platforms.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.mpichDebugConfig_1_0_4|Mixed Platforms.Build.0 = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.mpichDebugConfig_1_0_4|Win32.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.mpichDebugConfig_1_0_4|Win32.Build.0 = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.mpichDebugConfig_1_0_4|x64.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.mpichDebugConfig_1_0_5|Any CPU.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.mpichDebugConfig_1_0_5|Mixed Platforms.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.mpichDebugConfig_1_0_5|Mixed Platforms.Build.0 = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.mpichDebugConfig_1_0_5|Win32.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.mpichDebugConfig_1_0_5|Win32.Build.0 = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.mpichDebugConfig_1_0_5|x64.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.mpichReleaseConfig_1_0_4|Win32.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.mpichReleaseConfig_1_0_4|Win32.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.mpichReleaseConfig_1_0_4|x64.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.mpichshm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.mpichshm_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.mpichshm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.mpichshm_mpichReleaseConfig_1_0_4|Win32.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.mpichshm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.mpichssm_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.mpichssm_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.mpichssm_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.mpichssm_mpichReleaseConfig_1_0_4|Win32.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.mpichssm_mpichReleaseConfig_1_0_4|x64.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.mt_mpichReleaseConfig_1_0_4|Any CPU.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.mt_mpichReleaseConfig_1_0_4|Mixed Platforms.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.mt_mpichReleaseConfig_1_0_4|Mixed Platforms.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.mt_mpichReleaseConfig_1_0_4|Win32.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.mt_mpichReleaseConfig_1_0_4|Win32.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.mt_mpichReleaseConfig_1_0_4|x64.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.Release|Any CPU.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.Release|Mixed Platforms.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.Release|Mixed Platforms.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.Release|Win32.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.Release|Win32.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.Release|x64.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.sfortDebug|Any CPU.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.sfortDebug|Mixed Platforms.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.sfortDebug|Mixed Platforms.Build.0 = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.sfortDebug|Win32.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.sfortDebug|Win32.Build.0 = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.sfortDebug|x64.ActiveCfg = Debug|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.sfortRelease|Any CPU.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.sfortRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.sfortRelease|Mixed Platforms.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.sfortRelease|Win32.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.sfortRelease|Win32.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.sfortRelease|x64.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.testrelease|Any CPU.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.testrelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.testrelease|Mixed Platforms.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.testrelease|Win32.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.testrelease|Win32.Build.0 = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.testrelease|x64.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.wrapperUtilRelease|Any CPU.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.wrapperUtilRelease|Mixed Platforms.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.wrapperUtilRelease|Win32.ActiveCfg = Release|Win32
-		{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}.wrapperUtilRelease|x64.ActiveCfg = Release|Win32
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-EndGlobal
diff --git a/mpich.vcproj b/mpich.vcproj
deleted file mode 100644
index c5bdfb4..0000000
--- a/mpich.vcproj
+++ /dev/null
@@ -1,8300 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="mpich"
-	ProjectGUID="{0FACD81A-FE33-4845-ACF6-A1D50BD35991}"
-	RootNamespace="mpich"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="ch3shmDebug|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_DEBUG"
-				MkTypLibCompatible="true"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				TypeLibraryName=".\$(ConfigurationName)/mpich.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="src\mpi\romio\mpi-io,src\mpi\romio\adio\include,src\include,src\include\win32,src\mpid\common\datatype,src\mpid\common\sock,src\mpid\ch3\channels\shm\include,src\mpid\ch3\include,src\mpid\common\locks,src\mpi\datatype"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;_DEBUG;USE_WINCONF_H;MPICH_DBG_OUTPUT;MPIO_BUILD_PROFILING;HAVE_FORTRAN_BINDING;MPI_EXPORTS;WORDS_LITTLEENDIAN"
-				StringPooling="false"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/mpich.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				BrowseInformation="1"
-				WarningLevel="4"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_DEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib ch3shmd.lib cxxd.lib dbgd.lib pmid.lib smpd_utild.lib sockd.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="lib/mpichshmd.dll"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="lib"
-				ModuleDefinitionFile=".\mpich.def"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\$(ConfigurationName)/mpichshmd.pdb"
-				ImportLibrary=".\$(ConfigurationName)/mpichshmd.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying mpichshmd.dll to system32 directory"
-				CommandLine="copy lib\mpichshmd.dll %SystemRoot%\system32\mpichshmd.dll&#x0D;&#x0A;copy $(ConfigurationName)\mpichshmd.lib lib\mpichshmd.lib&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3shmRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;NDEBUG"
-				MkTypLibCompatible="true"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				TypeLibraryName=".\$(ConfigurationName)/mpich.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				InlineFunctionExpansion="1"
-				EnableIntrinsicFunctions="true"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories=""src\mpi\romio\mpi-io";src\mpi\romio\adio\include;src\include;src\include\win32;src\mpl\include;src\mpid\common\datatype;src\mpid\common\sock;src\mpid\ch3\channels\shm\include;src\mpid\ch3\include;src\mpid\common\locks;src\mpi\datatype;src\mpi\binding\f90;src\mpi\binding\f90\win32"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32,NDEBUG,USE_WINCONF_H,MPIO_BUILD_PROFILING,HAVE_FORTRAN_BINDING,MPI_EXPORTS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				BufferSecurityCheck="false"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/mpich.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				BrowseInformation="0"
-				WarningLevel="4"
-				SuppressStartupBanner="true"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;NDEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib mpl.lib smpd_util.lib sock.lib ch3shm.lib cxx.lib dbg.lib pmi.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="lib/mpichshm.dll"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="lib"
-				ModuleDefinitionFile=".\mpich.def"
-				ProgramDatabaseFile=".\$(ConfigurationName)/mpichshm.pdb"
-				ImportLibrary=".\$(ConfigurationName)/mpichshm.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying mpichshm.dll to system32 directory"
-				CommandLine="copy lib\mpichshm.dll %SystemRoot%\system32\mpichshm.dll&#x0D;&#x0A;copy $(ConfigurationName)\mpichshm.lib lib\mpichshm.lib&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3ssmDebug|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_DEBUG"
-				MkTypLibCompatible="true"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				TypeLibraryName=".\$(ConfigurationName)/mpich.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="src\mpi\romio\mpi-io,src\mpi\romio\adio\include,src\include,src\include\win32,src\mpid\common\datatype,src\mpid\common\sock,src\mpid\common\sock\iocp,src\mpid\ch3\channels\ssm\include,src\mpid\ch3\include,src\mpid\common\locks,src\mpi\datatype"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32,_DEBUG,USE_WINCONF_H,MPICH_DBG_OUTPUT,MPIO_BUILD_PROFILING,HAVE_FORTRAN_BINDING,MPI_EXPORTS"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/mpich.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				BrowseInformation="1"
-				WarningLevel="4"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_DEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib smpd_utild.lib dbgd.lib sockd.lib ch3ssmd.lib pmid.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="lib/mpichssmd.dll"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="lib"
-				ModuleDefinitionFile=".\mpich.def"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\$(ConfigurationName)/mpichssmd.pdb"
-				ImportLibrary=".\$(ConfigurationName)/mpichssmd.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying mpichssmd.dll to system32 directory"
-				CommandLine="copy lib\mpichssmd.dll %SystemRoot%\system32\mpichssmd.dll&#x0D;&#x0A;copy $(ConfigurationName)\mpichssmd.lib lib\mpichssmd.lib&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3ssmRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;NDEBUG"
-				MkTypLibCompatible="true"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				TypeLibraryName=".\$(ConfigurationName)/mpich.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				InlineFunctionExpansion="1"
-				AdditionalIncludeDirectories=""src\mpi\romio\mpi-io";src\mpi\romio\adio\include;src\include;src\include\win32;src\mpl\include;src\mpid\common\datatype;src\mpid\common\sock;src\mpid\common\sock\iocp;src\mpid\ch3\channels\ssm\include;src\mpid\ch3\include;src\mpid\common\locks;src\mpi\datatype;src\mpi\binding\f90;src\mpi\binding\f90\win32"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32,NDEBUG,USE_WINCONF_H,MPIO_BUILD_PROFILING,HAVE_FORTRAN_BINDING,MPI_EXPORTS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/mpich.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				BrowseInformation="0"
-				WarningLevel="4"
-				SuppressStartupBanner="true"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;NDEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib mpl.lib smpd_util.lib dbg.lib sock.lib ch3ssm.lib pmi.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="lib/mpichssm.dll"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="lib"
-				ModuleDefinitionFile=".\mpich.def"
-				ProgramDatabaseFile=".\$(ConfigurationName)/mpichssm.pdb"
-				ImportLibrary=".\$(ConfigurationName)/mpichssm.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying mpichssm.dll to system32 directory"
-				CommandLine="copy lib\mpichssm.dll %SystemRoot%\system32\mpichssm.dll&#x0D;&#x0A;copy $(ConfigurationName)\mpichssm.lib lib\mpichssm.lib&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3sockDebug|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_DEBUG"
-				MkTypLibCompatible="true"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				TypeLibraryName=".\$(ConfigurationName)/mpich.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="src\mpi\romio\mpi-io,src\mpi\romio\adio\include,src\include,src\include\win32,src\mpid\common\datatype,src\mpid\common\sock,src\mpid\common\sock\iocp,src\mpid\ch3\include,src\mpid\common\locks,src\mpid\ch3\channels\sock\include,src\mpi\datatype,src\mpi\datatype"
-				PreprocessorDefinitions="WIN32;_DEBUG;USE_WINCONF_H;MPICH_DBG_OUTPUT;MPIO_BUILD_PROFILING;HAVE_FORTRAN_BINDING;MPI_EXPORTS;WORDS_LITTLEENDIAN"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/mpich.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				BrowseInformation="1"
-				WarningLevel="4"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_DEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib smpd_utild.lib dbgd.lib sockd.lib ch3nemesisd.lib pmid.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="lib/mpichd.dll"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="lib"
-				IgnoreAllDefaultLibraries="false"
-				IgnoreDefaultLibraryNames="libcd.lib"
-				ModuleDefinitionFile=".\mpich.def"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\$(ConfigurationName)/mpichd.pdb"
-				ImportLibrary=".\$(ConfigurationName)/mpichd.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying mpichd.dll to system32 directory"
-				CommandLine="copy lib\mpichd.dll %SystemRoot%\system32\mpichd.dll&#x0D;&#x0A;copy $(ConfigurationName)\mpichd.lib lib\mpichd.lib&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3sockRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;NDEBUG"
-				MkTypLibCompatible="true"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				TypeLibraryName=".\$(ConfigurationName)/mpich.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				InlineFunctionExpansion="1"
-				EnableIntrinsicFunctions="true"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories=""src\mpi\romio\mpi-io";src\mpi\romio\adio\include;src\include;src\include\win32;src\mpl\include;src\mpid\common\datatype;src\mpid\common\sched;src\mpid\common\sock;src\mpid\common\sock\iocp;src\mpid\ch3\include;src\mpid\common\locks;src\mpid\ch3\channels\sock\include;src\mpi\datatype;src\mpi\binding\f90;src\mpi\binding\f90\win32"
-				PreprocessorDefinitions="WIN32;NDEBUG;USE_WINCONF_H;MPIO_BUILD_PROFILING;HAVE_FORTRAN_BINDING;MPI_EXPORTS;WORDS_LITTLEENDIAN"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				BufferSecurityCheck="false"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/mpich.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				BrowseInformation="0"
-				WarningLevel="4"
-				SuppressStartupBanner="true"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;NDEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib smpd_util.lib dbg.lib sock.lib ch3sock.lib pmi.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="lib/mpich.dll"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="lib"
-				IgnoreDefaultLibraryNames="libc.lib"
-				ModuleDefinitionFile=".\mpich.def"
-				GenerateDebugInformation="false"
-				ProgramDatabaseFile=".\$(ConfigurationName)/mpich.pdb"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				ImportLibrary=".\$(ConfigurationName)/mpich.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying mpich.dll to system32 directory"
-				CommandLine="copy lib\mpich.dll %SystemRoot%\system32\mpich.dll&#x0D;&#x0A;copy $(ConfigurationName)\mpich.lib lib\mpich.lib&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3sockPRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;NDEBUG"
-				MkTypLibCompatible="true"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				TypeLibraryName=".\$(ConfigurationName)/mpich.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				InlineFunctionExpansion="1"
-				EnableIntrinsicFunctions="true"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories=""src\mpi\romio\mpi-io";src\mpi\romio\adio\include;src\include;src\include\win32;src\mpl\include;src\mpid\common\datatype;src\mpid\common\sched;src\mpid\common\sock;src\mpid\common\sock\iocp;src\mpid\ch3\include;src\mpid\common\locks;src\mpid\ch3\channels\sock\include;src\mpi\datatype;src\mpi\binding\f90;src\mpi\binding\f90\win32"
-				PreprocessorDefinitions="WIN32;NDEBUG;USE_WINCONF_H;HAVE_TIMING=MPID_TIMING_KIND_LOG_DETAILED;USE_LOGGING=MPID_LOGGING_RLOG;MPIO_BUILD_PROFILING;HAVE_FORTRAN_BINDING;MPI_EXPORTS;WORDS_LITTLEENDIAN"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				BufferSecurityCheck="false"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/mpich.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				BrowseInformation="0"
-				WarningLevel="4"
-				SuppressStartupBanner="true"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;NDEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib smpd_util.lib dbg.lib sockp.lib ch3sockp.lib pmi.lib rlog.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="lib/mpichp.dll"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="lib"
-				IgnoreDefaultLibraryNames="libc.lib"
-				ModuleDefinitionFile=".\mpich.def"
-				ProgramDatabaseFile=".\$(ConfigurationName)/mpichp.pdb"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				ImportLibrary=".\$(ConfigurationName)/mpichp.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying mpichp.dll to system32 directory"
-				CommandLine="copy lib\mpichp.dll %SystemRoot%\system32\mpichp.dll&#x0D;&#x0A;copy $(ConfigurationName)\mpichp.lib lib\mpichp.lib&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3ssmPDebug|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_DEBUG"
-				MkTypLibCompatible="true"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				TypeLibraryName=".\$(ConfigurationName)/mpich.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="src\mpi\romio\mpi-io,src\mpi\romio\adio\include,src\include,src\include\win32,src\mpid\common\datatype,src\mpid\common\sock,src\mpid\common\sock\iocp,src\mpid\ch3\channels\ssm\include,src\mpid\ch3\include,src\mpid\common\locks,src\mpi\datatype"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32,_DEBUG,USE_WINCONF_H,HAVE_TIMING=MPID_TIMING_KIND_LOG_DETAILED,USE_LOGGING=MPID_LOGGING_RLOG,MPIO_BUILD_PROFILING,HAVE_FORTRAN_BINDING,MPI_EXPORTS"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/mpich.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				BrowseInformation="1"
-				WarningLevel="4"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_DEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib smpd_utild.lib dbgd.lib rlogd.lib sockpd.lib ch3ssmpd.lib pmid.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="lib/mpichssmpd.dll"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="lib"
-				ModuleDefinitionFile=".\mpich.def"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\$(ConfigurationName)/mpichssmpd.pdb"
-				ImportLibrary=".\$(ConfigurationName)/mpichssmpd.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying mpichssmpd.dll to system32 directory"
-				CommandLine="copy lib\mpichssmpd.dll %SystemRoot%\system32\mpichssmpd.dll&#x0D;&#x0A;copy $(ConfigurationName)\mpichssmpd.lib lib\mpichssmpd.lib&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3sockPliteRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;NDEBUG"
-				MkTypLibCompatible="true"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				TypeLibraryName=".\$(ConfigurationName)/mpich.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				InlineFunctionExpansion="1"
-				EnableIntrinsicFunctions="true"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="src\mpi\romio\mpi-io,src\mpi\romio\adio\include,src\include,src\include\win32,src\mpid\common\datatype,src\mpid\common\sock,src\mpid\common\sock\iocp,src\mpid\ch3\include,src\mpid\common\locks,src\mpid\ch3\channels\sock\include,src\mpi\datatype"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32,NDEBUG,USE_WINCONF_H,HAVE_TIMING=MPID_TIMING_KIND_LOG,USE_LOGGING=MPID_LOGGING_RLOG,MPIO_BUILD_PROFILING,HAVE_FORTRAN_BINDING,MPI_EXPORTS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				BufferSecurityCheck="false"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/mpich.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				BrowseInformation="1"
-				WarningLevel="4"
-				SuppressStartupBanner="true"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;NDEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib smpd_util.lib dbg.lib sockpl.lib ch3sockpl.lib pmi.lib rlog.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="lib/mpichpl.dll"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="lib"
-				IgnoreDefaultLibraryNames="libc.lib"
-				ModuleDefinitionFile=".\mpich.def"
-				ProgramDatabaseFile=".\$(ConfigurationName)/mpichpl.pdb"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				ImportLibrary=".\$(ConfigurationName)/mpichpl.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying mpichpl.dll to system32 directory"
-				CommandLine="copy lib\mpichpl.dll %SystemRoot%\system32\mpichpl.dll&#x0D;&#x0A;copy $(ConfigurationName)\mpichpl.lib lib\mpichpl.lib&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3sshmDebug|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_DEBUG"
-				MkTypLibCompatible="true"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				TypeLibraryName=".\$(ConfigurationName)/mpich.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="src\mpi\romio\mpi-io,src\mpi\romio\adio\include,src\include,src\include\win32,src\mpid\common\datatype,src\mpid\ch3\channels\sshm\include,src\mpid\ch3\include,src\mpid\common\locks,src\mpi\datatype"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32,_DEBUG,USE_WINCONF_H,MPICH_DBG_OUTPUT,MPIO_BUILD_PROFILING,HAVE_FORTRAN_BINDING,MPI_EXPORTS"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/mpich.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				BrowseInformation="1"
-				WarningLevel="4"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_DEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib smpd_utild.lib sockd.lib dbgd.lib ch3sshmd.lib pmid.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="lib/mpichsshmd.dll"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="lib"
-				ModuleDefinitionFile=".\mpich.def"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\$(ConfigurationName)/mpichsshmd.pdb"
-				ImportLibrary=".\$(ConfigurationName)/mpichsshmd.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying mpichsshmd.dll to system32 directory"
-				CommandLine="copy lib\mpichsshmd.dll %SystemRoot%\system32\mpichsshmd.dll&#x0D;&#x0A;copy $(ConfigurationName)\mpichsshmd.lib lib\mpichsshmd.lib&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3sshmPDebug|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_DEBUG"
-				MkTypLibCompatible="true"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				TypeLibraryName=".\$(ConfigurationName)/mpich.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="src\mpi\romio\mpi-io,src\mpi\romio\adio\include,src\include,src\include\win32,src\mpid\common\datatype,src\mpid\common\sock,src\mpid\common\sock\iocp,src\mpid\ch3\channels\ssm\include,src\mpid\ch3\include,src\mpid\common\locks,src\mpi\datatype"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32,_DEBUG,USE_WINCONF_H,HAVE_TIMING=MPID_TIMING_KIND_LOG_DETAILED,USE_LOGGING=MPID_LOGGING_RLOG,MPIO_BUILD_PROFILING,HAVE_FORTRAN_BINDING,MPI_EXPORTS"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/mpich.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				BrowseInformation="1"
-				WarningLevel="4"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_DEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib smpd_utild.lib sockpd.lib dbgd.lib rlogd.lib ch3sshmpd.lib pmid.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="lib/mpichsshmpd.dll"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="lib"
-				ModuleDefinitionFile=".\mpich.def"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\$(ConfigurationName)/mpichsshmpd.pdb"
-				ImportLibrary=".\$(ConfigurationName)/mpichsshmpd.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying mpichsshmpd.dll to system32 directory"
-				CommandLine="copy lib\mpichsshmpd.dll %SystemRoot%\system32\mpichsshmpd.dll&#x0D;&#x0A;copy $(ConfigurationName)\mpichsshmpd.lib lib\mpichsshmpd.lib&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3sshmRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;NDEBUG"
-				MkTypLibCompatible="true"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				TypeLibraryName=".\$(ConfigurationName)/mpich.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				InlineFunctionExpansion="1"
-				AdditionalIncludeDirectories="src\mpi\romio\mpi-io,src\mpi\romio\adio\include,src\include,src\include\win32,src\mpid\common\datatype,src\mpid\ch3\channels\sshm\include,src\mpid\ch3\include,src\mpid\common\locks,src\mpi\datatype"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32,NDEBUG,USE_WINCONF_H,MPIO_BUILD_PROFILING,HAVE_FORTRAN_BINDING,MPI_EXPORTS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/mpich.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				BrowseInformation="1"
-				WarningLevel="4"
-				SuppressStartupBanner="true"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;NDEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib smpd_util.lib sock.lib dbg.lib ch3sshm.lib pmi.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="lib/mpichsshm.dll"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="lib"
-				ModuleDefinitionFile=".\mpich.def"
-				ProgramDatabaseFile=".\$(ConfigurationName)/mpichsshm.pdb"
-				ImportLibrary=".\$(ConfigurationName)/mpichsshm.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying mpichsshm.dll to system32 directory"
-				CommandLine="copy lib\mpichsshm.dll %SystemRoot%\system32\mpichsshm.dll&#x0D;&#x0A;copy $(ConfigurationName)\mpichsshm.lib lib\mpichsshm.lib&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3ibVapiDebug|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_DEBUG"
-				MkTypLibCompatible="true"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				TypeLibraryName=".\$(ConfigurationName)/mpich.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="src\mpi\romio\mpi-io,src\mpi\romio\adio\include,src\include,src\include\win32,src\mpid\common\datatype,src\mpid\ch3\include,src\mpid\common\locks,src\mpid\ch3\channels\ib\include,c:\mellanox\include,src\mpi\datatype"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32,_DEBUG,USE_WINCONF_H,MPICH_DBG_OUTPUT,MPIO_BUILD_PROFILING,HAVE_FORTRAN_BINDING,MPI_EXPORTS;USE_IB_VAPI"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/mpich.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				BrowseInformation="1"
-				WarningLevel="4"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_DEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib smpd_utild.lib sockd.lib dbgd.lib ch3ibd.lib pmid.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib rpcrt4.lib mpr.lib vapi.lib vapi_common.lib crypt32.lib"
-				OutputFile="lib/mpichibd.dll"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="lib,c:\mellanox\lib\debug"
-				IgnoreAllDefaultLibraries="false"
-				IgnoreDefaultLibraryNames="libcd.lib"
-				ModuleDefinitionFile=".\mpich.def"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\$(ConfigurationName)/mpichibd.pdb"
-				ImportLibrary=".\$(ConfigurationName)/mpichibd.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying mpichibd.dll to system32 directory"
-				CommandLine="copy lib\mpichibd.dll %SystemRoot%\system32\mpichibd.dll&#x0D;&#x0A;copy $(ConfigurationName)\mpichibd.lib lib\mpichibd.lib&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3ibVapiRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;NDEBUG"
-				MkTypLibCompatible="true"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				TypeLibraryName=".\$(ConfigurationName)/mpich.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				InlineFunctionExpansion="1"
-				EnableIntrinsicFunctions="true"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="src\mpi\romio\mpi-io,src\mpi\romio\adio\include,src\include,src\include\win32,src\mpid\common\datatype,src\mpid\ch3\include,src\mpid\common\locks,src\mpid\ch3\channels\ib\include,c:\mellanox\include,src\mpi\datatype"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32,NDEBUG,USE_WINCONF_H,MPIO_BUILD_PROFILING,HAVE_FORTRAN_BINDING,MPI_EXPORTS;USE_IB_VAPI"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				BufferSecurityCheck="false"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/mpich.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				BrowseInformation="1"
-				WarningLevel="4"
-				SuppressStartupBanner="true"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;NDEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib smpd_util.lib dbg.lib sock.lib ch3ib.lib pmi.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib rpcrt4.lib mpr.lib vapi.lib vapi_common.lib crypt32.lib"
-				OutputFile="lib/mpichib.dll"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="lib,c:\mellanox\lib\release"
-				IgnoreDefaultLibraryNames="libc.lib"
-				ModuleDefinitionFile=".\mpich.def"
-				ProgramDatabaseFile=".\$(ConfigurationName)/mpichib.pdb"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				ImportLibrary=".\$(ConfigurationName)/mpichib.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying mpichib.dll to system32 directory"
-				CommandLine="copy lib\mpichib.dll %SystemRoot%\system32\mpichib.dll&#x0D;&#x0A;copy $(ConfigurationName)\mpichib.lib lib\mpichib.lib&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3shmPRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;NDEBUG"
-				MkTypLibCompatible="true"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				TypeLibraryName=".\$(ConfigurationName)/mpich.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				InlineFunctionExpansion="1"
-				EnableIntrinsicFunctions="true"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories=""src\mpi\romio\mpi-io";src\mpi\romio\adio\include;src\include;src\include\win32;src\mpl\include;src\mpid\common\datatype;src\mpid\common\sock;src\mpid\ch3\channels\shm\include;src\mpid\ch3\include;src\mpid\common\locks;src\mpi\datatype;src\mpi\binding\f90;src\mpi\binding\f90\win32"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32,NDEBUG,USE_WINCONF_H,MPIO_BUILD_PROFILING,HAVE_FORTRAN_BINDING,MPI_EXPORTS,HAVE_TIMING=MPID_TIMING_KIND_LOG_DETAILED,USE_LOGGING=MPID_LOGGING_RLOG"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				BufferSecurityCheck="false"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/mpich.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				BrowseInformation="0"
-				WarningLevel="4"
-				SuppressStartupBanner="true"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;NDEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib rlog.lib smpd_util.lib sockp.lib ch3shmp.lib cxx.lib dbg.lib pmi.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="lib/mpichshmp.dll"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="lib"
-				ModuleDefinitionFile=".\mpich.def"
-				ProgramDatabaseFile=".\$(ConfigurationName)/mpichshmp.pdb"
-				ImportLibrary=".\$(ConfigurationName)/mpichshmp.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying mpichshmp.dll to system32 directory"
-				CommandLine="copy lib\mpichshmp.dll %SystemRoot%\system32\mpichshmp.dll&#x0D;&#x0A;copy $(ConfigurationName)\mpichshmp.lib lib\mpichshmp.lib&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3ssmPRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;NDEBUG"
-				MkTypLibCompatible="true"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				TypeLibraryName=".\$(ConfigurationName)/mpich.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				InlineFunctionExpansion="1"
-				AdditionalIncludeDirectories=""src\mpi\romio\mpi-io";src\mpi\romio\adio\include;src\include;src\include\win32;src\mpl\include;src\mpid\common\datatype;src\mpid\common\sock;src\mpid\common\sock\iocp;src\mpid\ch3\channels\ssm\include;src\mpid\ch3\include;src\mpid\common\locks;src\mpi\datatype;src\mpi\binding\f90;src\mpi\binding\f90\win32"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32,NDEBUG,USE_WINCONF_H,MPIO_BUILD_PROFILING,HAVE_FORTRAN_BINDING,MPI_EXPORTS,HAVE_TIMING=MPID_TIMING_KIND_LOG_DETAILED,USE_LOGGING=MPID_LOGGING_RLOG"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/mpich.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				BrowseInformation="0"
-				WarningLevel="4"
-				SuppressStartupBanner="true"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;NDEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib mpl.lib rlog.lib smpd_util.lib dbg.lib sockp.lib ch3ssmp.lib pmi.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="lib/mpichssmp.dll"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="lib"
-				ModuleDefinitionFile=".\mpich.def"
-				ProgramDatabaseFile=".\$(ConfigurationName)/mpichssmp.pdb"
-				ImportLibrary=".\$(ConfigurationName)/mpichssmp.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying mpichssmp.dll to system32 directory"
-				CommandLine="copy lib\mpichssmp.dll %SystemRoot%\system32\mpichssmp.dll&#x0D;&#x0A;copy $(ConfigurationName)\mpichssmp.lib lib\mpichssmp.lib&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3sshmPRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;NDEBUG"
-				MkTypLibCompatible="true"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				TypeLibraryName=".\$(ConfigurationName)/mpich.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				InlineFunctionExpansion="1"
-				AdditionalIncludeDirectories="src\mpi\romio\mpi-io,src\mpi\romio\adio\include,src\include,src\include\win32,src\mpid\common\datatype,src\mpid\ch3\channels\sshm\include,src\mpid\ch3\include,src\mpid\common\locks,src\mpi\datatype"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32,NDEBUG,USE_WINCONF_H,MPIO_BUILD_PROFILING,HAVE_FORTRAN_BINDING,MPI_EXPORTS,HAVE_TIMING=MPID_TIMING_KIND_LOG_DETAILED,USE_LOGGING=MPID_LOGGING_RLOG"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/mpich.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				BrowseInformation="1"
-				WarningLevel="4"
-				SuppressStartupBanner="true"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;NDEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib rlog.lib smpd_util.lib sockp.lib dbg.lib ch3sshmp.lib pmi.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="lib/mpichsshmp.dll"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="lib"
-				ModuleDefinitionFile=".\mpich.def"
-				ProgramDatabaseFile=".\$(ConfigurationName)/mpichsshmp.pdb"
-				ImportLibrary=".\$(ConfigurationName)/mpichsshmp.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying mpichsshmp.dll to system32 directory"
-				CommandLine="copy lib\mpichsshmp.dll %SystemRoot%\system32\mpichsshmp.dll&#x0D;&#x0A;copy $(ConfigurationName)\mpichsshmp.lib lib\mpichsshmp.lib&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3ibVapiPRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;NDEBUG"
-				MkTypLibCompatible="true"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				TypeLibraryName=".\$(ConfigurationName)/mpich.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				InlineFunctionExpansion="1"
-				EnableIntrinsicFunctions="true"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="src\mpi\romio\mpi-io,src\mpi\romio\adio\include,src\include,src\include\win32,src\mpid\common\datatype,src\mpid\ch3\include,src\mpid\common\locks,src\mpid\ch3\channels\ib\include,c:\mellanox\include,src\mpi\datatype"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32,NDEBUG,USE_WINCONF_H,MPIO_BUILD_PROFILING,HAVE_FORTRAN_BINDING,MPI_EXPORTS,HAVE_TIMING=MPID_TIMING_KIND_LOG_DETAILED,USE_LOGGING=MPID_LOGGING_RLOG;USE_IB_VAPI"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				BufferSecurityCheck="false"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/mpich.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				BrowseInformation="1"
-				WarningLevel="4"
-				SuppressStartupBanner="true"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;NDEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib rlog.lib smpd_util.lib dbg.lib sockp.lib ch3ibp.lib pmi.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib rpcrt4.lib mpr.lib vapi.lib vapi_common.lib crypt32.lib"
-				OutputFile="lib/mpichibp.dll"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="lib,c:\mellanox\lib\release"
-				IgnoreDefaultLibraryNames="libc.lib"
-				ModuleDefinitionFile=".\mpich.def"
-				ProgramDatabaseFile=".\$(ConfigurationName)/mpichibp.pdb"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				ImportLibrary=".\$(ConfigurationName)/mpichibp.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying mpichibp.dll to system32 directory"
-				CommandLine="copy lib\mpichibp.dll %SystemRoot%\system32\mpichibp.dll&#x0D;&#x0A;copy $(ConfigurationName)\mpichibp.lib lib\mpichibp.lib&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3essmDebug|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_DEBUG"
-				MkTypLibCompatible="true"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				TypeLibraryName=".\$(ConfigurationName)/mpich.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="src\mpi\romio\mpi-io,src\mpi\romio\adio\include,src\include,src\include\win32,src\mpid\common\datatype,src\mpid\common\sock,src\mpid\common\sock\iocp,src\mpid\ch3\channels\essm\include,src\mpid\ch3\include,src\mpid\common\locks,src\mpi\datatype"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32,_DEBUG,USE_WINCONF_H,MPICH_DBG_OUTPUT,MPIO_BUILD_PROFILING,HAVE_FORTRAN_BINDING,MPI_EXPORTS,MPICH_MULTITHREADED"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/mpich.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				BrowseInformation="1"
-				WarningLevel="4"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_DEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib smpd_utild.lib dbgmtd.lib sockmtd.lib ch3essmd.lib pmid.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="lib/mpichessmd.dll"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="lib"
-				ModuleDefinitionFile=".\mpich.def"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\$(ConfigurationName)/mpichessmd.pdb"
-				ImportLibrary=".\$(ConfigurationName)/mpichessmd.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying mpichessmd.dll to system32 directory"
-				CommandLine="copy lib\mpichessmd.dll %SystemRoot%\system32\mpichessmd.dll&#x0D;&#x0A;copy $(ConfigurationName)\mpichessmd.lib lib\mpichessmd.lib&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3essmRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;NDEBUG"
-				MkTypLibCompatible="true"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				TypeLibraryName=".\$(ConfigurationName)/mpich.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				InlineFunctionExpansion="1"
-				AdditionalIncludeDirectories="src\mpi\romio\mpi-io,src\mpi\romio\adio\include,src\include,src\include\win32,src\mpid\common\datatype,src\mpid\common\sock,src\mpid\common\sock\iocp,src\mpid\ch3\channels\essm\include,src\mpid\ch3\include,src\mpid\common\locks,src\mpi\datatype"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32,NDEBUG,USE_WINCONF_H,MPIO_BUILD_PROFILING,HAVE_FORTRAN_BINDING,MPI_EXPORTS,MPICH_MULTITHREADED"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/mpich.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				BrowseInformation="1"
-				WarningLevel="4"
-				SuppressStartupBanner="true"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;NDEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib smpd_util.lib dbgmt.lib sockmt.lib ch3essm.lib pmi.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="lib/mpichessm.dll"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="lib"
-				ModuleDefinitionFile=".\mpich.def"
-				ProgramDatabaseFile=".\$(ConfigurationName)/mpichessm.pdb"
-				ImportLibrary=".\$(ConfigurationName)/mpichessm.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying mpichessm.dll to system32 directory"
-				CommandLine="copy lib\mpichessm.dll %SystemRoot%\system32\mpichessm.dll&#x0D;&#x0A;copy $(ConfigurationName)\mpichessm.lib lib\mpichessm.lib&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3essmPRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;NDEBUG"
-				MkTypLibCompatible="true"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				TypeLibraryName=".\$(ConfigurationName)/mpich.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				InlineFunctionExpansion="1"
-				AdditionalIncludeDirectories="src\mpi\romio\mpi-io,src\mpi\romio\adio\include,src\include,src\include\win32,src\mpid\common\datatype,src\mpid\common\sock,src\mpid\common\sock\iocp,src\mpid\ch3\channels\essm\include,src\mpid\ch3\include,src\mpid\common\locks,src\mpi\datatype"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32,NDEBUG,USE_WINCONF_H,MPIO_BUILD_PROFILING,HAVE_FORTRAN_BINDING,MPI_EXPORTS,HAVE_TIMING=MPID_TIMING_KIND_LOG_DETAILED,USE_LOGGING=MPID_LOGGING_RLOG,MPICH_MULTITHREADED"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/mpich.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				BrowseInformation="1"
-				WarningLevel="4"
-				SuppressStartupBanner="true"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;NDEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib rlog.lib smpd_util.lib dbgmt.lib sockp3.lib ch3essmp.lib pmi.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="lib/mpichessmp.dll"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="lib"
-				ModuleDefinitionFile=".\mpich.def"
-				ProgramDatabaseFile=".\$(ConfigurationName)/mpichessmp.pdb"
-				ImportLibrary=".\$(ConfigurationName)/mpichessmp.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying mpichessmp.dll to system32 directory"
-				CommandLine="copy lib\mpichessmp.dll %SystemRoot%\system32\mpichessmp.dll&#x0D;&#x0A;copy $(ConfigurationName)\mpichessmp.lib lib\mpichessmp.lib&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3sockmtDebug|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_DEBUG"
-				MkTypLibCompatible="true"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				TypeLibraryName=".\$(ConfigurationName)/mpich.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="src\mpi\romio\mpi-io,src\mpi\romio\adio\include,src\include,src\include\win32,src\mpid\common\datatype,src\mpid\common\sock,src\mpid\common\sock\iocp,src\mpid\ch3\include,src\mpid\common\locks,src\mpid\ch3\channels\sock\include,src\mpi\datatype,src\mpi\datatype"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32,_DEBUG,USE_WINCONF_H,MPICH_DBG_OUTPUT,MPIO_BUILD_PROFILING,HAVE_FORTRAN_BINDING,MPI_EXPORTS,MPICH_MULTITHREADED"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/mpich.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				BrowseInformation="1"
-				WarningLevel="4"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_DEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib smpd_utild.lib dbgmtd.lib sockmtd.lib ch3sockmtd.lib pmid.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="lib/mpichmtd.dll"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="lib"
-				IgnoreAllDefaultLibraries="false"
-				IgnoreDefaultLibraryNames="libcd.lib"
-				ModuleDefinitionFile=".\mpich.def"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\$(ConfigurationName)/mpichmtd.pdb"
-				ImportLibrary=".\$(ConfigurationName)/mpichmtd.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying mpichmtd.dll to system32 directory"
-				CommandLine="copy lib\mpichmtd.dll %SystemRoot%\system32\mpichmtd.dll&#x0D;&#x0A;copy $(ConfigurationName)\mpichmtd.lib lib\mpichmtd.lib&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3sockmtRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;NDEBUG"
-				MkTypLibCompatible="true"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				TypeLibraryName=".\$(ConfigurationName)/mpich.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				InlineFunctionExpansion="1"
-				EnableIntrinsicFunctions="true"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories=""src\mpi\romio\mpi-io";src\mpi\romio\adio\include;src\include;src\include\win32;src\mpl\include;src\mpid\common\datatype;src\mpid\common\sched;src\mpid\common\sock;src\mpid\common\sock\iocp;src\mpid\ch3\include;src\mpid\common\locks;src\mpid\ch3\channels\sock\include;src\mpi\datatype;src\mpi\binding\f90;src\mpi\binding\f90\win32"
-				PreprocessorDefinitions="WIN32,NDEBUG,USE_WINCONF_H,MPIO_BUILD_PROFILING,HAVE_FORTRAN_BINDING,MPI_EXPORTS,MPICH_MULTITHREADED"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				BufferSecurityCheck="false"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/mpich.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				BrowseInformation="0"
-				WarningLevel="4"
-				SuppressStartupBanner="true"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;NDEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib smpd_util.lib dbgmt.lib sockmt.lib ch3sockmt.lib mpl.lib pmi.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="lib/mpichmt.dll"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="lib"
-				IgnoreDefaultLibraryNames="libc.lib"
-				ModuleDefinitionFile=".\mpich.def"
-				ProgramDatabaseFile=".\$(ConfigurationName)/mpichmt.pdb"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				ImportLibrary=".\$(ConfigurationName)/mpichmt.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying mpichmt.dll to system32 directory"
-				CommandLine="copy lib\mpichmt.dll %SystemRoot%\system32\mpichmt.dll&#x0D;&#x0A;copy $(ConfigurationName)\mpichmt.lib lib\mpichmt.lib&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3sockmtPRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;NDEBUG"
-				MkTypLibCompatible="true"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				TypeLibraryName=".\$(ConfigurationName)/mpich.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				InlineFunctionExpansion="1"
-				EnableIntrinsicFunctions="true"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories=""src\mpi\romio\mpi-io";src\mpi\romio\adio\include;src\include;src\include\win32;src\mpl\include;src\mpid\common\datatype;src\mpid\common\sched;src\mpid\common\sock;src\mpid\common\sock\iocp;src\mpid\ch3\include;src\mpid\common\locks;src\mpid\ch3\channels\sock\include;src\mpi\datatype;src\mpi\binding\f90;src\mpi\binding\f90\win32"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32,NDEBUG,USE_WINCONF_H,HAVE_TIMING=MPID_TIMING_KIND_LOG_DETAILED,USE_LOGGING=MPID_LOGGING_RLOG,MPIO_BUILD_PROFILING,HAVE_FORTRAN_BINDING,MPI_EXPORTS,MPICH_MULTITHREADED"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				BufferSecurityCheck="false"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/mpich.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				BrowseInformation="0"
-				WarningLevel="4"
-				SuppressStartupBanner="true"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;NDEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib mpl.lib rlog.lib smpd_util.lib dbgmtp.lib sockmtp.lib ch3sockmtp.lib pmi.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="lib/mpichmtp.dll"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="lib"
-				IgnoreDefaultLibraryNames="libc.lib"
-				ModuleDefinitionFile=".\mpich.def"
-				ProgramDatabaseFile=".\$(ConfigurationName)/mpichmtp.pdb"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				ImportLibrary=".\$(ConfigurationName)/mpichmtp.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying mpichmtp.dll to system32 directory"
-				CommandLine="copy lib\mpichmtp.dll %SystemRoot%\system32\mpichmtp.dll&#x0D;&#x0A;copy $(ConfigurationName)\mpichmtp.lib lib\mpichmtp.lib&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3ibIbalDebug|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_DEBUG"
-				MkTypLibCompatible="true"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				TypeLibraryName=".\$(ConfigurationName)/mpich.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="src\mpi\romio\mpi-io,src\mpi\romio\adio\include,src\include,src\include\win32,src\mpid\common\datatype,src\mpid\ch3\include,src\mpid\common\locks,src\mpid\ch3\channels\ib\include,c:\ibal\src\base\shared\include,c:\ibal\src\base\shared\include\iba,c:\ibal\src\base\winuser\include,src\mpi\datatype"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32,_DEBUG,USE_WINCONF_H,MPICH_DBG_OUTPUT,MPIO_BUILD_PROFILING,HAVE_FORTRAN_BINDING,MPI_EXPORTS;USE_IB_IBAL"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/mpich.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				BrowseInformation="1"
-				WarningLevel="4"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_DEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib smpd_utild.lib sockd.lib dbgd.lib ch3ibd.lib pmid.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib rpcrt4.lib mpr.lib ibal.lib complib.lib crypt32.lib"
-				OutputFile="lib/mpichibd.dll"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="lib,c:\ibal\Install\x86"
-				IgnoreAllDefaultLibraries="false"
-				IgnoreDefaultLibraryNames="libcd.lib"
-				ModuleDefinitionFile=".\mpich.def"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\$(ConfigurationName)/mpichibd.pdb"
-				ImportLibrary=".\$(ConfigurationName)/mpichibd.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying mpichibd.dll to system32 directory"
-				CommandLine="copy lib\mpichibd.dll %SystemRoot%\system32\mpichibd.dll&#x0D;&#x0A;copy $(ConfigurationName)\mpichibd.lib lib\mpichibd.lib&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3ibIbalPRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;NDEBUG"
-				MkTypLibCompatible="true"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				TypeLibraryName=".\$(ConfigurationName)/mpich.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				InlineFunctionExpansion="1"
-				EnableIntrinsicFunctions="true"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="src\mpi\romio\mpi-io,src\mpi\romio\adio\include,src\include,src\include\win32,src\mpid\common\datatype,src\mpid\ch3\include,src\mpid\common\locks,src\mpid\ch3\channels\ib\include,c:\ibal\src\base\shared\include,c:\ibal\src\base\shared\include\iba,c:\ibal\src\base\winuser\include,src\mpi\datatype"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32,NDEBUG,USE_WINCONF_H,MPIO_BUILD_PROFILING,HAVE_FORTRAN_BINDING,MPI_EXPORTS,HAVE_TIMING=MPID_TIMING_KIND_LOG_DETAILED,USE_LOGGING=MPID_LOGGING_RLOG;USE_IB_IBAL"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				BufferSecurityCheck="false"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/mpich.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				BrowseInformation="1"
-				WarningLevel="4"
-				SuppressStartupBanner="true"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;NDEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib rlog.lib smpd_util.lib dbg.lib sockp.lib ch3ibp.lib pmi.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib rpcrt4.lib mpr.lib ibal.lib complib.lib crypt32.lib"
-				OutputFile="lib/mpichibp.dll"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="lib,c:\ibal\Install\x86"
-				IgnoreDefaultLibraryNames="libc.lib"
-				ModuleDefinitionFile=".\mpich.def"
-				ProgramDatabaseFile=".\$(ConfigurationName)/mpichibp.pdb"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				ImportLibrary=".\$(ConfigurationName)/mpichibp.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying mpichibp.dll to system32 directory"
-				CommandLine="copy lib\mpichibp.dll %SystemRoot%\system32\mpichibp.dll&#x0D;&#x0A;copy $(ConfigurationName)\mpichibp.lib lib\mpichibp.lib&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3ibIbalRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;NDEBUG"
-				MkTypLibCompatible="true"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				TypeLibraryName=".\$(ConfigurationName)/mpich.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				InlineFunctionExpansion="1"
-				EnableIntrinsicFunctions="true"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="src\mpi\romio\mpi-io,src\mpi\romio\adio\include,src\include,src\include\win32,src\mpid\common\datatype,src\mpid\ch3\include,src\mpid\common\locks,src\mpid\ch3\channels\ib\include,c:\ibal\src\base\shared\include,c:\ibal\src\base\shared\include\iba,c:\ibal\src\base\winuser\include,src\mpi\datatype"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32,NDEBUG,USE_WINCONF_H,MPIO_BUILD_PROFILING,HAVE_FORTRAN_BINDING,MPI_EXPORTS;USE_IB_IBAL"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				BufferSecurityCheck="false"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/mpich.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				BrowseInformation="1"
-				WarningLevel="4"
-				SuppressStartupBanner="true"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;NDEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib smpd_util.lib dbg.lib sock.lib ch3ib.lib pmi.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib rpcrt4.lib mpr.lib ibal.lib complib.lib crypt32.lib"
-				OutputFile="lib/mpichib.dll"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="lib,c:\ibal\Install\x86"
-				IgnoreDefaultLibraryNames="libc.lib"
-				ModuleDefinitionFile=".\mpich.def"
-				ProgramDatabaseFile=".\$(ConfigurationName)/mpichib.pdb"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				ImportLibrary=".\$(ConfigurationName)/mpichib.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying mpichib.dll to system32 directory"
-				CommandLine="copy lib\mpichib.dll %SystemRoot%\system32\mpichib.dll&#x0D;&#x0A;copy $(ConfigurationName)\mpichib.lib lib\mpichib.lib&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichDebugConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_DEBUG"
-				MkTypLibCompatible="true"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				TypeLibraryName=".\$(ConfigurationName)/mpich.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories=""src\mpi\romio\mpi-io";src\mpi\romio\adio\include;src\include;src\include\win32;src\mpid\common\datatype;src\mpid\common\sock;src\mpid\common\sock\iocp;src\mpid\ch3\include;src\mpid\common\locks;src\mpid\ch3\channels\sock\include;src\mpi\datatype"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32,_DEBUG,USE_WINCONF_H,MPICH_DBG_OUTPUT,MPIO_BUILD_PROFILING,HAVE_FORTRAN_BINDING,MPI_EXPORTS"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/mpich.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				BrowseInformation="1"
-				WarningLevel="4"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_DEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib smpd_utild.lib dbgd.lib sockd.lib ch3sockd.lib pmid.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="lib/mpichd.dll"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="lib"
-				IgnoreAllDefaultLibraries="false"
-				IgnoreDefaultLibraryNames="libcd.lib"
-				ModuleDefinitionFile=".\mpich.def"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\$(ConfigurationName)/mpichd.pdb"
-				ImportLibrary=".\$(ConfigurationName)/mpichd.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying mpichd.dll to system32 directory"
-				CommandLine="copy lib\mpichd.dll %SystemRoot%\system32\mpichd.dll&#x0D;&#x0A;copy $(ConfigurationName)\mpichd.lib lib\mpichd.lib&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_DEBUG"
-				MkTypLibCompatible="true"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				TypeLibraryName=".\$(ConfigurationName)/mpich.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories=""src\mpi\romio\mpi-io";src\mpi\romio\adio\include;src\include;src\include\win32;src\mpid\common\datatype;src\mpid\common\sock;src\mpid\common\sock\iocp;src\mpid\ch3\include;src\mpid\common\locks;src\mpid\ch3\channels\sock\include;src\mpi\datatype"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;USE_WINCONF_H;MPIO_BUILD_PROFILING;HAVE_FORTRAN_BINDING;MPI_EXPORTS"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/mpich.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				BrowseInformation="1"
-				WarningLevel="4"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_DEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib smpd_util.lib dbg.lib sock.lib ch3sock.lib pmi.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="lib/mpich.dll"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="lib"
-				IgnoreAllDefaultLibraries="false"
-				IgnoreDefaultLibraryNames="libcd.lib"
-				ModuleDefinitionFile=".\mpich.def"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\$(ConfigurationName)/mpich.pdb"
-				ImportLibrary=".\$(ConfigurationName)/mpich.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying mpichd.dll to system32 directory"
-				CommandLine="copy lib\mpich.dll %SystemRoot%\system32\mpich.dll&#x0D;&#x0A;copy $(ConfigurationName)\mpich.lib lib\mpich.lib&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_DEBUG"
-				MkTypLibCompatible="true"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				TypeLibraryName=".\$(ConfigurationName)/mpich.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories=""src\mpi\romio\mpi-io";src\mpi\romio\adio\include;src\include;src\include\win32;src\mpid\common\datatype;src\mpid\common\sock;src\mpid\common\sock\iocp;src\mpid\ch3\include;src\mpid\common\locks;src\mpid\ch3\channels\shm\include;src\mpi\datatype"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32,_DEBUG,USE_WINCONF_H,MPICH_DBG_OUTPUT,MPIO_BUILD_PROFILING,HAVE_FORTRAN_BINDING,MPI_EXPORTS"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/mpich.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				BrowseInformation="1"
-				WarningLevel="4"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_DEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib smpd_util.lib dbg.lib sock.lib ch3shm.lib pmi.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="lib/mpichshm.dll"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="lib"
-				IgnoreAllDefaultLibraries="false"
-				IgnoreDefaultLibraryNames="libcd.lib"
-				ModuleDefinitionFile=".\mpich.def"
-				GenerateDebugInformation="false"
-				ProgramDatabaseFile=".\$(ConfigurationName)/mpichshm.pdb"
-				ImportLibrary=".\$(ConfigurationName)/mpichshm.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying mpichd.dll to system32 directory"
-				CommandLine="rem copy lib\mpich.dll %SystemRoot%\system32\mpich.dll&#x0D;&#x0A;rem copy $(ConfigurationName)\mpich.lib lib\mpich.lib&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_DEBUG"
-				MkTypLibCompatible="true"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				TypeLibraryName=".\$(ConfigurationName)/mpich.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories=""src\mpi\romio\mpi-io";src\mpi\romio\adio\include;src\include;src\include\win32;src\mpid\common\datatype;src\mpid\common\sock;src\mpid\common\sock\iocp;src\mpid\ch3\include;src\mpid\common\locks;src\mpid\ch3\channels\sshm\include;src\mpi\datatype"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32,_DEBUG,USE_WINCONF_H,MPICH_DBG_OUTPUT,MPIO_BUILD_PROFILING,HAVE_FORTRAN_BINDING,MPI_EXPORTS"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/mpich.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				BrowseInformation="1"
-				WarningLevel="4"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_DEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib smpd_util.lib dbg.lib sock.lib ch3sshm.lib pmi.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="lib/mpichsshm.dll"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="lib"
-				IgnoreAllDefaultLibraries="false"
-				IgnoreDefaultLibraryNames="libcd.lib"
-				ModuleDefinitionFile=".\mpich.def"
-				GenerateDebugInformation="false"
-				ProgramDatabaseFile=".\$(ConfigurationName)/mpichsshm.pdb"
-				ImportLibrary=".\$(ConfigurationName)/mpichsshm.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying mpichd.dll to system32 directory"
-				CommandLine="rem copy lib\mpich.dll %SystemRoot%\system32\mpich.dll&#x0D;&#x0A;rem copy $(ConfigurationName)\mpich.lib lib\mpich.lib&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_DEBUG"
-				MkTypLibCompatible="true"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				TypeLibraryName=".\$(ConfigurationName)/mpich.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories=""src\mpi\romio\mpi-io";src\mpi\romio\adio\include;src\include;src\include\win32;src\mpid\common\datatype;src\mpid\ch3\include;src\mpid\common\locks;src\mpid\ch3\channels\ssm\include;src\mpi\datatype;src\mpid\common\sock;src\mpid\common\sock\iocp"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32,_DEBUG,USE_WINCONF_H,MPICH_DBG_OUTPUT,MPIO_BUILD_PROFILING,HAVE_FORTRAN_BINDING,MPI_EXPORTS"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/mpich.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				BrowseInformation="1"
-				WarningLevel="4"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_DEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib ch3ssm.lib dbgssm.lib smpd_util.lib sock.lib pmi.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="lib/mpichssm.dll"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="lib"
-				IgnoreAllDefaultLibraries="false"
-				IgnoreDefaultLibraryNames="libcd.lib"
-				ModuleDefinitionFile=".\mpich.def"
-				GenerateDebugInformation="false"
-				ProgramDatabaseFile=".\$(ConfigurationName)/mpichssm.pdb"
-				ImportLibrary=".\$(ConfigurationName)/mpichssm.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying mpichd.dll to system32 directory"
-				CommandLine="rem copy lib\mpich.dll %SystemRoot%\system32\mpich.dll&#x0D;&#x0A;rem copy $(ConfigurationName)\mpich.lib lib\mpich.lib&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mt_mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_DEBUG"
-				MkTypLibCompatible="true"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				TypeLibraryName=".\$(ConfigurationName)/mpich.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories=""src\mpi\romio\mpi-io";src\mpi\romio\adio\include;src\include;src\include\win32;src\mpid\common\datatype;src\mpid\common\sock;src\mpid\common\sock\iocp;src\mpid\ch3\include;src\mpid\common\locks;src\mpid\ch3\channels\sock\include;src\mpi\datatype"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;_DEBUG;USE_WINCONF_H;MPICH_DBG_OUTPUT;MPIO_BUILD_PROFILING;HAVE_FORTRAN_BINDING;MPI_EXPORTS;MPICH_MULTITHREADED"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/mpich.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				BrowseInformation="1"
-				WarningLevel="4"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_DEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib smpd_utilmt.lib dbgmt.lib sockmt.lib ch3sockmt.lib pmi.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="lib/mpichmt.dll"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="lib"
-				IgnoreAllDefaultLibraries="false"
-				IgnoreDefaultLibraryNames="libcd.lib"
-				ModuleDefinitionFile=".\mpich.def"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\$(ConfigurationName)/mpichmt.pdb"
-				ImportLibrary=".\$(ConfigurationName)/mpichmt.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying mpichd.dll to system32 directory"
-				CommandLine="rem copy lib\mpich.dll %SystemRoot%\system32\mpich.dll&#x0D;&#x0A;rem copy $(ConfigurationName)\mpich.lib lib\mpich.lib&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="testrelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;NDEBUG"
-				MkTypLibCompatible="true"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				TypeLibraryName=".\$(ConfigurationName)/mpich.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				InlineFunctionExpansion="1"
-				EnableIntrinsicFunctions="true"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="src\mpi\romio\mpi-io,src\mpi\romio\adio\include,src\include,src\include\win32,src\mpid\common\datatype,src\mpid\common\sock,src\mpid\common\sock\iocp,src\mpid\ch3\include,src\mpid\common\locks,src\mpid\ch3\channels\sock\include,src\mpi\datatype"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32,NDEBUG,USE_WINCONF_H,MPIO_BUILD_PROFILING,HAVE_FORTRAN_BINDING,MPI_EXPORTS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				BufferSecurityCheck="false"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/mpich.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				BrowseInformation="1"
-				WarningLevel="4"
-				SuppressStartupBanner="true"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;NDEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib smpd_util.lib dbg.lib sock.lib ch3sock.lib pmi.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="lib/mpich.dll"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="lib"
-				IgnoreDefaultLibraryNames="libc.lib"
-				ModuleDefinitionFile=".\mpich.def"
-				ProgramDatabaseFile=".\$(ConfigurationName)/mpich.pdb"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				ImportLibrary=".\$(ConfigurationName)/mpich.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying mpich.dll to system32 directory"
-				CommandLine="copy lib\mpich.dll %SystemRoot%\system32\mpich.dll&#x0D;&#x0A;copy $(ConfigurationName)\mpich.lib lib\mpich.lib&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichDebugConfig_1_0_5|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_DEBUG"
-				MkTypLibCompatible="true"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				TypeLibraryName=".\$(ConfigurationName)/mpich.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories=""src\mpi\romio\mpi-io";src\mpi\romio\adio\include;src\include;src\include\win32;src\mpid\common\datatype;src\mpid\common\sock;src\mpid\common\sock\iocp;src\mpid\ch3\include;src\mpid\common\locks;src\mpid\ch3\channels\sock\include;src\mpi\datatype"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;USE_WINCONF_H;MPIO_BUILD_PROFILING;HAVE_FORTRAN_BINDING;MPI_EXPORTS"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/mpich.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				BrowseInformation="1"
-				WarningLevel="4"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_DEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib smpd_util.lib dbg.lib sock.lib ch3sock.lib pmi.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="lib/mpich.dll"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="lib"
-				IgnoreAllDefaultLibraries="false"
-				IgnoreDefaultLibraryNames="libcd.lib"
-				ModuleDefinitionFile=".\mpich.def"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\$(ConfigurationName)/mpich.pdb"
-				ImportLibrary=".\$(ConfigurationName)/mpich.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying mpichd.dll to system32 directory"
-				CommandLine="copy lib\mpich.dll %SystemRoot%\system32\mpich.dll&#x0D;&#x0A;copy $(ConfigurationName)\mpich.lib lib\mpich.lib&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="fortDebugConfig_1_0_5|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;NDEBUG"
-				MkTypLibCompatible="true"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				TypeLibraryName=".\$(ConfigurationName)/mpich.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				InlineFunctionExpansion="1"
-				EnableIntrinsicFunctions="true"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="src\mpi\romio\mpi-io,src\mpi\romio\adio\include,src\include,src\include\win32,src\mpid\common\datatype,src\mpid\common\sock,src\mpid\common\sock\iocp,src\mpid\ch3\include,src\mpid\common\locks,src\mpid\ch3\channels\sock\include,src\mpi\datatype"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32,NDEBUG,USE_WINCONF_H,MPIO_BUILD_PROFILING,HAVE_FORTRAN_BINDING,MPI_EXPORTS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				BufferSecurityCheck="false"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/mpich.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				BrowseInformation="1"
-				WarningLevel="4"
-				SuppressStartupBanner="true"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;NDEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib smpd_util.lib dbg.lib sock.lib ch3sock.lib pmi.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="lib/mpich.dll"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="lib"
-				IgnoreDefaultLibraryNames="libc.lib"
-				ModuleDefinitionFile=".\mpich.def"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\$(ConfigurationName)/mpich.pdb"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				ImportLibrary=".\$(ConfigurationName)/mpich.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying mpich.dll to system32 directory"
-				CommandLine="copy lib\mpich.dll %SystemRoot%\system32\mpich.dll&#x0D;&#x0A;copy $(ConfigurationName)\mpich.lib lib\mpich.lib&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3nemesisDebug|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_DEBUG"
-				MkTypLibCompatible="true"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				TypeLibraryName=".\$(ConfigurationName)/mpich.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories=""src\mpi\romio\mpi-io";src\mpi\romio\adio\include;src\include;src\include\win32;src\mpid\common\datatype;src\mpid\common\sock;src\mpid\ch3\include;src\mpid\common\locks;src\mpi\datatype;src\util\wrappers;src\mpid\ch3\channels\nemesis\nemesis\include;src\mpid\ch3\channels\nemesis\include;src\openpa\src;src\openpa\src\win32;src\mpl\include"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;_DEBUG;USE_WINCONF_H;MPICH_DBG_OUTPUT;MPIO_BUILD_PROFILING;HAVE_FORTRAN_BINDING;MPI_EXPORTS;WORDS_LITTLEENDIAN;MPICH_MULTITHREADED;ENABLE_NO_MACRO_VARARG_NAME;_WIN32_WINNT=0x500;USE_DBG_LOGGING"
-				StringPooling="false"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/mpich.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				BrowseInformation="1"
-				WarningLevel="0"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_DEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib cxxd.lib dbgd.lib pmid.lib smpd_utild.lib sockd.lib ch3nemesisd.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="lib/mpichnemesisd.dll"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="lib"
-				ModuleDefinitionFile=".\mpich.def"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\$(ConfigurationName)/mpichnemesisd.pdb"
-				ImportLibrary=".\$(ConfigurationName)/mpichnemesisd.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying mpichnemesisd.dll to system32 directory"
-				CommandLine="copy lib\mpichnemesisd.dll %SystemRoot%\system32\mpichnemesisd.dll&#x0D;&#x0A;copy $(ConfigurationName)\mpichnemesisd.lib lib\mpichnemesisd.lib&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3nemesisPDebug|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_DEBUG"
-				MkTypLibCompatible="true"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				TypeLibraryName=".\$(ConfigurationName)/mpich.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories=""src\mpi\romio\mpi-io";src\mpi\romio\adio\include;src\include;src\include\win32;src\mpid\common\datatype;src\mpid\common\sock;src\mpid\ch3\include;src\mpid\common\locks;src\mpi\datatype;src\util\wrappers;src\mpid\ch3\channels\nemesis\nemesis\include;src\mpid\ch3\channels\nemesis\include"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;_DEBUG;USE_WINCONF_H;MPIO_BUILD_PROFILING;HAVE_FORTRAN_BINDING;MPI_EXPORTS;WORDS_LITTLEENDIAN;MPICH_MULTITHREADED;ENABLE_NO_MACRO_VARARG_NAME;_WIN32_WINNT=0x500;HAVE_TIMING=MPID_TIMING_KIND_LOG_DETAILED;USE_LOGGING=MPID_LOGGING_RLOG"
-				StringPooling="false"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/mpich.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				BrowseInformation="1"
-				WarningLevel="0"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_DEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib rlogd.lib cxxd.lib dbgd.lib pmid.lib smpd_utild.lib sockd.lib ch3nemesispd.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="lib/mpichnemesispd.dll"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="lib"
-				ModuleDefinitionFile=".\mpich.def"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\$(ConfigurationName)/mpichnemesisd.pdb"
-				ImportLibrary=".\$(ConfigurationName)/mpichnemesisd.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				CommandLine=""
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3nemesisRelease|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="3"
-				EnableIntrinsicFunctions="true"
-				FavorSizeOrSpeed="1"
-				AdditionalIncludeDirectories=""src\mpi\romio\mpi-io";src\mpi\romio\adio\include;src\mpi\spawn;src\include;src\include\win32;src\mpid\common\datatype;src\mpid\common\sock;src\mpid\ch3\include;src\mpid\common\locks;src\mpid\common\sched;src\mpi\datatype;src\mpi\binding\f90;src\mpi\binding\f90\win32;src\util\wrappers;src\mpid\ch3\channels\nemesis\nemesis\include;src\mpid\ch3\channels\nemesis\include;src\openpa\src;src\openpa\src\win32;src\mpl\include"
-				PreprocessorDefinitions="WIN32;_WIN32_WINNT=0x500;NDEBUG;USE_WINCONF_H;MPIO_BUILD_PROFILING;HAVE_FORTRAN_BINDING;MPI_EXPORTS;WORDS_LITTLEENDIAN;MPICH_MULTITHREADED;ENABLE_NO_MACRO_VARARG_NAME"
-				RuntimeLibrary="0"
-				WarningLevel="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="lib\mpichnemesis.dll"
-				AdditionalLibraryDirectories="lib"
-				ModuleDefinitionFile="mpich.def"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3nemesisPRelease|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="3"
-				EnableIntrinsicFunctions="true"
-				FavorSizeOrSpeed="1"
-				AdditionalIncludeDirectories=""src\mpi\romio\mpi-io";src\mpi\romio\adio\include;src\mpi\spawn;src\include;src\include\win32;src\mpid\common\datatype;src\mpid\common\sock;src\mpid\ch3\include;src\mpid\common\locks;src\mpid\common\sched;src\mpi\datatype;src\mpi\binding\f90;src\mpi\binding\f90\win32;src\util\wrappers;src\openpa\src;src\openpa\src\win32;src\mpl\include;src\mpid\ch3\channels\nemesis\nemesis\include;src\mpid\ch3\channels\nemesis\include"
-				PreprocessorDefinitions="WIN32;_WIN32_WINNT=0x500;NDEBUG;USE_WINCONF_H;MPIO_BUILD_PROFILING;HAVE_FORTRAN_BINDING;MPI_EXPORTS;WORDS_LITTLEENDIAN;MPICH_MULTITHREADED;ENABLE_NO_MACRO_VARARG_NAME;HAVE_TIMING=MPID_TIMING_KIND_LOG_DETAILED;USE_LOGGING=MPID_LOGGING_RLOG"
-				RuntimeLibrary="0"
-				WarningLevel="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="lib\mpichnemesisp.dll"
-				AdditionalLibraryDirectories="lib"
-				ModuleDefinitionFile="mpich.def"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="fortPRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;NDEBUG"
-				MkTypLibCompatible="true"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				TypeLibraryName=".\$(ConfigurationName)/mpich.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				InlineFunctionExpansion="1"
-				EnableIntrinsicFunctions="true"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories=""src\mpi\romio\mpi-io";src\mpi\romio\adio\include;src\include;src\include\win32;src\mpl\include;src\mpid\common\datatype;src\mpid\common\sock;src\mpid\common\sock\iocp;src\mpid\ch3\include;src\mpid\common\locks;src\mpid\ch3\channels\sock\include;src\mpi\datatype;src\mpi\binding\f90;src\mpi\binding\f90\win32"
-				PreprocessorDefinitions="WIN32;NDEBUG;USE_WINCONF_H;MPIO_BUILD_PROFILING;HAVE_FORTRAN_BINDING;MPI_EXPORTS;WORDS_LITTLEENDIAN"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				BufferSecurityCheck="false"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\$(ConfigurationName)/mpich.pch"
-				AssemblerListingLocation=".\$(ConfigurationName)/"
-				ObjectFile=".\$(ConfigurationName)/"
-				ProgramDataBaseFileName=".\$(ConfigurationName)/"
-				BrowseInformation="0"
-				WarningLevel="4"
-				SuppressStartupBanner="true"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;NDEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib smpd_util.lib dbg.lib sock.lib ch3sock.lib pmi.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="lib/mpich.dll"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="lib"
-				IgnoreDefaultLibraryNames="libc.lib"
-				ModuleDefinitionFile=".\mpich.def"
-				GenerateDebugInformation="false"
-				ProgramDatabaseFile=".\$(ConfigurationName)/mpich.pdb"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				ImportLibrary=".\$(ConfigurationName)/mpich.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying mpich.dll to system32 directory"
-				CommandLine="copy lib\mpich.dll %SystemRoot%\system32\mpich.dll&#x0D;&#x0A;copy $(ConfigurationName)\mpich.lib lib\mpich.lib&#x0D;&#x0A;"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat;f90;for;f;fpp"
-			>
-			<File
-				RelativePath=".\src\mpi\init\abort.c"
-				>
-				<FileConfiguration
-					Name="ch3nemesisDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ShowIncludes="false"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ShowIncludes="false"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\src\mpi\rma\accumulate.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\ad_aggregate.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\ad_aggregate_new.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\ad_close.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\ad_coll_build_req_new.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\ad_coll_exch_new.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\ad_darray.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\ad_delete.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\ad_end.c"
-				>
-				<FileConfiguration
-					Name="ch3shmDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;ROMIO_INSIDE_MPICH"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shmRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;ROMIO_INSIDE_MPICH"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;ROMIO_INSIDE_MPICH"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;ROMIO_INSIDE_MPICH"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;ROMIO_INSIDE_MPICH"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;ROMIO_INSIDE_MPICH"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;ROMIO_INSIDE_MPICH"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmPDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;ROMIO_INSIDE_MPICH"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockPliteRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;ROMIO_INSIDE_MPICH"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;ROMIO_INSIDE_MPICH"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmPDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;ROMIO_INSIDE_MPICH"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;ROMIO_INSIDE_MPICH"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ibVapiDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;ROMIO_INSIDE_MPICH"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ibVapiRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;ROMIO_INSIDE_MPICH"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shmPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;ROMIO_INSIDE_MPICH"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;ROMIO_INSIDE_MPICH"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;ROMIO_INSIDE_MPICH"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ibVapiPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;ROMIO_INSIDE_MPICH"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3essmDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;ROMIO_INSIDE_MPICH"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3essmRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;ROMIO_INSIDE_MPICH"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3essmPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;ROMIO_INSIDE_MPICH"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockmtDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;ROMIO_INSIDE_MPICH"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockmtRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;ROMIO_INSIDE_MPICH"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockmtPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;ROMIO_INSIDE_MPICH"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ibIbalDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;ROMIO_INSIDE_MPICH"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ibIbalPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;ROMIO_INSIDE_MPICH"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ibIbalRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;ROMIO_INSIDE_MPICH"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;ROMIO_INSIDE_MPICH"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;ROMIO_INSIDE_MPICH"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;ROMIO_INSIDE_MPICH"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;ROMIO_INSIDE_MPICH"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;ROMIO_INSIDE_MPICH"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;ROMIO_INSIDE_MPICH"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;ROMIO_INSIDE_MPICH"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;ROMIO_INSIDE_MPICH"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;ROMIO_INSIDE_MPICH"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;ROMIO_INSIDE_MPICH"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;ROMIO_INSIDE_MPICH"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;ROMIO_INSIDE_MPICH"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\ad_features.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\ad_fstype.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\ad_get_sh_fp.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\ad_hints.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\ad_init.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\ad_io_coll.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\ad_iopen.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\ad_iread_fake.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\ad_iwrite_fake.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\ad_ntfs\ad_ntfs.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\ad_ntfs\ad_ntfs_close.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\ad_ntfs\ad_ntfs_done.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\ad_ntfs\ad_ntfs_fcntl.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\ad_ntfs\ad_ntfs_flush.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\ad_ntfs\ad_ntfs_iread.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\ad_ntfs\ad_ntfs_iwrite.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\ad_ntfs\ad_ntfs_open.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\ad_ntfs\ad_ntfs_read.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\ad_ntfs\ad_ntfs_resize.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\ad_ntfs\ad_ntfs_wait.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\ad_ntfs\ad_ntfs_write.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\ad_open.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\ad_opencoll.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\ad_prealloc.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\ad_read_coll.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\ad_read_str.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\ad_read_str_naive.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\ad_seek.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\ad_set_sh_fp.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\ad_set_view.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\ad_subarray.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\ad_write_coll.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\ad_write_str.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\ad_write_str_naive.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\errhan\add_error_class.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\errhan\add_error_code.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\errhan\add_error_string.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\datatype\address.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\allgather.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\allgatherv.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\rma\alloc_mem.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\allreduce.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\alltoall.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\alltoallv.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\alltoallw.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\init\async.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\attr\attr_delete.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\attr\attr_get.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\attr\attr_put.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\attr\attrutil.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\barrier.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\bcast.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\pt2pt\bsend.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\pt2pt\bsend_init.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\pt2pt\bsendutil.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\pt2pt\bufattach.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\pt2pt\buffree.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\byte_offset.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\pt2pt\cancel.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\topo\cart_coords.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\topo\cart_create.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\topo\cart_get.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\topo\cart_map.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\topo\cart_rank.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\topo\cart_shift.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\topo\cart_sub.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\topo\cartdim_get.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\cb_config_list.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\close.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\spawn\close_port.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\spawn\comm_accept.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\errhan\comm_call_errhandler.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\comm\comm_compare.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\spawn\comm_connect.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\comm\comm_create.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\errhan\comm_create_errhandler.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\attr\comm_create_keyval.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\attr\comm_delete_attr.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\spawn\comm_disconnect.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\comm\comm_dup.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\comm\comm_free.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\attr\comm_free_keyval.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\attr\comm_get_attr.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\errhan\comm_get_errhandler.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\comm\comm_get_name.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\spawn\comm_get_parent.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\comm\comm_group.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\spawn\comm_join.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\comm\comm_rank.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\comm\comm_remote_group.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\comm\comm_remote_size.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\attr\comm_set_attr.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\errhan\comm_set_errhandler.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\comm\comm_set_name.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\comm\comm_size.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\spawn\comm_spawn.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\spawn\comm_spawn_multiple.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\comm\comm_split.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\comm\comm_test_inter.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\comm\commutil.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\binding\f90\create_f90_complex.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\binding\f90\create_f90_int.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\binding\f90\create_f90_real.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\binding\f90\create_f90_util.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\dataloop\darray_support.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\dataloop\dataloop.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\dataloop\dataloop_create.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\dataloop\dataloop_create_blockindexed.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\dataloop\dataloop_create_contig.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\dataloop\dataloop_create_indexed.c"
-				>
-				<FileConfiguration
-					Name="ch3sockRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						DisableLanguageExtensions="false"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						DisableLanguageExtensions="false"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\dataloop\dataloop_create_pairtype.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\dataloop\dataloop_create_struct.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\dataloop\dataloop_create_vector.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\delete.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\topo\dims_create.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\topo\dist_gr_create.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\topo\dist_gr_create_adj.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\topo\dist_gr_neighb.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\topo\dist_gr_neighb_count.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\attr\dup_fn.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\errhan\dynerrutil.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\eof_offset.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\errhan\errhandler_create.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\errhan\errhandler_free.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\errhan\errhandler_get.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\errhan\errhandler_set.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\errhan\error_class.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\errhan\error_string.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\errhan\errutil.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\exscan.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\file_c2f.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\errhan\file_call_errhandler.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\errhan\file_create_errhandler.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\file_f2c.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\errhan\file_get_errhandler.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\errhan\file_set_errhandler.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\init\finalize.c"
-				>
-				<FileConfiguration
-					Name="ch3shmDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shmRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmPDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockPliteRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmPDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ibVapiDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ibVapiRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shmPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ibVapiPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3essmDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3essmRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3essmPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockmtDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockmtRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockmtPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ibIbalDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ibIbalPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ibIbalRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\src\mpi\init\finalized.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\flatten.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\rma\free_mem.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\fsync.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\gather.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\gatherv.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\rma\get.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\datatype\get_address.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\get_amode.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\get_atom.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\get_bytoff.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\datatype\get_count.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\datatype\get_elements.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\get_extent.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\get_fp_posn.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\get_group.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\get_info.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\get_posn.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\get_posn_sh.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\get_size.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\get_view.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\misc\getpname.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\topo\graph_get.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\topo\graph_map.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\topo\graph_nbr.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\topo\graphcreate.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\topo\graphdimsget.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\topo\graphnbrcnt.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\pt2pt\greq_complete.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\greq_fns.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\pt2pt\greq_start.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\group\group_compare.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\group\group_difference.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\group\group_excl.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\group\group_free.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\group\group_incl.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\group\group_intersection.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\group\group_range_excl.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\group\group_range_incl.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\group\group_rank.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\group\group_size.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\group\group_translate_ranks.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\group\group_union.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\group\grouputil.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\util\mem\handlemem.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\heap-sort.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\helper_fns.c"
-				>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						WarningLevel="4"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\iallgather.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\iallgatherv.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\iallreduce.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\ialltoall.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\ialltoallv.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\ialltoallw.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\ibarrier.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\ibcast.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\pt2pt\ibsend.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\iexscan.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\igather.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\igatherv.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\util\info\info_create.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\util\info\info_delete.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\util\info\info_dup.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\util\info\info_free.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\util\info\info_get.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\util\info\info_getn.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\util\info\info_getnth.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\util\info\info_getvallen.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\util\info\info_set.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\util\info\infoutil.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\init\init.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\init\initialized.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\init\initthread.c"
-				>
-				<FileConfiguration
-					Name="ch3shmDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shmRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmPDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockPliteRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmPDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ibVapiDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ibVapiRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shmPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ibVapiPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3essmDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3essmRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3essmPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockmtDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockmtRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockmtPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ibIbalDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ibIbalPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ibIbalRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\src\mpi\comm\intercomm_create.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\comm\intercomm_merge.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\ioreq_c2f.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\ioreq_f2c.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\iotest.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\iowait.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\pt2pt\iprobe.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\iread.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\iread_at.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\iread_sh.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\pt2pt\irecv.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\ired_scat.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\ired_scat_block.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\ireduce.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\pt2pt\irsend.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\iscan.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\iscatter.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\iscatterv.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\iscontig.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\pt2pt\isend.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\init\ismain.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\pt2pt\issend.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\iwrite.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\iwrite_at.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\iwrite_sh.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\attr\keyval_create.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\attr\keyval_free.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\util\procmap\local_proc.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\lock.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\spawn\lookup_name.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\malloc.c"
-				>
-			</File>
-			<File
-				RelativePath=".\mpich.def"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\mpich_fileutil.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\mpid_contents_support.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\mpid_datatype_contents.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\mpid_datatype_free.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\mpid_ext32_datatype.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\mpid_ext32_segment.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\sched\mpid_sched.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\mpid_segment.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\mpid_type_blockindexed.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\mpid_type_commit.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\mpid_type_contiguous.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\mpid_type_create_pairtype.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\mpid_type_create_resized.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\mpid_type_debug.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\mpid_type_dup.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\mpid_type_get_contents.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\mpid_type_get_envelope.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\mpid_type_indexed.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\mpid_type_struct.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\mpid_type_vector.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\mpid_type_zerolen.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\timer\mpidtime.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\glue\mpich\mpio_err.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\glue\mpich\mpio_file.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\mpir-mpioinit.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\pt2pt\mpir_request.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\mpir_type_flatten.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\mpir_type_get_contig_blocks.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\mpiu_greq.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\util\thread\mpiu_thread.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\nbcutil.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\op_commutative.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\op_create.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\op_free.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\opband.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\opbor.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\opbxor.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\open.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\spawn\open_port.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\opland.c"
-				>
-				<FileConfiguration
-					Name="ch3shmDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shmRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmPDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockPliteRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmPDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ibVapiDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ibVapiRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shmPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ibVapiPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3essmDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3essmRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3essmPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockmtDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockmtRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockmtPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ibIbalDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ibIbalPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ibIbalRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\oplor.c"
-				>
-				<FileConfiguration
-					Name="ch3shmDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shmRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmPDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockPliteRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmPDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ibVapiDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ibVapiRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shmPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ibVapiPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3essmDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3essmRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3essmPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockmtDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockmtRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockmtPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ibIbalDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ibIbalPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ibIbalRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\oplxor.c"
-				>
-				<FileConfiguration
-					Name="ch3shmDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shmRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmPDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockPliteRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmPDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ibVapiDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ibVapiRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shmPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ibVapiPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3essmDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3essmRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3essmPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockmtDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockmtRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockmtPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ibIbalDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ibIbalPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ibIbalRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\opmax.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\opmaxloc.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\opmin.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\opminloc.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\opprod.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\opsum.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\datatype\pack.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\datatype\pack_external.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\datatype\pack_external_size.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\datatype\pack_size.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\misc\pcontrol.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\nameserv\pmi\pmi_nameserv.c"
-				>
-				<FileConfiguration
-					Name="ch3shmDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shmRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmPDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockPliteRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmPDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ibVapiDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ibVapiRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shmPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ibVapiPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3essmDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3essmRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3essmPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockmtDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockmtRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockmtPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ibIbalDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ibIbalPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ibIbalRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\prealloc.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\pt2pt\probe.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\spawn\publish_name.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\rma\put.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\init\querythread.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\rd_atallb.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\rd_atalle.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\read.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\read_all.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\read_allb.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\read_alle.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\read_at.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\read_atall.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\read_ord.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\read_ordb.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\read_orde.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\read_sh.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\pt2pt\recv.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\pt2pt\recv_init.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\red_scat.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\red_scat_block.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\reduce.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\reduce_local.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\datatype\register_datarep.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\pt2pt\request_free.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\pt2pt\request_get_status.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\pt2pt\rsend.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\pt2pt\rsend_init.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\scan.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\scatter.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\scatterv.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\seek.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\seek_sh.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\dataloop\segment.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\dataloop\segment_count.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\dataloop\segment_flatten.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\dataloop\segment_packunpack.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\pt2pt\send.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\pt2pt\send_init.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\pt2pt\sendrecv.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\pt2pt\sendrecv_rep.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\set_atom.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\set_info.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\set_size.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\set_view.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\shfp_fname.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\pt2pt\ssend.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\pt2pt\ssend_init.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\pt2pt\start.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\pt2pt\startall.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\pt2pt\status_set_cancelled.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\datatype\status_set_elements.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\status_setb.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\strfns.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\dataloop\subarray_support.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\system_hints.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\pt2pt\test.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\pt2pt\test_cancelled.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\pt2pt\testall.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\pt2pt\testany.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\pt2pt\testsome.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\topo\topo_test.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\topo\topoutil.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\util\mem\trmem.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\datatype\type_commit.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\datatype\type_contiguous.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\datatype\type_create_darray.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\datatype\type_create_hindexed.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\datatype\type_create_hvector.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\datatype\type_create_indexed_block.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\attr\type_create_keyval.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\datatype\type_create_resized.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\datatype\type_create_struct.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\datatype\type_create_subarray.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\attr\type_delete_attr.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\datatype\type_dup.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\datatype\type_extent.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\datatype\type_free.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\attr\type_free_keyval.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\attr\type_get_attr.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\datatype\type_get_contents.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\datatype\type_get_envelope.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\datatype\type_get_extent.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\datatype\type_get_name.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\datatype\type_get_true_extent.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\datatype\type_hindexed.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\datatype\type_hvector.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\datatype\type_indexed.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\datatype\type_lb.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\datatype\type_match_size.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\attr\type_set_attr.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\datatype\type_set_name.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\datatype\type_size.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\datatype\type_struct.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\datatype\type_ub.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\datatype\type_vector.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\dataloop\typesize_support.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\datatype\typeutil.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\datatype\unpack.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\datatype\unpack_external.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\spawn\unpublish_name.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\misc\version.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\pt2pt\wait.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\pt2pt\waitall.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\pt2pt\waitany.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\pt2pt\waitsome.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\errhan\win_call_errhandler.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\rma\win_complete.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\rma\win_create.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\errhan\win_create_errhandler.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\attr\win_create_keyval.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\attr\win_delete_attr.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\rma\win_fence.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\rma\win_free.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\attr\win_free_keyval.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\attr\win_get_attr.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\errhan\win_get_errhandler.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\rma\win_get_group.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\rma\win_get_name.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\rma\win_lock.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\rma\win_post.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\attr\win_set_attr.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\errhan\win_set_errhandler.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\rma\win_set_name.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\rma\win_start.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\rma\win_test.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\rma\win_unlock.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\rma\win_wait.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\rma\winutil.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\wr_atallb.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\wr_atalle.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\write.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\write_all.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\write_allb.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\write_alle.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\write_at.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\write_atall.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\write_ord.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\write_ordb.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\write_orde.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\write_sh.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\timer\wtick.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\timer\wtime.c"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;fi;fd"
-			>
-			<File
-				RelativePath=".\src\mpi\romio\adio\ad_ntfs\ad_ntfs.h"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\errhan\errcodes.h"
-				>
-			</File>
-			<File
-				RelativePath=".\src\include\win32\mpi.h"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\init\mpi_init.h"
-				>
-			</File>
-			<File
-				RelativePath=".\src\include\mpiallstates.h"
-				>
-			</File>
-			<File
-				RelativePath=".\src\include\win32\mpichconf.h"
-				>
-			</File>
-			<File
-				RelativePath=".\src\include\win32\mpichtimer.h"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\comm\mpicomm.h"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\mpid_dataloop.h"
-				>
-			</File>
-			<File
-				RelativePath=".\src\include\mpierror.h"
-				>
-			</File>
-			<File
-				RelativePath=".\src\include\mpihandlemem.h"
-				>
-			</File>
-			<File
-				RelativePath=".\src\include\mpiimpl.h"
-				>
-			</File>
-			<File
-				RelativePath=".\src\include\mpiimplthread.h"
-				>
-			</File>
-			<File
-				RelativePath=".\src\util\info\mpiinfo.h"
-				>
-			</File>
-			<File
-				RelativePath=".\src\include\mpio.h"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\pt2pt\mpir_pt2pt.h"
-				>
-			</File>
-			<File
-				RelativePath=".\src\include\mpitimerimpl.h"
-				>
-			</File>
-			<File
-				RelativePath=".\src\include\mpitypedefs.h"
-				>
-			</File>
-			<File
-				RelativePath=".\src\include\nmpi.h"
-				>
-			</File>
-			<File
-				RelativePath=".\src\include\rlog_macros.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-			>
-		</Filter>
-		<File
-			RelativePath="src\mpi\errhan\errnames.txt"
-			>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/mpichs.vcproj b/mpichs.vcproj
deleted file mode 100644
index bc9a261..0000000
--- a/mpichs.vcproj
+++ /dev/null
@@ -1,4989 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="mpichs"
-	ProjectGUID="{7FBADF88-70AB-4415-B7DA-248EFA299A86}"
-	RootNamespace="mpichs"
-	Keyword="Win32Proj"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;_DEBUG;_LIB;USE_WINCONF_H;MPICH_DBG_OUTPUT"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="lib/mpichsd.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;NDEBUG;_LIB;USE_WINCONF_H"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="lib/mpichs.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3ssmDebug|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="src\mpi\romio\mpi-io,src\mpi\romio\adio\include,src\include,src\include\win32,src\mpid\common\datatype,src\mpid\common\sock,src\mpid\common\sock\iocp,src\mpid\ch3\channels\ssm\include,src\mpid\ch3\include,src\mpid\common\locks,src\mpi\datatype"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;_DEBUG;_LIB;USE_WINCONF_H;MPICH_DBG_OUTPUT;MPIO_BUILD_PROFILING"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="lib/mpichssmsd.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="Combining libraries into mpichssmsd.lib"
-				CommandLine="lib lib\mpichssmsd.lib lib\ch3ssmd.lib lib\cxxd.lib lib\dbgd.lib lib\pmid.lib lib\sockd.lib"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3ssmRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="src\mpi\romio\mpi-io,src\mpi\romio\adio\include,src\include,src\include\win32,src\mpid\common\datatype,src\mpid\common\sock,src\mpid\common\sock\iocp,src\mpid\ch3\channels\ssm\include,src\mpid\ch3\include,src\mpid\common\locks,src\mpi\datatype"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;NDEBUG;_LIB;USE_WINCONF_H;MPIO_BUILD_PROFILING"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="lib/mpichssms.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="Combining libraries into mpichssms.lib"
-				CommandLine="lib lib\mpichssms.lib lib\ch3ssm.lib lib\cxx.lib lib\dbg.lib lib\pmi.lib lib\sock.lib"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3sockDebug|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="src\mpi\romio\mpi-io,src\mpi\romio\adio\include,src\include,src\include\win32,src\mpid\common\datatype,src\mpid\common\sock,src\mpid\common\sock\iocp,src\mpid\ch3\include,src\mpid\common\locks,src\mpid\ch3\channels\sock\include,src\mpi\datatype"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;USE_WINCONF_H;MPICH_DBG_OUTPUT;MPIO_BUILD_PROFILING;MPI_EXPORTS;WORDS_LITTLEENDIAN"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				ProgramDataBaseFileName="$(IntDir)\mpichsocksd.pdb"
-				BrowseInformation="1"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="lib/mpichsocksd.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="rem Combining libraries into mpichsocksd.lib"
-				CommandLine="rem lib lib\mpichsocksd.lib lib\ch3sockd.lib lib\cxxd.lib lib\dbgd.lib lib\pmid.lib lib\sockd.lib lib\smpd_utild.lib"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3sockRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories=""src\mpi\romio\mpi-io";src\mpi\romio\adio\include;src\include;src\include\win32;src\mpl\include;src\mpid\common\datatype;src\mpid\common\sched;src\mpid\common\sock;src\mpid\common\sock\iocp;src\mpid\ch3\include;src\mpid\common\locks;src\mpid\ch3\channels\sock\include;src\mpi\datatype"
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;USE_WINCONF_H;MPIO_BUILD_PROFILING;HAVE_FORTRAN_BINDING;MPI_EXPORTS;WORDS_LITTLEENDIAN"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				BrowseInformation="1"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="lib/mpichsocks.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="rem Combining libraries into mpichsocks.lib"
-				CommandLine="rem lib lib\mpichsocks.lib lib\ch3sock.lib lib\cxx.lib lib\dbg.lib lib\pmi.lib lib\sock.lib lib\smpd_util.lib"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3shmDebug|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="src\mpi\romio\mpi-io,src\mpi\romio\adio\include,src\include,src\include\win32,src\mpid\common\datatype,src\mpid\common\sock,src\mpid\ch3\channels\shm\include,src\mpid\ch3\include,src\mpid\common\locks,src\mpi\datatype"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;_DEBUG;_LIB;USE_WINCONF_H;MPICH_DBG_OUTPUT;MPIO_BUILD_PROFILING"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="lib/mpichshmsd.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="Combining libraries into mpichshmsd.lib"
-				CommandLine="lib lib\mpichshmsd.lib lib\ch3shmd.lib lib\cxxd.lib lib\dbgd.lib lib\pmid.lib"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3shmRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="src\mpi\romio\mpi-io,src\mpi\romio\adio\include,src\include,src\include\win32,src\mpid\common\datatype,src\mpid\common\sock,src\mpid\ch3\channels\shm\include,src\mpid\ch3\include,src\mpid\common\locks,src\mpi\datatype"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;NDEBUG;_LIB;USE_WINCONF_H;MPIO_BUILD_PROFILING"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="lib/mpichshms.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="Combining libraries into mpichshms.lib"
-				CommandLine="lib lib\mpichshms.lib lib\ch3shm.lib lib\cxx.lib lib\dbg.lib lib\pmi.lib"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3sshmDebug|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="src\mpi\romio\mpi-io,src\mpi\romio\adio\include,src\include,src\include\win32,src\mpid\common\datatype,src\mpid\ch3\channels\sshm\include,src\mpid\ch3\include,src\mpid\common\locks,src\mpi\datatype"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;_DEBUG;_LIB;USE_WINCONF_H;MPICH_DBG_OUTPUT;MPIO_BUILD_PROFILING"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="lib/mpichssmsd.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="Combining libraries into mpichssmsd.lib"
-				CommandLine="lib lib\mpichsshmsd.lib lib\ch3sshmd.lib lib\cxxd.lib lib\dbgd.lib lib\pmid.lib lib\sockd.lib"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3sshmRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="src\mpi\romio\mpi-io,src\mpi\romio\adio\include,src\include,src\include\win32,src\mpid\common\datatype,src\mpid\common\sock,src\mpid\common\sock\iocp,src\mpid\ch3\channels\ssm\include,src\mpid\ch3\include,src\mpid\common\locks,src\mpi\datatype"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;NDEBUG;_LIB;USE_WINCONF_H;MPIO_BUILD_PROFILING"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="lib/mpichssms.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="Combining libraries into mpichssms.lib"
-				CommandLine="lib lib\mpichsshms.lib lib\ch3sshm.lib lib\cxx.lib lib\dbg.lib lib\pmi.lib lib\sock.lib"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3essmDebug|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="src\mpi\romio\mpi-io,src\mpi\romio\adio\include,src\include,src\include\win32,src\mpid\common\datatype,src\mpid\common\sock,src\mpid\common\sock\iocp,src\mpid\ch3\channels\essm\include,src\mpid\ch3\include,src\mpid\common\locks,src\mpi\datatype"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;_DEBUG;_LIB;USE_WINCONF_H;MPICH_DBG_OUTPUT;MPIO_BUILD_PROFILING,MPICH_MULTITHREADED"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="lib/mpichessmsd.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="Combining libraries into mpichessmsd.lib"
-				CommandLine="lib lib\mpichessmsd.lib lib\ch3essmd.lib lib\cxxd.lib lib\dbgd.lib lib\pmid.lib lib\sockd.lib"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3essmRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="src\mpi\romio\mpi-io,src\mpi\romio\adio\include,src\include,src\include\win32,src\mpid\common\datatype,src\mpid\common\sock,src\mpid\common\sock\iocp,src\mpid\ch3\channels\essm\include,src\mpid\ch3\include,src\mpid\common\locks,src\mpi\datatype"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;NDEBUG;_LIB;USE_WINCONF_H;MPIO_BUILD_PROFILING,MPICH_MULTITHREADED"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="lib/mpichessms.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="Combining libraries into mpichessms.lib"
-				CommandLine="lib lib\mpichessms.lib lib\ch3essm.lib lib\cxx.lib lib\dbg.lib lib\pmi.lib lib\sock.lib"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichDebugConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="src\mpi\romio\mpi-io,src\mpi\romio\adio\include,src\include,src\include\win32,src\mpid\common\datatype,src\mpid\common\sock,src\mpid\common\sock\iocp,src\mpid\ch3\include,src\mpid\common\locks,src\mpid\ch3\channels\sock\include,src\mpi\datatype"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;_DEBUG;_LIB;USE_WINCONF_H;MPICH_DBG_OUTPUT;MPIO_BUILD_PROFILING;MPI_EXPORTS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				BrowseInformation="1"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="lib/mpichsocksd.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="rem Combining libraries into mpichsocksd.lib"
-				CommandLine="rem lib lib\mpichsocksd.lib lib\ch3sockd.lib lib\cxxd.lib lib\dbgd.lib lib\pmid.lib lib\sockd.lib lib\smpd_utild.lib"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="src\mpi\romio\mpi-io,src\mpi\romio\adio\include,src\include,src\include\win32,src\mpid\common\datatype,src\mpid\common\sock,src\mpid\common\sock\iocp,src\mpid\ch3\include,src\mpid\common\locks,src\mpid\ch3\channels\sock\include,src\mpi\datatype"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;_LIB;USE_WINCONF_H;MPIO_BUILD_PROFILING;MPI_EXPORTS"
-				MinimalRebuild="false"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				ProgramDataBaseFileName="$(IntDir)\mpichsocks.pdb"
-				BrowseInformation="1"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="lib/mpichsocks.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="rem Combining libraries into mpichsocksd.lib"
-				CommandLine="rem lib lib\mpichsocksd.lib lib\ch3sockd.lib lib\cxxd.lib lib\dbgd.lib lib\pmid.lib lib\sockd.lib lib\smpd_utild.lib"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories=""src\mpi\romio\mpi-io";src\mpi\romio\adio\include;src\include;src\include\win32;src\mpid\common\datatype;src\mpid\common\sock;src\mpid\common\sock\iocp;src\mpid\ch3\include;src\mpid\common\locks;src\mpid\ch3\channels\shm\include;src\mpi\datatype"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;_DEBUG;_LIB;USE_WINCONF_H;MPICH_DBG_OUTPUT;MPIO_BUILD_PROFILING;MPI_EXPORTS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				BrowseInformation="1"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="lib/mpichshms.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="rem Combining libraries into mpichsocksd.lib"
-				CommandLine="rem lib lib\mpichsocksd.lib lib\ch3sockd.lib lib\cxxd.lib lib\dbgd.lib lib\pmid.lib lib\sockd.lib lib\smpd_utild.lib"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories=""src\mpi\romio\mpi-io";src\mpi\romio\adio\include;src\include;src\include\win32;src\mpid\common\datatype;src\mpid\common\sock;src\mpid\common\sock\iocp;src\mpid\ch3\include;src\mpid\common\locks;src\mpid\ch3\channels\shm\include;src\mpi\datatype"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;_DEBUG;_LIB;USE_WINCONF_H;MPICH_DBG_OUTPUT;MPIO_BUILD_PROFILING;MPI_EXPORTS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				BrowseInformation="1"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="lib/mpichsshms.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="rem Combining libraries into mpichsocksd.lib"
-				CommandLine="rem lib lib\mpichsocksd.lib lib\ch3sockd.lib lib\cxxd.lib lib\dbgd.lib lib\pmid.lib lib\sockd.lib lib\smpd_utild.lib"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories=""src\mpi\romio\mpi-io";src\mpi\romio\adio\include;src\include;src\include\win32;src\mpid\common\datatype;src\mpid\common\sock;src\mpid\common\sock\iocp;src\mpid\ch3\include;src\mpid\common\locks;src\mpid\ch3\channels\ssm\include;src\mpi\datatype"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;_DEBUG;_LIB;USE_WINCONF_H;MPICH_DBG_OUTPUT;MPIO_BUILD_PROFILING;MPI_EXPORTS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				BrowseInformation="1"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="lib/mpichssms.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="rem Combining libraries into mpichsocksd.lib"
-				CommandLine="rem lib lib\mpichsocksd.lib lib\ch3sockd.lib lib\cxxd.lib lib\dbgd.lib lib\pmid.lib lib\sockd.lib lib\smpd_utild.lib"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mt_mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="src\mpi\romio\mpi-io,src\mpi\romio\adio\include,src\include,src\include\win32,src\mpid\common\datatype,src\mpid\common\sock,src\mpid\common\sock\iocp,src\mpid\ch3\include,src\mpid\common\locks,src\mpid\ch3\channels\sock\include,src\mpi\datatype"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;_DEBUG;_LIB;USE_WINCONF_H;MPICH_DBG_OUTPUT;MPIO_BUILD_PROFILING;MPI_EXPORTS;MPICH_MULTITHREADED"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				BrowseInformation="1"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="lib/mpichsocks.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="rem Combining libraries into mpichsocksd.lib"
-				CommandLine="rem lib lib\mpichsocksd.lib lib\ch3sockd.lib lib\cxxd.lib lib\dbgd.lib lib\pmid.lib lib\sockd.lib lib\smpd_utild.lib"
-			/>
-		</Configuration>
-		<Configuration
-			Name="testrelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;NDEBUG;_LIB;USE_WINCONF_H"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="lib/mpichs.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichDebugConfig_1_0_5|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="src\mpi\romio\mpi-io,src\mpi\romio\adio\include,src\include,src\include\win32,src\mpid\common\datatype,src\mpid\common\sock,src\mpid\common\sock\iocp,src\mpid\ch3\include,src\mpid\common\locks,src\mpid\ch3\channels\sock\include,src\mpi\datatype"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;_LIB;USE_WINCONF_H;MPIO_BUILD_PROFILING;MPI_EXPORTS"
-				MinimalRebuild="false"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				ProgramDataBaseFileName="$(IntDir)\mpichsocks.pdb"
-				BrowseInformation="1"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="lib/mpichsocks.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="rem Combining libraries into mpichsocksd.lib"
-				CommandLine="rem lib lib\mpichsocksd.lib lib\ch3sockd.lib lib\cxxd.lib lib\dbgd.lib lib\pmid.lib lib\sockd.lib lib\smpd_utild.lib"
-			/>
-		</Configuration>
-		<Configuration
-			Name="fortDebugConfig_1_0_5|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;NDEBUG;_LIB;USE_WINCONF_H"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="lib/mpichs.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3nemesisPRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;NDEBUG;_LIB;USE_WINCONF_H"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="lib/mpichs.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="fortPRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;NDEBUG;_LIB;USE_WINCONF_H"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="lib/mpichs.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"
-			>
-			<File
-				RelativePath="src\mpi\init\abort.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\rma\accumulate.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\adio\common\ad_aggregate.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\adio\common\ad_close.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\ad_darray.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\adio\common\ad_delete.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\adio\common\ad_end.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\adio\common\ad_fstype.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\adio\common\ad_get_sh_fp.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\adio\common\ad_hints.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\adio\common\ad_init.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\ad_iopen.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\adio\ad_ntfs\ad_ntfs.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\adio\ad_ntfs\ad_ntfs_close.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\adio\ad_ntfs\ad_ntfs_done.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\adio\ad_ntfs\ad_ntfs_fcntl.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\adio\ad_ntfs\ad_ntfs_flush.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\adio\ad_ntfs\ad_ntfs_iread.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\adio\ad_ntfs\ad_ntfs_iwrite.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\adio\ad_ntfs\ad_ntfs_open.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\adio\ad_ntfs\ad_ntfs_read.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\adio\ad_ntfs\ad_ntfs_resize.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\adio\ad_ntfs\ad_ntfs_wait.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\adio\ad_ntfs\ad_ntfs_write.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\adio\common\ad_open.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\ad_prealloc.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\adio\common\ad_read_coll.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\adio\common\ad_read_str.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\adio\common\ad_read_str_naive.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\adio\common\ad_set_sh_fp.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\ad_set_view.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\ad_subarray.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\adio\common\ad_write_coll.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\adio\common\ad_write_str.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\errhan\add_error_class.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\errhan\add_error_code.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\errhan\add_error_string.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\datatype\address.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\coll\allgather.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\coll\allgatherv.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\rma\alloc_mem.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\coll\allreduce.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\coll\alltoall.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\coll\alltoallv.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\coll\alltoallw.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\init\async.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\attr\attr_delete.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\attr\attr_get.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\attr\attr_put.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\attr\attrutil.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\coll\barrier.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\coll\bcast.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\pt2pt\bsend.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\pt2pt\bsend_init.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\pt2pt\bsendutil.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\pt2pt\bufattach.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\pt2pt\buffree.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\adio\common\byte_offset.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\pt2pt\cancel.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\topo\cart_coords.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\topo\cart_create.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\topo\cart_get.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\topo\cart_map.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\topo\cart_rank.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\topo\cart_shift.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\topo\cart_sub.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\topo\cartdim_get.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\adio\common\cb_config_list.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\close.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\spawn\close_port.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\spawn\comm_accept.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\errhan\comm_call_errhandler.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\comm\comm_compare.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\spawn\comm_connect.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\comm\comm_create.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\errhan\comm_create_errhandler.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\attr\comm_create_keyval.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\attr\comm_delete_attr.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\spawn\comm_disconnect.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\comm\comm_dup.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\comm\comm_free.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\attr\comm_free_keyval.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\attr\comm_get_attr.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\errhan\comm_get_errhandler.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\comm\comm_get_name.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\spawn\comm_get_parent.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\comm\comm_group.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\spawn\comm_join.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\comm\comm_rank.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\comm\comm_remote_group.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\comm\comm_remote_size.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\attr\comm_set_attr.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\errhan\comm_set_errhandler.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\comm\comm_set_name.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\comm\comm_size.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\spawn\comm_spawn.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\spawn\comm_spawn_multiple.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\comm\comm_split.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\comm\comm_test_inter.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\comm\commutil.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi2-other\array\darray.c"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shmDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shmRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3essmDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3essmRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\dataloop\darray_support.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\dataloop\dataloop.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\dataloop\dataloop_create.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\dataloop\dataloop_create_blockindexed.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\dataloop\dataloop_create_contig.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\dataloop\dataloop_create_indexed.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\dataloop\dataloop_create_pairtype.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\dataloop\dataloop_create_struct.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\dataloop\dataloop_create_vector.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\delete.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\topo\dims_create.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\topo\dist_gr_create.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\topo\dist_gr_create_adj.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\topo\dist_gr_neighb.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\topo\dist_gr_neighb_count.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\attr\dup_fn.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\errhan\dynerrutil.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\adio\common\eof_offset.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\errhan\errhandler_create.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\errhan\errhandler_free.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\errhan\errhandler_get.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\errhan\errhandler_set.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\adio\common\error.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\errhan\error_class.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\errhan\error_string.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\errhan\errutil.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\coll\exscan.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\file_c2f.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\errhan\file_call_errhandler.c"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shmDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shmRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3essmDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3essmRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="src\mpi\errhan\file_create_errhandler.c"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shmDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shmRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3essmDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3essmRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\file_f2c.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\errhan\file_get_errhandler.c"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shmDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shmRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3essmDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3essmRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="src\mpi\errhan\file_set_errhandler.c"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shmDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shmRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3essmDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3essmRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="src\mpi\io\fileutil.c"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shmDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shmRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3essmDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3essmRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="src\mpi\init\finalize.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\init\finalized.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\adio\common\flatten.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\rma\free_mem.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\fsync.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\coll\gather.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\coll\gatherv.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\rma\get.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\datatype\get_address.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\get_amode.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\get_atom.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\get_bytoff.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\datatype\get_count.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\datatype\get_elements.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\get_extent.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\adio\common\get_fp_posn.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\get_group.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\get_info.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\get_posn.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\get_posn_sh.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\get_size.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\get_view.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\misc\getpname.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\topo\graph_get.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\topo\graph_map.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\topo\graph_nbr.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\topo\graphcreate.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\topo\graphdimsget.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\topo\graphnbrcnt.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\pt2pt\greq_complete.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\pt2pt\greq_start.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\group\group_compare.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\group\group_difference.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\group\group_excl.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\group\group_free.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\group\group_incl.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\group\group_intersection.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\group\group_range_excl.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\group\group_range_incl.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\group\group_rank.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\group\group_size.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\group\group_translate_ranks.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\group\group_union.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\group\grouputil.c"
-				>
-			</File>
-			<File
-				RelativePath="src\util\mem\handlemem.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\coll\helper_fns.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\pt2pt\ibsend.c"
-				>
-			</File>
-			<File
-				RelativePath="src\util\info\info_create.c"
-				>
-			</File>
-			<File
-				RelativePath="src\util\info\info_delete.c"
-				>
-			</File>
-			<File
-				RelativePath="src\util\info\info_dup.c"
-				>
-			</File>
-			<File
-				RelativePath="src\util\info\info_free.c"
-				>
-			</File>
-			<File
-				RelativePath="src\util\info\info_get.c"
-				>
-			</File>
-			<File
-				RelativePath="src\util\info\info_getn.c"
-				>
-			</File>
-			<File
-				RelativePath="src\util\info\info_getnth.c"
-				>
-			</File>
-			<File
-				RelativePath="src\util\info\info_getvallen.c"
-				>
-			</File>
-			<File
-				RelativePath="src\util\info\info_set.c"
-				>
-			</File>
-			<File
-				RelativePath="src\util\info\infoutil.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\init\init.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\init\initialized.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\init\initthread.c"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shmDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shmRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3essmDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3essmRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;F77_NAME_UPPER"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="src\mpi\comm\intercomm_create.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\comm\intercomm_merge.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\ioreq_c2f.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\ioreq_f2c.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\iotest.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\iowait.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\pt2pt\iprobe.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\iread.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\iread_at.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\iread_sh.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\pt2pt\irecv.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\pt2pt\irsend.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\adio\common\iscontig.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\pt2pt\isend.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\init\ismain.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\pt2pt\issend.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\iwrite.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\iwrite_at.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\iwrite_sh.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\attr\keyval_create.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\attr\keyval_free.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\util\procmap\local_proc.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\adio\common\lock.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\spawn\lookup_name.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\adio\common\malloc.c"
-				>
-			</File>
-			<File
-				RelativePath="mpich.def"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\mpich_fileutil.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\mpid_contents_support.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpid\common\datatype\mpid_datatype_contents.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpid\common\datatype\mpid_datatype_free.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpid\common\datatype\mpid_segment.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\mpid_type_blockindexed.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpid\common\datatype\mpid_type_commit.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpid\common\datatype\mpid_type_contiguous.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\mpid_type_create_pairtype.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\mpid_type_create_resized.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpid\common\datatype\mpid_type_debug.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpid\common\datatype\mpid_type_dup.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpid\common\datatype\mpid_type_get_contents.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpid\common\datatype\mpid_type_get_envelope.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpid\common\datatype\mpid_type_indexed.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpid\common\datatype\mpid_type_struct.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpid\common\datatype\mpid_type_vector.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\mpid_type_zerolen.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\timer\mpidtime.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi-io\mpir-mpioinit.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\pt2pt\mpir_request.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpid\common\datatype\mpir_type_flatten.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpid\common\datatype\mpir_type_get_contig_blocks.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\op_commutative.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\coll\op_create.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\coll\op_free.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\coll\opband.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\coll\opbor.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\coll\opbxor.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\open.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\spawn\open_port.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\coll\opland.c"
-				>
-				<FileConfiguration
-					Name="ch3sockRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="src\mpi\coll\oplor.c"
-				>
-				<FileConfiguration
-					Name="ch3sockRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="src\mpi\coll\oplxor.c"
-				>
-				<FileConfiguration
-					Name="ch3sockRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\binding\f77"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="src\mpi\coll\opmax.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\coll\opmaxloc.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\coll\opmin.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\coll\opminloc.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\coll\opprod.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\coll\opsum.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\datatype\pack.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\datatype\pack_external.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\datatype\pack_external_size.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\datatype\pack_size.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\misc\pcontrol.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\nameserv\pmi\pmi_nameserv.c"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shmDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shmRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3essmDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3essmRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="src\mpi\spawn"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\prealloc.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\pt2pt\probe.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\spawn\publish_name.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\rma\put.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\init\querythread.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\rd_atallb.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\rd_atalle.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\read.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\read_all.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\read_allb.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\read_alle.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\read_at.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\read_atall.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\read_ord.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\read_ordb.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\read_orde.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\read_sh.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\pt2pt\recv.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\pt2pt\recv_init.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\coll\red_scat.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\red_scat_block.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\coll\reduce.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\coll\reduce_local.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\datatype\register_datarep.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\pt2pt\request_free.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\pt2pt\request_get_status.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\common\dataloop\romio_dataloop.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\common\dataloop\romio_segment_ops.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\pt2pt\rsend.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\pt2pt\rsend_init.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\coll\scan.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\coll\scatter.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\coll\scatterv.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\seek.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\seek_sh.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\dataloop\segment.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\dataloop\segment_count.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\dataloop\segment_flatten.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\dataloop\segment_packunpack.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\pt2pt\send.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\pt2pt\send_init.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\pt2pt\sendrecv.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\pt2pt\sendrecv_rep.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\set_atom.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\set_info.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\set_size.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\set_view.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\adio\common\shfp_fname.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\pt2pt\ssend.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\pt2pt\ssend_init.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\pt2pt\start.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\pt2pt\startall.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\pt2pt\status_set_cancelled.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\datatype\status_set_elements.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\adio\common\status_setb.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\adio\common\strfns.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpi\romio\mpi2-other\array\subarray.c"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3ssmRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sockRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shmDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shmRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3sshmRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3essmDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3essmRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\dataloop\subarray_support.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\pt2pt\test.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\pt2pt\test_cancelled.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\pt2pt\testall.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\pt2pt\testany.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\pt2pt\testsome.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\topo\topo_test.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\topo\topoutil.c"
-				>
-			</File>
-			<File
-				RelativePath="src\util\mem\trmem.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\datatype\type_commit.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\datatype\type_contiguous.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\datatype\type_create_darray.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\datatype\type_create_hindexed.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\datatype\type_create_hvector.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\datatype\type_create_indexed_block.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\attr\type_create_keyval.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\datatype\type_create_resized.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\datatype\type_create_struct.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\datatype\type_create_subarray.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\attr\type_delete_attr.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\datatype\type_dup.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\datatype\type_extent.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\datatype\type_free.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\attr\type_free_keyval.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\attr\type_get_attr.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\datatype\type_get_contents.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\datatype\type_get_envelope.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\datatype\type_get_extent.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\datatype\type_get_name.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\datatype\type_get_true_extent.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\datatype\type_hindexed.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\datatype\type_hvector.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\datatype\type_indexed.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\datatype\type_lb.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\datatype\type_match_size.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\attr\type_set_attr.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\datatype\type_set_name.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\datatype\type_size.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\datatype\type_struct.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\datatype\type_ub.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\datatype\type_vector.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpid\common\datatype\dataloop\typesize_support.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\datatype\typeutil.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\datatype\unpack.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\datatype\unpack_external.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\spawn\unpublish_name.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\misc\version.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\pt2pt\wait.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\pt2pt\waitall.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\pt2pt\waitany.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\pt2pt\waitsome.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\errhan\win_call_errhandler.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\rma\win_complete.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\rma\win_create.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\errhan\win_create_errhandler.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\attr\win_create_keyval.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\attr\win_delete_attr.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\rma\win_fence.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\rma\win_free.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\attr\win_free_keyval.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\attr\win_get_attr.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\errhan\win_get_errhandler.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\rma\win_get_group.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\rma\win_get_name.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\rma\win_lock.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\rma\win_post.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\attr\win_set_attr.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\errhan\win_set_errhandler.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\rma\win_set_name.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\rma\win_start.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\rma\win_test.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\rma\win_unlock.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\rma\win_wait.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\rma\winutil.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\wr_atallb.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\wr_atalle.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\write.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\write_all.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\write_allb.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\write_alle.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\write_at.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\write_atall.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\write_ord.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\write_ordb.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\write_orde.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\romio\mpi-io\write_sh.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\timer\wtick.c"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\timer\wtime.c"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc"
-			>
-			<File
-				RelativePath="src\mpi\romio\adio\ad_ntfs\ad_ntfs.h"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\errhan\defmsg.h"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\errhan\errcodes.h"
-				>
-			</File>
-			<File
-				RelativePath="src\include\win32\mpi.h"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\init\mpi_init.h"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\comm\mpicomm.h"
-				>
-			</File>
-			<File
-				RelativePath="src\mpid\common\datatype\mpid_dataloop.h"
-				>
-			</File>
-			<File
-				RelativePath="src\include\mpihandlemem.h"
-				>
-			</File>
-			<File
-				RelativePath="src\include\mpiimpl.h"
-				>
-			</File>
-			<File
-				RelativePath="src\util\info\mpiinfo.h"
-				>
-			</File>
-			<File
-				RelativePath="src\mpi\pt2pt\mpir_pt2pt.h"
-				>
-			</File>
-			<File
-				RelativePath="src\include\mpistates.h"
-				>
-			</File>
-			<File
-				RelativePath="src\include\mpitimerimpl.h"
-				>
-			</File>
-			<File
-				RelativePath="src\include\nmpi.h"
-				>
-			</File>
-			<File
-				RelativePath="src\include\rlog_macros.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/mpl.vcproj b/mpl.vcproj
deleted file mode 100755
index de9a99b..0000000
--- a/mpl.vcproj
+++ /dev/null
@@ -1,236 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="mpl"
-	ProjectGUID="{8A501EEE-94AD-4FAA-A67F-EE5E6D9E5CD2}"
-	RootNamespace="mpl"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="src\mpl\include"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="2"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="lib\mpld.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			CharacterSet="2"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="src\mpl\include"
-				RuntimeLibrary="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="lib\mpl.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="fortPRelease|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			CharacterSet="2"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="src\mpl\include"
-				RuntimeLibrary="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="lib\mpl.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath=".\src\mpl\src\mplenv.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpl\src\mplstr.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\mpl\src\mpltrmem.c"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/src/binding/cxx/cxx.vcproj b/src/binding/cxx/cxx.vcproj
deleted file mode 100644
index 387d839..0000000
--- a/src/binding/cxx/cxx.vcproj
+++ /dev/null
@@ -1,1027 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="cxx"
-	ProjectGUID="{A611626E-E8FF-44A7-8105-149AB9CA5D20}"
-	RootNamespace="cxx"
-	Keyword="Win32Proj"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-				DisableSpecificWarnings="4800"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\cxxd.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-				DisableSpecificWarnings="4800"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				LinkLibraryDependencies="false"
-				OutputFile="..\..\..\lib\cxx.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichDebugConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-				DisableSpecificWarnings="4800"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\cxxd.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;_LIB"
-				MinimalRebuild="false"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-				DisableSpecificWarnings="4800"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\cxx.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-				DisableSpecificWarnings="4800"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\cxx.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-				DisableSpecificWarnings="4800"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\cxx.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-				DisableSpecificWarnings="4800"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\cxx.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mt_mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-				DisableSpecificWarnings="4800"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\cxx.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="testrelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-				DisableSpecificWarnings="4800"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\cxx.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichDebugConfig_1_0_5|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;_LIB"
-				MinimalRebuild="false"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-				DisableSpecificWarnings="4800"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\cxx.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="fortDebugConfig_1_0_5|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-				DisableSpecificWarnings="4800"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\cxx.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3nemesisPRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-				DisableSpecificWarnings="4800"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				LinkLibraryDependencies="false"
-				OutputFile="..\..\..\lib\cxx.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="fortPRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-				DisableSpecificWarnings="4800"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				LinkLibraryDependencies="false"
-				OutputFile="..\..\..\lib\cxx.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"
-			>
-			<File
-				RelativePath=".\initcxx.cxx"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc"
-			>
-			<File
-				RelativePath="..\..\include\mpicxx.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/src/binding/f77/mpichf.vcproj b/src/binding/f77/mpichf.vcproj
deleted file mode 100644
index 23c6d53..0000000
--- a/src/binding/f77/mpichf.vcproj
+++ /dev/null
@@ -1,7761 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="mpichf"
-	ProjectGUID="{D45A7472-5ECD-481D-A26D-98D88ED44305}"
-	RootNamespace="mpichf"
-	Keyword="Win32Proj"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="sfortDebug|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;USE_WINCONF_H;USE_FORT_STDCALL;USE_MSC_DLLSPEC;FORTRAN_EXPORTS;F77_NAME_UPPER;USE_FORT_MIXED_STR_LEN;HAVE_C_API"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				BrowseInformation="1"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpid.lib mpichffsd.lib"
-				OutputFile="../../../lib/fmpichsd.dll"
-				AdditionalLibraryDirectories="../../../lib"
-				ModuleDefinitionFile="mpichfs.def"
-				GenerateDebugInformation="true"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying fmpichsd.dll to the system32 directory"
-				CommandLine="copy ..\..\..\lib\fmpichsd.dll %SystemRoot%\system32\fmpichsd.dll"
-			/>
-		</Configuration>
-		<Configuration
-			Name="sfortRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;USE_WINCONF_H;USE_FORT_STDCALL;USE_MSC_DLLSPEC;FORTRAN_EXPORTS;F77_NAME_UPPER;USE_FORT_MIXED_STR_LEN;HAVE_C_API"
-				RuntimeLibrary="0"
-				FloatingPointModel="0"
-				TreatWChar_tAsBuiltInType="true"
-				RuntimeTypeInfo="false"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-				CallingConvention="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpi.lib mpichffs.lib"
-				OutputFile="../../../lib/fmpichs.dll"
-				AdditionalLibraryDirectories="../../../lib"
-				ModuleDefinitionFile="mpichfs.def"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying fmpichs.dll to the system32 directory"
-				CommandLine="copy ..\..\..\lib\fmpichs.dll %SystemRoot%\system32\fmpichs.dll"
-			/>
-		</Configuration>
-		<Configuration
-			Name="fortRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="..\..\include;..\..\include\win32;..\f90;..\f90\win32"
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;USE_WINCONF_H;USE_FORT_CDECL;USE_MSC_DLLSPEC;FORTRAN_EXPORTS;F77_NAME_UPPER;HAVE_C_API"
-				RuntimeLibrary="0"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="fmpichp.lib mpi.lib mpichff.lib"
-				OutputFile="../../../lib/fmpich.dll"
-				AdditionalLibraryDirectories="../../../lib"
-				ModuleDefinitionFile="mpichf.def"
-				GenerateDebugInformation="false"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				CommandLine=""
-			/>
-		</Configuration>
-		<Configuration
-			Name="fortDebug|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;USE_WINCONF_H;USE_FORT_CDECL;USE_MSC_DLLSPEC;FORTRAN_EXPORTS;F77_NAME_UPPER;HAVE_C_API"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				BrowseInformation="1"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpid.lib mpichffd.lib"
-				OutputFile="../../../lib/fmpichd.dll"
-				AdditionalLibraryDirectories="../../../lib"
-				ModuleDefinitionFile="mpichf.def"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)/$(ProjectName).pdb"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying fmpichd.dll to the system32 directory"
-				CommandLine="copy ..\..\..\lib\fmpichd.dll %SystemRoot%\system32\fmpichd.dll"
-			/>
-		</Configuration>
-		<Configuration
-			Name="gfortDebug|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;USE_WINCONF_H;USE_FORT_CDECL;USE_MSC_DLLSPEC;FORTRAN_EXPORTS;FORTRANDOUBLEUNDERSCORE;F77_NAME_LOWER_2USCORE;HAVE_C_API"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				BrowseInformation="1"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpid.lib mpichffgd.lib"
-				OutputFile="../../../lib/fmpichgd.dll"
-				AdditionalLibraryDirectories="../../../lib"
-				ModuleDefinitionFile="mpichfg.def"
-				GenerateDebugInformation="true"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying fmpichgd.dll to the system32 directory"
-				CommandLine="copy ..\..\..\lib\fmpichgd.dll %SystemRoot%\system32\fmpichgd.dll"
-			/>
-		</Configuration>
-		<Configuration
-			Name="gfortRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;USE_WINCONF_H;USE_FORT_CDECL;USE_MSC_DLLSPEC;FORTRAN_EXPORTS;FORTRANDOUBLEUNDERSCORE;F77_NAME_LOWER_2USCORE;HAVE_C_API"
-				RuntimeLibrary="0"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpi.lib mpichffg.lib"
-				OutputFile="../../../lib/fmpichg.dll"
-				AdditionalLibraryDirectories="../../../lib"
-				ModuleDefinitionFile="mpichfg.def"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying fmpichg.dll to the system32 directory"
-				CommandLine="copy ..\..\..\lib\fmpichg.dll %SystemRoot%\system32\fmpichg.dll"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichDebugConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;USE_WINCONF_H;USE_FORT_CDECL;USE_MSC_DLLSPEC;FORTRAN_EXPORTS;FORTRANDOUBLEUNDERSCORE;F77_NAME_LOWER_2USCORE;HAVE_C_API"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				BrowseInformation="1"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpid.lib mpichffgd.lib"
-				OutputFile="../../../lib/fmpichgd.dll"
-				AdditionalLibraryDirectories="../../../lib"
-				ModuleDefinitionFile="mpichfg.def"
-				GenerateDebugInformation="true"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying fmpichgd.dll to the system32 directory"
-				CommandLine="copy ..\..\..\lib\fmpichgd.dll %SystemRoot%\system32\fmpichgd.dll"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;_LIB;USE_WINCONF_H;USE_FORT_CDECL;USE_MSC_DLLSPEC;FORTRAN_EXPORTS;FORTRANDOUBLEUNDERSCORE;F77_NAME_LOWER_2USCORE;HAVE_C_API"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				BrowseInformation="1"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpi.lib mpichffg.lib"
-				OutputFile="../../../lib/fmpichg.dll"
-				AdditionalLibraryDirectories="../../../lib"
-				ModuleDefinitionFile="mpichfg.def"
-				GenerateDebugInformation="false"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying fmpichgd.dll to the system32 directory"
-				CommandLine="copy ..\..\..\lib\fmpichgd.dll %SystemRoot%\system32\fmpichgd.dll"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;USE_WINCONF_H;USE_FORT_CDECL;USE_MSC_DLLSPEC;FORTRAN_EXPORTS;FORTRANDOUBLEUNDERSCORE;F77_NAME_LOWER_2USCORE;HAVE_C_API"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				BrowseInformation="1"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpi.lib mpichffg.lib"
-				OutputFile="../../../lib/fmpichg.dll"
-				AdditionalLibraryDirectories="../../../lib"
-				ModuleDefinitionFile="mpichfg.def"
-				GenerateDebugInformation="false"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying fmpichgd.dll to the system32 directory"
-				CommandLine="copy ..\..\..\lib\fmpichgd.dll %SystemRoot%\system32\fmpichgd.dll"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;USE_WINCONF_H;USE_FORT_CDECL;USE_MSC_DLLSPEC;FORTRAN_EXPORTS;FORTRANDOUBLEUNDERSCORE;F77_NAME_LOWER_2USCORE;HAVE_C_API"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				BrowseInformation="1"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpi.lib mpichffg.lib"
-				OutputFile="../../../lib/fmpichg.dll"
-				AdditionalLibraryDirectories="../../../lib"
-				ModuleDefinitionFile="mpichfg.def"
-				GenerateDebugInformation="false"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying fmpichgd.dll to the system32 directory"
-				CommandLine="copy ..\..\..\lib\fmpichgd.dll %SystemRoot%\system32\fmpichgd.dll"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;USE_WINCONF_H;USE_FORT_CDECL;USE_MSC_DLLSPEC;FORTRAN_EXPORTS;FORTRANDOUBLEUNDERSCORE;F77_NAME_LOWER_2USCORE;HAVE_C_API"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				BrowseInformation="1"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpi.lib mpichffg.lib"
-				OutputFile="../../../lib/fmpichg.dll"
-				AdditionalLibraryDirectories="../../../lib"
-				ModuleDefinitionFile="mpichfg.def"
-				GenerateDebugInformation="false"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying fmpichgd.dll to the system32 directory"
-				CommandLine="copy ..\..\..\lib\fmpichgd.dll %SystemRoot%\system32\fmpichgd.dll"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mt_mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;USE_WINCONF_H;USE_FORT_CDECL;USE_MSC_DLLSPEC;FORTRAN_EXPORTS;FORTRANDOUBLEUNDERSCORE;F77_NAME_LOWER_2USCORE;HAVE_C_API"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				BrowseInformation="1"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpi.lib mpichffg.lib"
-				OutputFile="../../../lib/fmpichg.dll"
-				AdditionalLibraryDirectories="../../../lib"
-				ModuleDefinitionFile="mpichfg.def"
-				GenerateDebugInformation="true"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying fmpichgd.dll to the system32 directory"
-				CommandLine="copy ..\..\..\lib\fmpichgd.dll %SystemRoot%\system32\fmpichgd.dll"
-			/>
-		</Configuration>
-		<Configuration
-			Name="testrelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;USE_WINCONF_H;USE_FORT_CDECL;USE_MSC_DLLSPEC;FORTRAN_EXPORTS;FORTRANDOUBLEUNDERSCORE;F77_NAME_LOWER_2USCORE;HAVE_C_API"
-				RuntimeLibrary="0"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpi.lib mpichffg.lib"
-				OutputFile="../../../lib/fmpichg.dll"
-				AdditionalLibraryDirectories="../../../lib"
-				ModuleDefinitionFile="mpichfg.def"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying fmpichg.dll to the system32 directory"
-				CommandLine="copy ..\..\..\lib\fmpichg.dll %SystemRoot%\system32\fmpichg.dll"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichDebugConfig_1_0_5|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;_LIB;USE_WINCONF_H;USE_FORT_CDECL;USE_MSC_DLLSPEC;FORTRAN_EXPORTS;FORTRANDOUBLEUNDERSCORE;F77_NAME_LOWER_2USCORE;HAVE_C_API"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				BrowseInformation="1"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpi.lib mpichffg.lib"
-				OutputFile="../../../lib/fmpichg.dll"
-				AdditionalLibraryDirectories="../../../lib"
-				ModuleDefinitionFile="mpichfg.def"
-				GenerateDebugInformation="false"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying fmpichgd.dll to the system32 directory"
-				CommandLine="copy ..\..\..\lib\fmpichgd.dll %SystemRoot%\system32\fmpichgd.dll"
-			/>
-		</Configuration>
-		<Configuration
-			Name="fortDebugConfig_1_0_5|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;USE_WINCONF_H;USE_FORT_CDECL;USE_MSC_DLLSPEC;FORTRAN_EXPORTS;F77_NAME_UPPER;HAVE_C_API"
-				RuntimeLibrary="0"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpi.lib mpichff.lib"
-				OutputFile="../../../lib/fmpich.dll"
-				AdditionalLibraryDirectories="../../../lib"
-				ModuleDefinitionFile="mpichf.def"
-				GenerateDebugInformation="true"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying fmpich.dll to the system32 directory"
-				CommandLine="copy ..\..\..\lib\fmpich.dll %SystemRoot%\system32\fmpich.dll"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3nemesisPRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;USE_WINCONF_H;USE_FORT_CDECL;USE_MSC_DLLSPEC;FORTRAN_EXPORTS;FORTRANDOUBLEUNDERSCORE;F77_NAME_LOWER_2USCORE;HAVE_C_API"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				BrowseInformation="1"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpi.lib mpichffg.lib"
-				OutputFile="../../../lib/fmpichg.dll"
-				AdditionalLibraryDirectories="../../../lib"
-				ModuleDefinitionFile="mpichfg.def"
-				GenerateDebugInformation="false"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				Description="copying fmpichgd.dll to the system32 directory"
-				CommandLine="copy ..\..\..\lib\fmpichgd.dll %SystemRoot%\system32\fmpichgd.dll"
-			/>
-		</Configuration>
-		<Configuration
-			Name="fortPRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="..\..\include;..\..\include\win32;..\f90;..\f90\win32"
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;USE_WINCONF_H;USE_FORT_CDECL;USE_MSC_DLLSPEC;FORTRAN_EXPORTS;F77_NAME_UPPER;HAVE_C_API;MPICH_MPI_FROM_PMPI;USE_ONLY_MPI_NAMES"
-				RuntimeLibrary="0"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\fmpichp.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				CommandLine=""
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath=".\abortf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\accumulatef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\accumulatefs.c"
-				>
-				<FileConfiguration
-					Name="fortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\adderrclassf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\adderrcodef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\adderrstringf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\addressf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\allgatherf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\allgatherfs.c"
-				>
-				<FileConfiguration
-					Name="fortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\allgathervf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\allgathervfs.c"
-				>
-				<FileConfiguration
-					Name="fortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\alloc_memf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\allreducef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\allreducefs.c"
-				>
-				<FileConfiguration
-					Name="fortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\alltoallf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\alltoallfs.c"
-				>
-				<FileConfiguration
-					Name="fortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\alltoallvf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\alltoallvfs.c"
-				>
-				<FileConfiguration
-					Name="fortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\alltoallwf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\alltoallwfs.c"
-				>
-				<FileConfiguration
-					Name="fortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\attr_deletef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\attr_getf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\attr_putf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\barrierf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\bcastf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\bcastfs.c"
-				>
-				<FileConfiguration
-					Name="fortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\bsend_initf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\bsend_initfs.c"
-				>
-				<FileConfiguration
-					Name="fortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\bsendf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\bsendfs.c"
-				>
-				<FileConfiguration
-					Name="fortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\bufattachf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\bufattachfs.c"
-				>
-				<FileConfiguration
-					Name="fortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\bufdetachf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\bufdetachfs.c"
-				>
-				<FileConfiguration
-					Name="fortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\cancelf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\cart_coordsf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\cart_createf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\cart_getf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\cart_mapf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\cart_rankf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\cart_shiftf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\cart_subf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\cartdim_getf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\close_portf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\comm_acceptf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\comm_comparef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\comm_connectf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\comm_createf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\comm_dupf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\comm_freef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\comm_get_attrf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\comm_groupf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\comm_joinf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\comm_rankf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\comm_set_attrf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\comm_set_namef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\comm_sizef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\comm_spawnf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\comm_splitf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\commcallerrf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\commcreerrf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\commdelattrf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\commdiscf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\commfreekeyf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\commgeterrf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\commgetnamf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\commnewkeyf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\commparentf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\commrgroupf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\commrsizef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\commseterrf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\commtesticf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\dims_createf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\dist_graph_create_adjacentf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\dist_graph_createf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\dist_graph_neighbors_countf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\dist_graph_neighborsf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\dup_comm_fnf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\dup_fnf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\dup_type_fnf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\dup_win_fnf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\errhcreatef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\errhfreef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\errhgetf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\errhsetf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\error_classf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\error_stringf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\exscanf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\exscanfs.c"
-				>
-				<FileConfiguration
-					Name="fortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\file_closef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_deletef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_get_amodef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_get_atomicityf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_get_byte_offsetf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_get_groupf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_get_infof.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_get_position_sharedf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_get_positionf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_get_sizef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_get_type_extentf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_get_viewf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_iread_atf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_iread_sharedf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_ireadf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_iwrite_atf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_iwrite_sharedf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_iwritef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_openf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_preallocatef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_read_all_beginf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_read_all_endf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_read_allf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_read_at_all_beginf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_read_at_all_endf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_read_at_allf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_read_atf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_read_ordered_beginf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_read_ordered_endf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_read_orderedf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_read_sharedf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_readf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_seek_sharedf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_seekf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_set_atomicityf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_set_infof.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_set_sizef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_set_viewf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_syncf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_write_all_beginf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_write_all_endf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_write_allf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_write_at_all_beginf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_write_at_all_endf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_write_at_allf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_write_atf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_write_ordered_beginf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_write_ordered_endf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_write_orderedf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_write_sharedf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\file_writef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\filecallerrf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\filecreerrf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\filegeterrf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\fileseterrf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\finalizedf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\finalizef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\free_memf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\gatherf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\gatherfs.c"
-				>
-				<FileConfiguration
-					Name="fortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\gathervf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\gathervfs.c"
-				>
-				<FileConfiguration
-					Name="fortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\get_countf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\get_elementsf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\get_versionf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\getaddressf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\getf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\getfs.c"
-				>
-				<FileConfiguration
-					Name="fortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\getpnamef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\graph_createf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\graph_getf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\graph_mapf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\graphdims_getf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\greqcompletef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\greqstartf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\grfnbcountf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\grfnbrsf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\group_comparef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\group_exclf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\group_freef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\group_inclf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\group_rankf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\group_sizef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\group_unionf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\groupdifff.c"
-				>
-			</File>
-			<File
-				RelativePath=".\groupinterf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\grouprexclf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\grouprinclf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\grouptranksf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\ibsendf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\ibsendfs.c"
-				>
-				<FileConfiguration
-					Name="fortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\iccreatef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\icmergef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\info_createf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\info_deletef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\info_dupf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\info_freef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\info_getf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\info_setf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\infognkf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\infognthkf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\infovallenf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\initf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\initializedf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\initthreadf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\iprobef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\irecvf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\irecvfs.c"
-				>
-				<FileConfiguration
-					Name="fortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\irsendf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\irsendfs.c"
-				>
-				<FileConfiguration
-					Name="fortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\isendf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\isendfs.c"
-				>
-				<FileConfiguration
-					Name="fortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\issendf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\issendfs.c"
-				>
-				<FileConfiguration
-					Name="fortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\isthrmainf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\keyval_createf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\keyval_freef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\lookup_namef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\mpichf.def"
-				>
-				<FileConfiguration
-					Name="gfortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\mpichfg.def"
-				>
-				<FileConfiguration
-					Name="sfortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="sfortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\mpichfs.def"
-				>
-			</File>
-			<File
-				RelativePath=".\null_comm_copy_fnf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\null_comm_del_fnf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\null_copy_fnf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\null_del_fnf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\null_type_copy_fnf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\null_type_del_fnf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\null_win_copy_fnf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\null_win_del_fnf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\op_createf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\op_freef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\open_portf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\pack_externalf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\pack_sizef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\packesizef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\packf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\pcontrolf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\probef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\publish_namef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\putf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\putfs.c"
-				>
-				<FileConfiguration
-					Name="fortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\query_threadf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\recv_initf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\recv_initfs.c"
-				>
-				<FileConfiguration
-					Name="fortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\recvf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\recvfs.c"
-				>
-				<FileConfiguration
-					Name="fortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\redscatf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\redscatfs.c"
-				>
-				<FileConfiguration
-					Name="fortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\reduce_localf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\reducef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\reducefs.c"
-				>
-				<FileConfiguration
-					Name="fortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\register_datarepf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\reqgetstatf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\request_freef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\rsend_initf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\rsend_initfs.c"
-				>
-				<FileConfiguration
-					Name="fortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\rsendf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\rsendfs.c"
-				>
-				<FileConfiguration
-					Name="fortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\scanf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\scanfs.c"
-				>
-				<FileConfiguration
-					Name="fortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\scatterf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\scatterfs.c"
-				>
-				<FileConfiguration
-					Name="fortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\scattervf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\scattervfs.c"
-				>
-				<FileConfiguration
-					Name="fortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\send_initf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\send_initfs.c"
-				>
-				<FileConfiguration
-					Name="fortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\sendf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\sendfs.c"
-				>
-				<FileConfiguration
-					Name="fortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\sendrecvf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\sendrecvfs.c"
-				>
-				<FileConfiguration
-					Name="fortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\setbot.c"
-				>
-			</File>
-			<File
-				RelativePath=".\sndrcvrplf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\sndrcvrplfs.c"
-				>
-				<FileConfiguration
-					Name="fortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\spawnmultf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\ssend_initf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\ssend_initfs.c"
-				>
-				<FileConfiguration
-					Name="fortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\ssendf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\ssendfs.c"
-				>
-				<FileConfiguration
-					Name="fortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\startallf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\startf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\statgetclf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\statsetelf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\statusc2f.c"
-				>
-			</File>
-			<File
-				RelativePath=".\statusf2c.c"
-				>
-			</File>
-			<File
-				RelativePath=".\testallf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\testanyf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\testcancelf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\testf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\testsomef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\topo_testf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\type_commitf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\type_dupf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\type_extentf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\type_freef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\type_get_attrf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\type_hindexedf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\type_hvectorf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\type_indexedf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\type_lbf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\type_match_sizef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\type_sizef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\type_structf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\type_ubf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\type_vectorf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\typechindf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\typechvecf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\typecindbf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\typecontigf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\typecresizef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\typecstructf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\typecsubarrf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\typedarrayf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\typedelattrf.c"
-				>
-			</File>
-			<File
-				RelativePath="..\f90\typef90cmplxf.c"
-				>
-			</File>
-			<File
-				RelativePath="..\f90\typef90intf.c"
-				>
-			</File>
-			<File
-				RelativePath="..\f90\typef90realf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\typefreekeyf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\typegetcntsf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\typegetenvf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\typegetextentf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\typegnamef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\typegtextf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\typenewkeyf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\typesetattrf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\typesetnamef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\unpackextf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\unpackf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\unpubnamef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\waitallf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\waitanyf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\waitf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\waitsomef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\win_completef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\win_createf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\win_createfs.c"
-				>
-				<FileConfiguration
-					Name="fortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortDebug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\win_fencef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\win_freef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\win_get_attrf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\win_get_groupf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\win_get_namef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\win_lockf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\win_postf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\win_set_attrf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\win_set_namef.c"
-				>
-			</File>
-			<File
-				RelativePath=".\win_startf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\win_testf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\win_unlockf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\win_waitf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\wincallerrf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\wincreerrf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\windelattrf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\winfreekeyf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\wingeterrf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\winnewkeyf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\winseterrf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\wtickf.c"
-				>
-				<FileConfiguration
-					Name="sfortDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="..\..\mpi\romio\mpi-io,..\..\mpi\romio\adio\include,..\..\include,..\..\include\win32,..\..\mpid\common\datatype,..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\mpid\ch3\include,..\..\mpid\common\locks,..\..\mpid\ch3\channels\sock\include"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="sfortRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="..\..\mpi\romio\mpi-io,..\..\mpi\romio\adio\include,..\..\include,..\..\include\win32,..\..\mpid\common\datatype,..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\mpid\ch3\include,..\..\mpid\common\locks,..\..\mpid\ch3\channels\sock\include"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="..\..\mpi\romio\mpi-io,..\..\mpi\romio\adio\include,..\..\include,..\..\include\win32,..\..\mpid\common\datatype,..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\mpid\ch3\include,..\..\mpid\common\locks,..\..\mpid\ch3\channels\sock\include"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="..\..\mpi\romio\mpi-io,..\..\mpi\romio\adio\include,..\..\include,..\..\include\win32,..\..\mpid\common\datatype,..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\mpid\ch3\include,..\..\mpid\common\locks,..\..\mpid\ch3\channels\sock\include"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="..\..\mpi\romio\mpi-io,..\..\mpi\romio\adio\include,..\..\include,..\..\include\win32,..\..\mpid\common\datatype,..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\mpid\ch3\include,..\..\mpid\common\locks,..\..\mpid\ch3\channels\sock\include"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="..\..\mpi\romio\mpi-io,..\..\mpi\romio\adio\include,..\..\include,..\..\include\win32,..\..\mpid\common\datatype,..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\mpid\ch3\include,..\..\mpid\common\locks,..\..\mpid\ch3\channels\sock\include"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="..\..\mpi\romio\mpi-io,..\..\mpi\romio\adio\include,..\..\include,..\..\include\win32,..\..\mpid\common\datatype,..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\mpid\ch3\include,..\..\mpid\common\locks,..\..\mpid\ch3\channels\sock\include"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="..\..\mpi\romio\mpi-io,..\..\mpi\romio\adio\include,..\..\include,..\..\include\win32,..\..\mpid\common\datatype,..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\mpid\ch3\include,..\..\mpid\common\locks,..\..\mpid\ch3\channels\sock\include"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="..\..\mpi\romio\mpi-io,..\..\mpi\romio\adio\include,..\..\include,..\..\include\win32,..\..\mpid\common\datatype,..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\mpid\ch3\include,..\..\mpid\common\locks,..\..\mpid\ch3\channels\sock\include"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="..\..\mpi\romio\mpi-io,..\..\mpi\romio\adio\include,..\..\include,..\..\include\win32,..\..\mpid\common\datatype,..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\mpid\ch3\include,..\..\mpid\common\locks,..\..\mpid\ch3\channels\sock\include"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="..\..\mpi\romio\mpi-io,..\..\mpi\romio\adio\include,..\..\include,..\..\include\win32,..\..\mpid\common\datatype,..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\mpid\ch3\include,..\..\mpid\common\locks,..\..\mpid\ch3\channels\sock\include"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="..\..\mpi\romio\mpi-io,..\..\mpi\romio\adio\include,..\..\include,..\..\include\win32,..\..\mpid\common\datatype,..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\mpid\ch3\include,..\..\mpid\common\locks,..\..\mpid\ch3\channels\sock\include"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="..\..\mpi\romio\mpi-io,..\..\mpi\romio\adio\include,..\..\include,..\..\include\win32,..\..\mpid\common\datatype,..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\mpid\ch3\include,..\..\mpid\common\locks,..\..\mpid\ch3\channels\sock\include"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="..\..\mpi\romio\mpi-io,..\..\mpi\romio\adio\include,..\..\include,..\..\include\win32,..\..\mpid\common\datatype,..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\mpid\ch3\include,..\..\mpid\common\locks,..\..\mpid\ch3\channels\sock\include"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="..\..\mpi\romio\mpi-io,..\..\mpi\romio\adio\include,..\..\include,..\..\include\win32,..\..\mpid\common\datatype,..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\mpid\ch3\include,..\..\mpid\common\locks,..\..\mpid\ch3\channels\sock\include"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="..\..\mpi\romio\mpi-io,..\..\mpi\romio\adio\include,..\..\include,..\..\include\win32,..\..\mpid\common\datatype,..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\mpid\ch3\include,..\..\mpid\common\locks,..\..\mpid\ch3\channels\sock\include"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="..\..\mpi\romio\mpi-io,..\..\mpi\romio\adio\include,..\..\include,..\..\include\win32,..\..\mpid\common\datatype,..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\mpid\ch3\include,..\..\mpid\common\locks,..\..\mpid\ch3\channels\sock\include"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\wtimef.c"
-				>
-				<FileConfiguration
-					Name="sfortDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="..\..\mpi\romio\mpi-io,..\..\mpi\romio\adio\include,..\..\include,..\..\include\win32,..\..\mpid\common\datatype,..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\mpid\ch3\include,..\..\mpid\common\locks,..\..\mpid\ch3\channels\sock\include"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="sfortRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="..\..\mpi\romio\mpi-io,..\..\mpi\romio\adio\include,..\..\include,..\..\include\win32,..\..\mpid\common\datatype,..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\mpid\ch3\include,..\..\mpid\common\locks,..\..\mpid\ch3\channels\sock\include"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="..\..\mpi\romio\mpi-io,..\..\mpi\romio\adio\include,..\..\include,..\..\include\win32,..\..\mpid\common\datatype,..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\mpid\ch3\include,..\..\mpid\common\locks,..\..\mpid\ch3\channels\sock\include"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="..\..\mpi\romio\mpi-io,..\..\mpi\romio\adio\include,..\..\include,..\..\include\win32,..\..\mpid\common\datatype,..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\mpid\ch3\include,..\..\mpid\common\locks,..\..\mpid\ch3\channels\sock\include"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="..\..\mpi\romio\mpi-io,..\..\mpi\romio\adio\include,..\..\include,..\..\include\win32,..\..\mpid\common\datatype,..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\mpid\ch3\include,..\..\mpid\common\locks,..\..\mpid\ch3\channels\sock\include"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="gfortRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="..\..\mpi\romio\mpi-io,..\..\mpi\romio\adio\include,..\..\include,..\..\include\win32,..\..\mpid\common\datatype,..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\mpid\ch3\include,..\..\mpid\common\locks,..\..\mpid\ch3\channels\sock\include"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="..\..\mpi\romio\mpi-io,..\..\mpi\romio\adio\include,..\..\include,..\..\include\win32,..\..\mpid\common\datatype,..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\mpid\ch3\include,..\..\mpid\common\locks,..\..\mpid\ch3\channels\sock\include"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="..\..\mpi\romio\mpi-io,..\..\mpi\romio\adio\include,..\..\include,..\..\include\win32,..\..\mpid\common\datatype,..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\mpid\ch3\include,..\..\mpid\common\locks,..\..\mpid\ch3\channels\sock\include"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="..\..\mpi\romio\mpi-io,..\..\mpi\romio\adio\include,..\..\include,..\..\include\win32,..\..\mpid\common\datatype,..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\mpid\ch3\include,..\..\mpid\common\locks,..\..\mpid\ch3\channels\sock\include"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="..\..\mpi\romio\mpi-io,..\..\mpi\romio\adio\include,..\..\include,..\..\include\win32,..\..\mpid\common\datatype,..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\mpid\ch3\include,..\..\mpid\common\locks,..\..\mpid\ch3\channels\sock\include"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="..\..\mpi\romio\mpi-io,..\..\mpi\romio\adio\include,..\..\include,..\..\include\win32,..\..\mpid\common\datatype,..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\mpid\ch3\include,..\..\mpid\common\locks,..\..\mpid\ch3\channels\sock\include"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="..\..\mpi\romio\mpi-io,..\..\mpi\romio\adio\include,..\..\include,..\..\include\win32,..\..\mpid\common\datatype,..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\mpid\ch3\include,..\..\mpid\common\locks,..\..\mpid\ch3\channels\sock\include"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="..\..\mpi\romio\mpi-io,..\..\mpi\romio\adio\include,..\..\include,..\..\include\win32,..\..\mpid\common\datatype,..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\mpid\ch3\include,..\..\mpid\common\locks,..\..\mpid\ch3\channels\sock\include"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="..\..\mpi\romio\mpi-io,..\..\mpi\romio\adio\include,..\..\include,..\..\include\win32,..\..\mpid\common\datatype,..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\mpid\ch3\include,..\..\mpid\common\locks,..\..\mpid\ch3\channels\sock\include"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="..\..\mpi\romio\mpi-io,..\..\mpi\romio\adio\include,..\..\include,..\..\include\win32,..\..\mpid\common\datatype,..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\mpid\ch3\include,..\..\mpid\common\locks,..\..\mpid\ch3\channels\sock\include"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="..\..\mpi\romio\mpi-io,..\..\mpi\romio\adio\include,..\..\include,..\..\include\win32,..\..\mpid\common\datatype,..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\mpid\ch3\include,..\..\mpid\common\locks,..\..\mpid\ch3\channels\sock\include"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						AdditionalIncludeDirectories="..\..\mpi\romio\mpi-io,..\..\mpi\romio\adio\include,..\..\include,..\..\include\win32,..\..\mpid\common\datatype,..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\mpid\ch3\include,..\..\mpid\common\locks,..\..\mpid\ch3\channels\sock\include"
-					/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-			<File
-				RelativePath=".\fproto.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\include\win32\mpi_fortconf.h"
-				>
-			</File>
-			<File
-				RelativePath=".\mpi_fortimpl.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/src/include/mpiimpl.h b/src/include/mpiimpl.h
index bfbd450..a4745aa 100644
--- a/src/include/mpiimpl.h
+++ b/src/include/mpiimpl.h
@@ -2278,8 +2278,8 @@ extern MPICH_PerProcess_t MPIR_Process;
 #include "mpierror.h"
 #include "mpierrs.h"
 
-/* FIXME: This routine is only used within mpi/src/err/errutil.c and 
-   smpd.  We may not want to export it.  */
+/* FIXME: This routine is only used within mpi/src/err/errutil.c.  We
+ * may not want to export it.  */
 void MPIR_Err_print_stack(FILE *, int);
 
 /* ------------------------------------------------------------------------- */
diff --git a/src/mpid/ch3/channels/nemesis/ch3nemesis.vcproj b/src/mpid/ch3/channels/nemesis/ch3nemesis.vcproj
deleted file mode 100755
index d3083e1..0000000
--- a/src/mpid/ch3/channels/nemesis/ch3nemesis.vcproj
+++ /dev/null
@@ -1,944 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="ch3nemesis"
-	ProjectGUID="{10115F75-1A40-4155-BCD4-9521609DFFEC}"
-	RootNamespace="ch3nemesis"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories=".\include;.\nemesis\include;.\nemesis\net_mod\wintcp_module;.\nemesis\utils\monitor;..\..\..\..\util\wrappers;..\..\..\..\include;..\..\..\..\include\win32;..\..\include;..\..\..\common\datatype;..\..\..\common\locks"
-				PreprocessorDefinitions="HAVE_WINDOWS_H;ENABLE_NO_MACRO_VARARG_NAME;_WIN32_WINNT=0x0500;HAVE_DOUBLEUNDERSCORE_INLINE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\..\..\lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			CharacterSet="2"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				RuntimeLibrary="2"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				GenerateDebugInformation="false"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3nemesisDebug|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				EnableIntrinsicFunctions="true"
-				AdditionalIncludeDirectories=".\include;.\nemesis\include;.\nemesis\netmod\wintcp_module;.\nemesis\utils\monitor;..\..\..\..\util\wrappers;..\..\..\..\include;..\..\..\..\include\win32;..\..\..\..\..\src\openpa\src\win32;..\..\..\..\..\src\openpa\src;..\..\include;..\..\..\common\datatype;..\..\..\common\locks;..\..\..\..\..\src\mpl\include"
-				PreprocessorDefinitions="HAVE_WINDOWS_H;ENABLE_NO_MACRO_VARARG_NAME;_WIN32_WINNT=0x0500;HAVE_DOUBLEUNDERSCORE_INLINE;MPICH_MULTITHREADED;USE_DBG_LOGGING;USE_MEMORY_TRACING"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				AdditionalDependencies="dbgd.lib exd.lib"
-				OutputFile="..\..\..\..\..\lib\ch3nemesisd.lib"
-				AdditionalLibraryDirectories="..\..\..\..\..\lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3nemesisPDebug|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				EnableIntrinsicFunctions="true"
-				AdditionalIncludeDirectories=".\include;.\nemesis\include;.\nemesis\netmod\wintcp_module;.\nemesis\utils\monitor;..\..\..\..\util\wrappers;..\..\..\..\include;..\..\..\..\include\win32;..\..\include;..\..\..\common\datatype;..\..\..\common\locks"
-				PreprocessorDefinitions="HAVE_WINDOWS_H;ENABLE_NO_MACRO_VARARG_NAME;_WIN32_WINNT=0x0500;HAVE_DOUBLEUNDERSCORE_INLINE;MPICH_MULTITHREADED;HAVE_TIMING=MPID_TIMING_KIND_LOG_DETAILED;USE_LOGGING=MPID_LOGGING_RLOG"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\..\lib\ch3nemesispd.lib"
-				AdditionalLibraryDirectories="..\..\..\..\..\lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3nemesisRelease|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="true"
-				FavorSizeOrSpeed="1"
-				AdditionalIncludeDirectories=".\include;.\nemesis\include;.\nemesis\netmod\wintcp_module;.\nemesis\utils\monitor;..\..\..\..\util\wrappers;..\..\..\..\include;..\..\..\..\include\win32;..\..\..\..\..\src\openpa\src\win32;..\..\..\..\..\src\openpa\src;..\..\..\..\..\src\mpl\include;..\..\include;..\..\..\common\datatype;..\..\..\common\locks;..\..\..\common\sched"
-				PreprocessorDefinitions="WIN32;NDEBUG;USE_WINCONF_H;_WIN32_WINNT=0x0500;ENABLE_NO_MACRO_VARARG_NAME;HAVE_DOUBLEUNDERSCORE_INLINE;MPICH_MULTITHREADED"
-				RuntimeLibrary="0"
-				BufferSecurityCheck="true"
-				WarningLevel="4"
-				Detect64BitPortabilityProblems="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\..\lib\ch3nemesis.lib"
-				AdditionalLibraryDirectories=""
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3nemesisPRelease|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="true"
-				FavorSizeOrSpeed="1"
-				AdditionalIncludeDirectories=".\include;.\nemesis\include;.\nemesis\netmod\wintcp_module;.\nemesis\utils\monitor;..\..\..\..\util\wrappers;..\..\..\..\include;..\..\..\..\include\win32;..\..\..\..\..\src\openpa\src\win32;..\..\..\..\..\src\openpa\src;..\..\..\..\..\src\mpl\include;..\..\include;..\..\..\common\datatype;..\..\..\common\locks;..\..\..\common\sched"
-				PreprocessorDefinitions="WIN32;NDEBUG;USE_WINCONF_H;_WIN32_WINNT=0x0500;ENABLE_NO_MACRO_VARARG_NAME;HAVE_DOUBLEUNDERSCORE_INLINE;MPICH_MULTITHREADED;HAVE_TIMING=MPID_TIMING_KIND_LOG_DETAILED;USE_LOGGING=MPID_LOGGING_RLOG"
-				RuntimeLibrary="0"
-				BufferSecurityCheck="true"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\..\lib\ch3nemesis.lib"
-				AdditionalLibraryDirectories=""
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="fortPRelease|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			CharacterSet="2"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				RuntimeLibrary="2"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				GenerateDebugInformation="false"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath=".\src\ch3_abort.c"
-				>
-				<FileConfiguration
-					Name="ch3nemesisRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ShowIncludes="false"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ShowIncludes="false"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\src\ch3_finalize.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\ch3_init.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\ch3_isend.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\ch3_isendv.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\ch3_istartmsg.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\ch3_istartmsgv.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\ch3_progress.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\ch3i_comm.c"
-				>
-			</File>
-			<File
-				RelativePath=".\src\ch3i_eagernoncontig.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\ch3u_buffer.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\ch3u_comm_spawn_multiple.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\ch3u_eager.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\ch3u_eagersync.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\ch3u_handle_connection.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\ch3u_handle_recv_pkt.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\ch3u_handle_recv_req.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\ch3u_handle_send_req.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\ch3u_port.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\ch3u_recvq.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\ch3u_request.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\ch3u_rma_ops.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\ch3u_rma_sync.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\ch3u_rndv.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_abort.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_cancel_recv.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_cancel_send.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_comm_disconnect.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_comm_spawn_multiple.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_finalize.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_get_universe_size.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_getpname.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_init.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_iprobe.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_irecv.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_irsend.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_isend.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_issend.c"
-				>
-			</File>
-			<File
-				RelativePath=".\nemesis\src\mpid_nem_alloc.c"
-				>
-			</File>
-			<File
-				RelativePath=".\nemesis\src\mpid_nem_barrier.c"
-				>
-			</File>
-			<File
-				RelativePath=".\nemesis\src\mpid_nem_ckpt.c"
-				>
-			</File>
-			<File
-				RelativePath=".\nemesis\src\mpid_nem_debug.c"
-				>
-			</File>
-			<File
-				RelativePath=".\nemesis\src\mpid_nem_finalize.c"
-				>
-			</File>
-			<File
-				RelativePath=".\nemesis\src\mpid_nem_init.c"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ShowIncludes="false"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ShowIncludes="false"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ShowIncludes="false"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ShowIncludes="false"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ShowIncludes="false"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\nemesis\src\mpid_nem_lmt.c"
-				>
-			</File>
-			<File
-				RelativePath=".\nemesis\src\mpid_nem_lmt_shm.c"
-				>
-				<FileConfiguration
-					Name="ch3nemesisDebug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						WarningLevel="0"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\nemesis\src\mpid_nem_mpich.c"
-				>
-			</File>
-			<File
-				RelativePath=".\nemesis\src\mpid_nem_net_array.c"
-				>
-			</File>
-			<File
-				RelativePath=".\nemesis\src\mpid_nem_network.c"
-				>
-			</File>
-			<File
-				RelativePath=".\nemesis\src\mpid_nem_network_poll.c"
-				>
-			</File>
-			<File
-				RelativePath=".\nemesis\src\mpid_nem_queue.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_port.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_probe.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_recv.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_rma.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_rsend.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_send.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_ssend.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_startall.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_vc.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpidi_isend_self.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpidi_pg.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpidi_printf.c"
-				>
-				<FileConfiguration
-					Name="ch3nemesisRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ShowIncludes="false"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ShowIncludes="false"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\nemesis\netmod\nd\nd_ad_util.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\nemesis\netmod\nd\nd_dp.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\nemesis\netmod\nd\nd_ep_util.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\nemesis\netmod\nd\nd_finalize.cpp"
-				>
-				<FileConfiguration
-					Name="ch3nemesisRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						GeneratePreprocessedFile="0"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\nemesis\netmod\nd\nd_init.cpp"
-				>
-				<FileConfiguration
-					Name="ch3nemesisRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ShowIncludes="false"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\nemesis\netmod\nd\nd_misc_util.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\nemesis\netmod\nd\nd_poll.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\nemesis\netmod\nd\nd_send.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\nemesis\netmod\nd\nd_sm.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\nemesis\netmod\none\none.c"
-				>
-			</File>
-			<File
-				RelativePath=".\nemesis\netmod\wintcp\socksm.c"
-				>
-			</File>
-			<File
-				RelativePath=".\nemesis\netmod\wintcp\wintcp_finalize.c"
-				>
-			</File>
-			<File
-				RelativePath=".\nemesis\netmod\wintcp\wintcp_init.c"
-				>
-			</File>
-			<File
-				RelativePath=".\nemesis\netmod\wintcp\wintcp_poll.c"
-				>
-			</File>
-			<File
-				RelativePath=".\nemesis\netmod\wintcp\wintcp_send.c"
-				>
-			</File>
-			<File
-				RelativePath=".\nemesis\netmod\wintcp\wintcp_utility.c"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-			<File
-				RelativePath=".\include\mpidi_ch3_impl.h"
-				>
-			</File>
-			<File
-				RelativePath=".\include\mpidi_ch3_nemesis.h"
-				>
-			</File>
-			<File
-				RelativePath=".\include\mpidi_ch3_post.h"
-				>
-			</File>
-			<File
-				RelativePath=".\include\mpidi_ch3_pre.h"
-				>
-			</File>
-			<File
-				RelativePath=".\include\mpidi_ch3i_nemesis_conf.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/src/mpid/ch3/channels/sock/ch3sock.vcproj b/src/mpid/ch3/channels/sock/ch3sock.vcproj
deleted file mode 100644
index 18d65b1..0000000
--- a/src/mpid/ch3/channels/sock/ch3sock.vcproj
+++ /dev/null
@@ -1,1545 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="ch3sock"
-	ProjectGUID="{88CF50C7-ECDC-4423-9332-8A0647374428}"
-	RootNamespace="ch3sock"
-	Keyword="Win32Proj"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="ch3sockDebug|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="include;..\..\include;..\..\..\..\include;..\..\..\..\include\win32;..\..\..\common\datatype;..\..\..\common\locks;..\..\..\common\sock;..\..\..\common\sock\iocp;..\..\..\ch3\util\sock"
-				PreprocessorDefinitions="WIN32,_DEBUG,USE_WINCONF_H,MPICH_DBG_OUTPUT;_WIN32_WINNT=0x0500"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\..\lib\ch3sockd.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3sockRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="include;..\..\include;..\..\..\..\include;..\..\..\..\include\win32;..\..\..\..\mpl\include;..\..\..\common\datatype;..\..\..\common\locks;..\..\..\common\sched;..\..\..\common\sock;..\..\..\common\sock\iocp;..\..\..\ch3\util\sock"
-				PreprocessorDefinitions="WIN32,NDEBUG,USE_WINCONF_H;_WIN32_WINNT=0x0500"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\..\lib\ch3sock.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3sockPRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="include;..\..\include;..\..\..\..\include;..\..\..\..\include\win32;..\..\..\common\datatype;..\..\..\common\locks;..\..\..\common\sched;..\..\..\common\sock;..\..\..\common\sock\iocp;..\..\..\ch3\util\sock;..\..\..\..\mpl\include"
-				PreprocessorDefinitions="WIN32,NDEBUG,USE_WINCONF_H,HAVE_TIMING=MPID_TIMING_KIND_LOG_DETAILED,USE_LOGGING=MPID_LOGGING_RLOG;_WIN32_WINNT=0x0500"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\..\lib\ch3sockp.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3sockPliteRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="include,..\..\include,..\..\..\..\include,..\..\..\..\include\win32,..\..\..\common\datatype,..\..\..\common\locks,..\..\..\common\sock,,..\..\..\common\sock\iocp"
-				PreprocessorDefinitions="WIN32,NDEBUG,USE_WINCONF_H,HAVE_TIMING=MPID_TIMING_KIND_LOG,USE_LOGGING=MPID_LOGGING_RLOG;_WIN32_WINNT=0x0500"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\..\lib\ch3sockpl.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3sockmtDebug|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="include;..\..\include;..\..\..\..\include;..\..\..\..\include\win32;..\..\..\common\datatype;..\..\..\common\locks;..\..\..\common\sock;..\..\..\common\sock\iocp;..\..\..\ch3\util\sock"
-				PreprocessorDefinitions="WIN32,_DEBUG,USE_WINCONF_H,MPICH_DBG_OUTPUT,MPICH_MULTITHREADED;_WIN32_WINNT=0x0500"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\..\lib\ch3sockmtd.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3sockmtRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="include;..\..\include;..\..\..\..\include;..\..\..\..\include\win32;..\..\..\..\mpl\include;..\..\..\common\datatype;..\..\..\common\locks;..\..\..\common\sched;..\..\..\common\sock;..\..\..\common\sock\iocp;..\..\..\ch3\util\sock"
-				PreprocessorDefinitions="WIN32,NDEBUG,USE_WINCONF_H,MPICH_MULTITHREADED;_WIN32_WINNT=0x0500"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\..\lib\ch3sockmt.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3sockmtPRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="include;..\..\include;..\..\..\..\include;..\..\..\..\include\win32;..\..\..\..\mpl\include;..\..\..\common\datatype;..\..\..\common\locks;..\..\..\common\sched;..\..\..\common\sock;..\..\..\common\sock\iocp;..\..\..\ch3\util\sock"
-				PreprocessorDefinitions="WIN32,NDEBUG,USE_WINCONF_H,HAVE_TIMING=MPID_TIMING_KIND_LOG_DETAILED,USE_LOGGING=MPID_LOGGING_RLOG,MPICH_MULTITHREADED;_WIN32_WINNT=0x0500"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\..\lib\ch3sockmtp.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichDebugConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="include;..\..\include;..\..\..\..\include;..\..\..\..\include\win32;..\..\..\common\datatype;..\..\..\common\locks;..\..\..\common\sock;..\..\..\common\sock\iocp;..\..\..\ch3\util\sock"
-				PreprocessorDefinitions="WIN32,_DEBUG,USE_WINCONF_H,MPICH_DBG_OUTPUT;_WIN32_WINNT=0x0500"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\..\lib\ch3sockd.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="include;..\..\include;..\..\..\..\include;..\..\..\..\include\win32;..\..\..\common\datatype;..\..\..\common\locks;..\..\..\common\sock;..\..\..\common\sock\iocp;..\..\..\ch3\util\sock"
-				PreprocessorDefinitions="WIN32;NDEBUG;USE_WINCONF_H;_WIN32_WINNT=0x0500"
-				MinimalRebuild="false"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\..\lib\ch3sock.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="include;..\..\include;..\..\..\..\include;..\..\..\..\include\win32;..\..\..\common\datatype;..\..\..\common\locks;..\..\..\common\sock;..\..\..\common\sock\iocp;..\..\..\ch3\util\sock"
-				PreprocessorDefinitions="WIN32,_DEBUG,USE_WINCONF_H,MPICH_DBG_OUTPUT;_WIN32_WINNT=0x0500"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\..\lib\ch3sock.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="include;..\..\include;..\..\..\..\include;..\..\..\..\include\win32;..\..\..\common\datatype;..\..\..\common\locks;..\..\..\common\sock;..\..\..\common\sock\iocp;..\..\..\ch3\util\sock"
-				PreprocessorDefinitions="WIN32,_DEBUG,USE_WINCONF_H,MPICH_DBG_OUTPUT;_WIN32_WINNT=0x0500"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\..\lib\ch3sock.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="include;..\..\include;..\..\..\..\include;..\..\..\..\include\win32;..\..\..\common\datatype;..\..\..\common\locks;..\..\..\common\sock;..\..\..\common\sock\iocp;..\..\..\ch3\util\sock"
-				PreprocessorDefinitions="WIN32,_DEBUG,USE_WINCONF_H,MPICH_DBG_OUTPUT;_WIN32_WINNT=0x0500"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\..\lib\ch3sock.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mt_mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="include;..\..\include;..\..\..\..\include;..\..\..\..\include\win32;..\..\..\common\datatype;..\..\..\common\locks;..\..\..\common\sock;..\..\..\common\sock\iocp;..\..\..\ch3\util\sock"
-				PreprocessorDefinitions="WIN32;_DEBUG;USE_WINCONF_H;MPICH_DBG_OUTPUT;_WIN32_WINNT=0x0500;MPICH_MULTITHREADED"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\..\lib\ch3sockmt.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="testrelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="include;..\..\include;..\..\..\..\include;..\..\..\..\include\win32;..\..\..\common\datatype;..\..\..\common\locks;..\..\..\common\sock;..\..\..\common\sock\iocp;..\..\..\ch3\util\sock"
-				PreprocessorDefinitions="WIN32,NDEBUG,USE_WINCONF_H;_WIN32_WINNT=0x0500"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\..\lib\ch3sock.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichDebugConfig_1_0_5|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="include;..\..\include;..\..\..\..\include;..\..\..\..\include\win32;..\..\..\common\datatype;..\..\..\common\locks;..\..\..\common\sock;..\..\..\common\sock\iocp;..\..\..\ch3\util\sock"
-				PreprocessorDefinitions="WIN32;USE_WINCONF_H;_WIN32_WINNT=0x0500"
-				MinimalRebuild="false"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\..\lib\ch3sock.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="fortDebugConfig_1_0_5|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="include,..\..\include,..\..\..\..\include,..\..\..\..\include\win32,..\..\..\common\datatype,..\..\..\common\locks,..\..\..\common\sock,,..\..\..\common\sock\iocp"
-				PreprocessorDefinitions="WIN32,NDEBUG,USE_WINCONF_H;_WIN32_WINNT=0x0500"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\..\lib\ch3sock.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="fmpe|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="include;..\..\include;..\..\..\..\include;..\..\..\..\include\win32;..\..\..\common\datatype;..\..\..\common\locks;..\..\..\common\sock;..\..\..\common\sock\iocp;..\..\..\ch3\util\sock"
-				PreprocessorDefinitions="WIN32,NDEBUG,USE_WINCONF_H;_WIN32_WINNT=0x0500"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\..\lib\ch3sock.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3nemesisPRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="include;..\..\include;..\..\..\..\include;..\..\..\..\include\win32;..\..\..\common\datatype;..\..\..\common\locks;..\..\..\common\sock;..\..\..\common\sock\iocp;..\..\..\ch3\util\sock"
-				PreprocessorDefinitions="WIN32,_DEBUG,USE_WINCONF_H,MPICH_DBG_OUTPUT;_WIN32_WINNT=0x0500"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\..\lib\ch3sock.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="fortPRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="include;..\..\include;..\..\..\..\include;..\..\..\..\include\win32;..\..\..\..\mpl\include;..\..\..\common\datatype;..\..\..\common\locks;..\..\..\common\sock;..\..\..\common\sock\iocp;..\..\..\ch3\util\sock"
-				PreprocessorDefinitions="WIN32,NDEBUG,USE_WINCONF_H;_WIN32_WINNT=0x0500"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\..\lib\ch3sock.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"
-			>
-			<File
-				RelativePath="src\ch3_finalize.c"
-				>
-			</File>
-			<File
-				RelativePath="src\ch3_init.c"
-				>
-			</File>
-			<File
-				RelativePath="src\ch3_isend.c"
-				>
-			</File>
-			<File
-				RelativePath="src\ch3_isendv.c"
-				>
-			</File>
-			<File
-				RelativePath="src\ch3_istartmsg.c"
-				>
-			</File>
-			<File
-				RelativePath="src\ch3_istartmsgv.c"
-				>
-			</File>
-			<File
-				RelativePath="src\ch3_progress.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\ch3u_buffer.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\ch3u_comm_spawn_multiple.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\util\sock\ch3u_connect_sock.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\ch3u_eager.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\ch3u_eagersync.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\util\sock\ch3u_getinterfaces.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\ch3u_handle_connection.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\ch3u_handle_recv_pkt.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\ch3u_handle_recv_req.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\ch3u_handle_send_req.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\util\sock\ch3u_init_sock.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\ch3u_port.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\ch3u_recvq.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\ch3u_request.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\ch3u_rma_ops.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\ch3u_rma_sync.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\ch3u_rndv.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_abort.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_cancel_recv.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_cancel_send.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_comm_disconnect.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_comm_spawn_multiple.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_finalize.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_get_universe_size.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_getpname.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_init.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_iprobe.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_irecv.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_irsend.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_isend.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_issend.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_port.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_probe.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_recv.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_rma.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_rsend.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_send.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_ssend.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_startall.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpid_vc.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpidi_isend_self.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpidi_pg.c"
-				>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						GeneratePreprocessedFile="0"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\..\src\mpidi_printf.c"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc"
-			>
-			<File
-				RelativePath="..\..\..\common\datatype\mpid_datatype.h"
-				>
-			</File>
-			<File
-				RelativePath="include\mpidi_ch3_impl.h"
-				>
-			</File>
-			<File
-				RelativePath="include\mpidi_ch3_post.h"
-				>
-			</File>
-			<File
-				RelativePath="include\mpidi_ch3_pre.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\src\mpidi_kvs.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\include\mpidimpl.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\include\mpidpost.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\include\mpidpre.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/src/mpid/common/sock/poll/sock_misc.i b/src/mpid/common/sock/poll/sock_misc.i
index be15d3c..9a19b24 100644
--- a/src/mpid/common/sock/poll/sock_misc.i
+++ b/src/mpid/common/sock/poll/sock_misc.i
@@ -9,9 +9,7 @@
 /* FIXME: This routine is misnamed; it is really get_interface_name (in the 
    case where there are several networks available to the calling process,
    this picks one but even in the current code can pick a different
-   interface if a particular environment variable is set) .  
-
-   This routine is used in smpd so we should not change its name yet. */
+   interface if a particular environment variable is set) .  */
 #undef FUNCNAME
 #define FUNCNAME MPIDU_Sock_get_host_description
 #undef FCNAME
@@ -209,8 +207,6 @@ int MPIDU_Sock_set_user_ptr(struct MPIDU_Sock * sock, void * user_ptr)
 }
 
 
-/* FIXME: What is this for?  It appears to be used in debug printing and
-   in smpd */
 #undef FUNCNAME
 #define FUNCNAME MPIDU_Sock_get_sock_id
 #undef FCNAME
@@ -272,10 +268,9 @@ int MPIDU_Sock_get_sock_set_id(struct MPIDU_Sock_set * sock_set)
    Read the design documentation and if there is a problem, raise it rather 
    than ignoring it.  
 */
-/* FIXME: This appears to only be used in smpd */
 /* FIXME: It appears that this function was used instead of making use of the
    existing MPI-2 features to extend MPI error classes and code, of to export
-   messages to non-MPI application (smpd?) */
+   messages to non-MPI application */
 #undef FUNCNAME
 #define FUNCNAME MPIDU_Sock_get_error_class_string
 #undef FCNAME
diff --git a/src/mpid/common/sock/sock.vcproj b/src/mpid/common/sock/sock.vcproj
deleted file mode 100644
index 01cffa6..0000000
--- a/src/mpid/common/sock/sock.vcproj
+++ /dev/null
@@ -1,1721 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="sock"
-	ProjectGUID="{BB4554EE-65E6-4936-B4A5-83D1583F0BFC}"
-	RootNamespace="sock"
-	Keyword="Win32Proj"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="ch3ssmDebug|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories=".,iocp,..\..\..\include,..\..\..\include\win32,..\..\ch3\channels\ssm\include,..\..\ch3\include,..\datatype"
-				PreprocessorDefinitions="WIN32,_DEBUG,_LIB,USE_WINCONF_H,MPICH_DBG_OUTPUT;_WIN32_WINNT=0x0500"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\lib\sockd.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3ssmRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories=".,iocp,..\..\..\include,..\..\..\include\win32,..\..\ch3\channels\ssm\include,..\..\ch3\include,..\datatype"
-				PreprocessorDefinitions="WIN32,NDEBUG,_LIB,USE_WINCONF_H;_WIN32_WINNT=0x0500"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\lib\sock.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3sockDebug|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories=".,iocp,..\..\..\include,..\..\..\include\win32,..\..\ch3\channels\sock\include,..\..\ch3\include,..\datatype"
-				PreprocessorDefinitions="WIN32,_DEBUG,_LIB,USE_WINCONF_H,MPICH_DBG_OUTPUT;_WIN32_WINNT=0x0500"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\lib\sockd.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3sockRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories=".;iocp;..\..\..\include;..\..\..\include\win32;..\..\..\mpl\include;..\..\ch3\channels\sock\include;..\..\ch3\include;..\..\common\sched;..\datatype"
-				PreprocessorDefinitions="WIN32,NDEBUG,_LIB,USE_WINCONF_H;_WIN32_WINNT=0x0500"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\lib\sock.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3sockPRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories=".;iocp;..\..\..\include;..\..\..\include\win32;..\..\..\mpl\include;..\..\ch3\channels\sock\include;..\..\common\sched;..\..\ch3\include;..\datatype"
-				PreprocessorDefinitions="WIN32,NDEBUG,_LIB,USE_WINCONF_H,HAVE_TIMING=MPID_TIMING_KIND_LOG_DETAILED,USE_LOGGING=MPID_LOGGING_RLOG;_WIN32_WINNT=0x0500"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\lib\sockp.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3ssmPDebug|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories=".,iocp,..\..\..\include,..\..\..\include\win32,..\..\ch3\channels\ssm\include,..\..\ch3\include,..\datatype"
-				PreprocessorDefinitions="WIN32,_DEBUG,_LIB,USE_WINCONF_H,HAVE_TIMING=MPID_TIMING_KIND_LOG,USE_LOGGING=MPID_LOGGING_RLOG;_WIN32_WINNT=0x0500"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="false"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\lib\sockpd.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3sockPliteRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories=".,iocp,..\..\..\include,..\..\..\include\win32,..\..\ch3\channels\sock\include,..\..\ch3\include,..\datatype"
-				PreprocessorDefinitions="WIN32,NDEBUG,_LIB,USE_WINCONF_H,HAVE_TIMING=MPID_TIMING_KIND_LOG,USE_LOGGING=MPID_LOGGING_RLOG;_WIN32_WINNT=0x0500"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\lib\sockpl.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3ssmPRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories=".,iocp,..\..\..\include,..\..\..\include\win32,..\..\ch3\channels\ssm\include,..\..\ch3\include,..\datatype"
-				PreprocessorDefinitions="WIN32,NDEBUG,_LIB,USE_WINCONF_H,HAVE_TIMING=MPID_TIMING_KIND_LOG_DETAILED,USE_LOGGING=MPID_LOGGING_RLOG;_WIN32_WINNT=0x0500"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\lib\sockp2.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3essmDebug|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories=".,iocp,..\..\..\include,..\..\..\include\win32,..\..\ch3\channels\essm\include,..\..\ch3\include,..\datatype"
-				PreprocessorDefinitions="WIN32,_DEBUG,_LIB,USE_WINCONF_H,MPICH_DBG_OUTPUT,MPICH_MULTITHREADED;_WIN32_WINNT=0x0500"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\lib\sockmtd.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3essmRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories=".,iocp,..\..\..\include,..\..\..\include\win32,..\..\ch3\channels\essm\include,..\..\ch3\include,..\datatype"
-				PreprocessorDefinitions="WIN32,NDEBUG,_LIB,USE_WINCONF_H,MPICH_MULTITHREADED;_WIN32_WINNT=0x0500"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\lib\sockmt.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3essmPRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories=".,iocp,..\..\..\include,..\..\..\include\win32,..\..\ch3\channels\essm\include,..\..\ch3\include,..\datatype"
-				PreprocessorDefinitions="WIN32,NDEBUG,_LIB,USE_WINCONF_H,HAVE_TIMING=MPID_TIMING_KIND_LOG_DETAILED,USE_LOGGING=MPID_LOGGING_RLOG,MPICH_MULTITHREADED;_WIN32_WINNT=0x0500"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\lib\sockp3.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3sockmtDebug|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories=".,iocp,..\..\..\include,..\..\..\include\win32,..\..\ch3\channels\sock\include,..\..\ch3\include,..\datatype"
-				PreprocessorDefinitions="WIN32,_DEBUG,_LIB,USE_WINCONF_H,MPICH_DBG_OUTPUT,MPICH_MULTITHREADED;_WIN32_WINNT=0x0500"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\lib\sockmtd.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3sockmtRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories=".;iocp;..\..\..\include;..\..\..\include\win32;..\..\..\mpl\include;..\..\ch3\channels\sock\include;..\..\ch3\include;..\..\common\sched;..\datatype"
-				PreprocessorDefinitions="WIN32,NDEBUG,_LIB,USE_WINCONF_H,MPICH_MULTITHREADED;_WIN32_WINNT=0x0500"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\lib\sockmt.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3sockmtPRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories=".;iocp;..\..\..\include;..\..\..\include\win32;..\..\..\mpl\include;..\..\ch3\channels\sock\include;..\..\ch3\include;..\..\common\sched;..\datatype"
-				PreprocessorDefinitions="WIN32,NDEBUG,_LIB,USE_WINCONF_H,HAVE_TIMING=MPID_TIMING_KIND_LOG_DETAILED,USE_LOGGING=MPID_LOGGING_RLOG,MPICH_MULTITHREADED;_WIN32_WINNT=0x0500"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\lib\sockmtp.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichDebugConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories=".,iocp,..\..\..\include,..\..\..\include\win32,..\..\ch3\channels\ssm\include,..\..\ch3\include,..\datatype"
-				PreprocessorDefinitions="WIN32,_DEBUG,_LIB,USE_WINCONF_H,HAVE_TIMING=MPID_TIMING_KIND_LOG,USE_LOGGING=MPID_LOGGING_RLOG;_WIN32_WINNT=0x0500"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="false"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\lib\sockd.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories=".;iocp;..\..\..\include;..\..\..\include\win32;..\..\ch3\channels\sock\include;..\..\ch3\include;..\datatype"
-				PreprocessorDefinitions="WIN32,_LIB,USE_WINCONF_H,HAVE_TIMING=MPID_TIMING_KIND_LOG,USE_LOGGING=MPID_LOGGING_RLOG;_WIN32_WINNT=0x0500"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="false"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\lib\sock.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories=".;iocp;..\..\..\include;..\..\..\include\win32;..\..\ch3\channels\shm\include;..\..\ch3\include;..\datatype"
-				PreprocessorDefinitions="WIN32,_DEBUG,_LIB,USE_WINCONF_H,HAVE_TIMING=MPID_TIMING_KIND_LOG,USE_LOGGING=MPID_LOGGING_RLOG;_WIN32_WINNT=0x0500"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="false"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\lib\sock.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories=".;iocp;..\..\..\include;..\..\..\include\win32;..\..\ch3\channels\sshm\include;..\..\ch3\include;..\datatype"
-				PreprocessorDefinitions="WIN32,_DEBUG,_LIB,USE_WINCONF_H,HAVE_TIMING=MPID_TIMING_KIND_LOG,USE_LOGGING=MPID_LOGGING_RLOG;_WIN32_WINNT=0x0500"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="false"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\lib\sock.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories=".;iocp;..\..\..\include;..\..\..\include\win32;..\..\ch3\channels\ssm\include;..\..\ch3\include;..\datatype"
-				PreprocessorDefinitions="WIN32,_DEBUG,_LIB,USE_WINCONF_H,HAVE_TIMING=MPID_TIMING_KIND_LOG,USE_LOGGING=MPID_LOGGING_RLOG;_WIN32_WINNT=0x0500"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="false"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\lib\sock.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mt_mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories=".;iocp;..\..\..\include;..\..\..\include\win32;..\..\ch3\channels\sock\include;..\..\ch3\include;..\datatype"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;USE_WINCONF_H;HAVE_TIMING=MPID_TIMING_KIND_LOG;USE_LOGGING=MPID_LOGGING_RLOG;_WIN32_WINNT=0x0500;MPICH_MULTITHREADED"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="false"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\lib\sockmt.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="testrelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories=".,iocp,..\..\..\include,..\..\..\include\win32,..\..\ch3\channels\sock\include,..\..\ch3\include,..\datatype"
-				PreprocessorDefinitions="WIN32,NDEBUG,_LIB,USE_WINCONF_H,HAVE_TIMING=MPID_TIMING_KIND_LOG_DETAILED,USE_LOGGING=MPID_LOGGING_RLOG;_WIN32_WINNT=0x0500"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\lib\sockp.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichDebugConfig_1_0_5|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories=".;iocp;..\..\..\include;..\..\..\include\win32;..\..\ch3\channels\sock\include;..\..\ch3\include;..\datatype"
-				PreprocessorDefinitions="WIN32,_LIB,USE_WINCONF_H,HAVE_TIMING=MPID_TIMING_KIND_LOG,USE_LOGGING=MPID_LOGGING_RLOG;_WIN32_WINNT=0x0500"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				BufferSecurityCheck="false"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\lib\sock.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="fortDebugConfig_1_0_5|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories=".,iocp,..\..\..\include,..\..\..\include\win32,..\..\ch3\channels\sock\include,..\..\ch3\include,..\datatype"
-				PreprocessorDefinitions="WIN32,NDEBUG,_LIB,USE_WINCONF_H,HAVE_TIMING=MPID_TIMING_KIND_LOG_DETAILED,USE_LOGGING=MPID_LOGGING_RLOG;_WIN32_WINNT=0x0500"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\lib\sockp.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3nemesisPRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories=".,iocp,..\..\..\include,..\..\..\include\win32,..\..\ch3\channels\sock\include,..\..\ch3\include,..\datatype"
-				PreprocessorDefinitions="WIN32,NDEBUG,_LIB,USE_WINCONF_H,MPICH_MULTITHREADED;_WIN32_WINNT=0x0500"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\lib\sockmt.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="fortPRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories=".;iocp;..\..\..\include;..\..\..\include\win32;..\..\..\mpl\include;..\..\ch3\channels\sock\include;..\..\ch3\include;..\datatype"
-				PreprocessorDefinitions="WIN32,NDEBUG,_LIB,USE_WINCONF_H,HAVE_TIMING=MPID_TIMING_KIND_LOG_DETAILED,USE_LOGGING=MPID_LOGGING_RLOG;_WIN32_WINNT=0x0500"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\lib\sockp.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"
-			>
-			<File
-				RelativePath=".\iocp\sock.c"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc"
-			>
-			<File
-				RelativePath=".\mpidu_sock.h"
-				>
-			</File>
-			<File
-				RelativePath=".\iocp\mpidu_socki.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/src/pm/Makefile.mk b/src/pm/Makefile.mk
index 15bcc7a..c640168 100644
--- a/src/pm/Makefile.mk
+++ b/src/pm/Makefile.mk
@@ -10,7 +10,6 @@
 include $(top_srcdir)/src/pm/util/Makefile.mk
 
 include $(top_srcdir)/src/pm/gforker/Makefile.mk
-include $(top_srcdir)/src/pm/smpd/Makefile.mk
 include $(top_srcdir)/src/pm/remshell/Makefile.mk
 
 ## a note about DIST_SUBDIRS:
@@ -37,6 +36,3 @@ if BUILD_PM_MPD
 SUBDIRS += src/pm/mpd
 DIST_SUBDIRS += src/pm/mpd
 endif BUILD_PM_MPD
-
-## FIXME TEMPORARY
-EXTRA_DIST += src/pm/smpd/smpd_version.h
diff --git a/src/pm/smpd/Makefile.mk b/src/pm/smpd/Makefile.mk
deleted file mode 100644
index 365d9b6..0000000
--- a/src/pm/smpd/Makefile.mk
+++ /dev/null
@@ -1,85 +0,0 @@
-## -*- Mode: Makefile; -*-
-## vim: set ft=automake :
-##
-## (C) 2011 by Argonne National Laboratory.
-##     See COPYRIGHT in top-level directory.
-##
-
-## will define $smpd_sock_src and $smpd_sock_hdrs
-include $(top_srcdir)/src/pm/smpd/sock/Makefile.mk
-
-if BUILD_PM_SMPD
-
-other_smpd_src =                      \
-    src/pm/smpd/smpd_hash.c           \
-    src/pm/smpd/smpd_authenticate.c   \
-    src/pm/smpd/smpd_printf.c         \
-    src/pm/smpd/smpd_read_write.c     \
-    src/pm/smpd/smpd_user_data.c      \
-    src/pm/smpd/smpd_connect.c        \
-    src/pm/smpd/smpd_get_opt.c        \
-    src/pm/smpd/smpd_launch_process.c \
-    src/pm/smpd/smpd_command.c        \
-    src/pm/smpd/smpd_database.c       \
-    src/pm/smpd/smpd_state_machine.c  \
-    src/pm/smpd/smpd_handle_command.c \
-    src/pm/smpd/smpd_session.c        \
-    src/pm/smpd/smpd_start_mgr.c      \
-    src/pm/smpd/smpd_barrier.c        \
-    src/pm/smpd/smpd_do_console.c     \
-    src/pm/smpd/smpd_restart.c        \
-    src/pm/smpd/smpd_host_util.c      \
-    src/pm/smpd/smpd_handle_spawn.c   \
-    $(smpd_sock_src)
-
-# these files appear to be unused in the old simplemake-based UNIX build system
-smpd_win_src =                       \
-    src/pm/smpd/smpd_job.c           \
-    src/pm/smpd/smpd_mapdrive.c      \
-    src/pm/smpd/smpd_register.c      \
-    src/pm/smpd/smpd_ad.cpp          \
-    src/pm/smpd/smpd_affinitize.c    \
-    src/pm/smpd/smpd_ccp_util.c      \
-    src/pm/smpd/smpd_hpc_js_rmk.cpp  \
-    src/pm/smpd/smpd_hpc_js_bs.cpp   \
-    src/pm/smpd/smpd_hpc_js_util.cpp
-
-if PRIMARY_PM_SMPD
-
-## SMPD is built in a totally disgusting way, in the sense that it links
-## directly against libmpich and the other libraries that make up the core of
-## MPICH.  This is slightly easier to manage now in the flattened automake
-## implementation, but the real fix is that SMPD shouldn't be using
-## MPICH-interal routines directly.  Linking against only MPL makes much more
-## sense.
-
-# this shouldn't be necessary, ideally, but the smpd PMI impl wants to
-# use symbols from the smpd PM impl
-lib_lib at MPILIBNAME@_la_SOURCES += $(other_smpd_src)
-
-bin_PROGRAMS += src/pm/smpd/mpiexec src/pm/smpd/smpd
-src_pm_smpd_mpiexec_SOURCES = src/pm/smpd/mpiexec.c \
-			      src/pm/smpd/mp_parse_command_line.c \
-			      src/pm/smpd/mp_parse_oldconfig.c \
-			      src/pm/smpd/mpiexec_rsh.c
-src_pm_smpd_mpiexec_LDADD = lib/lib at MPILIBNAME@.la $(external_libs)
-src_pm_smpd_mpiexec_LDFLAGS = $(external_ldflags)
-
-src_pm_smpd_smpd_SOURCES = src/pm/smpd/smpd.c \
-			   src/pm/smpd/smpd_cmd_args.c \
-			   src/pm/smpd/smpd_watchprocs.c
-src_pm_smpd_smpd_LDADD = lib/lib at MPILIBNAME@.la $(external_libs)
-src_pm_smpd_smpd_LDFLAGS = $(external_ldflags)
-
-noinst_HEADERS += $(smpd_sock_hdrs) src/pm/smpd/sock/include/smpd_util_sock.h
-# should this go into a per-target _CPPFLAGS var instead for greater safety?
-AM_CPPFLAGS += -I$(top_srcdir)/src/pm/smpd \
-	       -I$(top_srcdir)/src/pm/smpd/sock/include \
-	       $(smpd_sock_cppflags)
-
-else !PRIMARY_PM_SMPD
-## TODO we currently do not handle this case
-endif !PRIMARY_PM_SMPD
-
-endif BUILD_PM_SMPD
-
diff --git a/src/pm/smpd/README b/src/pm/smpd/README
deleted file mode 100644
index ed64668..0000000
--- a/src/pm/smpd/README
+++ /dev/null
@@ -1,126 +0,0 @@
-
-
-			       README for SMPD
-
-			         David Ashton
-
-
-General
--------
-
-SMPD is a process management system for starting parallel jobs,
-especially MPICH jobs.  Before running a job (with mpiexec), the
-smpd daemons must be running on each host.
-This README explains how to do that and also test and manage the daemons 
-after they have been started.
-
-
-How to use SMPD
--------------------------
-
-You can start one smpd on the current host by running
-
-   smpd -s
-
-This starts an smpd.  Execute it on all the machines you want to participate in
-your pool.  Other smpd's join the pool automatically if you have a common 
-home directory.
-
-The default configuration file for smpd is ~/.smpd.  You can specify a different
-file using the -smpdfile <filename> option to smpd.  This file must exist and it
-must be read/writable only by the current user.  If you don't specify a file and
-the default does not exist, smpd will offer to create one for you and ask you for
-a secret word to put in it.
-
-The secret word is a passphrase for access to the smpd only.  Do not put your Unix password here.
-This passphrase must be the same for all smpd's.  If you have a common file system
-then they can share the same configuration file but if you have separate file systems,
-make sure you enter the same passphrase on each machine.
-
-The options you can put in the .smpd file are:
-phrase=<passphrase>
-hosts=<host1 host2 host3 ...>
-log=<yes or no>
-logfile=<path/filename>
-
-After mpich is built, the smpd commands are in mpich/bin, or the bin
-subdirectory of the install directory if you have done an install.
-You should put this (bin) directory in your PATH 
-in your .cshrc or .bashrc:
-
-Put in .cshrc:  setenv PATH /home/you/mpich/bin:$PATH
-
-Put in .bashrc: export PATH=/home/you/mpich/bin:$PATH
-
-You can run something with mpiexec
-
-donner% mpiexec -n 2 hostname 
-donner.mcs.anl.gov
-foo.mcs.anl.gov
-donner%
-
-You can run an mpich job:
-
-donner% mpiexec -n 10 /home/ashton/hellow
-Hello world from process 0 of 10
-Hello world from process 1 of 10
-Hello world from process 2 of 10
-Hello world from process 3 of 10
-Hello world from process 4 of 10
-Hello world from process 5 of 10
-Hello world from process 6 of 10
-Hello world from process 7 of 10
-Hello world from process 9 of 10
-Hello world from process 8 of 10
-donner% 
-
-You can take down the daemons:
-
-donner% smpd -shutdown
-donner% smpd -shutdown foo.mcs.anl.gov
-
-Here is the usage information for all of the smpd commands:
-
-************************************************************
-
-The following smpd commands are available.  For usage, invoke "smpd -help".
-
-************************************************************ smpd
-
-usage: smpd [-port <portnum>] [-phrase <passphrase>] \ 
-           [-debug] [-noprompt] [-restart] [-shutdown] \ 
-           [-shutdown <hostname>] [-smpdfile <filename>]
-
-
--port tells the smpd which port to listen on.  The default is 8675
--phrase is used to specify a passphrase used to authenticate the connection with
-  an smpd
--debug yields lots of output from the smpd.
--noprompt prevents smpd from prompting for information if it is needed. Instead
-  it returns an error.
--restart restarts the local smpd
--restart <hostname> restarts the smpd on <hostname>
--shutdown shutsdown the local smpd
--shutdown <hostname> shuts down the smpd on <hostname>
--smpdfile <filename> allows you to specify a configuration file other than the
-  default.
-
-The default file is named .smpd and must be present in the users home directory
-  with read and write access only for the user, and must contain at least
-  a line with phrase=<passphrase>
-
-************************************************************ mpiexec
-
-usage:
-mpiexec [ -default defaultArgs : ] argset : more_arg_sets : ...
-    where each argset contains some of:
-        -n <n> -host <h> -wdir <w> -path <p> cmd args 
-    note: cmd must be specfied for each argset; it can not be a default arg
-    -env KEY1 VALUE1 -env KEY2 VALUE2 ...
-    defaultArgs are passed to all processes unless overridden
-mpiexec -file filename  # where filename contains cmd-line arg-sets
-mpiexec [ -?   or  -help   or  -help2 ]
-sample executions:
-    mpiexec -n 1 pwd : -wdir /tmp pwd : printenv
-    mpiexec -default -n 2 -wdir /bin -env RMB3=e3 : pwd : printenv
-
diff --git a/src/pm/smpd/doc/close.sm.tex b/src/pm/smpd/doc/close.sm.tex
deleted file mode 100644
index e096e19..0000000
--- a/src/pm/smpd/doc/close.sm.tex
+++ /dev/null
@@ -1,38 +0,0 @@
-\begin{comment}
-This is the state machine for the smpd close commands.
-Graph [smpd close],
-      [size="7.5, 10"]
-\end{comment}
-\begin{verbatim}
-Action [close],[label="close"]
-	Change_State([writing closed], [label="no children"])
-	Change_State([writing close], [label="left"])
-	Change_State([writing close], [label="right"])
-State [writing close],[label="writing close"]
-	Event [data written]
-		Change_State([reading cmd header])
-State [writing closed],[label="writing closed"]
-	Event [data written]
-		Change_State([closing])
-State [closing],[label="closing"]
-	Event [closed]
-		if listener
-			Change_State([closing],[label="close listener"])
-		else
-			Change_State([done])
-State [done],[label="done"]
-
-Action [closed],[label="closed"]
-	Change_State([writing closed request],[label="left"])
-	Change_State([writing closed request],[label="right"])
-	Change_State([closing],[label="parent"])
-State [writing closed request],[label="writing closed request"]
-	Event [data written]
-		Change_State([reading cmd header])
-		
-Action [closed request],[label="closed request"]
-	Change_State([writing closed])
-
-State [reading cmd header],[label="reading cmd header"]
-\end{verbatim}
-
diff --git a/src/pm/smpd/doc/connect.sm.tex b/src/pm/smpd/doc/connect.sm.tex
deleted file mode 100644
index ab09abd..0000000
--- a/src/pm/smpd/doc/connect.sm.tex
+++ /dev/null
@@ -1,197 +0,0 @@
-\begin{comment}
-This is the state machine for the smpd connect command.
-Graph [smpd connect],
-      [size="7.5, 10"]
-\end{comment}
-\begin{verbatim}
-State [connecting],[label="connecting"]
-	Event [connect]
-		Change_State([reading challenge string], [label="connect"])
-State [reading challenge string],[label="reading challenge string"]
-	Event [data read]
-		Change_State([writing challenge response])
-State [writing challenge response],[label="writing challenge response"]
-	Event [data written]
-		Change_State([reading connect result])
-State [reading connect result],[label="reading connect result"]
-	Event [data read]
-		if accept
-			Invoke_Action([session type],[label="accept"])
-		else reject
-			Change_State([closing],[label="reject"])
-Action [session type],[label="session"]
-	if process
-		Change_State([writing process session request],[label="process"])
-	else smpd
-		Change_State([writing smpd session request],[label="smpd"])
-State [writing process session request],[label="writing process session request"]
-	Event [data written]
-		Change_State([reading cred request])
-State [reading cred request],[label="reading cred request"]
-	Event [data read]
-		if yes
-			Invoke_Action([have credentials],[label="yes/job"])
-		else no
-			Change_State([reading reconnect request], [label="no"])
-Action [have credentials],[label="have credentials"]
-	if have
-		Change_State([writing cred ack yes],[label="yes"])
-	if have sspi
-		Change_State([writing cred ack sspi],[label="sspi"])
-	if have sspi job key
-		Change_State([writing cred ack sspi job],[label="sspi_job"])
-	else don't have
-		Change_State([writing cred_request command],[label="no"])
-State [writing cred_request command],[label="writing cred_request command"]
-	Event [data written]
-		Change_State([handle result],[style=dotted])
-State [handle result]
-	Event [data read]
-		if success
-			Change_State([writing cred ack yes],[label="success"])
-		if fail
-			Change_State([writing cred ack no],[label="fail"])
-		if sspi
-			Change_State([writing cred ack sspi],[label="sspi"])
-		if sspi job
-			Change_State([writing cred ack sspi job],[label="sspi_job"])
-State [writing cred ack sspi]
-        Event [data written]
-                Change_State([writing sspi_init])
-State [writing cred ack sspi job]
-		Event [data written]
-				Change_State([writing sspi_init])
-State [writing sspi_init]
-        Event [data written]
-                Change_State([sspi_init result],[style=dotted])
-State [sspi_init result]
-        Event [data read]
-                Change_State([writing client sspi header])
-State [writing client sspi header],[label="writing client sspi header"]
-        Event [data written]
-                Change_State([writing client sspi buffer])
-State [writing client sspi buffer],[label="writing client sspi buffer"]
-        Event [data written]
-                Change_State([reading client sspi header])
-State [reading client sspi header],[label="reading client sspi header"]
-        Event [data read]
-                if sspi_iter
-                        Change_State([reading client sspi buffer],[label="sspi iter"])
-                else delegate
-                        Invoke_Action([delegate],[label="delegate"])
-Action [delegate],[label="delegate"]
-		Change_State([writing delegate request result],[label="yes/no/key/identify"])
-#        if delegate yes
-#                Change_State([writing delegate yes],[label="yes"])
-#        else delegate no
-#                Change_State([writing delegate no],[label="no"])
-#        else sspi key
-#				Change_State([writing job key],[label="key"])
-#		else sspi identify
-#				Change_State([writing identify],[label="identify"])
-State [reading client sspi buffer],[label="reading client sspi buffer"]
-        Event [data read]
-                Change_State([writing sspi_iter],[label="sspi_iter"])
-State [writing sspi_iter],[label="writing sspi_iter"]
-        Event [data written]
-                Change_State([sspi_iter result],[style=dotted])
-State [sspi_iter result],[label="sspi_iter result"]
-        Event [data read]
-				if more data
-						Change_State([writing client sspi header])
-				else
-						Change_State([reading client sspi header],[label="no data"])
-State [writing delegate request result],[label="writing delegate reqeuest result"]
-		Event [data written]
-				if job_key
-						Change_State([writing job key],[label="key"])
-				else
-						Change_State([reading impersonate result])
-#State [writing delegate yes],[label="writing delegate yes"]
-#        Event [data written]
-#                Change_State([reading impersonate result])
-#State [writing delegate no],[label="writing delegate no"]
-#        Event [data written]
-#                Change_State([reading impersonate result])
-State [writing job key],[label="writing job key"]
-		Event [data written]
-				Change_State([reading impersonate result])
-#State [writing identify],[label="writing identify"]
-#		Event [data written]
-#				Change_State([reading impersonate result])
-State [reading impersonate result],[label="reading impersonate result"]
-        Event [data read]
-                if process:success
-                        Change_State([reading reconnect request],[label="process:success"])
-                if smpd:success
-						Change_State([writing session header],[label="smpd:success"])
-                else fail
-                        Change_State([closing],[label="fail"])
-State [writing cred ack yes],[label="writing cred ack yes"]
-	Event [data written]
-		Change_State([writing account])
-State [writing cred ack no],[label="writing cred ack no"]
-	Event [data written]
-		Change_State([closing])
-State [writing account],[label="writing account"]
-	Event [data written]
-		Change_State([writing password])
-State [writing password],[label="writing password"]
-	Event [data written]
-		Change_State([reading password result])
-State [reading password result],[label="reading password result"]
-	Event [data read]
-		if accept
-			Change_State([reading reconnect request],[label="accept"])
-		else reject
-			Change_State([closing],[label="reject"])
-State [writing smpd session request],[label="writing smpd session request"]
-	Event [data written]
-		Change_State([reading pwd request])
-State [reading reconnect request],[label="reading reconnect request"]
-	Event [data read]
-		if yes
-			Change_State([closing],[label="yes"])
-			Change_State([reconnecting],[label="yes" style=dotted])
-		else no
-			Change_State([writing session header], [label="no"])
-State [reconnecting],[label="reconnecting"]
-	Event [connect]
-		Change_State([writing session header],[label="connect"])
-State [reading pwd request],[label="reading pwd request"]
-	Event [data read]
-		if yes
-			Change_State([writing smpd password], [label="yes"])
-		else no
-			Change_State([writing session header], [label="no"])
-		else sspi
-			Change_State([writing sspi_init], [label="sspi"])
-State [writing smpd password],[label="writing smpd password"]
-	Event [data written]
-		Change_State([reading smpd result])
-State [reading smpd result],[label="reading smpd result"]
-	Event [data read]
-		if accept
-			Change_State([writing session header], [label="accept"])
-		else reject
-			Change_State([closing], [label="reject"])
-State [writing session header],[label="writing session header"]
-	Event [data written]
-		Change_State([reading and writing],[label="post result cmd"])
-State [reading and writing],[label="reading cmd header and writing cmd"]
-	Event [data read]
-		Change_State([reading cmd],[label="read"])
-	Event [data written]
-		Change_State([reading cmd header],[label="result written"])
-State [reading cmd header],[label="reading cmd header"]
-	Event [data read]
-		Change_State([reading cmd])
-State [reading cmd],[label="reading cmd"]
-	Event [data read]
-		Invoke_Action([handle cmd])
-Action [handle cmd],[label="handle cmd"]
-State [closing],[label="closing"]
-	Event [closed]
-		Change_State([done], [label="closed"])
-State [done],[label="done"]
-\end{verbatim}
diff --git a/src/pm/smpd/doc/connect_pmi.sm.tex b/src/pm/smpd/doc/connect_pmi.sm.tex
deleted file mode 100644
index e84a34f..0000000
--- a/src/pm/smpd/doc/connect_pmi.sm.tex
+++ /dev/null
@@ -1,46 +0,0 @@
-\begin{comment}
-This is the state machine for the pmi connect command.
-Graph [pmi connect],
-      [size="7.5, 10"]
-\end{comment}
-\begin{verbatim}
-State [connecting],[label="connecting"]
-	Event [connect]
-		Change_State([reading challenge string], [label="connect"])
-State [reading challenge string],[label="reading challenge string"]
-	Event [data read]
-		Change_State([writing challenge response])
-State [writing challenge response],[label="writing challenge response"]
-	Event [data written]
-		Change_State([reading connect result])
-State [reading connect result],[label="reading connect result"]
-	Event [data read]
-		if accept
-			Change_State([writing pmi session request],[label="accept"])
-		else reject
-			Change_State([closing],[label="reject"])
-State [writing pmi session request],[label="writing pmi session request"]
-	Event [data written]
-		Change_State([reading cmd header])
-State [reading and writing],[label="reading cmd header and writing cmd"]
-	Event [data read]
-		Change_State([reading cmd],[label="read"])
-	Event [data written]
-		Change_State([reading cmd header],[label="result written"])
-State [reading cmd header],[label="reading cmd header"]
-	Event [data read]
-		Change_State([reading cmd])
-State [reading cmd],[label="reading cmd"]
-	Event [data read]
-		Invoke_Action([handle cmd])
-Action [handle cmd],[label="handle cmd"]
-	Event [data]
-		if writing command
-			Change_State([reading and writing],[label="write" style=dotted])
-		else next command
-			Change_State([reading cmd header],[label="next" style=dotted])
-State [closing],[label="closing"]
-	Event [closed]
-		Change_State([done], [label="closed"])
-State [done],[label="done"]
-\end{verbatim}
diff --git a/src/pm/smpd/doc/console.sm.tex b/src/pm/smpd/doc/console.sm.tex
deleted file mode 100644
index 9e5061c..0000000
--- a/src/pm/smpd/doc/console.sm.tex
+++ /dev/null
@@ -1,53 +0,0 @@
-\begin{comment}
-This is the state machine for the smpd console session.
-Graph [smpd console session],
-      [size="7.5, 10"]
-\end{comment}
-\begin{verbatim}
-State [connecting smpd],[label="connecting smpd"]
-	Event [connect]
-		Change_State([reading challenge string])
-State [reading challenge string],[label="reading challenge string"]
-	Event [data read]
-		Change_State([writing challenge response])
-State [writing challenge response],[label="writing challenge response"]
-	Event [data written]
-		Change_State([reading connect result])
-State [reading connect result],[label="reading connect result"]
-	Event [data read]
-		if accept
-			Change_State([writing smpd session request], [label="accept"])
-		else reject
-			Change_State([closing], [label="reject"])
-State [writing smpd session request],[label="writing smpd session request"]
-	Event [data written]
-		Change_State([reading pwd request])
-State [reading pwd request],[label="reading pwd request"]
-	Event [data read]
-		if yes
-			Change_State([writing smpd password], [label="yes"])
-		else no
-			Change_State([writing session header], [label="no"])
-State [writing smpd password],[label="writing smpd password"]
-	Event [data written]
-		Change_State([reading smpd result])
-State [reading smpd result],[label="reading smpd result"]
-	Event [data read]
-		if accept
-			Change_State([writing session header], [label="accept"])
-		else reject
-			Change_State([closing], [label="reject"])
-State [writing session header],[label="writing session header"]
-	Event [data written]
-		Change_State([reading cmd header])
-State [reading cmd header],[label="reading cmd header"]
-	Event [data read]
-		Change_State([reading cmd])
-State [reading cmd],[label="reading cmd"]
-	Event [data read]
-		Change_State([reading cmd header])
-State [closing],[label="closing"]
-	Event [closed]
-		Change_State([done], [label="closed"])
-State [done],[label="done"]
-\end{verbatim}
diff --git a/src/pm/smpd/doc/mpiexec.sm.tex b/src/pm/smpd/doc/mpiexec.sm.tex
deleted file mode 100644
index 306c952..0000000
--- a/src/pm/smpd/doc/mpiexec.sm.tex
+++ /dev/null
@@ -1,100 +0,0 @@
-\begin{comment}
-This is the state machine for mpiexec for smpd.
-Graph [mpiexec for smpd],
-      [size="7.5, 10"]
-\end{comment}
-\begin{verbatim}
-State [connecting tree],[label="connecting tree"]
-	Event [connect]
-		Change_State([reading challenge string], [label="connect"])
-State [reading challenge string],[label="reading challenge string"]
-	Event [data read]
-		Change_State([writing challenge response])
-State [writing challenge response],[label="writing challenge response"]
-	Event [data written]
-		Change_State([reading connect result])
-State [reading connect result],[label="reading connect result"]
-	Event [data read]
-		if accept
-			Change_State([writing process session request], [label="accept"])
-		else reject
-			Change_State([closing],[label="reject"])
-State [writing process session request],[label="writing process session request"]
-	Event [data written]
-		Change_State([reading cred request])
-State [reading cred request],[label="reading cred request"]
-	Event [data read]
-		if yes
-			Change_State([writing account],[label="yes"])
-		else no
-			Change_State([reading reconnect request],[label="no"])
-State [writing account],[label="writing account"]
-	Event [data written]
-		Change_State([writing password])
-State [writing password],[label="writing password"]
-	Event [data written]
-		Change_State([reading password result])
-State [reading password result],[label="reading password result"]
-	Event [data read]
-		if accept
-			Change_State([reading reconnect request],[label="accept"])
-		else reject
-			Change_State([closing],[label="reject"])
-State [reading reconnect request],[label="reading reconnect request"]
-	Event [data read]
-		if yes
-			Change_State([closing],[label="yes"])
-			Change_State([reconnecting],[label="yes" style=dotted])
-		else no
-			Change_State([writing session header], [label="no"])
-State [reconnecting],[label="reconnecting"]
-	Event [connect]
-		Change_State([writing session header],[label="connect"])
-State [writing session header],[label="writing session header"]
-	Event [data written]
-		if connect_to
-			Change_State([reading and writing],[label="connect cmd"])
-		else
-			Change_State([reading and writing],[label="start_dbs cmd"])
-State [reading and writing],[label="reading cmd header and writing cmd"]
-	Event [data read]
-		Change_State([reading cmd],[label="read"])
-	Event [data written]
-		Invoke_Action([handle cmd written],[label="written"])
-State [reading cmd header],[label="reading cmd header"]
-	Event [data read]
-		Change_State([reading cmd])
-State [reading cmd],[label="reading cmd"]
-	Event [data read]
-		Invoke_Action([handle cmd])
-Action [handle cmd],[label="handle cmd"]
-	Change_State([reading and writing],[label="forward"])
-	Change_State([reading cmd header])
-	Invoke_Action([handle connect],[label="connect"])
-	Invoke_Action([handle close],[label="close"])
-	Invoke_Action([handle closed],[label="closed"])
-	Invoke_Action([handle closed request],[label="closed request"])
-Action [handle connect],[label="connect"]
-Action [handle close],[label="close"]
-Action [handle closed],[label="closed"]
-Action [handle closed request],[label="closed request"]
-State [closing],[label="closing"]
-	Event [closed]
-		Change_State([done], [label="closed"])
-State [done],[label="done"]
-Action [handle cmd written],[label="handle command written"]
-	Event [connect written]
-		if connect_to
-			Change_State([reading and writing],[label="connect cmd"])
-		else
-			Change_State([reading and writing],[label="start_dbs cmd"])
-	Event [start_dbs written]
-		Change_State([reading and writing],[label="launch cmd"])
-	Event [launch written]
-		if next
-			// this state change happens but because it is visually the same
-			// as 'Event [start_dbs written]', comment it out
-			//Change_State([reading and writing],[label="launch cmd"])
-		else
-			Change_State([reading cmd header])
-\end{verbatim}
diff --git a/src/pm/smpd/doc/sm2ps.bat b/src/pm/smpd/doc/sm2ps.bat
deleted file mode 100644
index 66f8a7a..0000000
--- a/src/pm/smpd/doc/sm2ps.bat
+++ /dev/null
@@ -1 +0,0 @@
-perl ..\..\..\..\doc\mpich\sm2dot %1.tex | dot -Tps > %1.ps
diff --git a/src/pm/smpd/doc/smpd.sm.tex b/src/pm/smpd/doc/smpd.sm.tex
deleted file mode 100644
index 39e2f57..0000000
--- a/src/pm/smpd/doc/smpd.sm.tex
+++ /dev/null
@@ -1,157 +0,0 @@
-\begin{comment}
-This is the state machine for the smpd listener process.
-Graph [smpd listener],
-      [size="7.5, 10"]
-\end{comment}
-\begin{verbatim}
-State [smpd listening],[label="smpd\nlistening"]
-	Event [accept]
-		Change_State([smpd listening], [label="accept"])
-		Change_State([writing challenge string], [label="new context" style=dotted])
-State [writing challenge string], [label="writing challenge string"]
-	Event [data written]
-		Change_State([reading challenge response])
-State [reading challenge response], [label="reading challenge response"]
-	Event [data read]
-		Change_State([writing connect result])
-State [writing connect result]
-	Event [data written]
-		if accepted
-			Change_State([reading session request], [label="accepted"])
-		else rejected
-			Change_State([closing], [label="rejected"])
-State [reading session request],[label="reading session request"]
-	Event [data read]
-		if process_cred
-			Change_State([writing cred/job request],[label="process"])
-		else if process_nocred
-			Change_State([writing nocred request],[label="process"])
-		else if smpd_pwd
-			Change_State([writing pwd request],[label="smpd"])
-		else if smpd_sspi
-			Change_State([writing sspi request],[label="smpd"])
-		else
-			Change_State([writing nopwd request],[label="smpd"])
-State [writing cred/job request],[label="writing cred/job request"]
-	Event [data written]
-		Change_State([reading cred ack])
-State [reading cred ack],[label="reading cred ack"]
-	Event [data read]
-		if yes
-			Change_State([reading account],[label="yes"])
-		else no
-			Change_State([closing],[label="no"])
-	        else sspi
-	                Change_State([reading sspi header],[label="sspi"])
-	        else sspi_job
-					Change_State([reading sspi header],[label="sspi_job"])
-State [reading sspi header],[label="reading sspi header"]
-        Event [data read]
-                Change_State([reading sspi buffer])
-State [reading sspi buffer],[label="reading sspi buffer"]
-        Event [data read]
-                if more date
-                        Change_State([writing sspi header],[label="more data"])
-                else done
-                        Change_State([writing delegate],[label="done"])
-State [writing sspi header],[label="writing sspi header"]
-        Event [data written]
-                Change_State([writing sspi buffer])
-State [writing sspi buffer],[label="writing sspi buffer"]
-        Event [data written]
-                Change_State([reading sspi header])
-State [writing delegate],[label="writing delegate"]
-        Event [data written]
-                Change_State([reading delegate request result])
-State [reading delegate request result],[label="reading delegate request result"]
-        Event [data read]
-                if impersonate
-                        Change_State([writing impersonate result],[label="yes/no/identify"])
-                else sspi job key
-						Change_State([reading job key],[label="key"])
-State [reading job key],[label="reading job key"]
-		Event [data read]
-				Change_State([writing impersonate result])
-State [writing impersonate result],[label="writing impersonate result"]
-        Event [data written]
-				if impersonate success
-						Change_State([writing reconnect request],[label="process:success"])
-				else smpd success
-						Change_State([reading session header],[label="smpd:success"])
-				else fail
-						Change_State([closing],[label="fail"])
-State [writing nocred request],[label="writing nocred request"]
-	Event [data written]
-		if win
-			Change_State([writing reconnect request],[label="win"])
-		else
-			Change_State([writing noreconnect request],[label="unix"])
-State [writing pwd request],[label="writing pwd request"]
-	Event [data written]
-		Change_State([reading smpd password])
-State [writing sspi request],[label="writing sspi request"]
-	Event [data written]
-		Change_State([reading sspi header])
-State [writing nopwd request],[label="writing nopwd request"]
-	Event [data written]
-		Change_State([reading session header])
-State [reading account],[label="reading account"]
-	Event [data read]
-		Change_State([reading password])
-State [reading smpd password],[label="reading smpd password"]
-	Event [data read]
-		if accepted
-			Change_State([writing session accept],[label="accept"])
-		else
-			Change_State([writing session reject],[label="reject"])
-State [reading password],[label="reading password"]
-	Event [data read]
-		if logon success
-			Change_State([writing password accept],[label="logon success"])
-		else logon fail
-			Change_State([writing password reject],[label="logon fail"])
-State [writing password accept],[label="writing password accept"]
-	Event [data written]
-		if win
-			Change_State([writing reconnect request],[label="win"])
-		else
-			Change_State([writing noreconnect request],[label="unix"])
-State [writing password reject],[label="writing password reject"]
-	Event [data written]
-		Change_State([closing])
-State [writing session accept],[label="writing session accept"]
-	Event [data written]
-		Change_State([reading session header])
-State [writing session reject],[label="writing session reject"]
-	Event [data written]
-		Change_State([closing])
-State [writing reconnect request],[label="writing reconnect request"]
-	Event [data written]
-		if new process
-			Change_State([mgr listening],[label="new process" style=dotted])
-		else
-			Change_State([closing])
-State [writing noreconnect request],[label="writing noreconnect request"]
-	Event [data written]
-		if forkee
-			Change_State([reading session header],[label="unix forkee"])
-		else
-			Change_State([closing],[label="unix forker"])
-State [mgr listening],[label="mgr listening"]
-	Event [accept]
-		Change_State([closing], [label="accept"])
-		Change_State([reading session header],[label="new context" style=dotted])
-State [reading session header],[label="reading session header"]
-	Event [data read]
-		Change_State([reading cmd header])
-State [reading cmd header],[label="reading cmd header"]
-	Event [data read]
-		Change_State([reading cmd])
-State [reading cmd],[label="reading cmd"]
-	Event [data read]
-		Change_State([reading cmd header])
-State [closing]
-	Event [close]
-		Change_State([done], [label="closed"])
-State [done]
-\end{verbatim}
diff --git a/src/pm/smpd/mp_parse_command_line.c b/src/pm/smpd/mp_parse_command_line.c
deleted file mode 100644
index 2a65e09..0000000
--- a/src/pm/smpd/mp_parse_command_line.c
+++ /dev/null
@@ -1,2450 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-
-#include <stdio.h>
-#include "mpiexec.h"
-#include "smpd.h"
-#include <stdlib.h>
-#ifdef HAVE_STRING_H
-#include <string.h>
-#endif
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#if defined(HAVE_DIRECT_H) || defined(HAVE_WINDOWS_H)
-#include <direct.h>
-#endif
-#ifdef HAVE_WINDOWS_H
-#include <crtdbg.h>
-#endif
-#ifdef HAVE_CTYPE_H
-#include <ctype.h>
-#endif
-
-/* The supported values right now are "newtcp" & "nd" */
-#define SMPD_MAX_NEMESIS_NETMOD_LENGTH  10
-
-void mp_print_options(void)
-{
-    printf("\n");
-    printf("Usage:\n");
-    printf("mpiexec -n <maxprocs> [options] executable [args ...]\n");
-    printf("mpiexec [options] executable [args ...] : [options] exe [args] : ...\n");
-    printf("mpiexec -configfile <configfile>\n");
-    printf("\n");
-    printf("options:\n");
-    printf("\n");
-    printf("standard:\n");
-    printf("-n <maxprocs>\n");
-    printf("-wdir <working directory>\n");
-    printf("-configfile <filename> -\n");
-    printf("       each line contains a complete set of mpiexec options\n");
-    printf("       including the executable and arguments\n");
-    printf("-host <hostname>\n");
-    /*
-    printf("-soft <Fortran90 triple> - acceptable number of processes up to maxprocs\n");
-    printf("       a or a:b or a:b:c where\n");
-    printf("       1) a = a\n");
-    printf("       2) a:b = a, a+1, a+2, ..., b\n");
-    printf("       3) a:b:c = a, a+c, a+2c, a+3c, ..., a+kc\n");
-    printf("          where a+kc <= b if c>0\n");
-    printf("                a+kc >= b if c<0\n");
-    */
-    printf("-path <search path for executable, ; separated>\n");
-    /*printf("-arch <architecture> - sun, linux, rs6000, ...\n");*/
-    printf("\n");
-    printf("extensions:\n");
-    printf("-env <variable value>\n");
-    printf("-hosts <n host1 host2 ... hostn>\n");
-    printf("-hosts <n host1 m1 host2 m2 ... hostn mn>\n");
-    printf("-machinefile <filename> - one host per line, #commented\n");
-    printf("-localonly <numprocs>\n");
-    printf("-exitcodes - print the exit codes of processes as they exit\n");
-    /*
-    printf("-genvall - pass all env vars in current environment\n");
-    printf("-genvnone - pass no env vars\n");
-    */
-    printf("-genvlist <list of env var names a,b,c,...> - pass current values of these vars\n");
-    printf("-g<local arg name> - global version of local options\n");
-    printf("  genv, gwdir, ghost, gpath, gmap\n");
-    printf("-file <filename> - old mpich1 job configuration file\n");
-    printf("\n");
-    printf("examples:\n");
-    printf("mpiexec -n 4 cpi\n");
-    printf("mpiexec -n 1 -host foo master : -n 8 worker\n");
-    printf("\n");
-    printf("For a list of all mpiexec options, execute 'mpiexec -help2'\n");
-}
-
-void mp_print_extra_options(void)
-{
-    printf("\n");
-    printf("All options to mpiexec:\n");
-    printf("\n");
-    printf("-n x\n");
-    printf("-np x\n");
-    printf("  launch x processes\n");
-    printf("-localonly x\n");
-    printf("-n x -localonly\n");
-    printf("  launch x processes on the local machine\n");
-    printf("-machinefile filename\n");
-    printf("  use a file to list the names of machines to launch on\n");
-    printf("-host hostname\n");
-    printf("-hosts n host1 host2 ... hostn\n");
-    printf("-hosts n host1 m1 host2 m2 ... hostn mn\n");
-    printf("  launch on the specified hosts\n");
-    printf("  In the second version the number of processes = m1 + m2 + ... + mn\n");
-    printf("-binding proc_binding_scheme\n");
-    printf("  Set the proc binding for each of the launched processes to a single core.\n");
-    printf("  Currently \"auto\" and \"user\" are supported as the proc_binding_schemes \n"); 
-    printf("-map drive:\\\\host\\share\n");
-    printf("  map a drive on all the nodes\n");
-    printf("  this mapping will be removed when the processes exit\n");
-    printf("-mapall\n");
-    printf("  map all of the current network drives\n");
-    printf("  this mapping will be removed when the processes exit\n");
-    printf("  (Available currently only on windows)\n");
-    printf("-dir drive:\\my\\working\\directory\n");
-    printf("-wdir /my/working/directory\n");
-    printf("  launch processes in the specified directory\n");
-    printf("-env var val\n");
-    printf("  set environment variable before launching the processes\n");
-    printf("-logon\n");
-    printf("  prompt for user account and password\n");
-    printf("-pwdfile filename\n");
-    printf("  read the account and password from the file specified\n");
-    printf("  put the account on the first line and the password on the second\n");
-    /*
-    printf("-nocolor\n");
-    printf("  don't use process specific output coloring\n");
-    */
-    printf("-nompi\n");
-    printf("  launch processes without the mpi startup mechanism\n");
-    /*
-    printf("-nomapping\n");
-    printf("  don't try to map the current directory on the remote nodes\n");
-    */
-    printf("-nopopup_debug\n");
-    printf("  disable the system popup dialog if the process crashes\n");
-    /*
-    printf("-dbg\n");
-    printf("  catch unhandled exceptions\n");
-    */
-    printf("-exitcodes\n");
-    printf("  print the process exit codes when each process exits.\n");
-    printf("-noprompt\n");
-    printf("  prevent mpiexec from prompting for user credentials.\n");
-    printf("-priority class[:level]\n");
-    printf("  set the process startup priority class and optionally level.\n");
-    printf("  class = 0,1,2,3,4   = idle, below, normal, above, high\n");
-    printf("  level = 0,1,2,3,4,5 = idle, lowest, below, normal, above, highest\n");
-    printf("  the default is -priority 1:3\n");
-    printf("-localroot\n");
-    printf("  launch the root process directly from mpiexec if the host is local.\n");
-    printf("  (This allows the root process to create windows and be debugged.)\n");
-    printf("-port port\n");
-    printf("-p port\n");
-    printf("  specify the port that smpd is listening on.\n");
-    printf("-phrase passphrase\n");
-    printf("  specify the passphrase to authenticate connections to smpd with.\n");
-    printf("-smpdfile filename\n");
-    printf("  specify the file where the smpd options are stored including the passphrase.\n");
-    /*
-    printf("-soft Fortran90_triple\n");
-    printf("  acceptable number of processes to launch up to maxprocs\n");
-    */
-    printf("-path search_path\n");
-    printf("  search path for executable, ; separated\n");
-    /*
-    printf("-arch architecture\n");
-    printf("  sun, linux, rs6000, ...\n");
-    */
-    printf("-register [-user n]\n");
-    printf("  encrypt a user name and password to the Windows registry.\n");
-    printf("  optionally specify a user slot index\n");
-    printf("-remove [-user n]\n");
-    printf("  delete the encrypted credentials from the Windows registry.\n");
-    printf("  If no user index is specified then all entries are removed.\n");
-    printf("-validate [-user n] [-host hostname]\n");
-    printf("  validate the encrypted credentials for the current or specified host.\n");
-    printf("  A specific user index can be specified otherwise index 0 is the default.\n");
-    printf("-user n\n");
-    printf("  use the registered user credentials from slot n to launch the job.\n");
-    printf("-timeout seconds\n");
-    printf("  timeout for the job.\n");
-    printf("-plaintext\n");
-    printf("  don't encrypt the data on the wire.\n");
-    printf("-delegate\n");
-    printf("  use passwordless delegation to launch processes\n");
-    printf("-impersonate\n");
-    printf("  use passwordless authentication to launch processes\n");
-    printf("-add_job <job_name> <domain\\user>\n");
-    printf("-add_job <job_name> <domain\\user> -host <hostname>\n");
-    printf("  add a job key for the specified domain user on the local or specified host\n");
-    printf("  requires administrator privileges\n");
-    printf("-remove_job <name>\n");
-    printf("-remove_job <name> -host <hostname>\n");
-    printf("  remove a job key from the local or specified host\n");
-    printf("  requires administrator privileges\n");
-    printf("-associate_job <name>\n");
-    printf("-associate_job <name> -host <hostname>\n");
-    printf("  associate the current user's token with the specified job on the local or specified host\n");
-    printf("-job <name>\n");
-    printf("  launch the processes in the context of the specified job\n");
-    printf("-whomai\n");
-    printf("  print the current user name\n");
-    printf("-l\n");
-    printf("  prefix output with the process number. (This option is a lowercase L not the number one)\n");
-}
-
-#ifdef HAVE_WINDOWS_H
-
-/* check to see if a path is on a network mapped drive and would need to be mapped on a remote system */
-SMPD_BOOL NeedToMap(char *pszFullPath, char *pDrive, char *pszShare)
-{
-    DWORD dwResult;
-    DWORD dwLength;
-    char pBuffer[4096];
-    REMOTE_NAME_INFO *info = (REMOTE_NAME_INFO*)pBuffer;
-    char pszTemp[SMPD_MAX_EXE_LENGTH];
-
-    if (*pszFullPath == '"')
-    {
-	strncpy(pszTemp, &pszFullPath[1], SMPD_MAX_EXE_LENGTH);
-	pszTemp[SMPD_MAX_EXE_LENGTH-1] = '\0';
-	if (pszTemp[strlen(pszTemp)-1] == '"')
-	    pszTemp[strlen(pszTemp)-1] = '\0';
-	pszFullPath = pszTemp;
-    }
-    dwLength = 4096;
-    info->lpConnectionName = NULL;
-    info->lpRemainingPath = NULL;
-    info->lpUniversalName = NULL;
-    dwResult = WNetGetUniversalName(pszFullPath, REMOTE_NAME_INFO_LEVEL, info, &dwLength);
-    if (dwResult == NO_ERROR)
-    {
-	*pDrive = *pszFullPath;
-	strcpy(pszShare, info->lpConnectionName);
-	return SMPD_TRUE;
-    }
-
-    /*printf("WNetGetUniversalName: '%s'\n error %d\n", pszExe, dwResult);*/
-    return SMPD_FALSE;
-}
-
-/* convert an executable name to a universal naming convention version so that it can be used on a remote system */
-void ExeToUnc(char *pszExe, int length)
-{
-    DWORD dwResult;
-    DWORD dwLength;
-    char pBuffer[4096];
-    REMOTE_NAME_INFO *info = (REMOTE_NAME_INFO*)pBuffer;
-    char pszTemp[SMPD_MAX_EXE_LENGTH];
-    SMPD_BOOL bQuoted = SMPD_FALSE;
-    char *pszOriginal;
-
-    pszOriginal = pszExe;
-
-    if (*pszExe == '"')
-    {
-	bQuoted = SMPD_TRUE;
-	strncpy(pszTemp, &pszExe[1], SMPD_MAX_EXE_LENGTH);
-	pszTemp[SMPD_MAX_EXE_LENGTH-1] = '\0';
-	if (pszTemp[strlen(pszTemp)-1] == '"')
-	    pszTemp[strlen(pszTemp)-1] = '\0';
-	pszExe = pszTemp;
-    }
-    dwLength = 4096;
-    info->lpConnectionName = NULL;
-    info->lpRemainingPath = NULL;
-    info->lpUniversalName = NULL;
-    dwResult = WNetGetUniversalName(pszExe, REMOTE_NAME_INFO_LEVEL, info, &dwLength);
-    if (dwResult == NO_ERROR)
-    {
-	if (bQuoted)
-	    snprintf(pszOriginal, length, "\"%s\"", info->lpUniversalName);
-	else
-	{
-	    strncpy(pszOriginal, info->lpUniversalName, length);
-	    pszOriginal[length-1] = '\0';
-	}
-    }
-}
-
-#endif
-
-static int strip_args(int *argcp, char **argvp[], int n)
-{
-    int i;
-
-    if (n+1 > (*argcp))
-    {
-	printf("Error: cannot strip %d args, only %d left.\n", n, (*argcp)-1);
-	return SMPD_FAIL;
-    }
-    for (i=n+1; i<=(*argcp); i++)
-    {
-	(*argvp)[i-n] = (*argvp)[i];
-    }
-    (*argcp) -= n;
-    return SMPD_SUCCESS;
-}
-
-static SMPD_BOOL smpd_isnumber(char *str)
-{
-    size_t i, n = strlen(str);
-    for (i=0; i<n; i++)
-    {
-	if (!isdigit(str[i]))
-	    return SMPD_FALSE;
-    }
-    return SMPD_TRUE;
-}
-
-#ifdef HAVE_WINDOWS_H
-static int mpiexec_assert_hook( int reportType, char *message, int *returnValue )
-{
-    SMPD_UNREFERENCED_ARG(reportType);
-
-    fprintf(stderr, "%s", message);
-    if (returnValue != NULL)
-	exit(*returnValue);
-    exit(-1);
-}
-
-/* This function reads the user binding option and sets the affinity map.
- * The user option is of the form "user:a,b,c" where a, b, c are integers denoting
- * the cores in the affinity map
- */
-static int read_user_affinity_map(char *option)
-{
-    char *p = NULL, *q = NULL, *context = NULL;
-    int i=0, map_sz = 0;
-
-    if(smpd_process.affinity_map != NULL){
-        printf("Error: duplicate user affinity map option\n");
-        return SMPD_FAIL;
-    }
-    if(option == NULL){
-        printf("Error: NULL user affinity option\n");
-        return SMPD_FAIL;
-    }
-
-    /* option = "user:1,2,3" */
-    p = option;
-    p = strtok_s(p, ":", &context);
-    if(p == NULL){
-        printf("Error parsing user affinity map\n");
-        return SMPD_FAIL;
-    }
-    p = strtok_s(NULL, ":", &context);
-    if(p == NULL){
-        printf("Error parsing user affinity map\n");
-        return SMPD_FAIL;
-    }
-
-    /* p should now point to the affinity map separated by comma's */
-    map_sz = 1;
-    q = p;
-    /* parse to find the number of elements in the map */
-    while(*q != '\0'){
-        if(*q == ','){
-            map_sz++;
-        }
-        q++;
-    }
-
-    /* Allocate the mem for map */
-    smpd_process.affinity_map = (int *)MPIU_Malloc(sizeof(int) * map_sz);
-    if(smpd_process.affinity_map == NULL){
-        printf("Unable to allocate memory for affinity map\n");
-        return SMPD_FAIL;
-    }
-    smpd_process.affinity_map_sz = map_sz;
-
-    context = NULL;
-    p = strtok_s(p, ",", &context);
-    i = 0;
-    while(p != NULL){
-        /* FIXME: We don't detect overflow case in atoi */
-        smpd_process.affinity_map[i++] = atoi(p);
-        p = strtok_s(NULL, ",", &context);
-    }
-
-    smpd_dbg_printf("The user affinity map is : [ ");
-    for(i=0; i<map_sz; i++){
-        smpd_dbg_printf(" %d ,",smpd_process.affinity_map[i]);
-    }
-    smpd_dbg_printf(" ] \n");
-
-    return SMPD_SUCCESS;
-}
-#endif
-
-#undef FCNAME
-#define FCNAME "mp_parse_command_args"
-int mp_parse_command_args(int *argcp, char **argvp[])
-{
-    int cur_rank;
-    int affinity_map_index;
-    int argc, next_argc;
-    char **next_argv;
-    char *exe_ptr;
-    int num_args_to_strip;
-    int nproc;
-    char machine_file_name[SMPD_MAX_FILENAME];
-    int use_machine_file = SMPD_FALSE;
-    smpd_map_drive_node_t *map_node, *drive_map_list;
-    smpd_map_drive_node_t *gmap_node, *gdrive_map_list;
-    smpd_env_node_t *env_node, *env_list;
-    smpd_env_node_t *genv_list;
-    char *env_str, env_data[SMPD_MAX_ENV_LENGTH];
-    char wdir[SMPD_MAX_DIR_LENGTH];
-    char gwdir[SMPD_MAX_DIR_LENGTH];
-    int use_debug_flag;
-    char pwd_file_name[SMPD_MAX_FILENAME];
-    int use_pwd_file;
-    smpd_host_node_t *host_node_ptr, *host_list, *host_node_iter;
-    smpd_host_node_t *ghost_list;
-    int no_drive_mapping;
-    int n_priority_class, n_priority;
-    int index, i;
-    char configfilename[SMPD_MAX_FILENAME];
-    int use_configfile, delete_configfile;
-    char exe[SMPD_MAX_EXE_LENGTH], *exe_iter;
-    char exe_path[SMPD_MAX_EXE_LENGTH], *namepart;
-    smpd_launch_node_t *launch_node, *launch_node_iter;
-    int exe_len_remaining;
-    char path[SMPD_MAX_PATH_LENGTH];
-    char gpath[SMPD_MAX_PATH_LENGTH];
-    char temp_password[SMPD_MAX_PASSWORD_LENGTH];
-    FILE *fin_config = NULL;
-    int result;
-    int maxlen;
-    int appnum = 0;
-    char channel[SMPD_MAX_NAME_LENGTH] = "";
-    /* smpd configured settings */
-    char smpd_setting_tmp_buffer[20];
-    char smpd_setting_channel[20] = "";
-    char smpd_setting_internode_channel[20] = "";
-    SMPD_BOOL smpd_setting_timeout = SMPD_INVALID_SETTING;
-    SMPD_BOOL smpd_setting_priority_class = SMPD_INVALID_SETTING;
-    SMPD_BOOL smpd_setting_priority = SMPD_INVALID_SETTING;
-    char smpd_setting_path[SMPD_MAX_PATH_LENGTH] = "";
-    SMPD_BOOL smpd_setting_localonly = SMPD_INVALID_SETTING;
-    char nemesis_netmod[SMPD_MAX_NEMESIS_NETMOD_LENGTH];
-
-#ifdef HAVE_WINDOWS_H
-    int user_index;
-    char user_index_str[20];
-#endif
-
-    smpd_enter_fn(FCNAME);
-
-#ifdef HAVE_WINDOWS_H
-    /* prevent mpiexec from bringing up an error message window if it crashes */
-    _CrtSetReportMode( _CRT_ASSERT, _CRTDBG_MODE_FILE );
-    _CrtSetReportFile( _CRT_ASSERT, _CRTDBG_FILE_STDERR );
-    _CrtSetReportHook(mpiexec_assert_hook);
-
-    /* check for windows specific arguments */
-    if (*argcp > 1)
-    {
-	if (strcmp((*argvp)[1], "-register") == 0)
-	{
-        char register_filename[SMPD_MAX_FILENAME];
-	    user_index = 0;
-	    smpd_get_opt_int(argcp, argvp, "-user", &user_index);
-	    if (user_index < 0)
-	    {
-		user_index = 0;
-	    }
-        register_filename[0] = '\0';
-        if(smpd_get_opt_string(argcp, argvp, "-file", register_filename, SMPD_MAX_FILENAME))
-        {
-            smpd_dbg_printf("Registering username/password to a file\n");
-        }
-	    for (;;)
-	    {
-		smpd_get_account_and_password(smpd_process.UserAccount, smpd_process.UserPassword);
-		fprintf(stderr, "confirm password: ");fflush(stderr);
-		smpd_get_password(temp_password);
-		if (strcmp(smpd_process.UserPassword, temp_password) == 0)
-		    break;
-		printf("passwords don't match, please try again.\n");
-	    }
-        if(strlen(register_filename) > 0)
-        {
-            if(smpd_save_cred_to_file(register_filename, smpd_process.UserAccount, smpd_process.UserPassword))
-            {
-                printf("Username/password encrypted and saved to registry file\n");
-            }
-            else
-            {
-                smpd_err_printf("Error saving username/password to registry file\n");
-            }
-            smpd_exit(0);
-        }
-	    if (smpd_save_password_to_registry(user_index, smpd_process.UserAccount, smpd_process.UserPassword, SMPD_TRUE)) 
-	    {
-		printf("Password encrypted into the Registry.\n");
-		smpd_delete_cached_password();
-	    }
-	    else
-	    {
-		printf("Error: Unable to save encrypted password.\n");
-	    }
-	    fflush(stdout);
-	    smpd_exit(0);
-	}
-	if ( (strcmp((*argvp)[1], "-remove") == 0) || (strcmp((*argvp)[1], "-unregister") == 0) )
-	{
-	    user_index = 0;
-	    if (smpd_get_opt_string(argcp, argvp, "-user", user_index_str, 20))
-	    {
-		if (user_index_str[0] == 'a' && user_index_str[1] == 'l' && user_index_str[2] == 'l' && user_index_str[3] == '\0')
-		{
-		    user_index = -1;
-		}
-		else
-		{
-		    user_index = atoi(user_index_str);
-		    if (user_index < 0)
-		    {
-			user_index = 0;
-		    }
-		}
-	    }
-	    if (smpd_delete_current_password_registry_entry(user_index))
-	    {
-		smpd_delete_cached_password();
-		printf("Account and password removed from the Registry.\n");
-	    }
-	    else
-	    {
-		printf("ERROR: Unable to remove the encrypted password.\n");
-	    }
-	    fflush(stdout);
-	    smpd_exit(0);
-	}
-	if (strcmp((*argvp)[1], "-validate") == 0)
-	{
-	    user_index = 0;
-	    smpd_get_opt_int(argcp, argvp, "-user", &user_index);
-	    if (user_index < 0)
-	    {
-		user_index = 0;
-	    }
-	    if (smpd_read_password_from_registry(user_index, smpd_process.UserAccount, smpd_process.UserPassword))
-	    {
-		if (!smpd_get_opt_string(argcp, argvp, "-host", smpd_process.console_host, SMPD_MAX_HOST_LENGTH))
-		{
-		    smpd_get_hostname(smpd_process.console_host, SMPD_MAX_HOST_LENGTH);
-		}
-		smpd_get_opt_int(argcp, argvp, "-port", &smpd_process.port);
-		smpd_get_opt_string(argcp, argvp, "-phrase", smpd_process.passphrase, SMPD_PASSPHRASE_MAX_LENGTH);
-		smpd_process.builtin_cmd = SMPD_CMD_VALIDATE;
-		smpd_do_console();
-	    }
-	    else
-	    {
-		printf("FAIL: Unable to read the credentials from the registry.\n");fflush(stdout);
-	    }
-	    fflush(stdout);
-	    smpd_exit(0);
-	}
-	if (strcmp((*argvp)[1], "-whoami") == 0)
-	{
-	    char username[100] = "";
-	    ULONG len = 100;
-	    if (GetUserNameEx(NameSamCompatible, username, &len))
-	    {
-		printf("%s\n", username);
-	    }
-	    else if (GetUserName(username, &len))
-	    {
-		printf("%s\n", username);
-	    }
-	    else
-	    {
-		printf("ERROR: Unable to determine the current username.\n");
-	    }
-	    fflush(stdout);
-	    smpd_exit(0);
-	}
-
-	if (strcmp((*argvp)[1], "-add_job") == 0)
-	{
-	    if (smpd_get_opt(argcp, argvp, "-verbose"))
-	    {
-		smpd_process.verbose = SMPD_TRUE;
-		smpd_process.dbg_state |= SMPD_DBG_STATE_ERROUT | SMPD_DBG_STATE_STDOUT | SMPD_DBG_STATE_TRACE;
-	    }
-
-	    if (smpd_get_opt_two_strings(argcp, argvp, "-add_job", smpd_process.job_key, SMPD_MAX_NAME_LENGTH, smpd_process.job_key_account, SMPD_MAX_ACCOUNT_LENGTH))
-	    {
-		if (!smpd_get_opt_string(argcp, argvp, "-host", smpd_process.console_host, SMPD_MAX_HOST_LENGTH))
-		{
-		    smpd_get_hostname(smpd_process.console_host, SMPD_MAX_HOST_LENGTH);
-		}
-		smpd_get_opt_int(argcp, argvp, "-port", &smpd_process.port);
-		smpd_get_opt_string(argcp, argvp, "-phrase", smpd_process.passphrase, SMPD_PASSPHRASE_MAX_LENGTH);
-		if (smpd_get_opt_string(argcp, argvp, "-password", smpd_process.job_key_password, SMPD_MAX_PASSWORD_LENGTH))
-		{
-		    smpd_process.builtin_cmd = SMPD_CMD_ADD_JOB_AND_PASSWORD;
-		}
-		else
-		{
-		    smpd_process.builtin_cmd = SMPD_CMD_ADD_JOB;
-		}
-		smpd_do_console();
-		fflush(stdout);
-		smpd_exit(0);
-	    }
-	    printf("Invalid number of arguments passed to -add_job <job_key> <user_account>\n");
-	    fflush(stdout);
-	    smpd_exit(-1);
-	}
-
-	if (strcmp((*argvp)[1], "-remove_job") == 0)
-	{
-	    if (smpd_get_opt(argcp, argvp, "-verbose"))
-	    {
-		smpd_process.verbose = SMPD_TRUE;
-		smpd_process.dbg_state |= SMPD_DBG_STATE_ERROUT | SMPD_DBG_STATE_STDOUT | SMPD_DBG_STATE_TRACE;
-	    }
-
-	    if (smpd_get_opt_string(argcp, argvp, "-remove_job", smpd_process.job_key, SMPD_MAX_NAME_LENGTH))
-	    {
-		if (!smpd_get_opt_string(argcp, argvp, "-host", smpd_process.console_host, SMPD_MAX_HOST_LENGTH))
-		{
-		    smpd_get_hostname(smpd_process.console_host, SMPD_MAX_HOST_LENGTH);
-		}
-		smpd_get_opt_int(argcp, argvp, "-port", &smpd_process.port);
-		smpd_get_opt_string(argcp, argvp, "-phrase", smpd_process.passphrase, SMPD_PASSPHRASE_MAX_LENGTH);
-		smpd_process.builtin_cmd = SMPD_CMD_REMOVE_JOB;
-		smpd_do_console();
-		fflush(stdout);
-		smpd_exit(0);
-	    }
-	    printf("Invalid number of arguments passed to -remove_job <job_key>\n");
-	    fflush(stdout);
-	    smpd_exit(-1);
-	}
-
-	if (strcmp((*argvp)[1], "-associate_job") == 0)
-	{
-	    if (smpd_get_opt(argcp, argvp, "-verbose"))
-	    {
-		smpd_process.verbose = SMPD_TRUE;
-		smpd_process.dbg_state |= SMPD_DBG_STATE_ERROUT | SMPD_DBG_STATE_STDOUT | SMPD_DBG_STATE_TRACE;
-	    }
-
-	    if (smpd_get_opt_string(argcp, argvp, "-associate_job", smpd_process.job_key, SMPD_MAX_NAME_LENGTH))
-	    {
-		if (!smpd_get_opt_string(argcp, argvp, "-host", smpd_process.console_host, SMPD_MAX_HOST_LENGTH))
-		{
-		    smpd_get_hostname(smpd_process.console_host, SMPD_MAX_HOST_LENGTH);
-		}
-		smpd_get_opt_int(argcp, argvp, "-port", &smpd_process.port);
-		smpd_get_opt_string(argcp, argvp, "-phrase", smpd_process.passphrase, SMPD_PASSPHRASE_MAX_LENGTH);
-		smpd_process.builtin_cmd = SMPD_CMD_ASSOCIATE_JOB;
-		smpd_do_console();
-		fflush(stdout);
-		smpd_exit(0);
-	    }
-	    printf("Invalid number of arguments passed to -associate_job <job_key>\n");
-	    fflush(stdout);
-	    smpd_exit(-1);
-	}
-    }
-#endif
-
-    if ((*argcp == 2) &&
-	((strcmp((*argvp)[1], "-pmiserver") == 0) || (strcmp((*argvp)[1], "-pmi_server") == 0)))
-    {
-	smpd_err_printf("Error: No number of processes specified after the %s option\n", (*argvp)[1]);
-	return SMPD_FAIL;
-    }
-
-    if (*argcp >= 3)
-    {
-	if ((strcmp((*argvp)[1], "-pmiserver") == 0) || (strcmp((*argvp)[1], "-pmi_server") == 0))
-	{
-	    char host[100];
-	    int id;
-
-        smpd_process.use_pmi_server = SMPD_TRUE;
-
-	    if (smpd_get_opt(argcp, argvp, "-verbose"))
-	    {
-		smpd_process.verbose = SMPD_TRUE;
-		smpd_process.dbg_state |= SMPD_DBG_STATE_ERROUT | SMPD_DBG_STATE_STDOUT | SMPD_DBG_STATE_TRACE;
-	    }
-
-        if(smpd_get_opt(argcp, argvp, "-hide_console")){
-#ifdef HAVE_WINDOWS_H		
-            FreeConsole();
-#endif
-        }
-
-#ifdef HAVE_WINDOWS_H
-        if(smpd_get_opt(argcp, argvp, "-impersonate"))
-        {
-            smpd_process.use_sspi = SMPD_TRUE;
-            smpd_process.use_delegation = SMPD_FALSE;
-        }
-        if(smpd_get_opt(argcp, argvp, "-delegate"))
-        {
-            smpd_process.use_sspi = SMPD_TRUE;
-            smpd_process.use_delegation = SMPD_TRUE;
-        }
-#endif
-	    smpd_process.nproc = atoi((*argvp)[2]);
-	    if (smpd_process.nproc < 1)
-	    {
-		smpd_err_printf("invalid number of processes: %s\n", (*argvp)[2]);
-		return SMPD_FAIL;
-	    }
-
-	    /* set up the host list to connect to only the local host */
-	    smpd_get_hostname(host, 100);
-	    result = smpd_get_host_id(host, &id);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to get a id for host %s\n", host);
-		return SMPD_FAIL;
-	    }
-
-        if (*argcp >= 5){
-    	    smpd_process.singleton_client_port = atoi((*argvp)[4]);
-            if(smpd_process.singleton_client_port < 1){
-                smpd_err_printf("Invalid singleton client port = %d\n",
-                                    smpd_process.singleton_client_port);
-                return SMPD_FAIL;
-            }
-        }
-
-	    /* Return without creating any launch_nodes.  This will result in an mpiexec connected to the local smpd
-	     * and no processes launched.
-	     */
-	    return SMPD_SUCCESS;
-	}
-    }
-
-    /* Get settings saved in smpd */
-    /* These settings have the lowest priority.
-     * First are settings on the command line,
-     * second are settings from environment variables and
-     * these are last.
-     */
-    result = smpd_get_smpd_data("channel", smpd_setting_channel, 20);
-    result = smpd_get_smpd_data("internode_channel", smpd_setting_internode_channel, 20);
-    smpd_setting_tmp_buffer[0] = '\0';
-    result = smpd_get_smpd_data("timeout", smpd_setting_tmp_buffer, 20);
-    if (result == SMPD_SUCCESS)
-    {
-	smpd_setting_timeout = atoi(smpd_setting_tmp_buffer);
-	if (smpd_setting_timeout < 1)
-	{
-	    smpd_setting_timeout = SMPD_INVALID_SETTING;
-	}
-    }
-    smpd_process.output_exit_codes = smpd_option_on("exitcodes");
-    if (smpd_option_on("noprompt") == SMPD_TRUE)
-    {
-	smpd_process.noprompt = SMPD_TRUE;
-	smpd_process.credentials_prompt = SMPD_FALSE;
-    }
-    env_str = getenv("MPIEXEC_NOPROMPT");
-    if (env_str)
-    {
-	smpd_process.noprompt = SMPD_TRUE;
-	smpd_process.credentials_prompt = SMPD_FALSE;
-    }
-    smpd_setting_tmp_buffer[0] = '\0';
-    result = smpd_get_smpd_data("priority", smpd_setting_tmp_buffer, 20);
-    if (result == SMPD_SUCCESS)
-    {
-	if (smpd_isnumbers_with_colon(smpd_setting_tmp_buffer))
-	{
-	    char *str;
-	    smpd_setting_priority_class = atoi(smpd_setting_tmp_buffer); /* This assumes atoi will stop at the colon and return a number */
-	    str = strchr(smpd_setting_tmp_buffer, ':');
-	    if (str)
-	    {
-		str++;
-		smpd_setting_priority = atoi(str);
-	    }
-	    else
-	    {
-		smpd_setting_priority = SMPD_DEFAULT_PRIORITY;
-	    }
-	    if (smpd_setting_priority_class < 0 || smpd_setting_priority_class > 4 || smpd_setting_priority < 0 || smpd_setting_priority > 5)
-	    {
-		/* ignore invalid priority settings */
-		smpd_setting_priority_class = SMPD_INVALID_SETTING;
-		smpd_setting_priority = SMPD_INVALID_SETTING;
-	    }
-	}
-    }
-    result = smpd_get_smpd_data("app_path", smpd_setting_path, SMPD_MAX_PATH_LENGTH);
-    smpd_process.plaintext = smpd_option_on("plaintext");
-    smpd_setting_localonly = smpd_option_on("localonly");
-    result = smpd_get_smpd_data("port", smpd_setting_tmp_buffer, 20);
-    if (result == SMPD_SUCCESS)
-    {
-	if (smpd_isnumber(smpd_setting_tmp_buffer))
-	{
-	    result = atoi(smpd_setting_tmp_buffer);
-	    if (result != 0)
-		smpd_process.port = result;
-	}
-    }
-
-    env_str = getenv("MPIEXEC_SMPD_PORT");
-    if (env_str)
-    {
-	if (smpd_isnumber(env_str))
-	{
-	    result = atoi(env_str);
-	    if (result != 0)
-		smpd_process.port = result;
-	}
-    }
-
-    /* check for mpi options */
-    /*
-     * Required:
-     * -n <maxprocs>
-     * -host <hostname>
-     * -soft <Fortran90 triple> - represents allowed number of processes up to maxprocs
-     *        a or a:b or a:b:c where
-     *        1) a = a
-     *        2) a:b = a, a+1, a+2, ..., b
-     *        3) a:b:c = a, a+c, a+2c, a+3c, ..., a+kc
-     *           where a+kc <= b if c>0
-     *                 a+kc >= b if c<0
-     * -wdir <working directory>
-     * -path <search path for executable>
-     * -arch <architecture> - sun, linux, rs6000, ...
-     * -configfile <filename> - each line contains a complete set of mpiexec options, #commented
-     *
-     * Extensions:
-     * -env <variable=value>
-     * -env <variable=value;variable2=value2;...>
-     * -hosts <n host1 host2 ... hostn>
-     * -hosts <n host1 m1 host2 m2 ... hostn mn>
-     * -machinefile <filename> - one host per line, #commented
-     * -localonly <numprocs>
-     * -nompi - don't require processes to be SMPD processes (don't have to call SMPD_Init or PMI_Init)
-     * -exitcodes - print the exit codes of processes as they exit
-     * -verbose - same as setting environment variable to SMPD_DBG_OUTPUT=stdout
-     * -quiet_abort - minimize the output when a job is aborted
-     * -file - mpich1 job configuration file
-     * 
-     * Windows extensions:
-     * -map <drive:\\host\share>
-     * -pwdfile <filename> - account on the first line and password on the second
-     * -nomapping - don't copy the current directory mapping on the remote nodes
-     * -dbg - debug
-     * -noprompt - don't prompt for user credentials, fail with an error message
-     * -logon - force the prompt for user credentials
-     * -priority <class[:level]> - set the process startup priority class and optionally level.
-     *            class = 0,1,2,3,4   = idle, below, normal, above, high
-     *            level = 0,1,2,3,4,5 = idle, lowest, below, normal, above, highest
-     * -localroot - launch the root process without smpd if the host is local.
-     *              (This allows the root process to create windows and be debugged.)
-     *
-     * Backwards compatibility
-     * -np <numprocs>
-     * -dir <working directory>
-     */
-
-    /* Get a list of hosts from a file or the registry to be used with the -n,-np options */
-    smpd_get_default_hosts(); 
-
-    cur_rank = 0;
-    affinity_map_index = 0;
-    gdrive_map_list = NULL;
-    genv_list = NULL;
-    gwdir[0] = '\0';
-    gpath[0] = '\0';
-    ghost_list = NULL;
-    next_argc = *argcp;
-    next_argv = *argvp + 1;
-    exe_ptr = **argvp;
-    do
-    {
-	/* calculate the current argc and find the next argv */
-	argc = 1;
-	while ( (*next_argv) != NULL && (**next_argv) != ':')
-	{
-	    argc++;
-	    next_argc--;
-	    next_argv++;
-	}
-	if ( (*next_argv) != NULL && (**next_argv) == ':')
-	{
-	    (*next_argv) = NULL;
-	    next_argv++;
-	}
-	argcp = &argc;
-
-	/* reset block global variables */
-	use_configfile = SMPD_FALSE;
-	delete_configfile = SMPD_FALSE;
-configfile_loop:
-	nproc = 0;
-	drive_map_list = NULL;
-	env_list = NULL;
-	wdir[0] = '\0';
-	use_debug_flag = SMPD_FALSE;
-	use_pwd_file = SMPD_FALSE;
-	host_list = NULL;
-	no_drive_mapping = SMPD_FALSE;
-	n_priority_class = (smpd_setting_priority_class == SMPD_INVALID_SETTING) ? SMPD_DEFAULT_PRIORITY_CLASS : smpd_setting_priority_class;
-	n_priority = (smpd_setting_priority == SMPD_INVALID_SETTING) ? SMPD_DEFAULT_PRIORITY : smpd_setting_priority;
-	use_machine_file = SMPD_FALSE;
-	if (smpd_setting_path[0] != '\0')
-	{
-	    strncpy(path, smpd_setting_path, SMPD_MAX_PATH_LENGTH);
-	}
-	else
-	{
-	    path[0] = '\0';
-	}
-
-	/* Check for the -configfile option.  It must be the first and only option in a group. */
-	if ((*argvp)[1] && (*argvp)[1][0] == '-')
-	{
-	    if ((*argvp)[1][1] == '-')
-	    {
-		/* double -- option provided, trim it to a single - */
-		index = 2;
-		while ((*argvp)[1][index] != '\0')
-		{
-		    (*argvp)[1][index-1] = (*argvp)[1][index];
-		    index++;
-		}
-		(*argvp)[1][index-1] = '\0';
-	    }
-	    if (strcmp(&(*argvp)[1][1], "configfile") == 0)
-	    {
-		if (use_configfile)
-		{
-		    printf("Error: -configfile option is not valid from within a configuration file.\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		if (argc < 3)
-		{
-		    printf("Error: no filename specifed after -configfile option.\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		strncpy(configfilename, (*argvp)[2], SMPD_MAX_FILENAME);
-		use_configfile = SMPD_TRUE;
-		fin_config = fopen(configfilename, "r");
-		if (fin_config == NULL)
-		{
-		    printf("Error: unable to open config file '%s'\n", configfilename);
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		if (!smpd_get_argcv_from_file(fin_config, argcp, argvp))
-		{
-		    fclose(fin_config);
-		    printf("Error: unable to parse config file '%s'\n", configfilename);
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-	    }
-	    if (strcmp(&(*argvp)[1][1], "file") == 0)
-	    {
-		if (argc < 3)
-		{
-		    printf("Error: no filename specifed after -file option.\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		mp_parse_mpich1_configfile((*argvp)[2], configfilename, SMPD_MAX_FILENAME);
-		delete_configfile = SMPD_TRUE;
-		use_configfile = SMPD_TRUE;
-		fin_config = fopen(configfilename, "r");
-		if (fin_config == NULL)
-		{
-		    printf("Error: unable to open config file '%s'\n", configfilename);
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		if (!smpd_get_argcv_from_file(fin_config, argcp, argvp))
-		{
-		    fclose(fin_config);
-		    printf("Error: unable to parse config file '%s'\n", configfilename);
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-	    }
-	}
-
-	/* parse the current block */
-
-	/* parse the mpiexec options */
-	while ((*argvp)[1] && (*argvp)[1][0] == '-')
-	{
-	    if ((*argvp)[1][1] == '-')
-	    {
-		/* double -- option provided, trim it to a single - */
-		index = 2;
-		while ((*argvp)[1][index] != '\0')
-		{
-		    (*argvp)[1][index-1] = (*argvp)[1][index];
-		    index++;
-		}
-		(*argvp)[1][index-1] = '\0';
-	    }
-
-	    num_args_to_strip = 1;
-	    if ((strcmp(&(*argvp)[1][1], "np") == 0) || (strcmp(&(*argvp)[1][1], "n") == 0))
-	    {
-		if (nproc != 0)
-		{
-		    printf("Error: only one option is allowed to determine the number of processes.\n");
-		    printf("       -hosts, -n, -np and -localonly x are mutually exclusive\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		if (argc < 3)
-		{
-		    printf("Error: no number specified after %s option.\n", (*argvp)[1]);
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		nproc = atoi((*argvp)[2]);
-		if (nproc < 1)
-		{
-		    printf("Error: must specify a number greater than 0 after the %s option\n", (*argvp)[1]);
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		num_args_to_strip = 2;
-	    }
-	    else if (strcmp(&(*argvp)[1][1], "localonly") == 0)
-	    {
-		/* check to see if there is a number after the localonly option */
-		if (argc > 2)
-		{
-		    if (smpd_isnumber((*argvp)[2]))
-		    {
-			if (nproc != 0)
-			{
-			    printf("Error: only one option is allowed to determine the number of processes.\n");
-			    printf("       -hosts, -n, -np and -localonly x are mutually exclusive\n");
-			    smpd_exit_fn(FCNAME);
-			    return SMPD_FAIL;
-			}
-			nproc = atoi((*argvp)[2]);
-			if (nproc < 1)
-			{
-			    printf("Error: If you specify a number after -localonly option,\n        it must be greater than 0.\n");
-			    smpd_exit_fn(FCNAME);
-			    return SMPD_FAIL;
-			}
-			num_args_to_strip = 2;
-		    }
-		}
-		/* Use localroot to implement localonly */
-		smpd_process.local_root = SMPD_TRUE;
-		/* create a host list of one and set nproc to -1 to be replaced by nproc after parsing the block */
-		host_list = (smpd_host_node_t*)MPIU_Malloc(sizeof(smpd_host_node_t));
-		if (host_list == NULL)
-		{
-		    printf("failed to allocate memory for a host node.\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		host_list->next = NULL;
-		host_list->left = NULL;
-		host_list->right = NULL;
-		host_list->connected = SMPD_FALSE;
-		host_list->connect_cmd_tag = -1;
-		host_list->connect_cmd_tag = -1;
-		host_list->nproc = -1;
-		host_list->alt_host[0] = '\0';
-		smpd_get_hostname(host_list->host, SMPD_MAX_HOST_LENGTH);
-	    }
-	    else if (strcmp(&(*argvp)[1][1], "machinefile") == 0)
-	    {
-		if (smpd_process.s_host_list != NULL)
-		{
-		    printf("Error: -machinefile can only be specified once per section.\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		if (argc < 3)
-		{
-		    printf("Error: no filename specified after -machinefile option.\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		strncpy(machine_file_name, (*argvp)[2], SMPD_MAX_FILENAME);
-		use_machine_file = SMPD_TRUE;
-		smpd_parse_machine_file(machine_file_name);
-		num_args_to_strip = 2;
-	    }
-#ifdef HAVE_WINDOWS_H
-        else if (strcmp(&(*argvp)[1][1], "binding") == 0)
-        {
-            if(strcmp(&(*argvp)[2][0], "auto") == 0)
-            {
-                smpd_process.set_affinity = TRUE;
-                smpd_process.affinity_map = NULL;
-                smpd_process.affinity_map_sz = 0;
-            }
-            else if(strncmp(&(*argvp)[2][0], "user", 4) == 0)
-            {
-                smpd_process.set_affinity = TRUE;
-                if(read_user_affinity_map(&(*argvp)[2][0]) != SMPD_SUCCESS)
-                {
-                    printf("Error parsing user binding scheme\n");
-                    smpd_exit_fn(FCNAME);
-                }
-            }
-            else
-            {
-                printf("Error: Process binding schemes supported are \"auto\", \"user\" \n");
-                smpd_exit_fn(FCNAME);
-                return SMPD_FAIL;
-            }
-            num_args_to_strip = 2;
-        }
-#endif
-	    else if (strcmp(&(*argvp)[1][1], "map") == 0)
-	    {
-		if (argc < 3)
-		{
-		    printf("Error: no drive specified after -map option.\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		if (smpd_parse_map_string((*argvp)[2], &drive_map_list) != SMPD_SUCCESS)
-		{
-		    printf("Error: unable to parse the drive mapping option - '%s'\n", (*argvp)[2]);
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		num_args_to_strip = 2;
-	    }
-        else if (strcmp(&(*argvp)[1][1], "mapall") == 0){
-#ifdef HAVE_WINDOWS_H
-            if(smpd_mapall(&drive_map_list) != SMPD_SUCCESS){
-		    printf("Error: unable to map all network drives");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-            }
-#endif
-        num_args_to_strip = 1;
-        }
-	    else if (strcmp(&(*argvp)[1][1], "gmap") == 0)
-	    {
-		if (argc < 3)
-		{
-		    printf("Error: no drive specified after -gmap option.\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		if (smpd_parse_map_string((*argvp)[2], &gdrive_map_list) != SMPD_SUCCESS)
-		{
-		    printf("Error: unable to parse the drive mapping option - '%s'\n", (*argvp)[2]);
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		num_args_to_strip = 2;
-	    }
-	    else if ( (strcmp(&(*argvp)[1][1], "dir") == 0) || (strcmp(&(*argvp)[1][1], "wdir") == 0) )
-	    {
-		if (argc < 3)
-		{
-		    printf("Error: no directory after %s option\n", (*argvp)[1]);
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		strncpy(wdir, (*argvp)[2], SMPD_MAX_DIR_LENGTH);
-		num_args_to_strip = 2;
-	    }
-	    else if ( (strcmp(&(*argvp)[1][1], "gdir") == 0) || (strcmp(&(*argvp)[1][1], "gwdir") == 0) )
-	    {
-		if (argc < 3)
-		{
-		    printf("Error: no directory after %s option\n", (*argvp)[1]);
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		strncpy(gwdir, (*argvp)[2], SMPD_MAX_DIR_LENGTH);
-		num_args_to_strip = 2;
-	    }
-	    else if (strcmp(&(*argvp)[1][1], "env") == 0)
-	    {
-		if (argc < 4)
-		{
-		    printf("Error: no environment variable after -env option\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		env_node = (smpd_env_node_t*)MPIU_Malloc(sizeof(smpd_env_node_t));
-		if (env_node == NULL)
-		{
-		    printf("Error: malloc failed to allocate structure to hold an environment variable.\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		strncpy(env_node->name, (*argvp)[2], SMPD_MAX_NAME_LENGTH);
-		strncpy(env_node->value, (*argvp)[3], SMPD_MAX_VALUE_LENGTH);
-		env_node->next = env_list;
-		env_list = env_node;
-		if (strcmp(env_node->name, "MPI_DLL_NAME") == 0)
-		{
-		    MPIU_Strncpy(smpd_process.env_dll, env_node->value, SMPD_MAX_FILENAME);
-		}
-		if (strcmp(env_node->name, "MPI_WRAP_DLL_NAME") == 0)
-		{
-		    MPIU_Strncpy(smpd_process.env_wrap_dll, env_node->value, SMPD_MAX_FILENAME);
-		}
-#ifdef HAVE_WINDOWS_H
-		if ((strcmp(env_node->name, "MPICH_CHOP_ERROR_STACK") == 0) && ((env_node->value[0] == '\0') || (env_node->value[0] == '-')))
-		{
-		    HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
-		    if (hConsole != INVALID_HANDLE_VALUE)
-		    {
-			CONSOLE_SCREEN_BUFFER_INFO info;
-			if (GetConsoleScreenBufferInfo(hConsole, &info))
-			{
-			    /* The user chose default so set the value to the width of the current output console window */
-			    snprintf(env_node->value, SMPD_MAX_VALUE_LENGTH, "%d", info.dwMaximumWindowSize.X);
-			    /*printf("width = %d\n", info.dwMaximumWindowSize.X);*/
-			}
-		    }
-		}
-#endif
-		num_args_to_strip = 3;
-	    }
-	    else if (strcmp(&(*argvp)[1][1], "envlist") == 0){
-            char *str, *token, *value;
-		    if (argc < 4){
-		        printf("Error: no environment variable after -envlist option\n");
-		        smpd_exit_fn(FCNAME);
-		        return SMPD_FAIL;
-		    }
-		    str = MPIU_Strdup((*argvp)[2]);
-		    if (str == NULL){
-		        printf("Error: unable to allocate memory for copying envlist - '%s'\n", (*argvp)[2]);
-		        smpd_exit_fn(FCNAME);
-		        return SMPD_FAIL;
-		    }
-		    token = strtok(str, ",");
-		    while (token){
-		        value = getenv(token);
-		        if (value != NULL){
-			        env_node = (smpd_env_node_t*)MPIU_Malloc(sizeof(smpd_env_node_t));
-			        if (env_node == NULL){
-			            printf("Error: malloc failed to allocate structure to hold an environment variable.\n");
-			            smpd_exit_fn(FCNAME);
-			            return SMPD_FAIL;
-			        }
-			        strncpy(env_node->name, token, SMPD_MAX_NAME_LENGTH);
-			        strncpy(env_node->value, value, SMPD_MAX_VALUE_LENGTH);
-			        env_node->next = env_list;
-			        env_list = env_node;
-		        }
-                else{
-                    printf("Error: Cannot obtain value of env variable : %s\n", token);
-                }
-		        token = strtok(NULL, ",");
-		    }
-		    MPIU_Free(str);
-		    num_args_to_strip = 2;
-        }
-	    else if (strcmp(&(*argvp)[1][1], "envnone") == 0){
-            printf("-envnone option is not implemented\n");
-            num_args_to_strip = 1;
-        }
-	    else if (strcmp(&(*argvp)[1][1], "genv") == 0)
-	    {
-		if (argc < 4)
-		{
-		    printf("Error: no environment variable after -genv option\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		env_node = (smpd_env_node_t*)MPIU_Malloc(sizeof(smpd_env_node_t));
-		if (env_node == NULL)
-		{
-		    printf("Error: malloc failed to allocate structure to hold an environment variable.\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		strncpy(env_node->name, (*argvp)[2], SMPD_MAX_NAME_LENGTH);
-		strncpy(env_node->value, (*argvp)[3], SMPD_MAX_VALUE_LENGTH);
-		env_node->next = genv_list;
-		genv_list = env_node;
-#ifdef HAVE_WINDOWS_H
-		if ((strcmp(env_node->name, "MPICH_CHOP_ERROR_STACK") == 0) && ((env_node->value[0] == '\0') || (env_node->value[0] == '-')))
-		{
-		    HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
-		    if (hConsole != INVALID_HANDLE_VALUE)
-		    {
-			CONSOLE_SCREEN_BUFFER_INFO info;
-			if (GetConsoleScreenBufferInfo(hConsole, &info))
-			{
-			    /* The user chose default so set the value to the width of the current output console window */
-			    snprintf(env_node->value, SMPD_MAX_VALUE_LENGTH, "%d", info.dwMaximumWindowSize.X);
-			    /*printf("width = %d\n", info.dwMaximumWindowSize.X);*/
-			}
-		    }
-		}
-#endif
-		num_args_to_strip = 3;
-	    }
-	    else if (strcmp(&(*argvp)[1][1], "genvall") == 0)
-	    {
-		printf("-genvall option not implemented\n");
-        num_args_to_strip = 1;
-	    }
-	    else if (strcmp(&(*argvp)[1][1], "genvnone") == 0)
-	    {
-		printf("-genvnone option not implemented\n");
-        num_args_to_strip = 1;
-	    }
-	    else if (strcmp(&(*argvp)[1][1], "genvlist") == 0)
-	    {
-		char *str, *token, *value;
-		if (argc < 4)
-		{
-		    printf("Error: no environment variables after -genvlist option\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		str = MPIU_Strdup((*argvp)[2]);
-		if (str == NULL)
-		{
-		    printf("Error: unable to allocate memory for a string - '%s'\n", (*argvp)[2]);
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		token = strtok(str, ",");
-		while (token)
-		{
-		    value = getenv(token);
-		    if (value != NULL)
-		    {
-			env_node = (smpd_env_node_t*)MPIU_Malloc(sizeof(smpd_env_node_t));
-			if (env_node == NULL)
-			{
-			    printf("Error: malloc failed to allocate structure to hold an environment variable.\n");
-			    smpd_exit_fn(FCNAME);
-			    return SMPD_FAIL;
-			}
-			strncpy(env_node->name, token, SMPD_MAX_NAME_LENGTH);
-			strncpy(env_node->value, value, SMPD_MAX_VALUE_LENGTH);
-			env_node->next = genv_list;
-			genv_list = env_node;
-		    }
-		    token = strtok(NULL, ",");
-		}
-		MPIU_Free(str);
-		num_args_to_strip = 2;
-	    }
-	    else if ( (strcmp(&(*argvp)[1][1], "logon") == 0) || (strcmp(&(*argvp)[1][1], "login") == 0) )
-	    {
-		smpd_process.logon = SMPD_TRUE;
-	    }
-	    else if ( (strcmp(&(*argvp)[1][1], "impersonate") == 0) || (strcmp(&(*argvp)[1][1], "impersonation") == 0) )
-	    {
-		smpd_process.use_sspi = SMPD_TRUE;
-		smpd_process.use_delegation = SMPD_FALSE;
-	    }
-	    else if ( (strcmp(&(*argvp)[1][1], "delegate") == 0) || (strcmp(&(*argvp)[1][1], "delegation") == 0) )
-	    {
-		smpd_process.use_sspi = SMPD_TRUE;
-		smpd_process.use_delegation = SMPD_TRUE;
-	    }
-	    else if (strcmp(&(*argvp)[1][1], "job") == 0)
-	    {
-		smpd_process.use_delegation = SMPD_FALSE;
-		smpd_process.use_sspi_job_key = SMPD_TRUE;
-		if (argc < 3)
-		{
-		    printf("Error: no job key specified after the -job option\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		strncpy(smpd_process.job_key, (*argvp)[2], SMPD_SSPI_JOB_KEY_LENGTH);
-		num_args_to_strip = 2;
-	    }
-	    else if (strcmp(&(*argvp)[1][1], "dbg") == 0)
-	    {
-		use_debug_flag = SMPD_TRUE;
-	    }
-	    else if (strcmp(&(*argvp)[1][1], "pwdfile") == 0)
-	    {
-		use_pwd_file = SMPD_TRUE;
-		if (argc < 3)
-		{
-		    printf("Error: no filename specified after -pwdfile option\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		strncpy(pwd_file_name, (*argvp)[2], SMPD_MAX_FILENAME);
-		smpd_get_pwd_from_file(pwd_file_name);
-		num_args_to_strip = 2;
-	    }
-#ifdef HAVE_WINDOWS_H
-	    else if (strcmp(&(*argvp)[1][1], "registryfile") == 0)
-	    {
-        char reg_file_name[SMPD_MAX_FILENAME];
-		if (argc < 3)
-		{
-		    printf("Error: no filename specified after -registryfile option\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		strncpy(reg_file_name, (*argvp)[2], SMPD_MAX_FILENAME);
-        if(!smpd_read_cred_from_file(reg_file_name, smpd_process.UserAccount, SMPD_MAX_ACCOUNT_LENGTH, smpd_process.UserPassword, SMPD_MAX_PASSWORD_LENGTH)){
-            printf("Error: Could not read credentials from registry file\n");
-            smpd_exit_fn(FCNAME);
-            return SMPD_FAIL;
-        }
-		num_args_to_strip = 2;
-	    }
-#endif
-	    else if (strcmp(&(*argvp)[1][1], "configfile") == 0)
-	    {
-		printf("Error: The -configfile option must be the first and only option specified in a block.\n");
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-		/*
-		if (argc < 3)
-		{
-		    printf("Error: no filename specifed after -configfile option.\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		strncpy(configfilename, (*argvp)[2], SMPD_MAX_FILENAME);
-		use_configfile = SMPD_TRUE;
-		num_args_to_strip = 2;
-		*/
-	    }
-	    else if (strcmp(&(*argvp)[1][1], "file") == 0)
-	    {
-		printf("Error: The -file option must be the first and only option specified in a block.\n");
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-		/*
-		if (argc < 3)
-		{
-		    printf("Error: no filename specifed after -file option.\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		strncpy(configfilename, (*argvp)[2], SMPD_MAX_FILENAME);
-		use_configfile = SMPD_TRUE;
-		num_args_to_strip = 2;
-		*/
-	    }
-	    else if (strcmp(&(*argvp)[1][1], "host") == 0)
-	    {
-		if (argc < 3)
-		{
-		    printf("Error: no host specified after -host option.\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		if (host_list != NULL)
-		{
-		    printf("Error: -host option can only be specified once and it cannot be combined with -hosts.\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		/* create a host list of one and set nproc to -1 to be replaced by
-		   nproc after parsing the block */
-		host_list = (smpd_host_node_t*)MPIU_Malloc(sizeof(smpd_host_node_t));
-		if (host_list == NULL)
-		{
-		    printf("failed to allocate memory for a host node.\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		host_list->next = NULL;
-		host_list->left = NULL;
-		host_list->right = NULL;
-		host_list->connected = SMPD_FALSE;
-		host_list->connect_cmd_tag = -1;
-		host_list->nproc = -1;
-		host_list->alt_host[0] = '\0';
-		strncpy(host_list->host, (*argvp)[2], SMPD_MAX_HOST_LENGTH);
-		num_args_to_strip = 2;
-		smpd_add_host_to_default_list((*argvp)[2]);
-	    }
-	    else if (strcmp(&(*argvp)[1][1], "ghost") == 0)
-	    {
-		if (argc < 3)
-		{
-		    printf("Error: no host specified after -ghost option.\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		if (ghost_list != NULL)
-		{
-		    printf("Error: -ghost option can only be specified once.\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		/* create a host list of one and set nproc to -1 to be replaced by
-		   nproc after parsing the block */
-		ghost_list = (smpd_host_node_t*)MPIU_Malloc(sizeof(smpd_host_node_t));
-		if (ghost_list == NULL)
-		{
-		    printf("failed to allocate memory for a host node.\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		ghost_list->next = NULL;
-		ghost_list->left = NULL;
-		ghost_list->right = NULL;
-		ghost_list->connected = SMPD_FALSE;
-		ghost_list->connect_cmd_tag = -1;
-		ghost_list->nproc = -1;
-		ghost_list->alt_host[0] = '\0';
-		strncpy(ghost_list->host, (*argvp)[2], SMPD_MAX_HOST_LENGTH);
-		num_args_to_strip = 2;
-		smpd_add_host_to_default_list((*argvp)[2]);
-	    }
-#ifdef HAVE_WINDOWS_H
-        else if (strcmp(&(*argvp)[1][1], "ms_hpc") == 0)
-        {
-            smpd_process.use_ms_hpc = SMPD_TRUE;
-            /* Enable SSPI for authenticating PMs */
-            smpd_process.use_sspi = SMPD_TRUE;
-            smpd_process.use_delegation = SMPD_FALSE;
-            /* Use mpiexec as PMI server */
-            smpd_process.use_pmi_server = SMPD_TRUE;
-
-            num_args_to_strip = 1;
-        }
-#endif
-	    else if (strcmp(&(*argvp)[1][1], "hosts") == 0)
-	    {
-		if (nproc != 0)
-		{
-		    printf("Error: only one option is allowed to determine the number of processes.\n");
-		    printf("       -hosts, -n, -np and -localonly x are mutually exclusive\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		if (host_list != NULL)
-		{
-		    printf("Error: -hosts option can only be called once and it cannot be combined with -host.\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		if (argc > 2)
-		{
-		    if (smpd_isnumber((*argvp)[2]))
-		    {
-			/* initially set nproc to be the number of hosts */
-			nproc = atoi((*argvp)[2]);
-			if (nproc < 1)
-			{
-			    printf("Error: You must specify a number greater than 0 after -hosts.\n");
-			    smpd_exit_fn(FCNAME);
-			    return SMPD_FAIL;
-			}
-			num_args_to_strip = 2 + nproc;
-			index = 3;
-			for (i=0; i<nproc; i++)
-			{
-			    if (index >= argc)
-			    {
-				printf("Error: missing host name after -hosts option.\n");
-				smpd_exit_fn(FCNAME);
-				return SMPD_FAIL;
-			    }
-			    host_node_ptr = (smpd_host_node_t*)MPIU_Malloc(sizeof(smpd_host_node_t));
-			    if (host_node_ptr == NULL)
-			    {
-				printf("failed to allocate memory for a host node.\n");
-				smpd_exit_fn(FCNAME);
-				return SMPD_FAIL;
-			    }
-			    host_node_ptr->next = NULL;
-			    host_node_ptr->left = NULL;
-			    host_node_ptr->right = NULL;
-			    host_node_ptr->connected = SMPD_FALSE;
-			    host_node_ptr->connect_cmd_tag = -1;
-			    host_node_ptr->nproc = 1;
-			    host_node_ptr->alt_host[0] = '\0';
-			    strncpy(host_node_ptr->host, (*argvp)[index], SMPD_MAX_HOST_LENGTH);
-			    smpd_add_host_to_default_list((*argvp)[index]);
-			    index++;
-			    if (argc > index)
-			    {
-				if (smpd_isnumber((*argvp)[index]))
-				{
-				    host_node_ptr->nproc = atoi((*argvp)[index]);
-				    index++;
-				    num_args_to_strip++;
-				}
-			    }
-			    if (host_list == NULL)
-			    {
-				host_list = host_node_ptr;
-			    }
-			    else
-			    {
-				host_node_iter = host_list;
-				while (host_node_iter->next)
-				    host_node_iter = host_node_iter->next;
-				host_node_iter->next = host_node_ptr;
-			    }
-			}
-
-			/* adjust nproc to be the actual number of processes */
-			host_node_iter = host_list;
-			nproc = 0;
-			while (host_node_iter)
-			{
-			    nproc += host_node_iter->nproc;
-			    host_node_iter = host_node_iter->next;
-			}
-		    }
-		    else
-		    {
-			printf("Error: You must specify the number of hosts after the -hosts option.\n");
-			smpd_exit_fn(FCNAME);
-			return SMPD_FAIL;
-		    }
-		}
-		else
-		{
-		    printf("Error: not enough arguments specified for -hosts option.\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-	    }
-	    else if (strcmp(&(*argvp)[1][1], "nocolor") == 0)
-	    {
-		smpd_process.do_multi_color_output = SMPD_FALSE;
-	    }
-	    else if (strcmp(&(*argvp)[1][1], "nompi") == 0)
-	    {
-		smpd_process.no_mpi = SMPD_TRUE;
-	    }
-	    else if (strcmp(&(*argvp)[1][1], "nomapping") == 0)
-	    {
-		no_drive_mapping = SMPD_TRUE;
-	    }
-	    else if (strcmp(&(*argvp)[1][1], "nopopup_debug") == 0)
-	    {
-#ifdef HAVE_WINDOWS_H
-		SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOGPFAULTERRORBOX | SEM_NOOPENFILEERRORBOX);
-#endif
-	    }
-	    else if (strcmp(&(*argvp)[1][1], "help") == 0 || (*argvp)[1][1] == '?')
-	    {
-		mp_print_options();
-		exit(0);
-	    }
-	    else if (strcmp(&(*argvp)[1][1], "help2") == 0)
-	    {
-		mp_print_extra_options();
-		exit(0);
-	    }
-	    else if (strcmp(&(*argvp)[1][1], "exitcodes") == 0)
-	    {
-		smpd_process.output_exit_codes = SMPD_TRUE;
-	    }
-	    else if (strcmp(&(*argvp)[1][1], "localroot") == 0)
-	    {
-		smpd_process.local_root = SMPD_TRUE;
-	    }
-	    else if (strcmp(&(*argvp)[1][1], "priority") == 0)
-	    {
-		if (argc < 3)
-		{
-		    printf("Error: you must specify a priority after the -priority option.\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		if (smpd_isnumbers_with_colon((*argvp)[2]))
-		{
-		    char *str;
-		    n_priority_class = atoi((*argvp)[2]); /* This assumes atoi will stop at the colon and return a number */
-		    str = strchr((*argvp)[2], ':');
-		    if (str)
-		    {
-			str++;
-			n_priority = atoi(str);
-		    }
-		    if (n_priority_class < 0 || n_priority_class > 4 || n_priority < 0 || n_priority > 5)
-		    {
-			printf("Error: priorities must be between 0-4:0-5\n");
-			smpd_exit_fn(FCNAME);
-			return SMPD_FAIL;
-		    }
-		}
-		else
-		{
-		    printf("Error: you must specify a priority after the -priority option.\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		smpd_dbg_printf("priorities = %d:%d\n", n_priority_class, n_priority);
-		num_args_to_strip = 2;
-	    }
-	    else if (strcmp(&(*argvp)[1][1], "iproot") == 0)
-	    {
-		smpd_process.use_iproot = SMPD_TRUE;
-	    }
-	    else if (strcmp(&(*argvp)[1][1], "noiproot") == 0)
-	    {
-		smpd_process.use_iproot = SMPD_FALSE;
-	    }
-	    else if (strcmp(&(*argvp)[1][1], "verbose") == 0)
-	    {
-		smpd_process.verbose = SMPD_TRUE;
-		smpd_process.dbg_state |= SMPD_DBG_STATE_ERROUT | SMPD_DBG_STATE_STDOUT | SMPD_DBG_STATE_TRACE;
-	    }
-	    else if ( (strcmp(&(*argvp)[1][1], "p") == 0) || (strcmp(&(*argvp)[1][1], "port") == 0))
-	    {
-		if (argc > 2)
-		{
-		    if (smpd_isnumber((*argvp)[2]))
-		    {
-			smpd_process.port = atoi((*argvp)[2]);
-		    }
-		    else
-		    {
-			printf("Error: you must specify the port smpd is listening on after the %s option.\n", (*argvp)[1]);
-			smpd_exit_fn(FCNAME);
-			return SMPD_FAIL;
-		    }
-		}
-		else
-		{
-		    printf("Error: you must specify the port smpd is listening on after the %s option.\n", (*argvp)[1]);
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		num_args_to_strip = 2;
-	    }
-	    else if (strcmp(&(*argvp)[1][1], "path") == 0)
-	    {
-		if (argc < 3)
-		{
-		    printf("Error: no path specifed after -path option.\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		strncpy(path, (*argvp)[2], SMPD_MAX_PATH_LENGTH);
-		num_args_to_strip = 2;
-	    }
-	    else if (strcmp(&(*argvp)[1][1], "gpath") == 0)
-	    {
-		if (argc < 3)
-		{
-		    printf("Error: no path specifed after -gpath option.\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		strncpy(gpath, (*argvp)[2], SMPD_MAX_PATH_LENGTH);
-		num_args_to_strip = 2;
-	    }
-	    else if (strcmp(&(*argvp)[1][1], "noprompt") == 0)
-	    {
-		smpd_process.noprompt = SMPD_TRUE;
-		smpd_process.credentials_prompt = SMPD_FALSE;
-	    }
-	    else if (strcmp(&(*argvp)[1][1], "phrase") == 0)
-	    {
-		if (argc < 3)
-		{
-		    printf("Error: no passphrase specified afterh -phrase option.\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		strncpy(smpd_process.passphrase, (*argvp)[2], SMPD_PASSPHRASE_MAX_LENGTH);
-		num_args_to_strip = 2;
-	    }
-	    else if (strcmp(&(*argvp)[1][1], "smpdfile") == 0)
-	    {
-		if (argc < 3)
-		{
-		    printf("Error: no file name specified after -smpdfile option.\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		strncpy(smpd_process.smpd_filename, (*argvp)[2], SMPD_MAX_FILENAME);
-		{
-		    struct stat s;
-
-		    if (stat(smpd_process.smpd_filename, &s) == 0)
-		    {
-			if (s.st_mode & 00077)
-			{
-			    printf("Error: .smpd file cannot be readable by anyone other than the current user.\n");
-			    smpd_exit_fn(FCNAME);
-			    return SMPD_FAIL;
-			}
-		    }
-		}
-		num_args_to_strip = 2;
-	    }
-	    else if (strcmp(&(*argvp)[1][1], "timeout") == 0)
-	    {
-		if (argc < 3)
-		{
-		    printf("Error: no timeout specified after -timeout option.\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		smpd_process.timeout = atoi((*argvp)[2]);
-		if (smpd_process.timeout < 1)
-		{
-		    printf("Warning: invalid timeout specified, ignoring timeout value of '%s'\n", (*argvp)[2]);
-		    smpd_process.timeout = -1;
-		}
-		num_args_to_strip = 2;
-	    }
-	    else if (strcmp(&(*argvp)[1][1], "hide_console") == 0)
-	    {
-#ifdef HAVE_WINDOWS_H
-		FreeConsole();
-#endif
-	    }
-	    else if (strcmp(&(*argvp)[1][1], "quiet_abort") == 0)
-	    {
-		smpd_process.verbose_abort_output = SMPD_FALSE;
-	    }
-	    else if ((strcmp(&(*argvp)[1][1], "rsh") == 0) || (strcmp(&(*argvp)[1][1], "ssh") == 0))
-	    {
-		smpd_process.rsh_mpiexec = SMPD_TRUE;
-		if (smpd_process.mpiexec_inorder_launch == SMPD_FALSE)
-		{
-		    smpd_launch_node_t *temp_node, *ordered_list = NULL;
-		    /* sort any existing reverse order nodes to be in order */
-		    while (smpd_process.launch_list)
-		    {
-			temp_node = smpd_process.launch_list->next;
-			smpd_process.launch_list->next = ordered_list;
-			ordered_list = smpd_process.launch_list;
-			smpd_process.launch_list = temp_node;
-		    }
-		    smpd_process.launch_list = ordered_list;
-		}
-		smpd_process.mpiexec_inorder_launch = SMPD_TRUE;
-	    }
-	    else if ((strcmp(&(*argvp)[1][1], "nosmpd") == 0) || (strcmp(&(*argvp)[1][1], "no_smpd") == 0) || (strcmp(&(*argvp)[1][1], "nopm") == 0))
-	    {
-		smpd_process.use_pmi_server = SMPD_FALSE;
-	    }
-	    else if (strcmp(&(*argvp)[1][1], "plaintext") == 0)
-	    {
-		smpd_process.plaintext = SMPD_TRUE;
-	    }
-	    else if (strcmp(&(*argvp)[1][1], "channel") == 0)
-	    {
-		if (argc < 3)
-		{
-		    printf("Error: no name specified after -channel option.\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		strncpy(channel, (*argvp)[2], SMPD_MAX_NAME_LENGTH);
-        if((strcmp(channel, "shm") == 0) || (strcmp(channel, "ssm") == 0))
-        {
-            printf("WARNING: SHM & SSM channels are no longer available. Use the NEMESIS channel instead.\n");
-            return SMPD_FAIL;
-        }
-		num_args_to_strip = 2;
-	    }
-	    else if (strcmp(&(*argvp)[1][1], "log") == 0)
-	    {
-		/* -log is a shortcut to create log files using the mpe wrapper dll */
-		env_node = (smpd_env_node_t*)MPIU_Malloc(sizeof(smpd_env_node_t));
-		if (env_node == NULL)
-		{
-		    printf("Error: malloc failed to allocate structure to hold an environment variable.\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		strncpy(env_node->name, "MPI_WRAP_DLL_NAME", SMPD_MAX_NAME_LENGTH);
-		strncpy(env_node->value, "mpe", SMPD_MAX_VALUE_LENGTH);
-		env_node->next = env_list;
-		env_list = env_node;
-	    }
-#ifdef HAVE_WINDOWS_H
-	    else if (strcmp(&(*argvp)[1][1], "user") == 0)
-	    {
-		if (argc < 3)
-		{
-		    printf("Error: no index specified after -user option.\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		smpd_process.user_index = atoi((*argvp)[2]);
-		if (smpd_process.user_index < 0)
-		    smpd_process.user_index = 0;
-		num_args_to_strip = 2;
-		smpd_delete_cached_password();
-	    }
-#endif
-	    else if (strcmp(&(*argvp)[1][1], "l") == 0)
-	    {
-		smpd_process.prefix_output = SMPD_TRUE;
-	    }
-	    else
-	    {
-		printf("Unknown option: %s\n", (*argvp)[1]);
-	    }
-	    strip_args(argcp, argvp, num_args_to_strip);
-	}
-
-	/* check to see if a timeout is specified by the environment variable only if
-	 * a timeout has not been specified on the command line
-	 */
-	if (smpd_process.timeout == -1)
-	{
-	    char *p = getenv("MPIEXEC_TIMEOUT");
-	    if (p)
-	    {
-		smpd_process.timeout = atoi(p);
-		if (smpd_process.timeout < 1)
-		{
-		    smpd_process.timeout = -1;
-		}
-	    }
-	    else
-	    {
-		/* If a timeout is specified in the smpd settings but not in an env variable and not on the command line then use it. */
-		if (smpd_setting_timeout != SMPD_INVALID_SETTING)
-		{
-		    smpd_process.timeout = smpd_setting_timeout;
-		}
-	    }
-	}
-
-	/* Check to see if the environment wants all processes to run locally.
-	 * This is useful for test scripts.
-	 */
-	env_str = getenv("MPIEXEC_LOCALONLY");
-	if (env_str == NULL && smpd_setting_localonly == SMPD_TRUE)
-	{
-	    smpd_setting_tmp_buffer[0] = '1';
-	    smpd_setting_tmp_buffer[1] = '\0';
-	    env_str = smpd_setting_tmp_buffer;
-	}
-	if (env_str != NULL)
-	{
-	    if (smpd_is_affirmative(env_str) || strcmp(env_str, "1") == 0)
-	    {
-#if 1
-		/* This block creates a host list of one host to implement -localonly */
-
-		if (host_list == NULL)
-		{
-		    /* Use localroot to implement localonly */
-		    smpd_process.local_root = SMPD_TRUE;
-		    /* create a host list of one and set nproc to -1 to be replaced by 
-		       nproc after parsing the block */
-		    host_list = (smpd_host_node_t*)MPIU_Malloc(sizeof(smpd_host_node_t));
-		    if (host_list == NULL)
-		    {
-			printf("failed to allocate memory for a host node.\n");
-			smpd_exit_fn(FCNAME);
-			return SMPD_FAIL;
-		    }
-		    host_list->next = NULL;
-		    host_list->left = NULL;
-		    host_list->right = NULL;
-		    host_list->connected = SMPD_FALSE;
-		    host_list->connect_cmd_tag = -1;
-		    host_list->nproc = -1;
-		    host_list->alt_host[0] = '\0';
-		    smpd_get_hostname(host_list->host, SMPD_MAX_HOST_LENGTH);
-		}
-		else
-		{
-		    smpd_dbg_printf("host_list not null, not using localonly\n");
-		}
-#else
-		/* This block uses the rsh code to implement -localonly */
-
-		smpd_process.mpiexec_run_local = SMPD_TRUE;
-		smpd_process.rsh_mpiexec = SMPD_TRUE;
-		if (smpd_process.mpiexec_inorder_launch == SMPD_FALSE)
-		{
-		    smpd_launch_node_t *temp_node, *ordered_list = NULL;
-		    /* sort any existing reverse order nodes to be in order */
-		    while (smpd_process.launch_list)
-		    {
-			temp_node = smpd_process.launch_list->next;
-			smpd_process.launch_list->next = ordered_list;
-			ordered_list = smpd_process.launch_list;
-			smpd_process.launch_list = temp_node;
-		    }
-		    smpd_process.launch_list = ordered_list;
-		}
-		smpd_process.mpiexec_inorder_launch = SMPD_TRUE;
-#endif
-	    }
-	    else
-	    {
-		smpd_dbg_printf("MPIEXEC_LOCALONLY env is not affirmative: '%s'\n", env_str);
-	    }
-	}
-
-	/* remaining args are the executable and it's args */
-	if (argc < 2)
-	{
-	    printf("Error: no executable specified\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-
-	exe_iter = exe;
-	exe_len_remaining = SMPD_MAX_EXE_LENGTH;
-	if (!((*argvp)[1][0] == '\\' && (*argvp)[1][1] == '\\') && (*argvp)[1][0] != '/' &&
-	    !(strlen((*argvp)[1]) > 3 && (*argvp)[1][1] == ':' && (*argvp)[1][2] == '\\') )
-	{
-	    /* an absolute path was not specified so find the executable an save the path */
-	    if (smpd_get_full_path_name((*argvp)[1], SMPD_MAX_EXE_LENGTH, exe_path, &namepart))
-	    {
-		if (path[0] != '\0')
-		{
-		    if (strlen(path) < SMPD_MAX_PATH_LENGTH)
-		    {
-			strcat(path, ";");
-			strncat(path, exe_path, SMPD_MAX_PATH_LENGTH - strlen(path));
-			path[SMPD_MAX_PATH_LENGTH-1] = '\0';
-		    }
-		}
-		else
-		{
-		    strncpy(path, exe_path, SMPD_MAX_PATH_LENGTH);
-		}
-		result = MPIU_Str_add_string(&exe_iter, &exe_len_remaining, namepart);
-		if (result != MPIU_STR_SUCCESS)
-		{
-		    printf("Error: insufficient buffer space for the command line.\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-	    }
-	    else
-	    {
-		result = MPIU_Str_add_string(&exe_iter, &exe_len_remaining, (*argvp)[1]);
-		if (result != MPIU_STR_SUCCESS)
-		{
-		    printf("Error: insufficient buffer space for the command line.\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-	    }
-	}
-	else
-	{
-	    /* an absolute path was specified */
-#ifdef HAVE_WINDOWS_H
-	    char *pTemp = (char*)MPIU_Malloc(SMPD_MAX_EXE_LENGTH);
-	    if (pTemp == NULL)
-	    {
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    strncpy(pTemp, (*argvp)[1], SMPD_MAX_EXE_LENGTH);
-	    pTemp[SMPD_MAX_EXE_LENGTH-1] = '\0';
-	    ExeToUnc(pTemp, SMPD_MAX_EXE_LENGTH);
-	    result = MPIU_Str_add_string(&exe_iter, &exe_len_remaining, pTemp);
-	    MPIU_Free(pTemp);
-	    if (result != MPIU_STR_SUCCESS)
-	    {
-		printf("Error: insufficient buffer space for the command line.\n");
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-#else
-	    result = MPIU_Str_add_string(&exe_iter, &exe_len_remaining, (*argvp)[1]);
-	    if (result != MPIU_STR_SUCCESS)
-	    {
-		printf("Error: insufficient buffer space for the command line.\n");
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-#endif
-	}
-	for (i=2; i<argc; i++)
-	{
-	    result = MPIU_Str_add_string(&exe_iter, &exe_len_remaining, (*argvp)[i]);
-	}
-	/* remove the trailing space */
-	exe[strlen(exe)-1] = '\0';
-	smpd_dbg_printf("handling executable:\n%s\n", exe);
-
-	if (nproc == 0){
-    /* By default assume "mpiexec foo" => "mpiexec -n 1 foo" */
-        nproc = 1;
-	}
-	if (ghost_list != NULL && host_list == NULL && use_machine_file != SMPD_TRUE)
-	{
-	    host_list = (smpd_host_node_t*)MPIU_Malloc(sizeof(smpd_host_node_t));
-	    if (host_list == NULL)
-	    {
-		printf("failed to allocate memory for a host node.\n");
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    host_list->next = NULL;
-	    host_list->left = NULL;
-	    host_list->right = NULL;
-	    host_list->connected = SMPD_FALSE;
-	    host_list->connect_cmd_tag = -1;
-	    host_list->nproc = -1;
-	    host_list->alt_host[0] = '\0';
-	    strncpy(host_list->host, ghost_list->host, SMPD_MAX_HOST_LENGTH);
-	}
-	if (host_list != NULL && host_list->nproc == -1)
-	{
-	    /* -host specified, replace nproc field */
-	    host_list->nproc = nproc;
-	}
-
-    smpd_dbg_printf("Processing environment variables \n");
-	/* add environment variables */
-	env_data[0] = '\0';
-	env_str = env_data;
-	maxlen = SMPD_MAX_ENV_LENGTH;
-	/* add and destroy the local environment variable list */
-	while (env_list)
-	{
-	    MPIU_Str_add_string_arg(&env_str, &maxlen, env_list->name, env_list->value);
-	    /*
-	    env_str += snprintf(env_str,
-		SMPD_MAX_ENV_LENGTH - (env_str - env_data),
-		"%s=%s", env_list->name, env_list->value);
-	    if (env_list->next)
-	    {
-		env_str += snprintf(env_str, SMPD_MAX_ENV_LENGTH - (env_str - env_data), ";");
-	    }
-	    */
-	    env_node = env_list;
-	    env_list = env_list->next;
-	    MPIU_Free(env_node);
-	}
-	/* add the global environment variable list */
-	env_node = genv_list;
-	while (env_node)
-	{
-	    MPIU_Str_add_string_arg(&env_str, &maxlen, env_node->name, env_node->value);
-	    env_node = env_node->next;
-	}
-	if (env_str > env_data)
-	{
-	    /* trim the trailing white space */
-	    env_str--;
-	    *env_str = '\0';
-	}
-
-    smpd_dbg_printf("Processing drive mappings\n");
-	/* merge global drive mappings with the local drive mappings */
-	gmap_node = gdrive_map_list;
-	while (gmap_node)
-	{
-	    map_node = drive_map_list;
-	    while (map_node)
-	    {
-		if (map_node->drive == gmap_node->drive)
-		{
-		    /* local option trumps the global option */
-		    break;
-		}
-		if (map_node->next == NULL)
-		{
-		    /* add a copy of the global node to the end of the list */
-		    map_node->next = (smpd_map_drive_node_t*)MPIU_Malloc(sizeof(smpd_map_drive_node_t));
-		    if (map_node->next == NULL)
-		    {
-			printf("Error: malloc failed to allocate map structure.\n");
-			smpd_exit_fn(FCNAME);
-			return SMPD_FAIL;
-		    }
-		    map_node = map_node->next;
-		    map_node->ref_count = 0;
-		    map_node->drive = gmap_node->drive;
-		    strncpy(map_node->share, gmap_node->share, SMPD_MAX_EXE_LENGTH);
-		    map_node->next = NULL;
-		    break;
-		}
-		map_node = map_node->next;
-	    }
-	    if (drive_map_list == NULL)
-	    {
-		map_node = (smpd_map_drive_node_t*)MPIU_Malloc(sizeof(smpd_map_drive_node_t));
-		if (map_node == NULL)
-		{
-		    printf("Error: malloc failed to allocate map structure.\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		map_node->ref_count = 0;
-		map_node->drive = gmap_node->drive;
-		strncpy(map_node->share, gmap_node->share, SMPD_MAX_EXE_LENGTH);
-		map_node->next = NULL;
-		drive_map_list = map_node;
-	    }
-	    gmap_node = gmap_node->next;
-	}
-
-    smpd_dbg_printf("Creating launch nodes (%d)\n", nproc);
-	for (i=0; i<nproc; i++)
-	{
-	    /* create a launch_node */
-	    launch_node = (smpd_launch_node_t*)MPIU_Malloc(sizeof(smpd_launch_node_t));
-	    if (launch_node == NULL)
-	    {
-		smpd_err_printf("unable to allocate a launch node structure.\n");
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    launch_node->clique[0] = '\0';
-	    smpd_get_next_host(&host_list, launch_node);
-        smpd_dbg_printf("Adding host (%s) to launch list \n", launch_node->hostname);
-	    launch_node->iproc = cur_rank++;
-#ifdef HAVE_WINDOWS_H
-        if(smpd_process.affinity_map_sz > 0){
-            launch_node->binding_proc =
-                smpd_process.affinity_map[affinity_map_index % smpd_process.affinity_map_sz];
-            affinity_map_index++;
-        }
-        else{
-            launch_node->binding_proc = -1;
-        }
-#endif
-	    launch_node->appnum = appnum;
-	    launch_node->priority_class = n_priority_class;
-	    launch_node->priority_thread = n_priority;
-	    launch_node->env = launch_node->env_data;
-	    strcpy(launch_node->env_data, env_data);
-	    if (launch_node->alt_hostname[0] != '\0')
-	    {
-		if (smpd_append_env_option(launch_node->env_data, SMPD_MAX_ENV_LENGTH, "MPICH_INTERFACE_HOSTNAME", launch_node->alt_hostname) != SMPD_SUCCESS)
-		{
-		    smpd_err_printf("unable to add the MPICH_INTERFACE_HOSTNAME environment variable to the launch command.\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-	    }
-	    if (wdir[0] != '\0')
-	    {
-		strcpy(launch_node->dir, wdir);
-	    }
-	    else
-	    {
-		if (gwdir[0] != '\0')
-		{
-		    strcpy(launch_node->dir, gwdir);
-		}
-		else
-		{
-		    launch_node->dir[0] = '\0';
-		    getcwd(launch_node->dir, SMPD_MAX_DIR_LENGTH);
-		}
-	    }
-	    if (path[0] != '\0')
-	    {
-		strcpy(launch_node->path, path);
-		/* should the gpath be appended to the local path? */
-	    }
-	    else
-	    {
-		if (gpath[0] != '\0')
-		{
-		    strcpy(launch_node->path, gpath);
-		}
-		else
-		{
-		    launch_node->path[0] = '\0';
-		}
-	    }
-	    launch_node->map_list = drive_map_list;
-	    if (drive_map_list)
-	    {
-		/* ref count the list so when freeing the launch_node it can be known when to free the list */
-		drive_map_list->ref_count++;
-	    }
-	    strcpy(launch_node->exe, exe);
-	    launch_node->args[0] = '\0';
-	    if (smpd_process.mpiexec_inorder_launch == SMPD_TRUE)
-	    {
-		/* insert the node in order */
-		launch_node->next = NULL;
-		if (smpd_process.launch_list == NULL)
-		{
-		    smpd_process.launch_list = launch_node;
-		    launch_node->prev = NULL;
-		}
-		else
-		{
-		    launch_node_iter = smpd_process.launch_list;
-		    while (launch_node_iter->next)
-			launch_node_iter = launch_node_iter->next;
-		    launch_node_iter->next = launch_node;
-		    launch_node->prev = launch_node_iter;
-		}
-	    }
-	    else
-	    {
-		/* insert the node in reverse order */
-		launch_node->next = smpd_process.launch_list;
-		if (smpd_process.launch_list)
-		    smpd_process.launch_list->prev = launch_node;
-		smpd_process.launch_list = launch_node;
-		launch_node->prev = NULL;
-	    }
-	}
-
-	/* advance the application number for each : separated command line block or line in a configuration file */
-	appnum++;
-
-	if (smpd_process.s_host_list)
-	{
-	    /* free the current host list */
-	    while (smpd_process.s_host_list)
-	    {
-		host_node_iter = smpd_process.s_host_list;
-		smpd_process.s_host_list = smpd_process.s_host_list->next;
-		MPIU_Free(host_node_iter);
-	    }
-	}
-
-	if (use_configfile)
-	{
-	    if (smpd_get_argcv_from_file(fin_config, argcp, argvp))
-	    {
-		/* FIXME: How do we tell the difference between an error parsing the file and parsing the last entry? */
-		goto configfile_loop;
-	    }
-	    fclose(fin_config);
-	    if (delete_configfile)
-	    {
-		unlink(configfilename);
-	    }
-	}
-
-	/* move to the next block */
-	*argvp = next_argv - 1;
-	if (*next_argv)
-	    **argvp = exe_ptr;
-    } while (*next_argv);
-
-    launch_node_iter = smpd_process.launch_list;
-    while (launch_node_iter)
-    {
-        /* add nproc to all the launch nodes */
-        launch_node_iter->nproc = cur_rank;
-    	launch_node_iter = launch_node_iter->next;
-    }
-
-    /* create the cliques */
-    smpd_create_cliques(smpd_process.launch_list);
-
-    if (smpd_process.launch_list != NULL)
-    {
-	if ((channel[0] == '\0') && (smpd_setting_channel[0] != '\0'))
-	{
-	    /* channel specified in the smpd settings */
-	    strncpy(channel, smpd_setting_channel, 20);
-	}
-	if (channel[0] != '\0')
-	{
-	    smpd_launch_node_t *iter;
-	    /* If the user specified auto channel selection then set the channel here */
-	    /* shm < 8 processes on one node
-	    * ssm multiple nodes
-	    */
-	    if ((strcmp(channel, "auto") == 0) && (smpd_process.launch_list != NULL))
-	    {
-            strncpy(channel, "nemesis", SMPD_MAX_NAME_LENGTH);
-	    }
-
-        nemesis_netmod[0] = '\0';
-#ifdef HAVE_WINDOWS_H
-        /* See if there is a netmod specified with the channel
-         * eg: -channel nemesis:newtcp | -channel nemesis:nd | -channel nemesis:none
-         */
-        if(strlen(channel) > 0){
-            char seps[]=":";
-            char *tok, *ctxt;
-
-            tok = strtok_s(channel, seps, &ctxt);
-            if(tok != NULL){
-                tok = strtok_s(NULL, seps, &ctxt);
-                if(tok != NULL){
-                    MPIU_Strncpy(nemesis_netmod, tok, SMPD_MAX_NEMESIS_NETMOD_LENGTH);
-                }
-            }
-        }
-#endif
-
-	    /* add the channel to the environment of each process */
-	    iter = smpd_process.launch_list;
-	    while (iter)
-	    {
-		maxlen = (int)strlen(iter->env);
-		env_str = &iter->env[maxlen];
-		maxlen = SMPD_MAX_ENV_LENGTH - maxlen - 1;
-
-		if (maxlen > 15) /* At least 16 characters are needed to store MPICH_CHANNEL=x */
-		{
-		    *env_str = ' ';
-		    env_str++;
-		    MPIU_Str_add_string_arg(&env_str, &maxlen, "MPICH_CHANNEL", channel);
-		    /* trim the trailing white space */
-		    env_str--;
-		    *env_str = '\0';
-		}
-		if ((strlen(nemesis_netmod) > 0) && (maxlen > 32)) /* At least 31 characters are needed to store " MPICH_NEMESIS_NETMOD=x" */
-		{
-		    *env_str = ' ';
-		    env_str++;
-		    MPIU_Str_add_string_arg(&env_str, &maxlen, "MPICH_NEMESIS_NETMOD", nemesis_netmod);
-		    /* trim the trailing white space */
-		    env_str--;
-		    *env_str = '\0';
-		}
-
-		iter = iter->next;
-	    }
-
-	    /* Save the channel to be used by spawn commands */
-	    MPIU_Strncpy(smpd_process.env_channel, channel, 10);
-        if(strlen(nemesis_netmod) > 0){
-            MPIU_Strncpy(smpd_process.env_netmod, nemesis_netmod, 10);
-        }
-	}
-    }
-
-    smpd_fix_up_host_tree(smpd_process.host_list);
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
diff --git a/src/pm/smpd/mp_parse_oldconfig.c b/src/pm/smpd/mp_parse_oldconfig.c
deleted file mode 100644
index 4443444..0000000
--- a/src/pm/smpd/mp_parse_oldconfig.c
+++ /dev/null
@@ -1,486 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include "mpiexec.h"
-#include "smpd.h"
-#ifdef HAVE_CTYPE_H
-#include <ctype.h>
-#endif
-
-typedef struct HostNode
-{
-    char host[100];
-    char exe[SMPD_MAX_EXE_LENGTH];
-    long nSMPProcs;
-    struct HostNode *next;
-} HostNode;
-
-typedef struct MapDriveNode
-{
-    char cDrive;
-    char pszShare[SMPD_MAX_DIR_LENGTH];
-    struct MapDriveNode *pNext;
-} MapDriveNode;
-
-static char g_pszExe[SMPD_MAX_EXE_LENGTH];
-static char g_pszArgs[SMPD_MAX_EXE_LENGTH];
-static char g_pszEnv[SMPD_MAX_EXE_LENGTH];
-static char g_pszDir[SMPD_MAX_EXE_LENGTH];
-static MapDriveNode *g_pDriveMapList;
-static HostNode *g_pHosts;
-static int g_nHosts;
-
-#ifdef HAVE_WINDOWS_H
-#undef FCNAME
-#define FCNAME "mkstemp"
-int mkstemp(char *template)
-{
-    FILE *fout;
-    int fd=-1;
-    if(mktemp(template) != NULL){
-        if((fout = fopen(template, "w")) != NULL){
-            fd = fileno(fout);
-        }
-    }
-    return fd;
-}
-
-#undef FCNAME
-#define FCNAME "ExeToUnc"
-static void ExeToUnc(char *pszExe, int length)
-{
-    DWORD dwResult;
-    DWORD dwLength;
-    char pBuffer[4096];
-    REMOTE_NAME_INFO *info = (REMOTE_NAME_INFO*)pBuffer;
-    char pszTemp[SMPD_MAX_EXE_LENGTH];
-    SMPD_BOOL bQuoted = SMPD_FALSE;
-    char *pszOriginal;
-
-    smpd_enter_fn(FCNAME);
-
-    pszOriginal = pszExe;
-
-    if (*pszExe == '"')
-    {
-	bQuoted = SMPD_TRUE;
-	strncpy(pszTemp, &pszExe[1], SMPD_MAX_EXE_LENGTH);
-	pszTemp[SMPD_MAX_EXE_LENGTH-1] = '\0';
-	if (pszTemp[strlen(pszTemp)-1] == '"')
-	    pszTemp[strlen(pszTemp)-1] = '\0';
-	pszExe = pszTemp;
-    }
-    dwLength = 4096;
-    info->lpConnectionName = NULL;
-    info->lpRemainingPath = NULL;
-    info->lpUniversalName = NULL;
-    dwResult = WNetGetUniversalName(pszExe, REMOTE_NAME_INFO_LEVEL, info, &dwLength);
-    if (dwResult == NO_ERROR)
-    {
-	if (bQuoted)
-	    snprintf(pszOriginal, length, "\"%s\"", info->lpUniversalName);
-	else
-	{
-	    strncpy(pszOriginal, info->lpUniversalName, length);
-	    pszOriginal[length-1] = '\0';
-	}
-    }
-    smpd_exit_fn(FCNAME);
-}
-#endif
-
-#undef FCNAME
-#define FCNAME "ParseLineIntoHostNode"
-static HostNode* ParseLineIntoHostNode(char * line)
-{
-    char buffer[1024];
-    char *pChar, *pChar2;
-    HostNode *node = NULL;
-
-    smpd_enter_fn(FCNAME);
-
-    strncpy(buffer, line, 1024);
-    buffer[1023] = '\0';
-    pChar = buffer;
-    
-    /* Advance over white space */
-    while (*pChar != '\0' && isspace(*pChar))
-	pChar++;
-    if (*pChar == '#' || *pChar == '\0')
-    {
-	smpd_exit_fn(FCNAME);
-	return NULL;
-    }
-    
-    /* Trim trailing white space */
-    pChar2 = &buffer[strlen(buffer)-1];
-    while (isspace(*pChar2) && (pChar >= pChar))
-    {
-	*pChar2 = '\0';
-	pChar2--;
-    }
-    
-    /* If there is anything left on the line, consider it a host name */
-    if (strlen(pChar) > 0)
-    {
-	node = (HostNode*)MPIU_Malloc(sizeof(HostNode));
-	node->nSMPProcs = 1;
-	node->next = NULL;
-	node->exe[0] = '\0';
-	
-	/* Copy the host name */
-	pChar2 = node->host;
-	while (*pChar != '\0' && !isspace(*pChar))
-	{
-	    *pChar2 = *pChar;
-	    pChar++;
-	    pChar2++;
-	}
-	*pChar2 = '\0';
-	
-	/* Advance over white space */
-	while (*pChar != '\0' && isspace(*pChar))
-	    pChar++;
-	/* Get the number of SMP processes */
-	if (*pChar != '\0')
-	{
-	    node->nSMPProcs = atoi(pChar);
-	    if (node->nSMPProcs < 1)
-		node->nSMPProcs = 1;
-	}
-	/* Advance over the number */
-	while (*pChar != '\0' && isdigit(*pChar))
-	    pChar++;
-	
-	/* Advance over white space */
-	while (*pChar != '\0' && isspace(*pChar))
-	    pChar++;
-	/* Copy the executable */
-	if (*pChar != '\0')
-	{
-	    strncpy(node->exe, pChar, SMPD_MAX_EXE_LENGTH);
-	    node->exe[SMPD_MAX_EXE_LENGTH-1] = '\0';
-#ifdef HAVE_WINDOWS_H
-	    ExeToUnc(node->exe, SMPD_MAX_EXE_LENGTH);
-#endif
-	}
-    }
-
-    smpd_exit_fn(FCNAME);
-    return node;
-}
-
-#undef FCNAME
-#define FCNAME "print_configfile"
-static void print_configfile(FILE *fout)
-{
-    HostNode *node;
-    char *exe;
-    char *var, *val;
-    char env[SMPD_MAX_ENV_LENGTH];
-    char *cur_env;
-    int env_length, num;
-
-    smpd_enter_fn(FCNAME);
-
-    if (g_pHosts == NULL)
-    {
-	printf("Error: unable to parse the specified configuration file.\n");
-	smpd_exit_fn(FCNAME);
-	return;
-    }
-
-    env[0] = '\0';
-    if (g_pszEnv[0] != '\0')
-    {
-	env_length = SMPD_MAX_ENV_LENGTH;
-	cur_env = env;
-	var = strtok(g_pszEnv, "|");
-	while (var != NULL)
-	{
-	    val = var;
-	    while (*val != '\0')
-	    {
-		if (*val == '=')
-		{
-		    *val = '\0';
-		    val++;
-		    break;
-		}
-		val++;
-	    }
-	    if (strlen(var) > 0 && strlen(val) > 0)
-	    {
-		num = snprintf(cur_env, env_length, "-env %s %s ", var, val);
-		if (num < 0)
-		{
-		    env[SMPD_MAX_ENV_LENGTH-1] = '\0';
-		    break;
-		}
-		cur_env += num;
-		env_length -= num;
-	    }
-	    var = strtok(NULL, "|");
-	}
-	/*printf("env = '%s'\n", env);*/
-    }
-
-    node = g_pHosts;
-    while (node)
-    {
-	if (g_pDriveMapList)
-	{
-	    MapDriveNode *iter;
-	    iter = g_pDriveMapList;
-	    while (iter)
-	    {
-		fprintf(fout, "-map %c:%s ", iter->cDrive, iter->pszShare);
-		iter = iter->pNext;
-	    }
-	}
-	if (g_pszDir[0] != '\0')
-	{
-	    fprintf(fout, "-wdir %s ", g_pszDir);
-	}
-	if (env[0] != '\0')
-	{
-	    fprintf(fout, "%s", env);
-	}
-	fprintf(fout, "-host %s -n %d ", node->host, (int)(node->nSMPProcs));
-	if (node->exe[0] != '\0')
-	{
-	    exe = node->exe;
-	}
-	else
-	{
-	    exe = g_pszExe;
-	}
-	if (g_pszArgs[0] != '\0')
-	{
-	    fprintf(fout, "%s %s\n", exe, g_pszArgs);
-	}
-	else
-	{
-	    fprintf(fout, "%s\n", exe);
-	}
-	node = node->next;
-    }
-    smpd_exit_fn(FCNAME);
-}
-
-#undef FCNAME
-#define FCNAME "cleanup"
-static void cleanup(void)
-{
-    MapDriveNode *map;
-    HostNode *node;
-    smpd_enter_fn(FCNAME);
-    while (g_pDriveMapList)
-    {
-	map = g_pDriveMapList;
-	g_pDriveMapList = g_pDriveMapList->pNext;
-	MPIU_Free(map);
-    }
-    while (g_pHosts)
-    {
-	node = g_pHosts;
-	g_pHosts = g_pHosts->next;
-	MPIU_Free(node);
-    }
-    smpd_exit_fn(FCNAME);
-}
-
-#undef FCNAME
-#define FCNAME "mp_parse_mpich1_configfile"
-int mp_parse_mpich1_configfile(char *filename, char *configfilename, int length)
-{
-    FILE *fin, *fout;
-    int fd;
-    char buffer[1024] = "";
-    char temp_filename[256] = "tmpXXXXXX";
-
-    smpd_enter_fn(FCNAME);
-
-    fin = fopen(filename, "r");
-    if (fin == NULL)
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    /* initialize variables */
-    g_pszExe[0] = '\0';
-    g_pszArgs[0] = '\0';
-    g_pszEnv[0] = '\0';
-    g_pszDir[0] = '\0';
-    g_pDriveMapList = NULL;
-    g_pHosts = NULL;
-    g_nHosts = 0;
-
-    while (fgets(buffer, 1024, fin))
-    {
-	/* Check for the name of the executable */
-	if (strncmp(buffer, "exe ", 4) == 0)
-	{
-	    char *pChar = &buffer[4];
-	    while (isspace(*pChar))
-		pChar++;
-	    strncpy(g_pszExe, pChar, SMPD_MAX_EXE_LENGTH);
-	    g_pszExe[SMPD_MAX_EXE_LENGTH-1] = '\0';
-	    pChar = &g_pszExe[strlen(g_pszExe)-1];
-	    while (isspace(*pChar) && (pChar >= g_pszExe))
-	    {
-		*pChar = '\0';
-		pChar--;
-	    }
-#ifdef HAVE_WINDOWS_H
-	    ExeToUnc(g_pszExe, SMPD_MAX_EXE_LENGTH);
-#endif
-	}
-	else
-	{
-	    /* Check for program arguments */
-	    if (strncmp(buffer, "args ", 5) == 0)
-	    {
-		char *pChar = &buffer[5];
-		while (isspace(*pChar))
-		    pChar++;
-		strncpy(g_pszArgs, pChar, SMPD_MAX_EXE_LENGTH);
-		g_pszArgs[SMPD_MAX_EXE_LENGTH-1] = '\0';
-		pChar = &g_pszArgs[strlen(g_pszArgs)-1];
-		while (isspace(*pChar) && (pChar >= g_pszArgs))
-		{
-		    *pChar = '\0';
-		    pChar--;
-		}
-	    }
-	    else
-	    {
-		/* Check for environment variables */
-		if (strncmp(buffer, "env ", 4) == 0)
-		{
-		    char *pChar = &buffer[4];
-		    while (isspace(*pChar))
-			pChar++;
-		    if (strlen(pChar) >= SMPD_MAX_EXE_LENGTH)
-		    {
-			printf("Warning: environment variables truncated.\n");
-			fflush(stdout);
-		    }
-		    strncpy(g_pszEnv, pChar, SMPD_MAX_EXE_LENGTH);
-		    g_pszEnv[SMPD_MAX_EXE_LENGTH-1] = '\0';
-		    pChar = &g_pszEnv[strlen(g_pszEnv)-1];
-		    while (isspace(*pChar) && (pChar >= g_pszEnv))
-		    {
-			*pChar = '\0';
-			pChar--;
-		    }
-		}
-		else
-		{
-		    if (strncmp(buffer, "map ", 4) == 0)
-		    {
-			char *pszMap;
-			pszMap = &buffer[strlen(buffer)-1];
-			while (isspace(*pszMap) && (pszMap >= buffer))
-			{
-			    *pszMap = '\0';
-			    pszMap--;
-			}
-			pszMap = &buffer[4];
-			while (isspace(*pszMap))
-			    pszMap++;
-			if (*pszMap != '\0' && strlen(pszMap) > 6 && pszMap[1] == ':')
-			{
-			    MapDriveNode *pNode = (MapDriveNode*)MPIU_Malloc(sizeof(MapDriveNode));
-			    pNode->cDrive = pszMap[0];
-			    strcpy(pNode->pszShare, &pszMap[2]);
-			    pNode->pNext = g_pDriveMapList;
-			    g_pDriveMapList = pNode;
-			}
-		    }
-		    else
-		    {
-			if (strncmp(buffer, "dir ", 4) == 0)
-			{
-			    char *pChar = &buffer[4];
-			    while (isspace(*pChar))
-				pChar++;
-			    strcpy(g_pszDir, pChar);
-			    pChar = &g_pszDir[strlen(g_pszDir)-1];
-			    while (isspace(*pChar) && (pChar >= g_pszDir))
-			    {
-				*pChar = '\0';
-				pChar--;
-			    }
-			}
-			else
-			{
-			    /* Check for hosts */
-			    if (strncmp(buffer, "hosts", 5) == 0)
-			    {
-				HostNode *node, dummy;
-				g_nHosts = 0;
-				g_pHosts = NULL;
-				dummy.next = NULL;
-				node = &dummy;
-				while (fgets(buffer, 1024, fin))
-				{
-				    node->next = ParseLineIntoHostNode(buffer);
-				    if (node->next != NULL)
-				    {
-					node = node->next;
-					g_nHosts++;
-				    }
-				}
-				g_pHosts = dummy.next;
-				
-				fclose(fin);
-				if ((fd = mkstemp(temp_filename)) < 0)
-				{
-				    smpd_exit_fn(FCNAME);
-				    return SMPD_FAIL;
-				}
-				/*printf("printing output to <%s>\n", configfilename);*/
-				strncpy(configfilename, temp_filename, length);
-                if((fout = fdopen(fd, "w")) == NULL)
-                {
-				    smpd_exit_fn(FCNAME);
-				    return SMPD_FAIL;
-                }
-				print_configfile(fout);
-				fclose(fout);
-				cleanup();
-				smpd_exit_fn(FCNAME);
-				return SMPD_SUCCESS;
-			    }
-			}
-		    }
-		}
-	    }
-	}
-    }
-    fclose(fin);
-    if ((fd = mkstemp(temp_filename)) < 0)
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    /*printf("printing output to <%s>\n", configfilename);*/
-	strncpy(configfilename, temp_filename, length);
-    if((fout = fdopen(fd, "w")) == NULL)
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    print_configfile(fout);
-    fclose(fout);
-    cleanup();
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
diff --git a/src/pm/smpd/mpichprereq b/src/pm/smpd/mpichprereq
deleted file mode 100644
index a5d1dce..0000000
--- a/src/pm/smpd/mpichprereq
+++ /dev/null
@@ -1,12 +0,0 @@
-#! /bin/sh
-# Check that we are using the smpd PMI implementation
-# (Selecting multiple PM's may require incompatible PMI implementations 
-# (e.g., MPD and SMPD).
-# The smpd PM requires the smpd PMI implementation
-if [ -z "$PM_REQUIRES_PMI" ] ; then
-    PM_REQUIRES_PMI=smpd
-elif [ "$PM_REQUIRES_PMI" != "smpd" ] ; then
-    echo "SMPD requires the smpd PMI implementation; $PM_REQUIRES_PMI has already been selected"
-    exit 1
-fi
-PMI_REQUIRES_READABLE_TOKENS=yes
diff --git a/src/pm/smpd/mpiexec.c b/src/pm/smpd/mpiexec.c
deleted file mode 100644
index 664eec6..0000000
--- a/src/pm/smpd/mpiexec.c
+++ /dev/null
@@ -1,507 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-
-#include <stdio.h>
-#include "mpiexec.h"
-#include "smpd.h"
-#include "mpi.h"
-/*
-#include "smpd_implthread.h"
-*/
-
-#ifdef HAVE_WINDOWS_H
-void timeout_thread(void *p)
-{
-    SMPDU_Size_t num_written;
-    char ch = -1;
-
-    SMPD_UNREFERENCED_ARG(p);
-
-    Sleep(smpd_process.timeout * 1000);
-    smpd_err_printf("\nmpiexec terminated job due to %d second timeout.\n", smpd_process.timeout);
-    if (smpd_process.timeout_sock != SMPDU_SOCK_INVALID_SOCK)
-    {
-	SMPDU_Sock_write(smpd_process.timeout_sock, &ch, 1, &num_written);
-	Sleep(30000); /* give the engine 30 seconds to shutdown and then force an exit */
-    }
-    ExitProcess((UINT)-1);
-}
-#else
-#ifdef SIGALRM
-void timeout_function(int signo)
-{
-    SMPDU_Sock_size_t num_written;
-    char ch = -1;
-    static int alarmed = 0;
-    if (signo == SIGALRM)
-    {
-	if (smpd_process.timeout_sock != SMPDU_SOCK_INVALID_SOCK && alarmed == 0)
-	{
-	    alarmed = 1;
-	    smpd_err_printf("\nmpiexec terminated job due to %d second timeout.\n", smpd_process.timeout);
-	    SMPDU_Sock_write(smpd_process.timeout_sock, &ch, 1, &num_written);
-	    alarm(30); /* give the engine 30 seconds to shutdown and then force an exit */
-	}
-	else
-	{
-	    if (alarmed == 0)
-	    {
-		smpd_err_printf("\nmpiexec terminated job due to %d second timeout.\n", smpd_process.timeout);
-	    }
-	    exit(-1);
-	}
-    }
-}
-#else
-#ifdef HAVE_PTHREAD_H
-void *timeout_thread(void *p)
-{
-    SMPDU_Size_t num_written;
-    char ch = -1;
-    sleep(smpd_process.timeout);
-    smpd_err_printf("\nmpiexec terminated job due to %d second timeout.\n", smpd_process.timeout);
-    if (smpd_process.timeout_sock != SMPDU_SOCK_INVALID_SOCK)
-    {
-	SMPDU_Sock_write(smpd_process.timeout_sock, &ch, 1, &num_written);
-	sleep(30); /* give the engine 30 seconds to shutdown and then force an exit */
-    }
-    exit(-1);
-}
-#endif
-#endif
-#endif
-
-#ifdef HAVE_WINDOWS_H
-BOOL WINAPI mpiexec_ctrl_handler(DWORD dwCtrlType)
-{
-    static int first = 1;
-    char ch = -1;
-    SMPDU_Size_t num_written;
-
-    /* This handler could be modified to send the event to the remote processes instead of killing the job. */
-    /* Doing so would require new command types for smpd */
-
-    switch (dwCtrlType)
-    {
-    case CTRL_LOGOFF_EVENT:
-	/* The logoff event could be a problem if two users are logged on to the same machine remotely.
-	 * If user A runs mpiexec and user B logs out of his session, this event will cause user A's
-	 * mpiexec command to kill the job and make user A mad.  But if we ignore the logoff event then 
-	 * when user A logs out mpiexec will hang?
-	 */
-	break;
-    case CTRL_C_EVENT:
-    case CTRL_BREAK_EVENT:
-    case CTRL_CLOSE_EVENT:
-    case CTRL_SHUTDOWN_EVENT:
-	if (smpd_process.mpiexec_abort_sock != SMPDU_SOCK_INVALID_SOCK)
-	{
-	    if (first == 1)
-	    {
-		/* The first break signal tries to abort the job with an abort message */
-		first = 0;
-		printf("mpiexec aborting job...\n");fflush(stdout);
-		num_written = 0;
-		SMPDU_Sock_write(smpd_process.mpiexec_abort_sock, &ch, 1, &num_written);
-		if (num_written == 1)
-		    return TRUE;
-	    }
-	    /* The second break signal unconditionally exits mpiexec */
-	}
-	if (smpd_process.hCloseStdinThreadEvent)
-	{
-	    SetEvent(smpd_process.hCloseStdinThreadEvent);
-	}
-	if (smpd_process.hStdinThread != NULL)
-	{
-	    /* close stdin so the input thread will exit */
-	    CloseHandle(GetStdHandle(STD_INPUT_HANDLE));
-	    if (WaitForSingleObject(smpd_process.hStdinThread, 3000) != WAIT_OBJECT_0)
-	    {
-		TerminateThread(smpd_process.hStdinThread, 321);
-	    }
-	    CloseHandle(smpd_process.hStdinThread);
-	}
-	smpd_exit(-1);
-	return TRUE;
-    }
-    return FALSE;
-}
-#endif
-
-int main(int argc, char* argv[])
-{
-    int result = SMPD_SUCCESS;
-    smpd_host_node_t *host_node_ptr;
-    smpd_launch_node_t *launch_node_ptr;
-    smpd_context_t *context;
-    SMPDU_Sock_set_t set;
-    SMPDU_Sock_t sock = SMPDU_SOCK_INVALID_SOCK;
-    smpd_state_t state;
-
-    smpd_enter_fn("main");
-
-    /* catch an empty command line */
-    if (argc < 2)
-    {
-	mp_print_options();
-	exit(0);
-    }
-
-    smpd_process.mpiexec_argv0 = argv[0];
-
-    /* initialize */
-    /* FIXME: Get rid of this hack - we already create 
-     * local KVS for all singleton clients by default
-     */
-    putenv("PMI_SMPD_FD=0");
-    result = PMPI_Init(&argc, &argv);
-    /* SMPD_CS_ENTER(); */
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("SMPD_Init failed,\nerror: %d\n", result);
-	smpd_exit_fn("main");
-	return result;
-    }
-
-    result = SMPDU_Sock_init();
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("SMPDU_Sock_init failed,\nsock error: %s\n",
-		      get_sock_error_string(result));
-	smpd_exit_fn("main");
-	return result;
-    }
-
-    result = smpd_init_process();
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("smpd_init_process failed.\n");
-	goto quit_job;
-    }
-
-    smpd_process.dbg_state = SMPD_DBG_STATE_ERROUT;
-
-    /* parse the command line */
-    smpd_dbg_printf("parsing the command line.\n");
-    result = mp_parse_command_args(&argc, &argv);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("Unable to parse the mpiexec command arguments.\n");
-	goto quit_job;
-    }
-
-    /* If we are using MS HPC job scheduler we only connect
-     * to the local SMPD
-     */
-    if(smpd_process.use_ms_hpc){
-        char host[100];
-        int id;
-        /* Free the current host list */
-        result = smpd_free_host_list();
-        if(result != SMPD_SUCCESS){
-            smpd_err_printf("Unable to free the global host list\n");
-            goto quit_job;
-        }
-        /* Add local host to the host list */
-        result = smpd_get_hostname(host, 100);
-        if(result != SMPD_SUCCESS){
-            smpd_err_printf("Unable to get the local hostname\n");
-            goto quit_job;
-        }
-	    result = smpd_get_host_id(host, &id);
-        if(result != SMPD_SUCCESS){
-            smpd_err_printf("Unable to get host id for local host\n");
-            goto quit_job;
-        }
-        /* Set the number of PMI procs since they are not launched by mpiexec */
-        smpd_process.nproc = smpd_process.launch_list->nproc;
-        smpd_dbg_printf("Adding (%s:%d) == (localhost) to the host list\n", host, id);
-    }
-
-    /* print and see what we've got */
-    /* debugging output *************/
-    smpd_dbg_printf("host tree:\n");
-    host_node_ptr = smpd_process.host_list;
-    if (!host_node_ptr)
-	smpd_dbg_printf("<none>\n");
-    while (host_node_ptr)
-    {
-	smpd_dbg_printf(" host: %s, parent: %d, id: %d\n",
-	    host_node_ptr->host,
-	    host_node_ptr->parent, host_node_ptr->id);
-	host_node_ptr = host_node_ptr->next;
-    }
-    smpd_dbg_printf("launch nodes:\n");
-    launch_node_ptr = smpd_process.launch_list;
-    if (!launch_node_ptr)
-	smpd_dbg_printf("<none>\n");
-    while (launch_node_ptr)
-    {
-	smpd_dbg_printf(" iproc: %d, id: %d, exe: %s\n",
-	    launch_node_ptr->iproc, launch_node_ptr->host_id,
-	    launch_node_ptr->exe);
-	launch_node_ptr = launch_node_ptr->next;
-    }
-    /* end debug output *************/
-
-    /* set the id of the mpiexec node to zero */
-    smpd_process.id = 0;
-
-    result = SMPDU_Sock_create_set(&set);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("SMPDU_Sock_create_set failed,\nsock error: %s\n", get_sock_error_string(result));
-	goto quit_job;
-    }
-    smpd_process.set = set;
-
-    /* Check to see if the user wants to use a remote shell mechanism for launching the processes
-     * instead of using the smpd process managers.
-     */
-    if (smpd_process.rsh_mpiexec == SMPD_TRUE)
-    {
-	/* Do rsh or localonly stuff */
-	result = mpiexec_rsh();
-
-	/* skip over the non-rsh code and go to the cleanup section */
-	goto quit_job;
-    }
-
-    /* Start the timeout mechanism if specified */
-    /* This code occurs after the rsh_mpiexec option check because the rsh code implementes timeouts differently */
-    if (smpd_process.timeout > 0)
-    {
-#ifdef HAVE_WINDOWS_H
-	/* create a Windows thread to sleep until the timeout expires */
-	if (smpd_process.timeout_thread == NULL)
-	{
-	    smpd_process.timeout_thread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)timeout_thread, NULL, 0, NULL);
-	    if (smpd_process.timeout_thread == NULL)
-	    {
-		printf("Error: unable to create a timeout thread, errno %d.\n", GetLastError());
-		smpd_exit_fn("mp_parse_command_args");
-		return SMPD_FAIL;
-	    }
-	}
-#elif defined(SIGALRM)
-	/* create an alarm to signal mpiexec when the timeout expires */
-	smpd_signal(SIGALRM, timeout_function);
-	alarm(smpd_process.timeout);
-#elif defined(HAVE_PTHREAD_H)
-	/* create a pthread to sleep until the timeout expires */
-	result = pthread_create(&smpd_process.timeout_thread, NULL, timeout_thread, NULL);
-	if (result != 0)
-	{
-	    printf("Error: unable to create a timeout thread, errno %d.\n", result);
-	    smpd_exit_fn("mp_parse_command_args");
-	    return SMPD_FAIL;
-	}
-#else
-	/* no timeout mechanism available */
-#endif
-    }
-
-    /* make sure we have a passphrase to authenticate connections to the smpds */
-    if (smpd_process.passphrase[0] == '\0')
-	smpd_get_smpd_data("phrase", smpd_process.passphrase, SMPD_PASSPHRASE_MAX_LENGTH);
-    if (smpd_process.passphrase[0] == '\0')
-    {
-	if (smpd_process.noprompt)
-	{
-	    printf("Error: No smpd passphrase specified through the registry or .smpd file, exiting.\n");
-	    result = SMPD_FAIL;
-	    goto quit_job;
-	}
-	printf("Please specify an authentication passphrase for smpd: ");
-	fflush(stdout);
-	smpd_get_password(smpd_process.passphrase);
-    }
-
-    /* set the state to create a console session or a job session */
-    state = smpd_process.do_console ? SMPD_MPIEXEC_CONNECTING_SMPD : SMPD_MPIEXEC_CONNECTING_TREE;
-
-    result = smpd_create_context(SMPD_CONTEXT_LEFT_CHILD, set, sock, 1, &context);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create a context for the first host in the tree.\n");
-	goto quit_job;
-    }
-#ifdef HAVE_WINDOWS_H
-    if (!smpd_process.local_root)
-    {
-#endif
-	/* start connecting the tree by posting a connect to the first host */
-	result = SMPDU_Sock_post_connect(set, context, smpd_process.host_list->host, smpd_process.port, &sock);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("Unable to connect to '%s:%d',\nsock error: %s\n",
-		smpd_process.host_list->host, smpd_process.port, get_sock_error_string(result));
-	    goto quit_job;
-	}
-#ifdef HAVE_WINDOWS_H
-    }
-#endif
-    context->sock = sock;
-    context->state = state;
-    context->connect_to = smpd_process.host_list;
-#ifdef HAVE_WINDOWS_H
-    if (smpd_process.local_root)
-    {
-	int port;
-	smpd_context_t *rc_context;
-
-	/* The local_root option is implemented by having mpiexec act as the smpd
-	 * and launch the smpd manager.  Then mpiexec connects to this manager just
-	 * as if it had been created by a real smpd.  This causes all the processes
-	 * destined for the first smpd host to be launched by this child process of
-	 * mpiexec and not the smpd service.  This allows for these processes to
-	 * create windows that are visible to the interactive user.  It also means 
-	 * that the job cannot be run in the context of a user other than the user
-	 * running mpiexec. */
-
-	/* get the path to smpd.exe because pszExe is currently mpiexec.exe */
-	smpd_get_smpd_data("binary", smpd_process.pszExe, SMPD_MAX_EXE_LENGTH);
-
-	/* launch the manager process */
-	result = smpd_start_win_mgr(context, SMPD_FALSE);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to start the local smpd manager.\n");
-	    goto quit_job;
-	}
-
-	/* connect to the manager */
-	smpd_dbg_printf("connecting a new socket.\n");
-	port = atol(context->port_str);
-	if (port < 1)
-	{
-	    smpd_err_printf("Invalid reconnect port read: %d\n", port);
-	    goto quit_job;
-	}
-	result = smpd_create_context(context->type, context->set, SMPDU_SOCK_INVALID_SOCK, context->id, &rc_context);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to create a new context for the reconnection.\n");
-	    goto quit_job;
-	}
-	rc_context->state = context->state;
-	rc_context->write_state = SMPD_RECONNECTING;
-	context->state = SMPD_CLOSING;
-	rc_context->connect_to = context->connect_to;
-	rc_context->connect_return_id = context->connect_return_id;
-	rc_context->connect_return_tag = context->connect_return_tag;
-	strcpy(rc_context->host, context->host);
-	smpd_process.left_context = rc_context;
-	smpd_dbg_printf("posting a re-connect to %s:%d in %s context.\n", rc_context->connect_to->host, port, smpd_get_context_str(rc_context));
-	result = SMPDU_Sock_post_connect(rc_context->set, rc_context, rc_context->connect_to->host, port, &rc_context->sock);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("Unable to post a connect to '%s:%d',\nsock error: %s\n",
-		rc_context->connect_to->host, port, get_sock_error_string(result));
-	    if (smpd_post_abort_command("Unable to connect to '%s:%d',\nsock error: %s\n",
-		rc_context->connect_to->host, port, get_sock_error_string(result)) != SMPD_SUCCESS)
-	    {
-		goto quit_job;
-	    }
-	}
-    }
-    else
-    {
-#endif
-	smpd_process.left_context = context;
-	result = SMPDU_Sock_set_user_ptr(sock, context);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to set the smpd sock user pointer,\nsock error: %s\n",
-		get_sock_error_string(result));
-	    goto quit_job;
-	}
-#ifdef HAVE_WINDOWS_H
-    }
-#endif
-
-#ifdef HAVE_WINDOWS_H
-    {
-	/* Create a break handler and a socket to handle aborting the job when mpiexec receives break signals */
-	smpd_context_t *reader_context;
-	SMPDU_Sock_t sock_reader;
-	SMPDU_SOCK_NATIVE_FD reader, writer;
-
-	smpd_make_socket_loop((SOCKET*)&reader, (SOCKET*)&writer);
-	result = SMPDU_Sock_native_to_sock(set, reader, NULL, &sock_reader);
-	result = SMPDU_Sock_native_to_sock(set, writer, NULL, &smpd_process.mpiexec_abort_sock);
-	result = smpd_create_context(SMPD_CONTEXT_MPIEXEC_ABORT, set, sock_reader, -1, &reader_context);
-	reader_context->read_state = SMPD_READING_MPIEXEC_ABORT;
-	result = SMPDU_Sock_post_read(sock_reader, &reader_context->read_cmd.cmd, 1, 1, NULL);
-
-	if (!SetConsoleCtrlHandler(mpiexec_ctrl_handler, TRUE))
-	{
-	    /* Don't error out; allow the job to run without a ctrl handler? */
-	    result = GetLastError();
-	    smpd_dbg_printf("unable to set a ctrl handler for mpiexec, error %d\n", result);
-	}
-    }
-#endif
-
-    result = smpd_enter_at_state(set, state);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("state machine failed.\n");
-	goto quit_job;
-    }
-
-quit_job:
-
-    if ((result != SMPD_SUCCESS) && (smpd_process.mpiexec_exit_code == 0))
-    {
-	smpd_process.mpiexec_exit_code = -1;
-    }
-
-    /* finalize */
-
-    smpd_dbg_printf("calling SMPDU_Sock_finalize\n");
-    result = SMPDU_Sock_finalize();
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("SMPDU_Sock_finalize failed,\nsock error: %s\n", get_sock_error_string(result));
-    }
-
-    /* SMPD_Finalize called in smpd_exit()
-    smpd_dbg_printf("calling SMPD_Finalize\n");
-    result = PMPI_Finalize();
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("SMPD_Finalize failed,\nerror: %d\n", result);
-    }
-    */
-
-#ifdef HAVE_WINDOWS_H
-    if (smpd_process.hCloseStdinThreadEvent)
-	SetEvent(smpd_process.hCloseStdinThreadEvent);
-    if (smpd_process.hStdinThread != NULL)
-    {
-	/* close stdin so the input thread will exit */
-	CloseHandle(GetStdHandle(STD_INPUT_HANDLE));
-	if (WaitForSingleObject(smpd_process.hStdinThread, 3000) != WAIT_OBJECT_0)
-	{
-	    TerminateThread(smpd_process.hStdinThread, 321);
-	}
-	CloseHandle(smpd_process.hStdinThread);
-    }
-    if (smpd_process.hCloseStdinThreadEvent)
-    {
-	CloseHandle(smpd_process.hCloseStdinThreadEvent);
-	smpd_process.hCloseStdinThreadEvent = NULL;
-    }
-#elif defined(USE_PTHREAD_STDIN_REDIRECTION)
-    smpd_cancel_stdin_thread();
-#endif
-    smpd_exit_fn("main");
-    /* SMPD_CS_EXIT(); */
-    return smpd_exit(smpd_process.mpiexec_exit_code);
-}
-
diff --git a/src/pm/smpd/mpiexec.h b/src/pm/smpd/mpiexec.h
deleted file mode 100644
index 149c933..0000000
--- a/src/pm/smpd/mpiexec.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-#ifndef MPIEXEC_H
-#define MPIEXEC_H
-
-#include "smpd.h"
-/* #include "mpidu_sock.h" */
-#include <stdio.h>
-#if !defined(SIGALRM) && defined (HAVE_PTHREAD_H)
-#include <pthread.h>
-#endif
-
-int mp_parse_command_args(int *argcp, char **argvp[]);
-int mp_parse_mpich1_configfile(char *filename, char *configfilename, int length);
-void mp_print_options(void);
-int mpiexec_rsh(void);
-#ifdef HAVE_WINDOWS_H
-void timeout_thread(void *p);
-#else
-#ifdef SIGALRM
-void timeout_function(int signo);
-#else
-#ifdef HAVE_PTHREAD_H
-void *timeout_thread(void *p);
-#endif
-#endif
-#endif
-
-#endif
diff --git a/src/pm/smpd/mpiexec.rc b/src/pm/smpd/mpiexec.rc
deleted file mode 100644
index 576267e..0000000
--- a/src/pm/smpd/mpiexec.rc
+++ /dev/null
@@ -1,102 +0,0 @@
-// Microsoft Visual C++ generated resource script.
-//
-#include "resource1.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE 
-BEGIN
-    "resource1.h\0"
-END
-
-2 TEXTINCLUDE 
-BEGIN
-    "#include ""afxres.h""\r\n"
-    "\0"
-END
-
-3 TEXTINCLUDE 
-BEGIN
-    "\r\n"
-    "\0"
-END
-
-#endif    // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,0,0,1
- PRODUCTVERSION 1,0,0,1
- FILEFLAGSMASK 0x17L
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x4L
- FILETYPE 0x1L
- FILESUBTYPE 0x0L
-BEGIN
-    BLOCK "StringFileInfo"
-    BEGIN
-        BLOCK "040904b0"
-        BEGIN
-            VALUE "CompanyName", "Argonne National Lab"
-            VALUE "FileDescription", "Process launcher for MPICH applications"
-            VALUE "FileVersion", "1, 0, 0, 1"
-            VALUE "InternalName", "mpiexec"
-            VALUE "LegalCopyright", "Copyright (C) 2004"
-            VALUE "OriginalFilename", "mpiexec.exe"
-            VALUE "ProductName", "mpiexec process launcher"
-            VALUE "ProductVersion", "1, 0, 0, 1"
-        END
-    END
-    BLOCK "VarFileInfo"
-    BEGIN
-        VALUE "Translation", 0x409, 1200
-    END
-END
-
-#endif    // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif    // not APSTUDIO_INVOKED
-
diff --git a/src/pm/smpd/mpiexec.vcproj b/src/pm/smpd/mpiexec.vcproj
deleted file mode 100644
index e509e8a..0000000
--- a/src/pm/smpd/mpiexec.vcproj
+++ /dev/null
@@ -1,1233 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="mpiexec"
-	ProjectGUID="{EFAF72A2-7154-410B-9235-460444894A38}"
-	RootNamespace="mpiexec"
-	Keyword="Win32Proj"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="Debug"
-			IntermediateDirectory="mpiexecDebug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\include;..\..\include\win32;.\sock\include;.\sock\iocp\include"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_WINDOWS_H;USE_WINCONF_H"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib ws2_32.lib mswsock.lib rpcrt4.lib mpr.lib crypt32.lib dbgd.lib smpd_utild.lib mpid.lib"
-				OutputFile="..\..\..\bin\mpiexec.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)/mpiexec.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-				FixedBaseAddress="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="Release"
-			IntermediateDirectory="mpiexecRelease"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="..\..\include;..\..\include\win32;..\..\mpl\include;.\sock\include;.\sock\iocp\include;."
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_WINDOWS_H;USE_WINCONF_H;_WIN32_WINNT=0x0500"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib ws2_32.lib mswsock.lib rpcrt4.lib mpr.lib crypt32.lib mpl.lib dbg.lib smpd_util.lib mpi.lib"
-				OutputFile="..\..\..\bin\mpiexec.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				GenerateDebugInformation="false"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="DebugStatic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_WINDOWS_H;USE_WINCONF_H"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="Secur32.lib mpichssmsd.lib smpd_utild.lib ws2_32.lib mswsock.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="..\..\..\bin\mpiexec.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)/mpiexec.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichDebugConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_WINDOWS_H;USE_WINCONF_H"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib smpd_utild.lib ch3sockd.lib sockd.lib pmid.lib dbgd.lib mpichsocksd.lib ws2_32.lib mswsock.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="..\..\..\bin\mpiexec.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)/mpiexec.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-				FixedBaseAddress="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;_CONSOLE;HAVE_WINDOWS_H;USE_WINCONF_H"
-				MinimalRebuild="false"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib smpd_util.lib ch3sock.lib sock.lib pmi.lib dbg.lib mpichsocks.lib ws2_32.lib mswsock.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="..\..\..\bin\mpiexec.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				GenerateDebugInformation="false"
-				ProgramDatabaseFile="$(OutDir)/mpiexec.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-				FixedBaseAddress="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_WINDOWS_H;USE_WINCONF_H"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib smpd_util.lib ch3shm.lib sock.lib pmi.lib dbg.lib mpichshms.lib ws2_32.lib mswsock.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="..\..\..\bin\mpiexec.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				GenerateDebugInformation="false"
-				ProgramDatabaseFile="$(OutDir)/mpiexec.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-				FixedBaseAddress="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_WINDOWS_H;USE_WINCONF_H"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib smpd_util.lib ch3shm.lib sock.lib pmi.lib dbg.lib mpichshms.lib ws2_32.lib mswsock.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="..\..\..\bin\mpiexec.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				GenerateDebugInformation="false"
-				ProgramDatabaseFile="$(OutDir)/mpiexec.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-				FixedBaseAddress="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_WINDOWS_H;USE_WINCONF_H"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib smpd_util.lib ch3shm.lib sock.lib pmi.lib dbg.lib mpichshms.lib ws2_32.lib mswsock.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="..\..\..\bin\mpiexec.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				GenerateDebugInformation="false"
-				ProgramDatabaseFile="$(OutDir)/mpiexec.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-				FixedBaseAddress="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mt_mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_WINDOWS_H;USE_WINCONF_H"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib smpd_util.lib ch3sock.lib sock.lib pmi.lib dbg.lib mpichsocks.lib ws2_32.lib mswsock.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="..\..\..\bin\mpiexec.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)/mpiexec.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-				FixedBaseAddress="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="testrelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_WINDOWS_H;USE_WINCONF_H"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib mpichsocks.lib ch3sock.lib smpd_util.lib pmi.lib sock.lib dbg.lib ws2_32.lib mswsock.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="..\..\..\bin\mpiexec.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichDebugConfig_1_0_5|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;_CONSOLE;HAVE_WINDOWS_H;USE_WINCONF_H"
-				MinimalRebuild="false"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib smpd_util.lib ch3sock.lib sock.lib pmi.lib dbg.lib mpichsocks.lib ws2_32.lib mswsock.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="..\..\..\bin\mpiexec.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				GenerateDebugInformation="false"
-				ProgramDatabaseFile="$(OutDir)/mpiexec.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-				FixedBaseAddress="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="fortDebugConfig_1_0_5|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_WINDOWS_H;USE_WINCONF_H"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib mpichsocks.lib ch3sock.lib smpd_util.lib pmi.lib sock.lib dbg.lib ws2_32.lib mswsock.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="..\..\..\bin\mpiexec.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3nemesisPRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="..\..\mpid\common\sock;..\..\mpid\common\sock\iocp;..\..\include;..\..\include\win32;..\..\mpid\ch3\include;..\..\mpid\common\datatype;..\..\mpid\ch3\channels\sock\include"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_WINDOWS_H;USE_WINCONF_H"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib mpichsocks.lib ch3sock.lib smpd_util.lib pmi.lib sock.lib dbg.lib ws2_32.lib mswsock.lib rpcrt4.lib mpr.lib crypt32.lib"
-				OutputFile="..\..\..\bin\mpiexec.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="fortPRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="..\..\include;..\..\include\win32;..\..\mpl\include;.\sock\include;.\sock\iocp\include;."
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_WINDOWS_H;USE_WINCONF_H;_WIN32_WINNT=0x0500"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib ws2_32.lib mswsock.lib rpcrt4.lib mpr.lib crypt32.lib mpl.lib dbg.lib smpd_util.lib mpi.lib"
-				OutputFile="..\..\..\bin\mpiexec.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				GenerateDebugInformation="false"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"
-			>
-			<File
-				RelativePath="mp_parse_command_line.c"
-				>
-			</File>
-			<File
-				RelativePath=".\mp_parse_oldconfig.c"
-				>
-			</File>
-			<File
-				RelativePath="mpiexec.c"
-				>
-			</File>
-			<File
-				RelativePath=".\mpiexec_rsh.c"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc"
-			>
-			<File
-				RelativePath="mpiexec.h"
-				>
-			</File>
-			<File
-				RelativePath=".\resource1.h"
-				>
-			</File>
-			<File
-				RelativePath=".\smpd.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-			>
-			<File
-				RelativePath=".\mpiexec.rc"
-				>
-			</File>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/src/pm/smpd/mpiexec_rsh.c b/src/pm/smpd/mpiexec_rsh.c
deleted file mode 100644
index 5a4d337..0000000
--- a/src/pm/smpd/mpiexec_rsh.c
+++ /dev/null
@@ -1,895 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-
-#include <stdio.h>
-#include "mpiexec.h"
-#include "smpd.h"
-
-#define MAX_RSH_CMD_LENGTH 8192
-#define MAX_OUTPUT_LENGTH 4096
-#define MAX_INPUT_LENGTH 4096
-
-
-static char root_host[SMPD_MAX_HOST_LENGTH];
-static int root_port;
-
-#undef FCNAME
-#define FCNAME "FmtEnvVarsForSSH"
-/* This function formats the environment strings of the form,
- *    foo1=bar1 foo2=bar2 foo3=bar3
- *    TO
- *     "foo1=bar1" "foo2=bar2" "foo3=bar3"
- *    and returns the length of the formatted string
- *    Note: The formatted string contains a space in the front
- */
-static int FmtEnvVarsForSSH(char *bEnv, char *fmtEnv, int fmtEnvLen)
-{
-    char name[SMPD_MAX_ENV_LENGTH], equals[3], value[SMPD_MAX_ENV_LENGTH];
-    int curLen = 0, totLen = 0;
-
-    smpd_enter_fn(FCNAME);
-    if(fmtEnv && bEnv){
-     for (;;)
-     {
-	 name[0] = '\0';
-	 equals[0] = '\0';
-	 value[0] = '\0';
-	 if(fmtEnvLen <= 0)
-	     break;
-	 if (MPIU_Str_get_string(&bEnv, name, SMPD_MAX_ENV_LENGTH) != MPIU_STR_SUCCESS)
-	     break;
-	 if (name[0] == '\0')
-	     break;
-	 if (MPIU_Str_get_string(&bEnv, equals, 3) != MPIU_STR_SUCCESS)
-	     break;
-	 if (equals[0] == '\0')
-	     break;
-	 if (MPIU_Str_get_string(&bEnv, value, SMPD_MAX_ENV_LENGTH) != MPIU_STR_SUCCESS)
-	     break;
-	 MPIU_Snprintf(fmtEnv, fmtEnvLen, " \"%s=%s\"", name, value);
-	 curLen = strlen(fmtEnv);
-	 totLen += curLen;
-	 fmtEnv += curLen;
-	 fmtEnvLen -= curLen;
-     }
-    }
-    smpd_exit_fn(FCNAME);
-    return totLen;
-}
-
-#ifndef HAVE_WINDOWS_H
-static int writebuf(int fd, void *buffer, int length)
-{
-    unsigned char *buf;
-    int num_written;
-    
-    buf = (unsigned char *)buffer;
-    while (length)
-    {
-	num_written = write(fd, buf, length);
-	if (num_written < 0)
-	{
-	    if (errno != EINTR)
-	    {
-		return errno;
-	    }
-	    num_written = 0;
-	}
-	buf = buf + num_written;
-	length = length - num_written;
-    }
-    return 0;
-}
-
-static int readbuf(int fd, void *buffer, int length)
-{
-    unsigned char *buf;
-    int num_read;
-
-    buf = (unsigned char *)buffer;
-    while (length)
-    {
-	num_read = read(fd, buf, length);
-	if (num_read < 0)
-	{
-	    if (errno != EINTR)
-	    {
-		return errno;
-	    }
-	    num_read = 0;
-	}
-	else if (num_read == 0)
-	{
-	    return -1;
-	}
-	buf = buf + num_read;
-	length = length - num_read;
-    }
-    return 0;
-}
-#endif
-
-static int setup_stdin_redirection(smpd_process_t *process, SMPDU_Sock_set_t set)
-{
-    int result;
-    smpd_context_t *context_in;
-    SMPDU_SOCK_NATIVE_FD stdin_fd;
-    SMPDU_Sock_t insock;
-#ifdef HAVE_WINDOWS_H
-    DWORD dwThreadID;
-    SOCKET hWrite;
-#endif
-
-    smpd_enter_fn("setup_stdin_redirection");
-
-    /* get a handle to stdin */
-#ifdef HAVE_WINDOWS_H
-    result = smpd_make_socket_loop((SOCKET*)&stdin_fd, &hWrite);
-    if (result)
-    {
-	smpd_err_printf("Unable to make a local socket loop to forward stdin.\n");
-	smpd_exit_fn("setup_stdin_redirection");
-	return SMPD_FAIL;
-    }
-#else
-    stdin_fd = fileno(stdin);
-#endif
-
-    /* convert the native handle to a sock */
-    result = SMPDU_Sock_native_to_sock(set, stdin_fd, NULL, &insock);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create a sock from stdin,\nsock error: %s\n", get_sock_error_string(result));
-	smpd_exit_fn("setup_stdin_redirection");
-	return SMPD_FAIL;
-    }
-    /* create a context for reading from stdin */
-    result = smpd_create_context(SMPD_CONTEXT_MPIEXEC_STDIN_RSH, set, insock, -1, &context_in);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create a context for stdin.\n");
-	smpd_exit_fn("setup_stdin_redirection");
-	return SMPD_FAIL;
-    }
-    SMPDU_Sock_set_user_ptr(insock, context_in);
-    context_in->process = process;
-
-#ifdef HAVE_WINDOWS_H
-    /* unfortunately, we cannot use stdin directly as a sock.  So, use a thread to read and forward
-    stdin to a sock */
-    smpd_process.hCloseStdinThreadEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
-    if (smpd_process.hCloseStdinThreadEvent == NULL)
-    {
-	smpd_err_printf("Unable to create the stdin thread close event, error %d\n", GetLastError());
-	smpd_exit_fn("setup_stdin_redirection");
-	return SMPD_FAIL;
-    }
-    smpd_process.hStdinThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)smpd_stdin_thread, (void*)hWrite, 0, &dwThreadID);
-    if (smpd_process.hStdinThread == NULL)
-    {
-	smpd_err_printf("Unable to create a thread to read stdin, error %d\n", GetLastError());
-	smpd_exit_fn("setup_stdin_redirection");
-	return SMPD_FAIL;
-    }
-#endif
-    /* set this variable first before posting the first read to avoid a race condition? */
-    smpd_process.stdin_redirecting = SMPD_TRUE;
-    /* post a read for a user command from stdin */
-    context_in->read_state = SMPD_READING_STDIN;
-    result = SMPDU_Sock_post_read(insock, context_in->read_cmd.cmd, 1, 1, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a read on stdin for an incoming user command, error:\n%s\n",
-	    get_sock_error_string(result));
-	smpd_exit_fn("setup_stdin_redirection");
-	return SMPD_FAIL;
-    }
-    smpd_exit_fn("setup_stdin_redirection");
-    return SMPD_SUCCESS;
-}
-
-#ifdef HAVE_WINDOWS_H
-BOOL WINAPI mpiexec_rsh_handler(DWORD type)
-{
-    static int first = 1;
-    char ch = -1;
-    SMPDU_Size_t num_written;
-
-    switch (type)
-    {
-    case CTRL_LOGOFF_EVENT:
-	break;
-    case CTRL_C_EVENT:
-    case CTRL_BREAK_EVENT:
-    case CTRL_CLOSE_EVENT:
-    case CTRL_SHUTDOWN_EVENT:
-	if (smpd_process.timeout_sock != SMPDU_SOCK_INVALID_SOCK)
-	{
-	    if (first == 1)
-	    {
-		first = 0;
-		SMPDU_Sock_write(smpd_process.timeout_sock, &ch, 1, &num_written);
-		return TRUE;
-	    }
-	}
-	if (smpd_process.hCloseStdinThreadEvent)
-	{
-	    SetEvent(smpd_process.hCloseStdinThreadEvent);
-	}
-	if (smpd_process.hStdinThread != NULL)
-	{
-	    /* close stdin so the input thread will exit */
-	    CloseHandle(GetStdHandle(STD_INPUT_HANDLE));
-	    if (WaitForSingleObject(smpd_process.hStdinThread, 3000) != WAIT_OBJECT_0)
-	    {
-		TerminateThread(smpd_process.hStdinThread, 321);
-	    }
-	    CloseHandle(smpd_process.hStdinThread);
-	}
-	/*
-	if (smpd_process.hCloseStdinThreadEvent)
-	{
-	    CloseHandle(smpd_process.hCloseStdinThreadEvent);
-	    smpd_process.hCloseStdinThreadEvent = NULL;
-	}
-	*/
-	smpd_exit(-1);
-	return TRUE;
-    }
-    return FALSE;
-}
-#endif
-
-static int ConnectToHost(char *host, int port, smpd_state_t state, SMPDU_Sock_set_t set, SMPDU_Sock_t *sockp, smpd_context_t **contextpp)
-{
-    int result;
-    char error_msg[SMPD_MAX_ERROR_LEN];
-    int len;
-
-    /*printf("posting a connect to %s:%d\n", host, port);fflush(stdout);*/
-    result = smpd_create_context(SMPD_CONTEXT_PMI, set, SMPDU_SOCK_INVALID_SOCK/**sockp*/, -1, contextpp);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("ConnectToHost failed: unable to create a context to connect to %s:%d with.\n", host, port);
-	return SMPD_FAIL;
-    }
-
-    result = SMPDU_Sock_post_connect(set, *contextpp, host, port, sockp);
-    if (result != SMPD_SUCCESS)
-    {
-	len = SMPD_MAX_ERROR_LEN;
-	PMPI_Error_string(result, error_msg, &len);
-	smpd_err_printf("ConnectToHost failed: unable to post a connect to %s:%d, error: %s\n", host, port, error_msg);
-	return SMPD_FAIL;
-    }
-
-    (*contextpp)->sock = *sockp;
-    (*contextpp)->state = state;
-
-    result = smpd_enter_at_state(set, state);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("ConnectToHost failed: unable to connect to %s:%d.\n", host, port);
-	return SMPD_FAIL;
-    }
-
-    return SMPD_SUCCESS;
-}
-
-#ifdef HAVE_WINDOWS_H
-#define popen _popen
-#define pclose _pclose
-#endif
-static FILE *pmi_server = NULL;
-static int start_pmi_server(int nproc, char *host, int len, int *port)
-{
-    char cmd[100];
-    char line[1024];
-    char *argv0 = NULL;
-
-    if (smpd_process.mpiexec_argv0 != NULL)
-    {
-	argv0 = smpd_process.mpiexec_argv0;
-    }
-    sprintf(cmd, "%s -pmiserver %d", argv0, nproc);
-    pmi_server = popen(cmd, "r");
-    if (pmi_server == NULL)
-    {
-	smpd_err_printf("popen failed: %d\n", errno);
-	return SMPD_FAIL;
-    }
-    fgets(line, 1024, pmi_server);
-    strtok(line, "\r\n");
-    strncpy(host, line, len);
-    /*printf("read host: %s\n", host);*/
-    fgets(line, 1024, pmi_server);
-    *port = atoi(line);
-    /*printf("read port: %d\n", *port);*/
-    fgets(line, 1024, pmi_server);
-    strtok(line, "\r\n");
-    strncpy(smpd_process.kvs_name, line, SMPD_MAX_DBS_NAME_LEN);
-    /*printf("read kvs: %s\n", smpd_process.kvs_name);*/
-    return SMPD_SUCCESS;
-}
-
-static int stop_pmi_server()
-{
-    if (pmi_server != NULL)
-    {
-	if (pclose(pmi_server) == -1)
-	{
-	    smpd_err_printf("pclose failed: %d\n", errno);
-	    return SMPD_FAIL;
-	}
-    }
-    return SMPD_SUCCESS;
-}
-
-#ifdef HAVE_WINDOWS_H
-    #define PROCESS_HANDLE_TYPE    HANDLE
-    #define PROCESS_INVALID_HANDLE    NULL
-    #define PROCESS_HANDLE_GET_PID(hnd)   (GetProcessId(hnd))
-    #define PROCESS_HANDLE_SET_PID(hnd, pid)
-#else
-    #define PROCESS_HANDLE_TYPE    int
-    #define PROCESS_INVALID_HANDLE    -1
-    #define PROCESS_HANDLE_GET_PID(hnd)   (hnd)
-    #define PROCESS_HANDLE_SET_PID(hnd, pid)    (hnd = pid)
-#endif
-
-/* Arg sent to the root smpd thread/process */
-typedef struct mpiexec_rsh_rsmpd_args{
-#ifdef HAVE_WINDOWS_H
-    /* Event is signalled by root smpd thread after filling in reqd data */
-    HANDLE hRootSMPDRdyEvent;
-    int *pRootPort;
-#else
-    /* Pipe used by root smpd proc to write back the port/KVS name */
-    int pipe_fd;
-#endif
-}mpiexec_rsh_rsmpd_args_t;
-
-/* FIXME: Why is this func defined here ? 
- * - shouldn't this be in smpd_util*.lib ?
- */
-static int root_smpd(void *p)
-{
-    int result;
-    SMPDU_Sock_set_t set;
-    SMPDU_Sock_t listener;
-    mpiexec_rsh_rsmpd_args_t *pArgs = NULL;
-    smpd_process_group_t *pg;
-    int i, rootPort;
-#ifndef HAVE_WINDOWS_H
-    int send_kvs = 0;
-    int pipe_fd;
-#endif
-
-
-    pArgs = (mpiexec_rsh_rsmpd_args_t *)p;
-    if(!pArgs){
-        smpd_err_printf("Invalid args - NULL - to root smpd\n");
-        return SMPD_FAIL;
-    }
-    smpd_process.id = 1;
-    smpd_process.root_smpd = SMPD_FALSE;
-    smpd_process.map0to1 = SMPD_TRUE;
-
-    result = SMPDU_Sock_create_set(&set);
-    if (result != SMPD_SUCCESS){
-	    smpd_err_printf("SMPDU_Sock_create_set failed.\n");
-	    return SMPD_FAIL;
-    }
-    smpd_process.set = set;
-    smpd_dbg_printf("created a set for the listener: %d\n", SMPDU_Sock_get_sock_set_id(set));
-    result = SMPDU_Sock_listen(set, NULL, &rootPort, &listener); 
-    if (result != SMPD_SUCCESS){
-	    smpd_err_printf("SMPDU_Sock_listen failed.\n");
-	    return SMPD_FAIL;
-    }
-    smpd_dbg_printf("smpd listening on port %d\n", rootPort);
-
-    result = smpd_create_context(SMPD_CONTEXT_LISTENER, set, listener, -1, &smpd_process.listener_context);
-    if (result != SMPD_SUCCESS){
-	    smpd_err_printf("unable to create a context for the smpd listener.\n");
-	    return SMPD_FAIL;
-    }
-
-    result = SMPDU_Sock_set_user_ptr(listener, smpd_process.listener_context);
-    if (result != SMPD_SUCCESS){
-	    smpd_err_printf("SMPDU_Sock_set_user_ptr failed.\n");
-	    return SMPD_FAIL;
-    }
-    smpd_process.listener_context->state = SMPD_SMPD_LISTENING;
-
-    smpd_dbs_init();
-    smpd_process.have_dbs = SMPD_TRUE;
-    if (smpd_process.kvs_name[0] != '\0'){
-	    result = smpd_dbs_create_name_in(smpd_process.kvs_name);
-    }
-    else{
-	    result = smpd_dbs_create(smpd_process.kvs_name);
-#ifndef HAVE_WINDOWS_H
-	    send_kvs = 1;
-#endif
-    }
-    if (result != SMPD_DBS_SUCCESS){
-	    smpd_err_printf("unable to create a kvs database: name = <%s>.\n", smpd_process.kvs_name);
-	    return SMPD_FAIL;
-    }
-
-    /* Set up the process group */
-    /* initialize a new process group structure */
-    pg = (smpd_process_group_t*)MPIU_Malloc(sizeof(smpd_process_group_t));
-    if (pg == NULL){
-	    smpd_err_printf("unable to allocate memory for a process group structure.\n");
-	    return SMPD_FAIL;
-    }
-
-    pg->aborted = SMPD_FALSE;
-    pg->any_init_received = SMPD_FALSE;
-    pg->any_noinit_process_exited = SMPD_FALSE;
-    strncpy(pg->kvs, smpd_process.kvs_name, SMPD_MAX_DBS_NAME_LEN);
-    pg->num_procs = smpd_process.nproc;
-    pg->processes = (smpd_exit_process_t*)MPIU_Malloc(smpd_process.nproc * sizeof(smpd_exit_process_t));
-    if (pg->processes == NULL){
-	    smpd_err_printf("unable to allocate an array of %d process exit structures.\n", smpd_process.nproc);
-	    return SMPD_FAIL;
-    }
-    for (i=0; i<smpd_process.nproc; i++){
-	    pg->processes[i].ctx_key[0] = '\0';
-	    pg->processes[i].errmsg = NULL;
-	    pg->processes[i].exitcode = -1;
-	    pg->processes[i].exited = SMPD_FALSE;
-	    pg->processes[i].finalize_called = SMPD_FALSE;
-	    pg->processes[i].init_called = SMPD_FALSE;
-	    pg->processes[i].node_id = i+1;
-	    pg->processes[i].host[0] = '\0';
-	    pg->processes[i].suspended = SMPD_FALSE;
-	    pg->processes[i].suspend_cmd = NULL;
-    }
-    /* add the process group to the global list */
-    pg->next = smpd_process.pg_list;
-    smpd_process.pg_list = pg;
-
-#ifdef HAVE_WINDOWS_H
-    *(pArgs->pRootPort) = rootPort;
-    SetEvent(pArgs->hRootSMPDRdyEvent);
-#else
-    if (p != NULL){
-	    /*pipe_fd = *(int*)p;*/
-        pipe_fd = pArgs->pipe_fd;
-	    /* send the root port back over the pipe */
-	    writebuf(pipe_fd, &rootPort, sizeof(int));
-	    if (send_kvs){
-	        writebuf(pipe_fd, smpd_process.kvs_name, SMPD_MAX_DBS_NAME_LEN);
-	    }  
-	    close(pipe_fd);
-    }
-#endif
-
-    result = smpd_enter_at_state(set, SMPD_SMPD_LISTENING);
-    if (result != SMPD_SUCCESS){
-	    smpd_err_printf("root_smpd state machine failed.\n");
-	    return SMPD_FAIL;
-    }
-
-    result = SMPDU_Sock_destroy_set(set);
-    if (result != SMPD_SUCCESS){
-	    smpd_err_printf("unable to destroy the set (result = %d)\n", result);
-    }
-
-    return SMPD_SUCCESS;
-}
-
-static int start_root_smpd(char *host, int len, int *port, PROCESS_HANDLE_TYPE *pHnd)
-{
-    mpiexec_rsh_rsmpd_args_t rsmpdArgs;
-#ifdef HAVE_WINDOWS_H
-    DWORD dwLength = len;
-#else
-    int pipe_fd[2];
-    int result;
-#endif
-    if(!host){
-        smpd_err_printf("Invalid host name - NULL - provided\n");
-        return SMPD_FAIL;
-    }
-    if(len <= 0){
-        smpd_err_printf("Invalid host name length (%d) provided\n", len);
-        return SMPD_FAIL;
-    }
-    if(!port){
-        smpd_err_printf("Invalid port - NULL - provided\n");
-        return SMPD_FAIL;
-    }
-    if(!pHnd){
-        smpd_err_printf("Invalid pointer to process handle - NULL - provided\n");
-        return SMPD_FAIL;
-    }
-
-#ifdef HAVE_WINDOWS_H
-    if(!(rsmpdArgs.hRootSMPDRdyEvent = CreateEvent(NULL, TRUE, FALSE, NULL))){
-    	smpd_err_printf("unable to create the root listener synchronization event, error: %d\n", 
-            GetLastError());
-	    return SMPD_FAIL;
-    }
-    rsmpdArgs.pRootPort = port;
-    /* FIXME: Do we need a generic handle type for smpd thread/proc ? */
-    if(!(*pHnd = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)root_smpd, &rsmpdArgs, 0, NULL))){
-	    smpd_err_printf("unable to create the root listener thread: error %d\n", GetLastError());
-	    return SMPD_FAIL;
-    }
-    /* Wait for 1 minute for root smpd thread to start */
-    if (WaitForSingleObject(rsmpdArgs.hRootSMPDRdyEvent, 60000) != WAIT_OBJECT_0){
-	    smpd_err_printf("the root process thread failed to initialize.\n");
-	    return SMPD_FAIL;
-    }
-    CloseHandle(rsmpdArgs.hRootSMPDRdyEvent);
-    /*GetComputerName(host, &dwLength);*/
-    GetComputerNameEx(ComputerNameDnsFullyQualified, host, &dwLength);
-#else
-    pipe(pipe_fd);
-    result = fork();
-    if (result == -1){
-	    smpd_err_printf("unable to fork the root listener, errno %d\n", errno);
-	    return SMPD_FAIL;
-    }
-    if (result == 0){
-        /* child process */
-	    close(pipe_fd[0]); /* close the read end of the pipe */
-        rsmpdArgs.pipe_fd = pipe_fd[1];
-	    result = root_smpd(&rsmpdArgs);
-	    exit(result);
-    }
-    /* parent process */
-    PROCESS_HANDLE_SET_PID(*pHnd, result);
-
-    /* close the write end of the pipe */
-    close(pipe_fd[1]);
-    /* read the port from the root_smpd process */
-    readbuf(pipe_fd[0], port, sizeof(int));
-    /* read the kvs name */
-    readbuf(pipe_fd[0], smpd_process.kvs_name, SMPD_MAX_DBS_NAME_LEN);
-    /* close the read end of the pipe */
-    close(pipe_fd[0]);
-    gethostname(host, len);
-#endif
-    return SMPD_SUCCESS;
-}
-
-static int stop_root_smpd(PROCESS_HANDLE_TYPE hnd)
-{
-#ifdef HAVE_WINDOWS_H
-    DWORD result;
-#else
-    int status;
-#endif
-
-#ifdef HAVE_WINDOWS_H
-    result = WaitForSingleObject(hnd, INFINITE);
-    if (result != WAIT_OBJECT_0){
-        smpd_err_printf("Error waiting for root smpd to stop\n");
-	    return SMPD_FAIL;
-    }
-#else
-    kill(PROCESS_HANDLE_GET_PID(hnd), SIGKILL);
-    /*
-    if (waitpid(PROCESS_HANDLE_GET_PID(hnd), &status, WUNTRACED) == -1)
-    {
-	return SMPD_FAIL;
-    }
-    */
-#endif
-    return SMPD_SUCCESS;
-}
-
-int mpiexec_rsh()
-{
-    int i;
-    smpd_launch_node_t *launch_node_ptr;
-    smpd_process_t *process, **processes;
-    int result;
-    char *iter1, *iter2;
-    char exe[SMPD_MAX_EXE_LENGTH];
-    char *p;
-    char ssh_cmd[100] = "ssh -x";
-    SMPDU_Sock_set_t set;
-    SMPD_BOOL escape_escape = SMPD_TRUE;
-    char *env_str;
-    int maxlen;
-    SMPDU_Sock_t abort_sock;
-    smpd_context_t *abort_context = NULL;
-    smpd_command_t *cmd_ptr;
-    PROCESS_HANDLE_TYPE hnd;
-
-    smpd_enter_fn("mpiexec_rsh");
-
-#ifdef HAVE_WINDOWS_H
-    SetConsoleCtrlHandler(mpiexec_rsh_handler, TRUE);
-#else
-    /* setup a signall hander? */
-#endif
-
-    p = getenv("MPIEXEC_RSH");
-    if (p != NULL && strlen(p) > 0){
-	    strncpy(ssh_cmd, p, 100);
-    }
-
-    p = getenv("MPIEXEC_RSH_NO_ESCAPE");
-    if (p != NULL){
-	    if (smpd_is_affirmative(p) || strcmp(p, "1") == 0){
-	        escape_escape = SMPD_FALSE;
-	    }
-    }
-
-    result = SMPDU_Sock_create_set(&set);
-    if (result != SMPD_SUCCESS){
-	    smpd_err_printf("unable to create a set for the mpiexec_rsh.\n");
-	    smpd_exit_fn("mpiexec_rsh");
-	    return SMPD_FAIL;
-    }
-
-    smpd_process.nproc = smpd_process.launch_list->nproc;
-
-    if (smpd_process.use_pmi_server){
-	    result = start_pmi_server(smpd_process.launch_list->nproc, root_host, 100, &root_port);
-	    if (result != SMPD_SUCCESS){
-	        smpd_err_printf("mpiexec_rsh is unable to start the local pmi server.\n");
-	        smpd_exit_fn("mpiexec_rsh");
-	        return SMPD_FAIL;
-	    }
-	    smpd_dbg_printf("the pmi server is listening on %s:%d\n", root_host, root_port);
-    }
-    else{
-	    /* start the root smpd */
-	    result = start_root_smpd(root_host, SMPD_MAX_HOST_LENGTH, &root_port, &hnd);
-	    if (result != SMPD_SUCCESS){
-		    smpd_err_printf("mpiexec_rsh is unable to start the root smpd.\n");
-		    smpd_exit_fn("mpiexec_rsh");
-		    return SMPD_FAIL;
-	    }
-	    smpd_dbg_printf("the root smpd is listening on %s:%d\n", root_host, root_port);
-
-	    /* create a connection to the root smpd used to abort the job */
-	    result = ConnectToHost(root_host, root_port, SMPD_CONNECTING_RPMI, set, &abort_sock, &abort_context);
-	    if (result != SMPD_SUCCESS){
-	        smpd_exit_fn("mpiexec_rsh");
-	        return SMPD_FAIL;
-	    }
-    }
-
-    processes = (smpd_process_t**)MPIU_Malloc(sizeof(smpd_process_t*) * smpd_process.launch_list->nproc);
-    if (processes == NULL){
-	    smpd_err_printf("unable to allocate process array.\n");
-	    smpd_exit_fn("mpiexec_rsh");
-	    return SMPD_FAIL;
-    }
-
-    launch_node_ptr = smpd_process.launch_list;
-    for (i=0; i<smpd_process.launch_list->nproc; i++){
-	    if (launch_node_ptr == NULL){
-		    smpd_err_printf("Error: not enough launch nodes.\n");
-		    smpd_exit_fn("mpiexec_rsh");
-		    return SMPD_FAIL;
-	    }
-
-	    /* initialize process structure */
-	    result = smpd_create_process_struct(i, &process);
-	    if (result != SMPD_SUCCESS){
-		    smpd_err_printf("unable to create a process structure.\n");
-		    smpd_exit_fn("mpiexec_rsh");
-		    return SMPD_FAIL;
-	    }
-	    /* no need for a pmi context */
-	    if (process->pmi){
-		    smpd_free_context(process->pmi);
-        }
-	    process->pmi = NULL;
-	    /* change stdout and stderr to rsh behavior: 
-	     * write stdout/err directly to stdout/err instead of creating
-	     * an smpd stdout/err command 
-	     */
-	    if (process->out != NULL){
-	        process->out->type = SMPD_CONTEXT_STDOUT_RSH;
-	    }
-	    if (process->err != NULL){
-	        process->err->type = SMPD_CONTEXT_STDERR_RSH;
-	    }
-	    MPIU_Strncpy(process->clique, launch_node_ptr->clique, SMPD_MAX_CLIQUE_LENGTH);
-	    MPIU_Strncpy(process->dir, launch_node_ptr->dir, SMPD_MAX_DIR_LENGTH);
-	    MPIU_Strncpy(process->domain_name, smpd_process.kvs_name, SMPD_MAX_DBS_NAME_LEN);
-	    MPIU_Strncpy(process->env, launch_node_ptr->env, SMPD_MAX_ENV_LENGTH);
-	    if (escape_escape == SMPD_TRUE && smpd_process.mpiexec_run_local != SMPD_TRUE){
-		    /* convert \ to \\ to make cygwin ssh happy */
-		    iter1 = launch_node_ptr->exe;
-		    iter2 = exe;
-		    while (*iter1){
-			    if (*iter1 == '\\'){
-				    *iter2 = *iter1;
-				    iter2++;
-				    *iter2 = *iter1;
-			    }
-			    else{
-				    *iter2 = *iter1;
-			    }
-			    iter1++;
-			    iter2++;
-		    }
-		    *iter2 = '\0';
-		    /*printf("[%s] -> [%s]\n", launch_node_ptr->exe, exe);*/
-	    }
-	    else{
-	        MPIU_Strncpy(exe, launch_node_ptr->exe, SMPD_MAX_EXE_LENGTH);
-	    }
-
-	    /* Two samples for testing on the local machine */
-
-	    /* static rPMI initialization */
-	    /*sprintf(process->exe, "env PMI_RANK=%d PMI_SIZE=%d PMI_KVS=%s PMI_ROOT_HOST=%s PMI_ROOT_PORT=8888 PMI_ROOT_LOCAL=1 PMI_APPNUM=%d %s",
-		    launch_node_ptr->iproc, launch_node_ptr->nproc, smpd_process.kvs_name, root_host, launch_node_ptr->appnum, exe);*/
-
-	    /* dynamic rPMI initialization */
-	    /*sprintf(process->exe, "env PMI_RANK=%d PMI_SIZE=%d PMI_KVS=%s PMI_ROOT_HOST=%s PMI_ROOT_PORT=%d PMI_ROOT_LOCAL=0 PMI_APPNUM=%d %s",
-		    launch_node_ptr->iproc, launch_node_ptr->nproc, smpd_process.kvs_name, root_host, root_port, launch_node_ptr->appnum, exe);*/
-
-	    if (smpd_process.mpiexec_run_local == SMPD_TRUE){
-		    /* -localonly option and dynamic rPMI initialization */
-		    env_str = &process->env[strlen(process->env)];
-		    maxlen = (int)(SMPD_MAX_ENV_LENGTH - strlen(process->env));
-		    MPIU_Str_add_int_arg(&env_str, &maxlen, "PMI_RANK", launch_node_ptr->iproc);
-		    MPIU_Str_add_int_arg(&env_str, &maxlen, "PMI_SIZE", launch_node_ptr->nproc);
-		    MPIU_Str_add_string_arg(&env_str, &maxlen, "PMI_KVS", smpd_process.kvs_name);
-		    MPIU_Str_add_string_arg(&env_str, &maxlen, "PMI_ROOT_HOST", root_host);
-		    MPIU_Str_add_int_arg(&env_str, &maxlen, "PMI_ROOT_PORT", root_port);
-		    MPIU_Str_add_string_arg(&env_str, &maxlen, "PMI_ROOT_LOCAL", "0");
-		    MPIU_Str_add_int_arg(&env_str, &maxlen, "PMI_APPNUM", launch_node_ptr->appnum);
-		    MPIU_Strncpy(process->exe, exe, SMPD_MAX_EXE_LENGTH);
-    	}
-	    else{
-		    /* ssh and dynamic rPMI initialization */
-			    char fmtEnv[SMPD_MAX_ENV_LENGTH];
-		    int fmtEnvLen = SMPD_MAX_ENV_LENGTH;
-		    char *pExe = process->exe;
-		    int curLen = 0;
-		    MPIU_Snprintf(pExe, SMPD_MAX_EXE_LENGTH, "%s %s env", ssh_cmd, launch_node_ptr->hostname);
-		    curLen = strlen(process->exe);
-		    pExe = process->exe + curLen;
-			if(FmtEnvVarsForSSH(launch_node_ptr->env, fmtEnv, fmtEnvLen)){
-			    /* Add user specified env vars */
-			    MPIU_Snprintf(pExe, SMPD_MAX_EXE_LENGTH - curLen, "%s", fmtEnv);
-			    curLen = strlen(process->exe);
-			    pExe = process->exe + curLen;
-		    }
-		    MPIU_Snprintf(pExe, SMPD_MAX_EXE_LENGTH - curLen, " \"PMI_RANK=%d\" \"PMI_SIZE=%d\" \"PMI_KVS=%s\" \"PMI_ROOT_HOST=%s\" \"PMI_ROOT_PORT=%d\" \"PMI_ROOT_LOCAL=0\" \"PMI_APPNUM=%d\" %s",
-		    launch_node_ptr->iproc, launch_node_ptr->nproc, smpd_process.kvs_name, root_host, root_port, launch_node_ptr->appnum, exe);
-	    }
-
-	    MPIU_Strncpy(process->kvs_name, smpd_process.kvs_name, SMPD_MAX_DBS_NAME_LEN);
-	    process->nproc = launch_node_ptr->nproc;
-	    MPIU_Strncpy(process->path, launch_node_ptr->path, SMPD_MAX_PATH_LENGTH);
-
-	    /* call smpd_launch_process */
-	    smpd_dbg_printf("launching: %s\n", process->exe);
-	    result = smpd_launch_process(process, SMPD_DEFAULT_PRIORITY_CLASS, SMPD_DEFAULT_PRIORITY, SMPD_FALSE, set);
-	    if (result != SMPD_SUCCESS){
-		    smpd_err_printf("unable to launch process %d <%s>.\n", i, process->exe);
-		    smpd_exit_fn("mpiexec_rsh");
-		    return SMPD_FAIL;
-	    }
-	    /* save the new process in the list */
-	    process->next = smpd_process.process_list;
-	    smpd_process.process_list = process;
-	    if (i == 0){
-		    /* start the stdin redirection thread to the first process */
-		    setup_stdin_redirection(process, set);
-	    }
-
-	    smpd_process.nproc_launched++;
-	    processes[i] = process;
-	    launch_node_ptr = launch_node_ptr->next;
-    } /* for (i=0; i<smpd_process.launch_list->nproc; i++) */
-    
-    if (launch_node_ptr != NULL){
-	    smpd_err_printf("Error: too many launch nodes.\n");
-	    smpd_exit_fn("mpiexec_rsh");
-	    return SMPD_FAIL;
-    }
-
-    /* Start the timeout mechanism if specified */
-    if (smpd_process.timeout > 0){
-	    smpd_context_t *reader_context;
-	    SMPDU_Sock_t sock_reader;
-	    SMPDU_SOCK_NATIVE_FD reader, writer;
-#ifdef HAVE_WINDOWS_H
-	    /*SOCKET reader, writer;*/
-	    smpd_make_socket_loop((SOCKET*)&reader, (SOCKET*)&writer);
-#else
-	    /*int reader, writer;*/
-	    int pair[2];
-	    socketpair(AF_UNIX, SOCK_STREAM, 0, pair);
-	    reader = pair[0];
-	    writer = pair[1];
-#endif
-	    result = SMPDU_Sock_native_to_sock(set, reader, NULL, &sock_reader);
-	    result = SMPDU_Sock_native_to_sock(set, writer, NULL, &smpd_process.timeout_sock);
-	    result = smpd_create_context(SMPD_CONTEXT_TIMEOUT, set, sock_reader, -1, &reader_context);
-	    reader_context->read_state = SMPD_READING_TIMEOUT;
-	    result = SMPDU_Sock_post_read(sock_reader, &reader_context->read_cmd.cmd, 1, 1, NULL);
-#ifdef HAVE_WINDOWS_H
-	    /* create a Windows thread to sleep until the timeout expires */
-	    smpd_process.timeout_thread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)timeout_thread, NULL, 0, NULL);
-	    if (smpd_process.timeout_thread == NULL){
-		    printf("Error: unable to create a timeout thread, errno %d.\n", GetLastError());
-		    smpd_exit_fn("mp_parse_command_args");
-		    return SMPD_FAIL;
-	    }
-#else /* HAVE_WINDOWS_H */
-#ifdef SIGALRM
-	    /* create an alarm to signal mpiexec when the timeout expires */
-	    smpd_signal(SIGALRM, timeout_function);
-	    alarm(smpd_process.timeout);
-#else /* SIGALARM */
-#ifdef HAVE_PTHREAD_H
-	    /* create a pthread to sleep until the timeout expires */
-	    result = pthread_create(&smpd_process.timeout_thread, NULL, timeout_thread, NULL);
-	    if (result != 0){
-		    printf("Error: unable to create a timeout thread, errno %d.\n", result);
-		    smpd_exit_fn("mp_parse_command_args");
-		    return SMPD_FAIL;
-	    }
-#else /* HAVE_PTHREAD_H */
-	/* no timeout mechanism available */
-#endif /* HAVE_PTHREAD_H */
-#endif /* SIGALARM */
-#endif /* HAVE_WINDOWS_H */
-    } /* if (smpd_process.timeout > 0) */
-
-    result = smpd_enter_at_state(set, SMPD_IDLE);
-    if (result != SMPD_SUCCESS){
-	    smpd_err_printf("mpiexec_rsh state machine failed.\n");
-	    smpd_exit_fn("mpiexec_rsh");
-	    return SMPD_FAIL;
-    }
-
-    if (smpd_process.use_pmi_server){
-	    result = stop_pmi_server();
-	    if (result != SMPD_SUCCESS){
-		    smpd_err_printf("mpiexec_rsh unable to stop the pmi server.\n");
-		    smpd_exit_fn("mpiexec_rsh");
-		    return SMPD_FAIL;
-	    }
-    }
-    else{
-	    /* Send an abort command to the root_smpd thread/process to insure that it exits.
-	     * This only needs to be sent when there is an error or failed process of some sort
-	     * but it is safe to send it in all cases.
-	     */
-	    result = smpd_create_command("abort", 0, 0, SMPD_FALSE, &cmd_ptr);
-	    if (result != SMPD_SUCCESS){
-		    smpd_err_printf("unable to create an abort command.\n");
-		    smpd_exit_fn("mpiexec_rsh");
-		    return SMPD_FAIL;
-	    }
-	    result = smpd_post_write_command(abort_context, cmd_ptr);
-	    if (result != SMPD_SUCCESS){
-		    /* Only print this as a debug message instead of an error because the root_smpd thread/process may have already exited. */
-		    smpd_dbg_printf("unable to post a write of the abort command to the %s context.\n", smpd_get_context_str(abort_context));
-		    smpd_exit_fn("mpiexec_rsh");
-		    return SMPD_FAIL;
-	    }
-
-	    result = stop_root_smpd(hnd);
-	    if (result != PMI_SUCCESS){
-		    smpd_err_printf("mpiexec_rsh unable to stop the root smpd.\n");
-		    smpd_exit_fn("mpiexec_rsh");
-		    return SMPD_FAIL;
-	    }
-    }
-
-    smpd_exit_fn("mpiexec_rsh");
-    return 0;
-}
diff --git a/src/pm/smpd/resource.h b/src/pm/smpd/resource.h
deleted file mode 100644
index a74b344..0000000
--- a/src/pm/smpd/resource.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-//{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
-// Used by smpd.rc
-
-// Next default values for new objects
-// 
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE        101
-#define _APS_NEXT_COMMAND_VALUE         40001
-#define _APS_NEXT_CONTROL_VALUE         1001
-#define _APS_NEXT_SYMED_VALUE           101
-#endif
-#endif
diff --git a/src/pm/smpd/resource1.h b/src/pm/smpd/resource1.h
deleted file mode 100644
index 6cea344..0000000
--- a/src/pm/smpd/resource1.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-//{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
-// Used by mpiexec.rc
-
-// Next default values for new objects
-// 
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE        101
-#define _APS_NEXT_COMMAND_VALUE         40001
-#define _APS_NEXT_CONTROL_VALUE         1001
-#define _APS_NEXT_SYMED_VALUE           101
-#endif
-#endif
diff --git a/src/pm/smpd/smpd.c b/src/pm/smpd/smpd.c
deleted file mode 100644
index 8706367..0000000
--- a/src/pm/smpd/smpd.c
+++ /dev/null
@@ -1,362 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include "smpd.h"
-#include "mpi.h"
-/*
-#include "smpd_implthread.h"
-*/
-#ifdef HAVE_WINDOWS_H
-#include "smpd_service.h"
-#endif
-#ifdef HAVE_SIGNAL_H
-#include <signal.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-#ifdef HAVE_FCNTL_H
-#include <fcntl.h>
-#endif
-
-#undef FCNAME
-#define FCNAME "main"
-int main(int argc, char* argv[])
-{
-    int result;
-#ifdef HAVE_WINDOWS_H
-    SERVICE_TABLE_ENTRY dispatchTable[] =
-    {
-        { TEXT(SMPD_SERVICE_NAME), (LPSERVICE_MAIN_FUNCTION)smpd_service_main },
-        { NULL, NULL }
-    };
-#else
-    char smpd_filename[SMPD_MAX_FILENAME] = "";
-    char response[100] = "no";
-    char *homedir;
-#endif
-
-    smpd_enter_fn(FCNAME);
-
-    /* FIXME: Get rid of this hack - we already create 
-     * local KVS for all singleton clients by default
-     */
-    /* initialization */
-    putenv("PMI_SMPD_FD=0");
-    
-    result = PMPI_Init(&argc, &argv);
-    
-    /* SMPD_CS_ENTER(); */
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("SMPD_Init failed,\n error: %d\n", result);
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-
-
-    result = SMPDU_Sock_init();
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("SMPDU_Sock_init failed,\nsock error: %s\n", get_sock_error_string(result));
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-
-    result = smpd_init_process();
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("smpd_init_process failed.\n");
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-
-    /* parse the command line */
-    result = smpd_parse_command_args(&argc, &argv);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("Unable to parse the command arguments.\n");
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-
-#ifdef HAVE_WINDOWS_H
-    if (smpd_process.bService)
-    {
-	/*
-	printf( "\nStartServiceCtrlDispatcher being called.\n" );
-	printf( "This may take several seconds.  Please wait.\n" );
-	fflush(stdout);
-	*/
-
-	/* If StartServiceCtrlDispatcher returns true the service has exited */
-	result = StartServiceCtrlDispatcher(dispatchTable);
-	if (result)
-	{
-	    smpd_exit_fn(FCNAME);
-	    smpd_exit(0);
-	}
-
-	result = GetLastError();
-	if (result != ERROR_FAILED_SERVICE_CONTROLLER_CONNECT)
-	{
-	    smpd_add_error_to_message_log(TEXT("StartServiceCtrlDispatcher failed."));
-	    smpd_exit_fn(FCNAME);
-	    smpd_exit(0);
-	}
-	smpd_print_options();
-	smpd_exit_fn(FCNAME);
-	smpd_exit(0);
-    }
-    /*
-    printf("\nRunning smpd from the console, not as a service.\n");
-    fflush(stdout);
-    smpd_process.bService = SMPD_FALSE;
-    */
-#endif
-
-    if (smpd_process.passphrase[0] == '\0')
-	smpd_get_smpd_data("phrase", smpd_process.passphrase, SMPD_PASSPHRASE_MAX_LENGTH);
-    if (smpd_process.passphrase[0] == '\0')
-    {
-	if (smpd_process.noprompt)
-	{
-	    printf("Error: No smpd passphrase specified through the registry or .smpd file, exiting.\n");
-	    smpd_exit_fn(FCNAME);
-	    return -1;
-	}
-	printf("Please specify an authentication passphrase for this smpd: ");
-	fflush(stdout);
-	smpd_get_password(smpd_process.passphrase);
-#ifndef HAVE_WINDOWS_H
-	homedir = getenv("HOME");
-	if(homedir != NULL){
-	    strcpy(smpd_filename, homedir);
-	    if (smpd_filename[strlen(smpd_filename)-1] != '/')
-	        strcat(smpd_filename, "/.smpd");
-	    else
-	        strcat(smpd_filename, ".smpd");
-	}else{
-	    strcpy(smpd_filename, ".smpd");
-	}
-	printf("Would you like to save this passphrase in '%s'? ", smpd_filename);
-	fflush(stdout);
-	fgets(response, 100, stdin);
-	if (smpd_is_affirmative(response))
-	{
-	    FILE *fout;
-	    umask(0077);
-	    fout = fopen(smpd_filename, "w");
-	    if (fout == NULL)
-	    {
-		printf("Error: unable to open '%s', errno = %d\n", smpd_filename, errno);
-		smpd_exit_fn(FCNAME);
-		return errno;
-	    }
-	    fprintf(fout, "phrase=%s\n", smpd_process.passphrase);
-	    fclose(fout);
-	}
-#endif
-    }
-
-    result = smpd_entry_point();
-
-    smpd_finalize_printf();
-
-    smpd_dbg_printf("calling SMPDU_Sock_finalize\n");
-    result = SMPDU_Sock_finalize();
-    if (result != SMPD_SUCCESS){
-	    smpd_err_printf("SMPDU_Sock_finalize failed,\nsock error: %s\n", get_sock_error_string(result));
-    }
-
-    /* SMPD_CS_EXIT(); */
-    smpd_exit(result);
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_entry_point"
-int smpd_entry_point()
-{
-    int result;
-    SMPDU_Sock_set_t set;
-    SMPDU_Sock_t listener;
-    SMPD_BOOL print_port = SMPD_FALSE;
-
-    /* This function is called by main or by smpd_service_main in the case of a Windows service */
-
-    smpd_enter_fn(FCNAME);
-
-#ifdef HAVE_WINDOWS_H
-    /* prevent the os from bringing up debug message boxes if this process crashes */
-    if (smpd_process.bService)
-    {
-    char port[SMPD_MAX_PORT_STR_LENGTH];
-	SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOGPFAULTERRORBOX | SEM_NOOPENFILEERRORBOX);
-	if (!smpd_report_status_to_sc_mgr(SERVICE_RUNNING, NO_ERROR, 0))
-	{
-	    result = GetLastError();
-	    smpd_err_printf("Unable to report that the service has started, error: %d\n", result);
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-	smpd_clear_process_registry();
-    smpd_get_smpd_data("phrase", smpd_process.passphrase, SMPD_PASSPHRASE_MAX_LENGTH);
-    smpd_get_smpd_data("port", port, SMPD_MAX_PORT_STR_LENGTH);
-    smpd_process.port = atoi(port);
-    }
-#endif
-
-    /* This process is the root_smpd.  All sessions are child processes of this process. */
-    smpd_process.id = 0;
-    smpd_process.root_smpd = SMPD_TRUE;
-
-    if (smpd_process.pszExe[0] != '\0')
-    {
-	smpd_set_smpd_data("binary", smpd_process.pszExe);
-    }
-
-    result = SMPDU_Sock_create_set(&set);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("SMPDU_Sock_create_set failed,\nsock error: %s\n", get_sock_error_string(result));
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-    smpd_process.set = set;
-    smpd_dbg_printf("created a set for the listener: %d\n", SMPDU_Sock_get_sock_set_id(set));
-    if (smpd_process.port == 0)
-	print_port = SMPD_TRUE;
-    result = SMPDU_Sock_listen(set, NULL, &smpd_process.port, &listener); 
-    if (result != SMPD_SUCCESS)
-    {
-	/* If another smpd is running and listening on this port, tell it to shutdown or restart? */
-	smpd_err_printf("SMPDU_Sock_listen failed,\nsock error: %s\n", get_sock_error_string(result));
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-    smpd_dbg_printf("smpd listening on port %d\n", smpd_process.port);
-    if (print_port)
-    {
-	printf("%d\n", smpd_process.port);
-	fflush(stdout);
-    }
-
-    result = smpd_create_context(SMPD_CONTEXT_LISTENER, set, listener, -1, &smpd_process.listener_context);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create a context for the smpd listener.\n");
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-    result = SMPDU_Sock_set_user_ptr(listener, smpd_process.listener_context);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("SMPDU_Sock_set_user_ptr failed,\nsock error: %s\n", get_sock_error_string(result));
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-    smpd_process.listener_context->state = SMPD_SMPD_LISTENING;
-
-    if (smpd_process.root_smpd){
-		if(smpd_option_on("no_dynamic_hosts") == SMPD_FALSE){
-			smpd_insert_into_dynamic_hosts();
-		}
-	}
-
-#ifndef HAVE_WINDOWS_H
-    /* put myself in the background if flag is set */
-    if (smpd_process.bNoTTY)
-    {
-	int fd, maxfd;
-
-        if (fork() != 0)
-	{
-	    /* parent exits */
-	    exit(0);
-	}
-	/* become session leader; no controlling tty */
-	setsid();
-	/* make sure no sighup when leader ends */
-	smpd_signal(SIGHUP, SIG_IGN);
-	/* leader exits; svr4: make sure do not get another controlling tty */
-        if (fork() != 0)
-	    exit(0);
-
-	/* redirect stdout/err to nothing */
-	fd = open("/dev/null", O_APPEND);
-	if (fd != -1)
-	{
-	    close(1);
-	    close(2);
-	    dup2(fd, 1);
-	    dup2(fd, 2);
-	    close(fd);
-	}
-
-	/* the stdin file descriptor 0 needs to be occupied so it doesn't get used by socketpair */
-	/*close(0);*/
-	/* maybe 0 should be redirected to "/dev/null" just like 1 and 2? */
-	fd = open("/dev/null", O_RDONLY);
-	if (fd != -1)
-	{
-	    close(0);
-	    dup2(fd, 0);
-	    close(fd);
-	}
-
-	/* get out of the current directory to get out of the way of possibly mounted directories */
-	chdir("/");
-
-	/* close all open file descriptors */
-	/* We don't want to close the listener sock.  This code should be moved to the very beginning of main */
-	/*
-	maxfd = sysconf(_SC_OPEN_MAX);
-	if (maxfd < 0)
-	    maxfd = 255;
-	for (i=3; i<maxfd; i++)
-	    close(i);
-	*/
-    }
-#endif
-
-    result = smpd_enter_at_state(set, SMPD_SMPD_LISTENING);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("state machine failed.\n");
-    }
-
-    if (smpd_process.root_smpd)
-	smpd_remove_from_dynamic_hosts();
-
-    result = SMPDU_Sock_destroy_set(set);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to destroy the set, error:\n%s\n",
-	    get_sock_error_string(result));
-    }
-
-    /*
-    result = SMPDU_Sock_finalize();
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("SMPDU_Sock_finalize failed,\nsock error: %s\n", get_sock_error_string(result));
-    }
-    */
-
-    smpd_exit_fn(FCNAME);
-    return 0;
-}
-
diff --git a/src/pm/smpd/smpd.h b/src/pm/smpd/smpd.h
deleted file mode 100644
index 3344455..0000000
--- a/src/pm/smpd/smpd.h
+++ /dev/null
@@ -1,1060 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-#ifndef SMPD_H
-#define SMPD_H
-
-#include "mpichconf.h"
-
-#ifdef HAVE_WINDOWS_H
-#include <winsock2.h>
-#include <windows.h>
-#include <tchar.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <io.h>
-#define SECURITY_WIN32
-#include <security.h>
-#endif
-
-#include <stdio.h>
-#include <stdlib.h>
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_WAIT_H
-#include <sys/wait.h>
-#endif
-#ifdef HAVE_ERRNO_H
-#include <errno.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef HAVE_MALLOC_H
-#include <malloc.h>
-#endif
-#ifdef HAVE_UUID_UUID_H
-#include <uuid/uuid.h>
-#endif
-#ifdef HAVE_STRING_H
-#include <string.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_SIGNAL_H
-#include <signal.h>
-#endif
-#ifdef USE_PTHREAD_STDIN_REDIRECTION
-#include <pthread.h>
-#ifdef HAVE_SYS_SELECT_H
-#include <sys/select.h>
-#endif
-#endif
-
-#include "mpl.h"
-#include "mpimem.h"
-#include "smpd_database.h"
-#include "pmi.h"
-
-#include "smpd_version.h"
-#include "smpd_iov.h"
-#include "smpd_util_sock.h"
-
-#define SMPD_VERSION_FAILURE "version_failure"
-
-#define SMPD_LISTENER_PORT               8676
-
-#define SMPD_SUCCESS                        0
-#define SMPD_FAIL                          -1
-#define SMPD_ERR_INVALID_USER              -2
-#define SMPD_CLOSE                          2
-#define SMPD_CONNECTED                      3
-#define SMPD_EXIT                           4
-#define SMPD_DBS_RETURN                     5
-#define SMPD_ABORT                          6
-
-/* #define SMPD_LAST_RETVAL                    7 */
-
-/* FIXME: Use an enum instead
-enum SMPD_RetVal{
-    SMPD_ERR_INVALID_USER=-3,
-    SMPD_ABORT,
-    SMPD_FAIL,
-    SMPD_SUCCESS,
-    SMPD_DBS_RETURN,
-    SMPD_CONNECTED,
-    SMPD_CLOSE,
-    SMPD_EXIT,
-    SMPD_LAST_RETVAL
-};
-*/
-
-typedef int SMPD_BOOL;
-#define SMPD_TRUE                           1
-#define SMPD_FALSE                          0
-#define SMPD_INVALID_SETTING               -1
-
-#define SMPD_SERVER_AUTHENTICATION          0
-#define SMPD_CLIENT_AUTHENTICATION          1
-
-#define SMPD_MAX_INT_LENGTH                12
-#define SMPD_MAX_NAME_LENGTH              256
-#define SMPD_MAX_VALUE_LENGTH            8192
-#define SMPD_MAX_FILENAME                1024
-#define SMPD_MAX_LINE_LENGTH            32768
-#define SMPD_MAX_ARGC                    1024
-/*#define SMPD_MAX_STDOUT_LENGTH           1024*/
-#define SMPD_MAX_STDOUT_LENGTH           (SMPD_MAX_CMD_LENGTH - 100)
-#define SMPD_MAX_SESSION_HEADER_LENGTH   1024
-#define SMPD_MAX_ERROR_LEN               1024
-#define SMPD_CMD_HDR_LENGTH                13
-#define SMPD_MAX_CMD_LENGTH	        32768
-#define SMPD_MAX_DBG_PRINTF_LENGTH      (1024 + SMPD_MAX_CMD_LENGTH)
-#define SMPD_MAX_CMD_STR_LENGTH           100
-#define SMPD_MAX_HOST_LENGTH	           64
-#define SMPD_MAX_HOST_DESC_LENGTH        512
-#define SMPD_MAX_FQ_NAME_LENGTH          1024
-#define SMPD_MAX_NETBIOS_NAME_LENGTH     1024
-#define SMPD_MAX_EXE_LENGTH              4096
-#define SMPD_MAX_ENV_LENGTH              4096
-#define SMPD_MAX_CLIQUE_LENGTH           8192
-#define SMPD_MAX_DIR_LENGTH              1024
-#define SMPD_MAX_PATH_LENGTH             1024
-#define SMPD_MAX_ACCOUNT_LENGTH           100
-#define SMPD_MAX_PASSWORD_LENGTH          200
-#define SMPD_MAX_CRED_REQUEST_LENGTH      100
-#define SMPD_MAX_PWD_REQUEST_LENGTH       100
-#define SMPD_MAX_PORT_STR_LENGTH           20
-#define SMPD_MAX_TO_STRING_INDENT          20
-#define SMPD_STDIN_PACKET_SIZE           2048
-#define SMPD_PASSPHRASE_MAX_LENGTH        256
-#define SMPD_SALT_VALUE                   "14"
-#define SMPD_SESSION_REQUEST_LEN          100
-#define SMPD_AUTHENTICATION_STR_LEN       256
-#define SMPD_AUTHENTICATION_REPLY_LENGTH  100
-#define SMPD_AUTHENTICATION_REJECTED_STR  "FAIL"
-#define SMPD_AUTHENTICATION_REJECTED_VERSION_STR "FAIL_VERSION"
-#define SMPD_AUTHENTICATION_ACCEPTED_STR  "SUCCESS"
-#define SMPD_SMPD_SESSION_STR             "smpd"
-#define SMPD_PROCESS_SESSION_STR          "process"
-#define SMPD_PMI_SESSION_STR              "pmi"
-#define SMPD_DEFAULT_PASSPHRASE           "behappy"
-#define SMPD_DEFAULT_PASSWORD             "gastroduodenostomy"
-#define SMPD_REGISTRY_KEY                 "SOFTWARE\\MPICH\\SMPD"
-#define SMPD_REGISTRY_CACHE_KEY           "SOFTWARE\\MPICH\\SMPD\\CACHE"
-#define MPICH_REGISTRY_KEY                "SOFTWARE\\MPICH"
-#define SMPD_CRED_REQUEST                 "credentials"
-#define SMPD_CRED_REQUEST_JOB             "job"
-#define SMPD_NO_CRED_REQUEST              "nocredentials"
-#define SMPD_CRED_ACK_SSPI                "sspi"
-#define SMPD_CRED_ACK_SSPI_JOB_KEY        "sspi_job"
-#define SMPD_PWD_REQUEST                  "pwd"
-#define SMPD_NO_PWD_REQUEST               "nopwd"
-#define SMPD_SSPI_REQUEST                 "sspi"
-#define SMPD_NO_RECONNECT_PORT_STR        "-1"
-#define SMPD_SUCCESS_STR                  "SUCCESS"
-#define SMPD_FAIL_STR                     "FAIL"
-#define SMPD_OUTPUT_MUTEX_NAME            "SMPD_OUTPUT_MUTEX"
-#define SMPD_DATA_MUTEX_NAME              "SMPD_DATA_MUTEX"
-#define SMPD_DYNAMIC_HOSTS_KEY            "dynamic_hosts"
-#define SMPD_PATH_SPEC                    "{SMPD_PATH}"
-#define SMPD_PLAINTEXT_PREFIX             'y'
-#define SMPD_ENCRYPTED_PREFIX             'x'
-#define SMPD_SSPI_HEADER_LENGTH           SMPD_CMD_HDR_LENGTH
-#define SMPD_SSPI_JOB_KEY_LENGTH          100
-#define SMPD_SSPI_MAX_BUFFER_SIZE         (4*1024)
-/*#define SMPD_SECURITY_PACKAGE             "Kerberos"*/
-#define SMPD_SECURITY_PACKAGE             "Negotiate"
-#define SMPD_ENV_OPTION_PREFIX            "SMPD_OPTION_"
-#define SMPD_FREE_COOKIE           0xDDBEEFDD
-
-#define SMPD_DBG_STATE_STDOUT            0x01
-#define SMPD_DBG_STATE_ERROUT            0x02
-#define SMPD_DBG_STATE_LOGFILE           0x04
-#define SMPD_DBG_STATE_PREPEND_RANK      0x08
-#define SMPD_DBG_STATE_TRACE             0x10
-#define SMPD_DBG_STATE_ALL               (SMPD_DBG_STATE_STDOUT | SMPD_DBG_STATE_ERROUT | SMPD_DBG_STATE_LOGFILE | SMPD_DBG_STATE_PREPEND_RANK | SMPD_DBG_STATE_TRACE)
-#define SMPD_DBG_FILE_SIZE               (4*1024*1024)
-
-#define SMPD_QUOTE_CHAR                   '\"'
-#define SMPD_DELIM_CHAR                   '='
-#define SMPD_DELIM_STR                    "="
-#define SMPD_ESCAPE_CHAR                  '\\'
-#define SMPD_HIDE_CHAR                    '*'
-#define SMPD_SEPAR_CHAR                   ' '
-
-#define DBS_SUCCESS_STR	                  "DBS_SUCCESS"
-#define DBS_FAIL_STR	                  "DBS_FAIL"
-#define DBS_END_STR	                  "DBS_END"
-
-#define PMI_KVS_ID_KEY                    "PMI_KVS_ID"
-
-#define SMPD_CONSOLE_STR_LENGTH         10*SMPD_MAX_CMD_LENGTH
-
-#define SMPD_DEFAULT_TIMEOUT              120
-#define SMPD_SHORT_TIMEOUT                 60
-#define SMPD_DEFAULT_PRIORITY_CLASS         2
-#define SMPD_DEFAULT_PRIORITY               3
-
-#define SMPD_SINGLETON_MAX_KVS_NAME_LEN     100
-#define SMPD_SINGLETON_MAX_HOST_NAME_LEN    100
-
-#define SMPD_UNREFERENCED_ARG(a) a
-
-#ifdef HAVE_WINDOWS_H
-#define snprintf _snprintf
-#define vsnprintf _vsnprintf
-#define smpd_get_last_error GetLastError
-#else
-#define smpd_get_last_error() errno
-#endif
-
-/* FIXME: Do something sensible like mpitypedefs.h */
-#define SMPDU_Size_t    int
-
-#define SMPDU_Assert(a_)    {                                       \
-    if(!(a_)){                                                      \
-        smpd_err_printf("Assertion failed in file %s at line %d\n", \
-            __FILE__, __LINE__);                                    \
-        exit(-1);                                                   \
-    }                                                               \
-}
-
-/* Some TCHAR utils for making our life easier */
-#ifdef HAVE_WINDOWS_H
-#ifdef _UNICODE
-    #define SMPDU_TCSTOMBS  wcstombs
-    #define SMPDU_MBSTOTCS  mbstowcs
-#else
-    #define SMPDU_TCSTOMBS  _tcsncpy
-    #define SMPDU_MBSTOTCS  _tcsncpy
-#endif
-#endif
-
-#ifdef HAVE_WINDOWS_H
-#   define SMPDU_UNREFERENCED_ARG(a_)   a_
-#else
-#   define SMPDU_UNREFERENCED_ARG(a_)
-#endif
-
-#define SMPD_ERR_SETPRINTANDJUMP(msg, errcode) {smpd_err_printf("%s", msg); retval = errcode; goto fn_fail; }
-#define SMPD_MAX_ERR_MSG_LENGTH 100
-
-typedef enum smpd_state_t
-{
-    SMPD_IDLE,
-    SMPD_EXITING,
-    SMPD_RESTARTING,
-    SMPD_DONE,
-    SMPD_CLOSING,
-    SMPD_SMPD_LISTENING,
-    SMPD_MGR_LISTENING,
-    SMPD_PMI_LISTENING,
-    SMPD_PMI_SERVER_LISTENING,
-    SMPD_SINGLETON_CLIENT_LISTENING,
-    SMPD_SINGLETON_MPIEXEC_CONNECTING,
-    SMPD_SINGLETON_READING_PMI_INFO,
-    SMPD_SINGLETON_WRITING_PMI_INFO,
-    SMPD_SINGLETON_DONE,
-    SMPD_MPIEXEC_CONNECTING_TREE,
-    SMPD_MPIEXEC_CONNECTING_SMPD,
-    SMPD_CONNECTING_RPMI,
-    SMPD_CONNECTING_PMI,
-    SMPD_CONNECTING,
-    SMPD_RECONNECTING,
-    SMPD_READING_CHALLENGE_STRING,
-    SMPD_WRITING_CHALLENGE_STRING,
-    SMPD_READING_CHALLENGE_RESPONSE,
-    SMPD_WRITING_CHALLENGE_RESPONSE,
-    SMPD_READING_CONNECT_RESULT,
-    SMPD_WRITING_CONNECT_RESULT,
-    SMPD_READING_STDIN,
-    SMPD_WRITING_DATA_TO_STDIN,
-    SMPD_READING_STDOUT,
-    SMPD_READING_STDERR,
-    SMPD_READING_CMD_HEADER,
-    SMPD_READING_CMD,
-    SMPD_WRITING_CMD,
-    SMPD_READING_SESSION_REQUEST,
-    SMPD_WRITING_SMPD_SESSION_REQUEST,
-    SMPD_WRITING_PROCESS_SESSION_REQUEST,
-    SMPD_WRITING_PMI_SESSION_REQUEST,
-    SMPD_READING_PWD_REQUEST,
-    SMPD_WRITING_PWD_REQUEST,
-    SMPD_WRITING_NO_PWD_REQUEST,
-    SMPD_WRITING_SSPI_REQUEST,
-    SMPD_READING_SMPD_PASSWORD,
-    SMPD_WRITING_SMPD_PASSWORD,
-    SMPD_READING_CRED_REQUEST,
-    SMPD_WRITING_CRED_REQUEST,
-    SMPD_WRITING_NO_CRED_REQUEST,
-    SMPD_READING_CRED_ACK,
-    SMPD_WRITING_CRED_ACK_YES,
-    SMPD_WRITING_CRED_ACK_NO,
-    SMPD_READING_ACCOUNT,
-    SMPD_WRITING_ACCOUNT,
-    SMPD_READING_PASSWORD,
-    SMPD_WRITING_PASSWORD,
-    SMPD_READING_RECONNECT_REQUEST,
-    SMPD_WRITING_RECONNECT_REQUEST,
-    SMPD_WRITING_NO_RECONNECT_REQUEST,
-    SMPD_READING_SESSION_HEADER,
-    SMPD_WRITING_SESSION_HEADER,
-    SMPD_READING_SMPD_RESULT,
-    SMPD_WRITING_SESSION_ACCEPT,
-    SMPD_WRITING_SESSION_REJECT,
-    SMPD_READING_PROCESS_RESULT,
-    SMPD_WRITING_PROCESS_SESSION_ACCEPT,
-    SMPD_WRITING_PROCESS_SESSION_REJECT,
-    SMPD_READING_TIMEOUT,
-    SMPD_READING_MPIEXEC_ABORT,
-    SMPD_READING_PMI_ID,
-    SMPD_WRITING_PMI_ID,
-    SMPD_READING_SSPI_HEADER,
-    SMPD_READING_SSPI_BUFFER,
-    SMPD_WRITING_SSPI_HEADER,
-    SMPD_WRITING_SSPI_BUFFER,
-    SMPD_WRITING_DELEGATE_REQUEST,
-    SMPD_READING_DELEGATE_REQUEST_RESULT,
-    SMPD_WRITING_DELEGATE_REQUEST_RESULT,
-    SMPD_WRITING_IMPERSONATE_RESULT,
-    SMPD_READING_IMPERSONATE_RESULT,
-    SMPD_WRITING_CRED_ACK_SSPI,
-    SMPD_WRITING_CRED_ACK_SSPI_JOB_KEY,
-    SMPD_WRITING_SSPI_JOB_KEY,
-    SMPD_READING_SSPI_JOB_KEY,
-    SMPD_READING_CLIENT_SSPI_HEADER,
-    SMPD_READING_CLIENT_SSPI_BUFFER,
-    SMPD_WRITING_CLIENT_SSPI_HEADER,
-    SMPD_WRITING_CLIENT_SSPI_BUFFER,
-    SMPD_END_MARKER_NUM_STATES
-} smpd_state_t;
-
-typedef enum smpd_context_type_t
-{
-    SMPD_CONTEXT_INVALID,
-    SMPD_CONTEXT_STDIN,
-    SMPD_CONTEXT_MPIEXEC_STDIN,
-    SMPD_CONTEXT_MPIEXEC_STDIN_RSH,
-    SMPD_CONTEXT_STDOUT,
-    SMPD_CONTEXT_STDOUT_RSH,
-    SMPD_CONTEXT_STDERR,
-    SMPD_CONTEXT_STDERR_RSH,
-    SMPD_CONTEXT_PARENT,
-    SMPD_CONTEXT_LEFT_CHILD,
-    SMPD_CONTEXT_RIGHT_CHILD,
-    SMPD_CONTEXT_CHILD,
-    SMPD_CONTEXT_LISTENER,
-    SMPD_CONTEXT_PMI_LISTENER,
-    SMPD_CONTEXT_SMPD,
-    SMPD_CONTEXT_PMI,
-    SMPD_CONTEXT_TIMEOUT,
-    SMPD_CONTEXT_MPIEXEC_ABORT,
-    SMPD_CONTEXT_SINGLETON_INIT_CLIENT,
-    SMPD_CONTEXT_SINGLETON_INIT_MPIEXEC,
-    SMPD_CONTEXT_UNDETERMINED,
-    SMPD_CONTEXT_FREED
-} smpd_context_type_t;
-
-typedef enum smpd_context_target_t
-{
-    SMPD_TARGET_UNDETERMINED,
-    SMPD_TARGET_SMPD,
-    SMPD_TARGET_PROCESS,
-    SMPD_TARGET_PMI
-} smpd_context_target_t;
-
-typedef enum smpd_command_state_t
-{
-    SMPD_CMD_INVALID,
-    SMPD_CMD_READING_HDR,
-    SMPD_CMD_READING_CMD,
-    SMPD_CMD_WRITING_CMD,
-    SMPD_CMD_READY,
-    SMPD_CMD_HANDLED
-} smpd_command_state_t;
-
-typedef struct smpd_command_t
-{
-    smpd_command_state_t state;
-    char cmd_hdr_str[SMPD_CMD_HDR_LENGTH];
-    char cmd_str[SMPD_MAX_CMD_STR_LENGTH];
-    char cmd[SMPD_MAX_CMD_LENGTH];
-    SMPD_IOV iov[2];
-    int length;
-    int src, dest, tag;
-    int wait;
-    int stdin_read_offset;
-    struct smpd_context_t *context;
-    struct smpd_command_t *next;
-    int freed; /* debugging to see if freed more than once */
-} smpd_command_t;
-
-#ifdef HAVE_WINDOWS_H
-typedef struct smpd_pwait_t
-{
-    HANDLE hProcess, hThread;
-} smpd_pwait_t;
-#else
-typedef pid_t smpd_pwait_t;
-#endif
-
-typedef struct smpd_host_node_t
-{
-    int id, parent;
-    char host[SMPD_MAX_HOST_LENGTH];
-    char alt_host[SMPD_MAX_HOST_LENGTH];
-    int nproc;
-    SMPD_BOOL connected;
-    int connect_cmd_tag;
-    struct smpd_host_node_t *next;
-    struct smpd_host_node_t *left;
-    struct smpd_host_node_t *right;
-} smpd_host_node_t;
-
-struct smpd_spawn_context_t;
-
-typedef struct smpd_sspi_client_context_t
-{
-    int id;
-#ifdef HAVE_WINDOWS_H
-    CtxtHandle context;
-    CredHandle credential;
-    TimeStamp expiration_time;
-    HANDLE user_handle;
-    HANDLE job;
-    DWORD flags;
-    SMPD_BOOL close_handle;
-#endif
-    char target[SMPD_MAX_NAME_LENGTH];
-    void *buffer;
-    int buffer_length;
-    void *out_buffer;
-    int out_buffer_length;
-    int max_buffer_size;
-    struct smpd_sspi_client_context_t *next;
-} smpd_sspi_client_context_t;
-
-typedef enum smpd_sspi_type_t
-{
-    SMPD_SSPI_IDENTIFY,
-    SMPD_SSPI_IMPERSONATE,
-    SMPD_SSPI_DELEGATE
-} smpd_sspi_type_t;
-
-typedef enum smpd_access_t
-{
-    SMPD_ACCESS_NONE,
-    SMPD_ACCESS_ADMIN,
-    SMPD_ACCESS_USER,
-    SMPD_ACCESS_USER_PROCESS
-} smpd_access_t;
-
-typedef struct smpd_context_t
-{
-    smpd_context_type_t type;
-    smpd_context_target_t target;
-    smpd_access_t access;
-    char host[SMPD_MAX_HOST_LENGTH];
-    int id, rank;
-    smpd_pwait_t wait;
-    SMPDU_Sock_set_t set;
-    SMPDU_Sock_t sock;
-    smpd_state_t state;
-    smpd_state_t read_state;
-    smpd_command_t read_cmd;
-    smpd_state_t write_state;
-    smpd_command_t *write_list;
-    smpd_command_t *wait_list;
-    smpd_host_node_t *connect_to;
-    struct smpd_spawn_context_t *spawn_context;
-    char pszCrypt[SMPD_AUTHENTICATION_STR_LEN];
-    char pszChallengeResponse[SMPD_AUTHENTICATION_STR_LEN];
-    char port_str[SMPD_MAX_PORT_STR_LENGTH];
-    char session[SMPD_SESSION_REQUEST_LEN];
-    char pwd_request[SMPD_MAX_PWD_REQUEST_LENGTH];
-    char cred_request[SMPD_MAX_CRED_REQUEST_LENGTH];
-    char account[SMPD_MAX_ACCOUNT_LENGTH];
-    char domain[SMPD_MAX_ACCOUNT_LENGTH];
-    char full_domain[SMPD_MAX_ACCOUNT_LENGTH];
-    char password[SMPD_MAX_PASSWORD_LENGTH];
-    char encrypted_password[SMPD_MAX_PASSWORD_LENGTH];
-    char smpd_pwd[SMPD_MAX_PASSWORD_LENGTH];
-    char session_header[SMPD_MAX_SESSION_HEADER_LENGTH];
-    /* FIXME: Remove this */
-    char singleton_init_kvsname[SMPD_SINGLETON_MAX_KVS_NAME_LEN];
-    char singleton_init_domainname[SMPD_SINGLETON_MAX_KVS_NAME_LEN];
-    char singleton_init_hostname[SMPD_SINGLETON_MAX_HOST_NAME_LEN];
-    int singleton_init_pm_port;
-    /* FIXME: Remove this */
-    int connect_return_id, connect_return_tag;
-    struct smpd_process_t *process;
-    char sspi_header[SMPD_SSPI_HEADER_LENGTH];
-    char sspi_job_key[SMPD_SSPI_JOB_KEY_LENGTH];
-    smpd_sspi_client_context_t *sspi_context;
-    smpd_sspi_type_t sspi_type;
-    SMPD_BOOL first_output_stdout, first_output_stderr;
-    struct smpd_context_t *next;
-} smpd_context_t;
-
-typedef struct smpd_stdin_write_node_t
-{
-    char *buffer;
-    int length;
-    struct smpd_stdin_write_node_t *next;
-} smpd_stdin_write_node_t;
-
-typedef struct smpd_map_drive_node_t
-{
-    int ref_count;
-    char drive;
-    char share[SMPD_MAX_EXE_LENGTH];
-    struct smpd_map_drive_node_t *next;
-} smpd_map_drive_node_t;
-
-typedef struct smpd_process_t
-{
-    int id;
-    int num_valid_contexts;
-    smpd_context_t *in, *out, *err, *pmi, *p_singleton_context;
-    int context_refcount;
-    int pid;
-    char exe[SMPD_MAX_EXE_LENGTH];
-    char env[SMPD_MAX_ENV_LENGTH];
-    char dir[SMPD_MAX_DIR_LENGTH];
-    char path[SMPD_MAX_PATH_LENGTH];
-    char clique[SMPD_MAX_CLIQUE_LENGTH];
-    int rank;
-    int binding_proc;
-    int nproc;
-    smpd_pwait_t wait;
-    int exitcode;
-    char kvs_name[SMPD_MAX_DBS_NAME_LEN];
-    char domain_name[SMPD_MAX_DBS_NAME_LEN];
-    char err_msg[SMPD_MAX_ERROR_LEN];
-    smpd_stdin_write_node_t *stdin_write_list;
-    int spawned;
-    SMPD_BOOL local_process;
-    SMPD_BOOL is_singleton_client;
-    smpd_map_drive_node_t *map_list;
-    int appnum;
-    struct smpd_process_t *next;
-} smpd_process_t;
-
-typedef struct smpd_launch_node_t
-{
-    char exe[SMPD_MAX_EXE_LENGTH];
-    char args[SMPD_MAX_EXE_LENGTH];
-    char *env, env_data[SMPD_MAX_ENV_LENGTH];
-    char clique[SMPD_MAX_CLIQUE_LENGTH];
-    char dir[SMPD_MAX_DIR_LENGTH];
-    char path[SMPD_MAX_PATH_LENGTH];
-    smpd_map_drive_node_t *map_list;
-    int host_id;
-    char hostname[SMPD_MAX_HOST_LENGTH];
-    char alt_hostname[SMPD_MAX_HOST_LENGTH];
-    int iproc;
-    int binding_proc;
-    int nproc;
-    int appnum;
-    int priority_class, priority_thread;
-    struct smpd_launch_node_t *next, *prev;
-} smpd_launch_node_t;
-
-typedef struct smpd_spawn_context_t
-{
-    smpd_context_t *context;
-    smpd_launch_node_t *launch_list;
-    smpd_command_t *result_cmd;
-    char kvs_name[SMPD_MAX_DBS_NAME_LEN];
-    char domain_name[SMPD_MAX_DBS_NAME_LEN];
-    int npreput;
-    char preput[SMPD_MAX_CMD_LENGTH];
-    int num_outstanding_launch_cmds;
-} smpd_spawn_context_t;
-
-typedef struct smpd_delayed_spawn_node_t
-{
-    smpd_context_t *context;
-    smpd_command_t cmd;
-    struct smpd_delayed_spawn_node_t *next;
-} smpd_delayed_spawn_node_t;
-
-typedef struct smpd_env_node_t
-{
-    char name[SMPD_MAX_NAME_LENGTH];
-    char value[SMPD_MAX_VALUE_LENGTH];
-    struct smpd_env_node_t *next;
-} smpd_env_node_t;
-
-typedef struct smpd_database_element_t
-{
-    char pszKey[SMPD_MAX_DBS_KEY_LEN];
-    char pszValue[SMPD_MAX_DBS_VALUE_LEN];
-    struct smpd_database_element_t *pNext;
-} smpd_database_element_t;
-
-typedef struct smpd_database_node_t
-{
-    char pszName[SMPD_MAX_DBS_NAME_LEN];
-    smpd_database_element_t *pData, *pIter;
-    struct smpd_database_node_t *pNext;
-} smpd_database_node_t;
-
-typedef smpd_database_element_t * smpd_dbsIter_t;
-
-typedef struct smpd_barrier_in_t
-{
-    smpd_context_t *context;
-    int dest;
-    int cmd_tag;
-    char ctx_key[100];
-} smpd_barrier_in_t;
-
-typedef struct smpd_barrier_node_t
-{
-    char name[SMPD_MAX_DBS_NAME_LEN];
-    int count;
-    int in;
-    smpd_barrier_in_t *in_array;
-    struct smpd_barrier_node_t *next;
-} smpd_barrier_node_t;
-
-typedef struct smpd_data_t
-{
-    char name[SMPD_MAX_NAME_LENGTH];
-    char value[SMPD_MAX_VALUE_LENGTH];
-    struct smpd_data_t *next;
-} smpd_data_t;
-
-typedef struct smpd_exit_process_t
-{
-    SMPD_BOOL init_called, finalize_called, suspended, exited;
-    int node_id, exitcode;
-    char host[SMPD_MAX_HOST_LENGTH];
-    char ctx_key[100];
-    char *errmsg;
-    smpd_command_t *suspend_cmd;
-} smpd_exit_process_t;
-
-typedef struct smpd_process_group_t
-{
-    SMPD_BOOL aborted, any_noinit_process_exited, any_init_received;
-    char kvs[SMPD_MAX_DBS_NAME_LEN];
-    int num_procs, num_pending_suspends;
-    smpd_exit_process_t *processes;
-    struct smpd_process_group_t *next;
-} smpd_process_group_t;
-
-typedef enum smpd_builtin_commands_t
-{
-    SMPD_CMD_NONE,
-    SMPD_CMD_SHUTDOWN,
-    SMPD_CMD_RESTART,
-    SMPD_CMD_VALIDATE,
-    SMPD_CMD_DO_STATUS,
-    SMPD_CMD_SET,
-    SMPD_CMD_GET,
-    SMPD_CMD_DELETE,
-    SMPD_CMD_ADD_JOB,
-    SMPD_CMD_ADD_JOB_AND_PASSWORD,
-    SMPD_CMD_REMOVE_JOB,
-    SMPD_CMD_ASSOCIATE_JOB,
-    SMPD_CMD_VERSION
-} smpd_builtin_commands_t;
-
-/* If you add elements to the process structure you must add the appropriate
-   initializer in smpd_connect.c where the global variable, smpd_process, lives */
-typedef struct smpd_global_t
-{
-    smpd_state_t state;
-    int  id, parent_id;
-    int  level;
-    smpd_context_t *left_context, *right_context, *parent_context, *context_list;
-    smpd_context_t *listener_context;
-    smpd_process_t *process_list;
-    int  closing;
-    int  root_smpd;
-    SMPDU_Sock_set_t set;
-    char host[SMPD_MAX_HOST_LENGTH];
-    char pszExe[SMPD_MAX_EXE_LENGTH];
-    int  bService;
-    int  bNoTTY;
-    SMPD_BOOL bPasswordProtect;
-    char SMPDPassword[100];
-    char passphrase[SMPD_PASSPHRASE_MAX_LENGTH];
-    SMPD_BOOL logon;
-    char UserAccount[SMPD_MAX_ACCOUNT_LENGTH];
-    char UserPassword[SMPD_MAX_PASSWORD_LENGTH];
-    int  cur_tag;
-    int  dbg_state;
-    char dbg_filename[SMPD_MAX_FILENAME];
-    long dbg_file_size;
-    int  have_dbs;
-    char kvs_name[SMPD_MAX_DBS_NAME_LEN];
-    char domain_name[SMPD_MAX_DBS_NAME_LEN];
-#ifdef HAVE_WINDOWS_H
-    HANDLE hCloseStdinThreadEvent;
-    HANDLE hStdinThread;
-#endif
-#ifdef USE_PTHREAD_STDIN_REDIRECTION
-    pthread_t stdin_thread;
-    int stdin_read, stdin_write;
-#endif
-    int do_console;
-    int port;
-    SMPD_BOOL is_singleton_client;
-    /* Port to connect back to a singleton process */
-    int singleton_client_port;
-    char console_host[SMPD_MAX_HOST_LENGTH];
-    smpd_host_node_t *host_list;
-    smpd_launch_node_t *launch_list;
-    int credentials_prompt;
-    int do_multi_color_output;
-    int no_mpi;
-    int output_exit_codes;
-    int local_root;
-    int use_iproot;
-    int use_process_session;
-    int nproc, nproc_launched, nproc_exited;
-    SMPD_BOOL verbose;
-#ifdef HAVE_WINDOWS_H
-    /* set_affinity is TRUE if the user explicitly specifies MPI process binding */
-    SMPD_BOOL set_affinity;
-    /* The affinity map contains the user defined MPI process affinity map, if any */
-    int *affinity_map;
-    int affinity_map_sz;
-#endif
-    /*SMPD_BOOL shutdown, restart, validate, do_status;*/ /* built in commands */
-    smpd_builtin_commands_t builtin_cmd;
-#ifdef HAVE_WINDOWS_H
-    BOOL bOutputInitialized;
-    HANDLE hOutputMutex;
-    HANDLE hLaunchProcessMutex;
-#endif
-#ifdef USE_WIN_MUTEX_PROTECT
-    HANDLE hDBSMutex;
-#endif
-    smpd_database_node_t *pDatabase;
-    smpd_database_node_t *pDatabaseIter;
-    int nInitDBSRefCount;
-    smpd_barrier_node_t *barrier_list;
-#ifdef HAVE_WINDOWS_H
-    SERVICE_STATUS ssStatus;
-    SERVICE_STATUS_HANDLE sshStatusHandle;
-    HANDLE hBombDiffuseEvent;
-    HANDLE hBombThread;
-#endif
-    SMPD_BOOL service_stop;
-    SMPD_BOOL noprompt;
-    char smpd_filename[SMPD_MAX_FILENAME];
-    SMPD_BOOL stdin_toall, stdin_redirecting;
-    smpd_host_node_t *default_host_list, *cur_default_host;
-    int cur_default_iproc;
-#ifdef HAVE_WINDOWS_H
-    HANDLE hSMPDDataMutex;
-#endif
-    char printf_buffer[SMPD_MAX_DBG_PRINTF_LENGTH];
-    int state_machine_ret_val;
-    SMPD_BOOL exit_on_done;
-    int tree_parent;
-    int tree_id;
-    smpd_host_node_t *s_host_list, *s_cur_host;
-    int s_cur_count;
-    SMPD_BOOL use_inherited_handles;
-    smpd_process_group_t *pg_list;
-    SMPD_BOOL use_abort_exit_code;
-    int abort_exit_code;
-    SMPD_BOOL verbose_abort_output;
-    int mpiexec_exit_code;
-    SMPD_BOOL map0to1;
-    SMPD_BOOL rsh_mpiexec;
-    SMPD_BOOL mpiexec_inorder_launch;
-    SMPD_BOOL mpiexec_run_local;
-#ifdef HAVE_WINDOWS_H
-    HANDLE timeout_thread;
-#else
-#ifdef HAVE_PTHREADS_H
-    pthread_t timeout_thread;
-#endif
-#endif
-    int timeout;
-    SMPDU_Sock_t timeout_sock;
-    SMPDU_Sock_t mpiexec_abort_sock;
-    SMPD_BOOL use_pmi_server;
-    char *mpiexec_argv0;
-    char encrypt_prefix[SMPD_MAX_PASSWORD_LENGTH];
-    SMPD_BOOL plaintext;
-    SMPD_BOOL use_sspi, use_delegation, use_sspi_job_key;
-    SMPD_BOOL use_ms_hpc;
-#ifdef HAVE_WINDOWS_H
-    PSecurityFunctionTable sec_fn;
-#endif
-    smpd_sspi_client_context_t *sspi_context_list;
-    char job_key[SMPD_SSPI_JOB_KEY_LENGTH];
-    char job_key_account[SMPD_MAX_ACCOUNT_LENGTH];
-    char job_key_password[SMPD_MAX_PASSWORD_LENGTH];
-    char key[SMPD_MAX_NAME_LENGTH];
-    char val[SMPD_MAX_VALUE_LENGTH];
-    SMPD_BOOL do_console_returns;
-    char env_channel[10];
-    char env_netmod[10];
-    char env_dll[SMPD_MAX_FILENAME];
-    char env_wrap_dll[SMPD_MAX_FILENAME];
-    smpd_delayed_spawn_node_t *delayed_spawn_queue;
-    SMPD_BOOL spawning;
-    int user_index;
-    SMPD_BOOL prefix_output;
-} smpd_global_t;
-
-/* FIXME: Cleanup this struct after we start using spn list
- * handles everywhere
- */
-typedef struct smpd_host_spn_node_t
-{
-    char host[SMPD_MAX_NAME_LENGTH];
-    char dnshost[SMPD_MAX_NAME_LENGTH];
-    char fq_service_name[SMPD_MAX_FQ_NAME_LENGTH];
-    char spn[SMPD_MAX_FQ_NAME_LENGTH];
-    struct smpd_host_spn_node_t *next;
-} smpd_host_spn_node_t;
-typedef smpd_host_spn_node_t **smpd_spn_list_hnd_t;
-
-#define SMPD_SPN_LIST_HND_IS_INIT(hnd) (((hnd) != NULL) && (*(hnd) != NULL))
-
-extern smpd_global_t smpd_process;
-
-/* MS HPC job utils are smpd utils & hence needs the smpd structures 
- * to be defined prior to including them.
- */
-#ifdef HAVE_WINDOWS_H
-#include "smpd_hpc_js_exports.h"
-#endif
-
-/* function prototypes */
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-int smpd_parse_command_args(int *argcp, char **argvp[]);
-#ifdef HAVE_WINDOWS_H
-char *smpd_encode_handle(char *str, HANDLE h);
-HANDLE smpd_decode_handle(char *str);
-#endif
-void smpd_print_options(void);
-int smpd_entry_point(void);
-int smpd_enter_at_state(SMPDU_Sock_set_t set, smpd_state_t state);
-int smpd_wait_process(smpd_pwait_t wait, int *exit_code_ptr);
-int smpd_init_process(void);
-int smpd_init_printf(void);
-int smpd_finalize_printf(void);
-int smpd_init_context(smpd_context_t *context, smpd_context_type_t type, SMPDU_Sock_set_t set, SMPDU_Sock_t sock, int id);
-int smpd_init_command(smpd_command_t *cmd);
-int smpd_create_context(smpd_context_type_t type, SMPDU_Sock_set_t set, SMPDU_Sock_t sock, int id, smpd_context_t **context_pptr);
-int smpd_create_command(char *cmd_str, int src, int dest, int want_reply, smpd_command_t **cmd_pptr);
-int smpd_create_command_copy(smpd_command_t *src_ptr, smpd_command_t **cmd_pptr);
-int smpd_free_command(smpd_command_t *cmd_ptr);
-int smpd_free_context(smpd_context_t *context);
-int smpd_add_command_arg(smpd_command_t *cmd_ptr, char *param, char *value);
-int smpd_add_command_int_arg(smpd_command_t *cmd_ptr, char *param, int value);
-int smpd_add_command_binary_arg(smpd_command_t *cmd_ptr, char *param, void *buffer, int length);
-int smpd_parse_command(smpd_command_t *cmd_ptr);
-int smpd_post_read_command(smpd_context_t *context);
-int smpd_post_write_command(smpd_context_t *context, smpd_command_t *cmd);
-int smpd_package_command(smpd_command_t *cmd);
-int smpd_read_string(SMPDU_Sock_t sock, char *str, int maxlen);
-int smpd_write_string(SMPDU_Sock_t sock, char *str);
-int smpd_read(SMPDU_Sock_t sock, void *buf, SMPDU_Sock_size_t len);
-int smpd_write(SMPDU_Sock_t sock, void *buf, SMPDU_Sock_size_t len);
-int smpd_dbg_printf(char *str, ...);
-int smpd_err_printf(char *str, ...);
-
-#ifdef HAVE_WINDOWS_H
-    typedef int (*smpd_printf_fp_t) (char *str, ...);
-    int smpd_tprintf_templ(smpd_printf_fp_t fp, TCHAR *str, ...);
-    #define smpd_err_tprintf(str, ...) smpd_tprintf_templ(smpd_err_printf, str, __VA_ARGS__);
-    #define smpd_dbg_tprintf(str, ...) smpd_tprintf_templ(smpd_dbg_printf, str, __VA_ARGS__);
-#endif
-
-int smpd_enter_fn(char *fcname);
-int smpd_exit_fn(char *fcname);
-SMPD_BOOL smpd_option_on(const char *option);
-int smpd_get_user_data(const char *key, char *value, int value_len);
-int smpd_get_smpd_data(const char *key, char *value, int value_len);
-int smpd_get_user_data_default(const char *key, char *value, int value_len);
-int smpd_get_smpd_data_default(const char *key, char *value, int value_len);
-int smpd_set_user_data(const char *key, const char *value);
-int smpd_set_smpd_data(const char *key, const char *value);
-int smpd_delete_user_data(const char *key);
-int smpd_delete_smpd_data(const char *key);
-int smpd_getpid(void);
-char * get_sock_error_string(int error);
-void smpd_get_password(char *password);
-void smpd_get_account_and_password(char *account, char *password);
-int smpd_get_credentials_from_parent(SMPDU_Sock_set_t set, SMPDU_Sock_t sock);
-int smpd_get_smpd_password_from_parent(SMPDU_Sock_set_t set, SMPDU_Sock_t sock);
-int smpd_get_opt(int *argc, char ***argv, char * flag);
-int smpd_get_opt_int(int *argc, char ***argv, char * flag, int *n);
-int smpd_get_opt_long(int *argc, char ***argv, char * flag, long *n);
-int smpd_get_opt_double(int *argc, char ***argv, char * flag, double *d);
-int smpd_get_opt_string(int *argc, char ***argv, char * flag, char *str, int len);
-int smpd_get_opt_two_strings(int *argc, char ***argv, char * flag, char *str1, int len1, char *str2, int len2);
-int smpd_get_win_opt_string(int *argc, char ***argv, char * flag, char *str, int len);
-#ifdef HAVE_WINDOWS_H
-void smpd_parse_account_domain(const char *domain_account, char *account, char *domain);
-int smpd_get_user_handle(char *account, char *domain, char *password, HANDLE *handle_ptr);
-int smpd_get_user_name(char *account, char *domain, char *full_domain);
-int smpd_make_socket_loop(SOCKET *pRead, SOCKET *pWrite);
-int smpd_make_socket_loop_choose(SOCKET *pRead, int read_overlapped, SOCKET *pWrite, int write_overlapped);
-#endif
-int smpd_generate_session_header(char *str, int session_id);
-int smpd_interpret_session_header(char *str);
-int smpd_command_destination(int dest, smpd_context_t **dest_context);
-int smpd_forward_command(smpd_context_t *src, smpd_context_t *dest);
-int smpd_launch_process(smpd_process_t *process, int priorityClass, int priority, int dbg, SMPDU_Sock_set_t set);
-int smpd_encode_buffer(char *dest, int dest_length, const char *src, int src_length, int *num_encoded);
-int smpd_decode_buffer(const char *str, char *dest, int length, int *num_decoded);
-int smpd_create_process_struct(int rank, smpd_process_t **process_ptr);
-int smpd_free_process_struct(smpd_process_t *process);
-char * smpd_get_context_str(smpd_context_t *context);
-int smpd_gen_authentication_strings(char *phrase, char *append, char *crypted);
-#ifdef HAVE_WINDOWS_H
-int smpd_start_win_mgr(smpd_context_t *context, SMPD_BOOL use_context_user_handle);
-#else
-int smpd_start_unx_mgr(smpd_context_t *context);
-#endif
-#ifdef HAVE_WINDOWS_H
-void smpd_stdin_thread(SOCKET hWrite);
-#endif
-#ifdef USE_PTHREAD_STDIN_REDIRECTION
-void *smpd_pthread_stdin_thread(void *p);
-int smpd_cancel_stdin_thread(void);
-#endif
-int smpd_handle_command(smpd_context_t *context);
-int smpd_create_command_from_stdin(char *str, smpd_command_t **cmd_pptr);
-int smpd_handle_barrier_command(smpd_context_t *context);
-int smpd_post_abort_command(char *fmt, ...);
-int smpd_kill_all_processes(void);
-int smpd_exit(int exitcode);
-#ifdef HAVE_WINDOWS_H
-void smpd_translate_win_error(int error, char *msg, int maxlen, char *prepend, ...);
-#else
-typedef void smpd_sig_fn_t( int );
-smpd_sig_fn_t *smpd_signal( int signo, smpd_sig_fn_t func );
-#endif
-SMPD_BOOL smpd_get_full_path_name(const char *exe, int maxlen, char *path, char **namepart);
-SMPD_BOOL smpd_search_path(const char *path, const char *exe, int maxlen, char *str);
-#ifdef HAVE_WINDOWS_H
-int smpd_process_from_registry(smpd_process_t *process);
-int smpd_process_to_registry(smpd_process_t *process, char *actual_exe);
-int smpd_clear_process_registry(void);
-int smpd_validate_process_registry(void);
-SMPD_BOOL smpd_read_password_from_registry(int index, char *szAccount, char *szPassword);
-SMPD_BOOL smpd_save_password_to_registry(int index, const char *szAccount, const char *szPassword, SMPD_BOOL persistent);
-SMPD_BOOL smpd_save_cred_to_file(const char *filename, const char *szAccount, const char *szPassword);
-SMPD_BOOL smpd_read_cred_from_file(const char *filename, char *szAccount, int acc_len, char *szPassword, int pass_len);
-SMPD_BOOL smpd_delete_current_password_registry_entry(int index);
-int smpd_cache_password(const char *account, const char *password);
-SMPD_BOOL smpd_get_cached_password(char *account, char *password);
-int smpd_delete_cached_password(void);
-#endif
-int smpd_do_console(void);
-int smpd_restart(void);
-SMPD_BOOL smpd_snprintf_update(char **str_pptr, int *len_ptr, char *str_format, ...);
-const char * smpd_get_state_string(smpd_state_t state);
-const char * smpd_get_cmd_state_string(smpd_command_state_t state);
-SMPD_BOOL smpd_command_to_string(char **str_pptr, int *len_ptr, int indent, smpd_command_t *cmd_ptr);
-SMPD_BOOL smpd_process_to_string(char **str_pptr, int *len_ptr, int indent, smpd_process_t *process);
-SMPD_BOOL smpd_is_affirmative(const char *str);
-int smpd_hide_string_arg(char *str, const char *flag);
-int smpd_get_default_hosts(void);
-int smpd_lock_smpd_data(void);
-int smpd_unlock_smpd_data(void);
-int smpd_insert_into_dynamic_hosts(void);
-int smpd_remove_from_dynamic_hosts(void);
-int smpd_get_pwd_from_file(char *file_name);
-int smpd_get_next_hostname(char *host, char *alt_host);
-SMPD_BOOL smpd_parse_machine_file(char *file_name);
-int smpd_parse_hosts_string(const char *host_str);
-int smpd_free_host_list(void );
-int smpd_get_host_id(char *host, int *id_ptr);
-int smpd_get_next_host(smpd_host_node_t **host_node_pptr, smpd_launch_node_t *launch_node);
-SMPD_BOOL smpd_get_argcv_from_file(FILE *fin, int *argcp, char ***argvp);
-int smpd_create_cliques(smpd_launch_node_t *list);
-int smpd_handle_spawn_command(smpd_context_t *context);
-int smpd_handle_abort_job_command(smpd_context_t *context);
-int smpd_abort_job(char *name, int rank, char *fmt, ...);
-int smpd_suspend_process(smpd_process_t *process);
-int smpd_kill_process(smpd_process_t *process, int exit_code);
-int smpd_handle_suspend_result(smpd_command_t *cmd, char *result_str);
-int smpd_watch_processes(void);
-int smpd_get_hostname(char *host, int length);
-int PMIX_Start_root_smpd(int nproc, char *host, int len, int *port);
-int PMIX_Stop_root_smpd(void);
-int smpd_hash(char *input, int input_length, char *output, int output_length);
-int smpd_encrypt_data(char *input, int input_length, char *output, int output_length);
-int smpd_decrypt_data(char *input, int input_length, char *output, int *output_length);
-int smpd_get_all_smpd_data(smpd_data_t **data);
-int smpd_create_sspi_client_context(smpd_sspi_client_context_t **new_context);
-int smpd_free_sspi_client_context(smpd_sspi_client_context_t **context);
-int smpd_sspi_context_init(smpd_sspi_client_context_t **sspi_context_pptr, const char *host, int port, smpd_sspi_type_t type);
-int smpd_sspi_context_iter(int sspi_id, void **sspi_buffer_pptr, int *length_ptr);
-#ifdef HAVE_WINDOWS_H
-int smpd_setup_scps_with_file(char *filename);
-int smpd_setup_scp(TCHAR *hostname);
-int smpd_remove_scp(TCHAR *hostname, smpd_spn_list_hnd_t hnd);
-int smpd_remove_scps_with_file(char *filename, smpd_spn_list_hnd_t hnd);
-#endif
-int smpd_register_spn(const char *dc, const char *dn, const char *dh);
-int smpd_lookup_spn(char *target, int length, const char * host, int port);
-int smpd_lookup_spn_list(smpd_spn_list_hnd_t hnd, char *target, int length, const char * host, int port);
-int smpd_spn_list_finalize(smpd_spn_list_hnd_t *spn_list_hnd);
-int smpd_spn_list_init(smpd_spn_list_hnd_t *spn_list_hnd);
-int smpd_spn_list_dbg_print(smpd_spn_list_hnd_t hnd);
-SMPD_BOOL smpd_map_user_drives(char *pszMap, char *pszAccount, char *pszPassword, char *pszError, int maxerrlength);
-SMPD_BOOL smpd_unmap_user_drives(char *pszMap);
-void smpd_finalize_drive_maps(void);
-int smpd_append_env_option(char *str, int maxlen, const char *env_name, const char *env_val);
-#ifdef HAVE_WINDOWS_H
-int smpd_get_network_drives(char *pMapList, int mapListLen);
-int smpd_add_job_key(const char *key, const char *username, const char *domain, const char *full_domain);
-int smpd_add_job_key_and_handle(const char *key, const char *username, const char *domain, const char *full_domain, HANDLE hUser);
-int smpd_remove_job_key(const char *key);
-int smpd_associate_job_key(const char *key, const char *username, const char *domain, const char *full_domain, HANDLE user_handle);
-int smpd_lookup_job_key(const char *key, const char *username, HANDLE *user_handle, HANDLE *job_handle);
-#endif
-SMPD_BOOL smpd_verify_version(const char *challenge);
-void smpd_fix_up_host_tree(smpd_host_node_t *node);
-SMPD_BOOL smpd_isnumbers_with_colon(const char *str);
-int smpd_add_host_to_default_list(const char *hostname);
-int smpd_get_ccp_nodes(int *np, smpd_host_node_t **host_node_ptr_p);
-int smpd_add_extended_host_to_default_list(const char *hostname, const char *alt_hostname, const int num_cpus);
-int smpd_parse_map_string(const char *str, smpd_map_drive_node_t **list);
-int smpd_delayed_spawn_enqueue(smpd_context_t *context);
-int smpd_delayed_spawn_dequeue(smpd_context_t **context);
-int smpd_handle_delayed_spawn_command(void);
-
-#ifdef HAVE_WINDOWS_H
-DWORD_PTR smpd_get_next_process_affinity_mask(void );
-DWORD_PTR smpd_get_processor_affinity_mask(int proc_num);
-BOOL smpd_init_affinity_table(void );
-
-int smpd_hpc_js_rmk_init(smpd_hpc_js_handle_t *phnd);
-int smpd_hpc_js_rmk_finalize(smpd_hpc_js_handle_t *phnd);
-int smpd_hpc_js_rmk_alloc_nodes(smpd_hpc_js_handle_t hnd, smpd_launch_node_t *head);
-
-int smpd_hpc_js_bs_init(smpd_hpc_js_handle_t hnd);
-int smpd_hpc_js_bs_finalize(smpd_hpc_js_handle_t hnd);
-int smpd_hpc_js_bs_launch_procs(smpd_hpc_js_handle_t hnd, smpd_launch_node_t *head);
-
-#endif
-
-#if defined(__cplusplus)
-}
-#endif
-
-#endif
diff --git a/src/pm/smpd/smpd.rc b/src/pm/smpd/smpd.rc
deleted file mode 100644
index a28b454..0000000
--- a/src/pm/smpd/smpd.rc
+++ /dev/null
@@ -1,102 +0,0 @@
-// Microsoft Visual C++ generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE 
-BEGIN
-    "resource.h\0"
-END
-
-2 TEXTINCLUDE 
-BEGIN
-    "#include ""afxres.h""\r\n"
-    "\0"
-END
-
-3 TEXTINCLUDE 
-BEGIN
-    "\r\n"
-    "\0"
-END
-
-#endif    // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,0,0,1
- PRODUCTVERSION 1,0,0,1
- FILEFLAGSMASK 0x17L
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x4L
- FILETYPE 0x1L
- FILESUBTYPE 0x0L
-BEGIN
-    BLOCK "StringFileInfo"
-    BEGIN
-        BLOCK "040904b0"
-        BEGIN
-            VALUE "CompanyName", "Argonne National Lab"
-            VALUE "FileDescription", "Process manager service for MPICH applications"
-            VALUE "FileVersion", "1, 0, 0, 1"
-            VALUE "InternalName", "smpd"
-            VALUE "LegalCopyright", "Copyright (C) 2004"
-            VALUE "OriginalFilename", "smpd.exe"
-            VALUE "ProductName", "SMPD Process manager"
-            VALUE "ProductVersion", "1, 0, 0, 1"
-        END
-    END
-    BLOCK "VarFileInfo"
-    BEGIN
-        VALUE "Translation", 0x409, 1200
-    END
-END
-
-#endif    // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif    // not APSTUDIO_INVOKED
-
diff --git a/src/pm/smpd/smpd.sln b/src/pm/smpd/smpd.sln
deleted file mode 100644
index c985a8b..0000000
--- a/src/pm/smpd/smpd.sln
+++ /dev/null
@@ -1,56 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 8.00
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "smpd", "smpd.vcproj", "{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}"
-	ProjectSection(ProjectDependencies) = postProject
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51} = {0703FA94-8B8C-49AC-BFCE-91F67B599E51}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mpiexec", "mpiexec.vcproj", "{EFAF72A2-7154-410B-9235-460444894A38}"
-	ProjectSection(ProjectDependencies) = postProject
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51} = {0703FA94-8B8C-49AC-BFCE-91F67B599E51}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "smpd_util", "smpd_util.vcproj", "{0703FA94-8B8C-49AC-BFCE-91F67B599E51}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pmi", "..\..\pmi\smpd\pmi.vcproj", "{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Global
-	GlobalSection(SolutionConfiguration) = preSolution
-		Debug = Debug
-		DebugStatic = DebugStatic
-		Release = Release
-	EndGlobalSection
-	GlobalSection(ProjectConfiguration) = postSolution
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.Debug.ActiveCfg = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.Debug.Build.0 = Debug|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.DebugStatic.ActiveCfg = DebugStatic|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.DebugStatic.Build.0 = DebugStatic|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.Release.ActiveCfg = Release|Win32
-		{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}.Release.Build.0 = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.Debug.ActiveCfg = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.Debug.Build.0 = Debug|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.DebugStatic.ActiveCfg = DebugStatic|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.DebugStatic.Build.0 = DebugStatic|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.Release.ActiveCfg = Release|Win32
-		{EFAF72A2-7154-410B-9235-460444894A38}.Release.Build.0 = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.Debug.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.Debug.Build.0 = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.DebugStatic.ActiveCfg = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.DebugStatic.Build.0 = Debug|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.Release.ActiveCfg = Release|Win32
-		{0703FA94-8B8C-49AC-BFCE-91F67B599E51}.Release.Build.0 = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.Debug.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.Debug.Build.0 = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.DebugStatic.ActiveCfg = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.DebugStatic.Build.0 = Debug|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.Release.ActiveCfg = Release|Win32
-		{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}.Release.Build.0 = Release|Win32
-	EndGlobalSection
-	GlobalSection(ExtensibilityGlobals) = postSolution
-	EndGlobalSection
-	GlobalSection(ExtensibilityAddIns) = postSolution
-	EndGlobalSection
-EndGlobal
diff --git a/src/pm/smpd/smpd.vcproj b/src/pm/smpd/smpd.vcproj
deleted file mode 100644
index 45d62f8..0000000
--- a/src/pm/smpd/smpd.vcproj
+++ /dev/null
@@ -1,1341 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="smpd"
-	ProjectGUID="{73DC517A-212E-4C8C-8B13-D5CA120C7B5C}"
-	RootNamespace="smpd"
-	Keyword="Win32Proj"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="Debug"
-			IntermediateDirectory="smpdDebug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\include;..\..\include\win32;.\sock\include;.\sock\iocp\include"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_WINDOWS_H;USE_WINCONF_H"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib ws2_32.lib mswsock.lib mpr.lib Rpcrt4.lib crypt32.lib dbgd.lib pmid.lib smpd_utild.lib mpid.lib"
-				OutputFile="..\..\..\bin\smpd.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)/smpd.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="Release"
-			IntermediateDirectory="smpdRelease"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="..\..\include;..\..\include\win32;..\..\mpl\include;.\sock\include;.\sock\iocp\include;."
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_WINDOWS_H;USE_WINCONF_H"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib ws2_32.lib mswsock.lib mpr.lib Rpcrt4.lib crypt32.lib mpl.lib dbg.lib smpd_util.lib mpi.lib"
-				OutputFile="..\..\..\bin\smpd.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				GenerateDebugInformation="false"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="DebugStatic|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_WINDOWS_H;USE_WINCONF_H"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="Secur32.lib mpichssmsd.lib smpd_utild.lib ws2_32.lib mswsock.lib mpr.lib Rpcrt4.lib crypt32.lib"
-				OutputFile="..\..\..\bin\smpd.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)/smpd.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichDebugConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_WINDOWS_H;USE_WINCONF_H"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib mpichsocksd.lib ch3sockd.lib smpd_utild.lib dbgd.lib sockd.lib pmid.lib ws2_32.lib mswsock.lib mpr.lib Rpcrt4.lib crypt32.lib"
-				OutputFile="..\..\..\bin\smpd.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)/smpd.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;_CONSOLE;HAVE_WINDOWS_H;USE_WINCONF_H"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib mpichsocks.lib ch3sock.lib smpd_util.lib dbg.lib sock.lib pmi.lib ws2_32.lib mswsock.lib mpr.lib Rpcrt4.lib crypt32.lib"
-				OutputFile="..\..\..\bin\smpd.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				GenerateDebugInformation="false"
-				ProgramDatabaseFile="$(OutDir)/smpd.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_WINDOWS_H;USE_WINCONF_H"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib mpichshms.lib ch3shm.lib smpd_util.lib dbg.lib sock.lib pmi.lib ws2_32.lib mswsock.lib mpr.lib Rpcrt4.lib crypt32.lib"
-				OutputFile="..\..\..\bin\smpd.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				GenerateDebugInformation="false"
-				ProgramDatabaseFile="$(OutDir)/smpd.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_WINDOWS_H;USE_WINCONF_H"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib mpichshms.lib ch3shm.lib smpd_util.lib dbg.lib sock.lib pmi.lib ws2_32.lib mswsock.lib mpr.lib Rpcrt4.lib crypt32.lib"
-				OutputFile="..\..\..\bin\smpd.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				GenerateDebugInformation="false"
-				ProgramDatabaseFile="$(OutDir)/smpd.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_WINDOWS_H;USE_WINCONF_H"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib mpichshms.lib ch3shm.lib smpd_util.lib dbg.lib sock.lib pmi.lib ws2_32.lib mswsock.lib mpr.lib Rpcrt4.lib crypt32.lib"
-				OutputFile="..\..\..\bin\smpd.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				GenerateDebugInformation="false"
-				ProgramDatabaseFile="$(OutDir)/smpd.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mt_mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_WINDOWS_H;USE_WINCONF_H"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib mpichsocks.lib ch3sock.lib smpd_util.lib dbg.lib sock.lib pmi.lib ws2_32.lib mswsock.lib mpr.lib Rpcrt4.lib crypt32.lib"
-				OutputFile="..\..\..\bin\smpd.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)/smpd.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="testrelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_WINDOWS_H;USE_WINCONF_H"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib mpichsocks.lib ch3sock.lib smpd_util.lib dbg.lib sock.lib pmi.lib ws2_32.lib mswsock.lib mpr.lib Rpcrt4.lib crypt32.lib"
-				OutputFile="..\..\..\bin\smpd.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichDebugConfig_1_0_5|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;_CONSOLE;HAVE_WINDOWS_H;USE_WINCONF_H"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib mpichsocks.lib ch3sock.lib smpd_util.lib dbg.lib sock.lib pmi.lib ws2_32.lib mswsock.lib mpr.lib Rpcrt4.lib crypt32.lib"
-				OutputFile="..\..\..\bin\smpd.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				GenerateDebugInformation="false"
-				ProgramDatabaseFile="$(OutDir)/smpd.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="fortDebugConfig_1_0_5|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_WINDOWS_H;USE_WINCONF_H"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib mpichsocks.lib ch3sock.lib smpd_util.lib dbg.lib sock.lib pmi.lib ws2_32.lib mswsock.lib mpr.lib Rpcrt4.lib crypt32.lib"
-				OutputFile="..\..\..\bin\smpd.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3nemesisPRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="..\..\mpid\common\sock;..\..\mpid\common\sock\iocp;..\..\include;..\..\include\win32;..\..\mpid\ch3\include;..\..\mpid\common\datatype;..\..\mpid\ch3\channels\sock\include"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_WINDOWS_H;USE_WINCONF_H"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib mpichsocks.lib ch3sock.lib smpd_util.lib dbg.lib sock.lib pmi.lib ws2_32.lib mswsock.lib mpr.lib Rpcrt4.lib crypt32.lib"
-				OutputFile="..\..\..\bin\smpd.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="fortPRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="..\..\include;..\..\include\win32;..\..\mpl\include;.\sock\include;.\sock\iocp\include;."
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_WINDOWS_H;USE_WINCONF_H"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib ws2_32.lib mswsock.lib mpr.lib Rpcrt4.lib crypt32.lib mpl.lib dbg.lib smpd_util.lib mpi.lib"
-				OutputFile="..\..\..\bin\smpd.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				GenerateDebugInformation="false"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"
-			>
-			<File
-				RelativePath="smpd.c"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="DebugStatic|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ObjectFile="$(IntDir)/$(InputName)1.obj"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="smpd_cmd_args.c"
-				>
-			</File>
-			<File
-				RelativePath=".\smpd_service.c"
-				>
-			</File>
-			<File
-				RelativePath=".\smpd_watchprocs.c"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc"
-			>
-			<File
-				RelativePath=".\resource.h"
-				>
-			</File>
-			<File
-				RelativePath="smpd.h"
-				>
-			</File>
-			<File
-				RelativePath=".\smpd_service.h"
-				>
-			</File>
-			<File
-				RelativePath=".\smpd_version.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-			>
-			<File
-				RelativePath=".\smpd.rc"
-				>
-			</File>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/src/pm/smpd/smpd_ad.cpp b/src/pm/smpd/smpd_ad.cpp
deleted file mode 100644
index 793d231..0000000
--- a/src/pm/smpd/smpd_ad.cpp
+++ /dev/null
@@ -1,860 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-
-#include "smpd.h"
-#ifdef HAVE_WINDOWS_H
-#include <windows.h>
-#include <iads.h>
-#include "smpd_service.h"
-#include <ntdsapi.h>
-#include <dsgetdc.h>
-#include <lm.h>
-#define SECURITY_WIN32
-#include <security.h>
-#include <adshlp.h>
-#include <atlbase.h>
-#include <adserr.h>
-#endif
-
-static HRESULT GetGCSearch(IDirectorySearch **ppDS);
-static int smpd_build_spn_list();
-
-/* FIXME: Remove a static spn list - use spn list handles */
-static smpd_host_spn_node_t *spn_list = NULL;
-
-#undef FCNAME
-#define FCNAME "smpd_register_spn"
-int smpd_register_spn(const char *dc, const char *dn, const char *dh)
-{
-    DWORD len;
-    char err_msg[256];
-    LPSTR *spns;
-    HANDLE ds;
-    DWORD result;
-    char domain_controller[SMPD_MAX_HOST_LENGTH] = "";
-    char domain_name[SMPD_MAX_HOST_LENGTH] = "";
-    char domain_host[SMPD_MAX_HOST_LENGTH] = "";
-    char host[SMPD_MAX_HOST_LENGTH] = "";
-    int really = 0;
-    char *really_env;
-    PDOMAIN_CONTROLLER_INFO pInfo;
-
-    result = DsGetDcName(NULL/*local computer*/, NULL, NULL, NULL,
-	/*DS_IS_FLAT_NAME | DS_RETURN_DNS_NAME | DS_DIRECTORY_SERVICE_REQUIRED, */
-	DS_DIRECTORY_SERVICE_REQUIRED | DS_KDC_REQUIRED,
-	&pInfo);
-    if (result == ERROR_SUCCESS)
-    {
-	strcpy(domain_controller, pInfo->DomainControllerName);
-	strcpy(domain_name, pInfo->DomainName);
-	NetApiBufferFree(pInfo);
-    }
-
-    if (dc && *dc != '\0')
-    {
-	strcpy(domain_controller, dc);
-    }
-    if (dn && *dn != '\0')
-    {
-	strcpy(domain_name, dn);
-    }
-    if (dh && *dh != '\0')
-    {
-	strcpy(domain_host, dh);
-    }
-    if (domain_host[0] == '\0')
-    {
-	smpd_get_hostname(host, SMPD_MAX_HOST_LENGTH);
-	if (domain_name[0] != '\0')
-	{
-	    sprintf(domain_host, "%s\\%s", domain_name, host);
-	}
-	else
-	{
-	    strcpy(domain_host, host);
-	}
-    }
-
-    printf("DsBind(%s, %s, ...)\n", domain_controller[0] == '\0' ? NULL : domain_controller, domain_name[0] == '\0' ? NULL : domain_name);
-    result = DsBind(
-	domain_controller[0] == '\0' ? NULL : domain_controller,
-	domain_name[0] == '\0' ? NULL : domain_name, &ds);
-    if (result != ERROR_SUCCESS)
-    {
-	smpd_translate_win_error(result, err_msg, 256, NULL);
-	smpd_err_printf("DsBind failed: %s\n", err_msg);
-	return SMPD_FAIL;
-    }
-
-    really_env = getenv("really");
-    if (really_env)
-	really = 1;
-
-#if 1
-    len = 1;
-    /*result = DsGetSpn(DS_SPN_SERVICE, SMPD_SERVICE_NAME, SMPD_SERVICE_NAME, 0, 0, NULL, NULL, &len, &spns);*/
-    result = DsGetSpn(DS_SPN_DNS_HOST, SMPD_SERVICE_NAME, NULL, SMPD_LISTENER_PORT, 0, NULL, NULL, &len, &spns);
-    if (result != ERROR_SUCCESS)
-    {
-	smpd_translate_win_error(result, err_msg, 256, NULL);
-	smpd_err_printf("DsGetSpn failed: %s\n", err_msg);
-	return SMPD_FAIL;
-    }
-    if (really)
-    {
-	printf("registering: %s\n", spns[0]);
-	len = SMPD_MAX_HOST_LENGTH;
-	GetComputerObjectName(NameFullyQualifiedDN, domain_host, &len);
-	printf("on account: %s\n", domain_host);
-	result = DsWriteAccountSpn(ds, DS_SPN_ADD_SPN_OP, domain_host, 1, (LPCSTR*)spns);
-	if (result != ERROR_SUCCESS)
-	{
-	    DsFreeSpnArray(1, spns);
-	    smpd_translate_win_error(result, err_msg, 256, NULL);
-	    smpd_err_printf("DsWriteAccountSpn failed: %s\n", err_msg);
-	    return SMPD_FAIL;
-	}
-    }
-    else
-    {
-	printf("would register '%s' on %s\n", spns[0], domain_host);
-    }
-    DsFreeSpnArray(1, spns);
-#else
-    if (really)
-    {
-	result = DsServerRegisterSpn(DS_SPN_ADD_SPN_OP, SMPD_SERVICE_NAME, domain_host);
-	if (result != ERROR_SUCCESS)
-	{
-	    smpd_translate_win_error(result, err_msg, 256, NULL);
-	    smpd_err_printf("DsServerRegisterSpn failed: %s\n", err_msg);
-	    return SMPD_FAIL;
-	}
-    }
-    else
-    {
-	printf("would register '%s' on %s\n", SMPD_SERVICE_NAME, domain_host);
-    }
-#endif
-    result = DsUnBind(&ds);
-    return SMPD_SUCCESS;
-}
-
-#define SMPD_INIT_SPN(spn, spn_len, service_class, service_dns_name, fq_hostname)   \
-    MPIU_Snprintf(spn, spn_len, "%s/%s/%s", service_class, service_dns_name, fq_hostname)
-
-#undef FCNAME
-#define FCNAME "smpd_spn_list_dbg_print"
-int smpd_spn_list_dbg_print(smpd_spn_list_hnd_t hnd){
-    smpd_host_spn_node_t *iter=NULL;
-    smpd_enter_fn(FCNAME);
-
-    if(!SMPD_SPN_LIST_HND_IS_INIT(hnd)){
-        smpd_dbg_printf("Invalid handle to spn list\n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-
-    iter = *hnd;
-    while(iter){
-        smpd_dbg_printf("FQ Service name = %s\n", iter->fq_service_name);
-        iter = iter->next;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-#undef FCNAME
-#define FCNAME "smpd_spn_list_init"
-int smpd_spn_list_init(smpd_spn_list_hnd_t *spn_list_hnd_p)
-{
-    HRESULT hr;
-    int result = SMPD_SUCCESS;
-    IDirectoryObject *pSCP = NULL;
-    ADS_ATTR_INFO *pPropEntries = NULL;
-    IDirectorySearch *pSearch = NULL;
-    ADS_SEARCH_HANDLE hSearch = NULL;
-    LPWSTR pszDN;                  /* distinguished name of SCP. */
-    LPWSTR pszServiceDNSName;      /* service DNS name. */
-    LPWSTR pszClass;               /* name of service class. */
-    USHORT usPort;                 /* service port. */
-    WCHAR pszSearchString[SMPD_MAX_NAME_LENGTH];
-    char service_class[SMPD_MAX_NAME_LENGTH];
-    smpd_host_spn_node_t *iter;
-    smpd_host_spn_node_t *spn_list_head=NULL;
-
-    smpd_enter_fn(FCNAME);
-    if(spn_list_hnd_p == NULL){
-        smpd_err_printf("Invalid pointer to SPN list handle\n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-
-    spn_list_head = NULL;
-
-    /* Allocate memory for spn list handle contents. Currently the handle just has the head
-     * ptr to the list 
-     */
-    *spn_list_hnd_p = (smpd_host_spn_node_t **) MPIU_Malloc(sizeof(smpd_host_spn_node_t *));
-    if(*spn_list_hnd_p == NULL){
-        smpd_err_printf("Unable to allocate memory for list handle\n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-
-    **spn_list_hnd_p = NULL;
-
-    CoInitialize(NULL);
-
-    /* Get an IDirectorySearch pointer for the Global Catalog.  */
-    hr = GetGCSearch(&pSearch);
-    if (FAILED(hr) || pSearch == NULL) {
-	    smpd_err_printf("GetGC failed 0x%x\n", hr);
-        result = SMPD_FAIL;
-	    goto Cleanup;
-    }
-
-    /* Set up a deep search.
-      Thousands of objects are not expected, therefore
-      query for 1000 rows per page.*/
-    ADS_SEARCHPREF_INFO SearchPref[2];
-    DWORD dwPref = sizeof(SearchPref)/sizeof(ADS_SEARCHPREF_INFO);
-    SearchPref[0].dwSearchPref =    ADS_SEARCHPREF_SEARCH_SCOPE;
-    SearchPref[0].vValue.dwType =   ADSTYPE_INTEGER;
-    SearchPref[0].vValue.Integer =  ADS_SCOPE_SUBTREE;
-
-    SearchPref[1].dwSearchPref =    ADS_SEARCHPREF_PAGESIZE;
-    SearchPref[1].vValue.dwType =   ADSTYPE_INTEGER;
-    SearchPref[1].vValue.Integer =  1000;
-
-    hr = pSearch->SetSearchPreference(SearchPref, dwPref);
-    if (FAILED(hr)){
-	    smpd_err_printf("Failed to set search prefs: hr:0x%x\n", hr);
-        result = SMPD_FAIL;
-	    goto Cleanup;
-    }
-
-    /* Execute the search. From the GC get the distinguished name 
-      of the SCP. Use the DN to bind to the SCP and get the other 
-      properties. */
-    LPWSTR rgszDN[] = {L"distinguishedName"};
-
-    /* Search for a match of the product GUID. */
-    swprintf(pszSearchString, L"(keywords=%s)", SMPD_SERVICE_VENDOR_GUIDW);
-    hr = pSearch->ExecuteSearch(pszSearchString, rgszDN, 1, &hSearch);
-    /*hr = pSearch->ExecuteSearch(L"keywords=5722fe5f-cf46-4594-af7c-0997ca2e9d72", rgszDN, 1, &hSearch);*/
-    if (FAILED(hr)){
-	    smpd_err_printf("ExecuteSearch failed: hr:0x%x\n", hr);
-        result = SMPD_FAIL;
-	    goto Cleanup;
-    }
-
-    /* Loop through the results. Each row should be an instance of the 
-      service identified by the product GUID.
-      Add logic to select from multiple service instances. */
-    while (SUCCEEDED(hr = pSearch->GetNextRow(hSearch))){
-        DWORD dwError = ERROR_SUCCESS;
-        WCHAR szError[512];
-        WCHAR szProvider[512];
-
-        if (hr == S_ADS_NOMORE_ROWS){
-            ADsGetLastError(&dwError, szError, 512, szProvider, 512);
-            if (ERROR_MORE_DATA == dwError){
-                continue;
-            }
-            smpd_dbg_printf("No more result rows from GC\n");
-            result = SMPD_SUCCESS;
-            goto Cleanup;
-	    }
-
-        ADS_SEARCH_COLUMN Col;
-
-        hr = pSearch->GetColumn(hSearch, L"distinguishedName", &Col);
-        if(FAILED(hr)){
-            smpd_err_printf("Failed to get Distinguished Name for SPN\n");
-            result = SMPD_FAIL;
-            goto Cleanup;
-        }
-        pszDN = AllocADsStr(Col.pADsValues->CaseIgnoreString);
-        if(pszDN == NULL){
-            ADsGetLastError(&dwError, szError, 512, szProvider, 512);
-            smpd_err_printf("Failed to allocate memory for ADs string, 0x%x\n", dwError);
-            result = SMPD_FAIL;
-            goto Cleanup;
-        }
-        pSearch->FreeColumn(&Col);
-
-        /* Bind to the DN to get the other properties. */
-        LPWSTR lpszLDAPPrefix = L"LDAP://";
-        DWORD dwSCPPathLength = (DWORD)(wcslen(lpszLDAPPrefix) + wcslen(pszDN) + 1);
-        LPWSTR pwszSCPPath = (LPWSTR)malloc(sizeof(WCHAR) * dwSCPPathLength);
-        if (pwszSCPPath){
-            wcscpy(pwszSCPPath, lpszLDAPPrefix);
-            wcscat(pwszSCPPath, pszDN);
-        }
-        else{
-	        smpd_err_printf("Failed to allocate a buffer\n");
-            result = SMPD_FAIL;
-	        goto Cleanup;
-	    }               
-        /*wprintf(L"pszDN = %s\n", pszDN);*/
-
-        hr = ADsGetObject(pwszSCPPath, IID_IDirectoryObject, (void**)&pSCP);
-        free(pwszSCPPath);
-
-        if (SUCCEEDED(hr)) {
-            /* Properties to retrieve from the SCP object. */
-            LPWSTR rgszAttribs[]=
-                {
-                    {L"serviceClassName"},
-                    {L"serviceDNSName"},
-                    /*{L"serviceDNSNameType"},*/
-                    {L"serviceBindingInformation"}
-                };
-
-            DWORD dwAttrs = sizeof(rgszAttribs)/sizeof(LPWSTR);
-            DWORD dwNumAttrGot;
-            hr = pSCP->GetObjectAttributes(rgszAttribs, dwAttrs, &pPropEntries, &dwNumAttrGot);
-            if (FAILED(hr)){
-                smpd_err_printf("GetObjectAttributes Failed. hr:0x%x\n", hr);
-                result = SMPD_FAIL;
-                goto Cleanup;
-            }
-
-            pszServiceDNSName = NULL;
-            pszClass = NULL;
-            iter = (smpd_host_spn_node_t*)malloc(sizeof(smpd_host_spn_node_t));
-            if (iter == NULL){
-                smpd_err_printf("Unable to allocate memory to store an SPN entry.\n");
-                result = SMPD_FAIL;
-                goto Cleanup;
-            }
-            iter->next = NULL;
-            iter->host[0] = '\0';
-            iter->dnshost[0] = '\0';
-            iter->spn[0] = '\0';
-
-            /* Loop through the entries returned by GetObjectAttributes 
-             * and save the values in the appropriate buffers.
-             */
-            for (int i = 0; i < (LONG)dwAttrs; i++){
-                if ((wcscmp(L"serviceDNSName", pPropEntries[i].pszAttrName) == 0) &&
-                        (pPropEntries[i].dwADsType == ADSTYPE_CASE_IGNORE_STRING)){
-                    pszServiceDNSName = AllocADsStr(pPropEntries[i].pADsValues->CaseIgnoreString);
-                    /*wprintf(L"pszServiceDNSName = %s\n", pszServiceDNSName);*/
-                }
-                if ((wcscmp(L"serviceClassName", pPropEntries[i].pszAttrName) == 0) &&
-                        (pPropEntries[i].dwADsType == ADSTYPE_CASE_IGNORE_STRING)){
-                    pszClass = AllocADsStr(pPropEntries[i].pADsValues->CaseIgnoreString);
-                    /*wprintf(L"pszClass = %s\n", pszClass);*/
-                }
-                if ((wcscmp(L"serviceBindingInformation", pPropEntries[i].pszAttrName) == 0) &&
-                    (pPropEntries[i].dwADsType == ADSTYPE_CASE_IGNORE_STRING)){
-                    usPort=(USHORT)_wtoi(pPropEntries[i].pADsValues->CaseIgnoreString);
-                    /*wprintf(L"usPort = %d\n", usPort);*/
-                }
-            } /* for(;;) */
-            if(pszServiceDNSName != NULL){
-                wcstombs(iter->dnshost, pszServiceDNSName, SMPD_MAX_NAME_LENGTH);
-            }
-            wcstombs(service_class, pszClass, SMPD_MAX_NAME_LENGTH);
-            /*MPIU_Snprintf(iter->spn, SMPD_MAX_NAME_LENGTH, "%s/%s:%d", temp_str, iter->dnshost, usPort);*/
-            wcstombs(iter->fq_service_name, pszDN, SMPD_MAX_FQ_NAME_LENGTH);
-            /* MPIU_Snprintf(iter->spn, SMPD_MAX_NAME_LENGTH, "%s/%s/%s", temp_str, iter->dnshost, temp_str2); */
-            SMPD_INIT_SPN(iter->spn, SMPD_MAX_FQ_NAME_LENGTH, service_class, iter->dnshost, iter->fq_service_name);
-
-            iter->next = spn_list_head;
-	        spn_list_head = iter;
-            if (pszServiceDNSName != NULL){
-                FreeADsStr(pszServiceDNSName);
-            }
-            if (pszClass != NULL){
-                FreeADsStr(pszClass);
-            }
-        }
-        FreeADsStr(pszDN);
-    } /* GetNextRow() */
-
-Cleanup:
-
-    **spn_list_hnd_p = spn_list_head;
-    smpd_spn_list_dbg_print(*spn_list_hnd_p);
-
-    if (pSCP){
-        pSCP->Release();
-        pSCP = NULL;
-    }
-
-    if (pPropEntries){
-        FreeADsMem(pPropEntries);
-        pPropEntries = NULL;
-    }
-
-    if (pSearch){
-        if (hSearch){
-            pSearch->CloseSearchHandle(hSearch);
-            hSearch = NULL;
-        }
-
-        pSearch->Release();
-        pSearch = NULL;
-    }
-    
-    CoUninitialize();
-
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_spn_list_finalize"
-int smpd_spn_list_finalize(smpd_spn_list_hnd_t *spn_list_hnd_p)
-{
-    smpd_host_spn_node_t *spn_list_head, *cur_node;
-    smpd_enter_fn(FCNAME);
-    if(spn_list_hnd_p == NULL){
-        smpd_err_printf("Invalid pointer to spn list handle\n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-    if(!SMPD_SPN_LIST_HND_IS_INIT(*spn_list_hnd_p)){
-        smpd_dbg_printf("Trying to finalize an uninitialized handle\n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-
-    spn_list_head = **spn_list_hnd_p;
-    while(spn_list_head != NULL){
-        cur_node = spn_list_head;
-        spn_list_head = cur_node->next;
-        MPIU_Free(cur_node);
-    }
-    /* Free contents of the spn handle */
-    MPIU_Free(*spn_list_hnd_p);
-
-    *spn_list_hnd_p = NULL;
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-static int smpd_build_spn_list()
-{
-    HRESULT hr;
-    IDirectoryObject *pSCP = NULL;
-    ADS_ATTR_INFO *pPropEntries = NULL;
-    IDirectorySearch *pSearch = NULL;
-    ADS_SEARCH_HANDLE hSearch = NULL;
-    LPWSTR pszDN;                  /* distinguished name of SCP. */
-    LPWSTR pszServiceDNSName;      /* service DNS name. */
-    LPWSTR pszClass;               /* name of service class. */
-    USHORT usPort;                 /* service port. */
-    WCHAR pszSearchString[SMPD_MAX_NAME_LENGTH];
-    char temp_str[SMPD_MAX_NAME_LENGTH];
-    char temp_str2[SMPD_MAX_NAME_LENGTH];
-    smpd_host_spn_node_t *iter;
-    /* double t1, t2; */
-    static int initialized = 0;
-
-    if (initialized)
-    {
-	return SMPD_SUCCESS;
-    }
-    initialized = 1;
-
-    /* t1 = PMPI_Wtime(); */
-
-    CoInitialize(NULL);
-
-    /* Get an IDirectorySearch pointer for the Global Catalog.  */
-    hr = GetGCSearch(&pSearch);
-    if (FAILED(hr) || pSearch == NULL) 
-    {
-	smpd_err_printf("GetGC failed 0x%x\n", hr);
-	goto Cleanup;
-    }
-
-    /* Set up a deep search.
-      Thousands of objects are not expected in this example, therefore
-      query for 1000 rows per page.*/
-    ADS_SEARCHPREF_INFO SearchPref[2];
-    DWORD dwPref = sizeof(SearchPref)/sizeof(ADS_SEARCHPREF_INFO);
-    SearchPref[0].dwSearchPref =    ADS_SEARCHPREF_SEARCH_SCOPE;
-    SearchPref[0].vValue.dwType =   ADSTYPE_INTEGER;
-    SearchPref[0].vValue.Integer =  ADS_SCOPE_SUBTREE;
-
-    SearchPref[1].dwSearchPref =    ADS_SEARCHPREF_PAGESIZE;
-    SearchPref[1].vValue.dwType =   ADSTYPE_INTEGER;
-    SearchPref[1].vValue.Integer =  1000;
-
-    hr = pSearch->SetSearchPreference(SearchPref, dwPref);
-    if (FAILED(hr))
-    {
-	smpd_err_printf("Failed to set search prefs: hr:0x%x\n", hr);
-	goto Cleanup;
-    }
-
-    /* Execute the search. From the GC get the distinguished name 
-      of the SCP. Use the DN to bind to the SCP and get the other 
-      properties. */
-    LPWSTR rgszDN[] = {L"distinguishedName"};
-
-    /* Search for a match of the product GUID. */
-    swprintf(pszSearchString, L"keywords=%s", SMPD_SERVICE_VENDOR_GUIDW);
-    hr = pSearch->ExecuteSearch(pszSearchString, rgszDN, 1, &hSearch);
-    /*hr = pSearch->ExecuteSearch(L"keywords=5722fe5f-cf46-4594-af7c-0997ca2e9d72", rgszDN, 1, &hSearch);*/
-    if (FAILED(hr))
-    {
-	smpd_err_printf("ExecuteSearch failed: hr:0x%x\n", hr);
-	goto Cleanup;
-    }
-
-    /* Loop through the results. Each row should be an instance of the 
-      service identified by the product GUID.
-      Add logic to select from multiple service instances. */
-    while (SUCCEEDED(hr = pSearch->GetNextRow(hSearch)))
-    {
-	if (hr == S_ADS_NOMORE_ROWS)
-	{
-	    DWORD dwError = ERROR_SUCCESS;
-	    WCHAR szError[512];
-	    WCHAR szProvider[512];
-
-	    ADsGetLastError(&dwError, szError, 512, szProvider, 512);
-	    if (ERROR_MORE_DATA == dwError)
-	    {
-		continue;
-	    }
-	    goto Cleanup;
-	}
-
-	ADS_SEARCH_COLUMN Col;
-
-	hr = pSearch->GetColumn(hSearch, L"distinguishedName", &Col);
-	pszDN = AllocADsStr(Col.pADsValues->CaseIgnoreString);
-	pSearch->FreeColumn(&Col);
-
-	/* Bind to the DN to get the other properties. */
-	LPWSTR lpszLDAPPrefix = L"LDAP://";
-	DWORD dwSCPPathLength = (DWORD)(wcslen(lpszLDAPPrefix) + wcslen(pszDN) + 1);
-	LPWSTR pwszSCPPath = (LPWSTR)malloc(sizeof(WCHAR) * dwSCPPathLength);
-	if (pwszSCPPath)
-	{
-	    wcscpy(pwszSCPPath, lpszLDAPPrefix);
-	    wcscat(pwszSCPPath, pszDN);
-	}       
-	else
-	{
-	    smpd_err_printf("Failed to allocate a buffer\n");
-	    goto Cleanup;
-	}               
-	/*wprintf(L"pszDN = %s\n", pszDN);*/
-	/*FreeADsStr(pszDN);*/
-
-	hr = ADsGetObject(pwszSCPPath, IID_IDirectoryObject, (void**)&pSCP);
-	free(pwszSCPPath);
-
-	if (SUCCEEDED(hr)) 
-	{
-	    /* Properties to retrieve from the SCP object. */
-	    LPWSTR rgszAttribs[]=
-	    {
-		{L"serviceClassName"},
-		{L"serviceDNSName"},
-		/*{L"serviceDNSNameType"},*/
-		{L"serviceBindingInformation"}
-	    };
-
-	    DWORD dwAttrs = sizeof(rgszAttribs)/sizeof(LPWSTR);
-	    DWORD dwNumAttrGot;
-	    hr = pSCP->GetObjectAttributes(rgszAttribs, dwAttrs, &pPropEntries, &dwNumAttrGot);
-	    if (FAILED(hr)) 
-	    {
-		smpd_err_printf("GetObjectAttributes Failed. hr:0x%x\n", hr);
-		goto Cleanup;
-	    }
-
-	    pszServiceDNSName = NULL;
-	    pszClass = NULL;
-	    iter = (smpd_host_spn_node_t*)malloc(sizeof(smpd_host_spn_node_t));
-	    if (iter == NULL)
-	    {
-		smpd_err_printf("Unable to allocate memory to store an SPN entry.\n");
-		goto Cleanup;
-	    }
-	    iter->next = NULL;
-	    iter->host[0] = '\0';
-	    iter->spn[0] = '\0';
-	    iter->dnshost[0] = '\0';
-
-	    /* Loop through the entries returned by GetObjectAttributes 
-	    and save the values in the appropriate buffers.  */
-	    for (int i = 0; i < (LONG)dwAttrs; i++) 
-	    {
-		if ((wcscmp(L"serviceDNSName", pPropEntries[i].pszAttrName) == 0) &&
-		    (pPropEntries[i].dwADsType == ADSTYPE_CASE_IGNORE_STRING)) 
-		{
-		    pszServiceDNSName = AllocADsStr(pPropEntries[i].pADsValues->CaseIgnoreString);
-		    /*wprintf(L"pszServiceDNSName = %s\n", pszServiceDNSName);*/
-		}
-
-		/*
-		if ((wcscmp(L"serviceDNSNameType", pPropEntries[i].pszAttrName) == 0) &&
-		(pPropEntries[i].dwADsType == ADSTYPE_CASE_IGNORE_STRING)) 
-		{
-		pszServiceDNSNameType = AllocADsStr(pPropEntries[i].pADsValues->CaseIgnoreString);
-		wprintf(L"pszServiceDNSNameType = %s\n", pszServiceDNSNameType);
-		}
-		*/
-
-		if ((wcscmp(L"serviceClassName", pPropEntries[i].pszAttrName) == 0) &&
-		    (pPropEntries[i].dwADsType == ADSTYPE_CASE_IGNORE_STRING)) 
-		{
-		    pszClass = AllocADsStr(pPropEntries[i].pADsValues->CaseIgnoreString);
-		    /*wprintf(L"pszClass = %s\n", pszClass);*/
-		}
-
-		if ((wcscmp(L"serviceBindingInformation", pPropEntries[i].pszAttrName) == 0) &&
-		    (pPropEntries[i].dwADsType == ADSTYPE_CASE_IGNORE_STRING)) 
-		{
-		    usPort=(USHORT)_wtoi(pPropEntries[i].pADsValues->CaseIgnoreString);
-		    /*wprintf(L"usPort = %d\n", usPort);*/
-		}
-	    }
-
-	    wcstombs(iter->dnshost, pszServiceDNSName, SMPD_MAX_NAME_LENGTH);
-	    wcstombs(temp_str, pszClass, SMPD_MAX_NAME_LENGTH);
-	    /*MPIU_Snprintf(iter->spn, SMPD_MAX_NAME_LENGTH, "%s/%s:%d", temp_str, iter->dnshost, usPort);*/
-	    wcstombs(temp_str2, pszDN, SMPD_MAX_NAME_LENGTH);
-	    MPIU_Snprintf(iter->spn, SMPD_MAX_NAME_LENGTH, "%s/%s/%s", temp_str, iter->dnshost, temp_str2);
-	    MPIU_Strncpy(iter->host, iter->dnshost, SMPD_MAX_NAME_LENGTH);
-	    strtok(iter->host, ".");
-	    iter->next = spn_list;
-	    spn_list = iter;
-	    if (pszServiceDNSName != NULL)
-	    {
-		FreeADsStr(pszServiceDNSName);
-	    }
-	    if (pszClass != NULL)
-	    {
-		FreeADsStr(pszClass);
-	    }
-	}
-	FreeADsStr(pszDN);
-    }
-
-Cleanup:
-    /*
-    iter = spn_list;
-    while (iter != NULL)
-    {
-	printf("host   : %s\n", iter->host);
-	printf("dnshost: %s\n", iter->dnshost);
-	printf("spn    : %s\n", iter->spn);
-	iter = iter->next;
-    }
-    fflush(stdout);
-    */
-    if (pSCP)
-    {
-	pSCP->Release();
-	pSCP = NULL;
-    }
-
-    if (pPropEntries)
-    {
-	FreeADsMem(pPropEntries);
-	pPropEntries = NULL;
-    }
-
-    if (pSearch)
-    {
-	if (hSearch)
-	{
-	    pSearch->CloseSearchHandle(hSearch);
-	    hSearch = NULL;
-	}
-
-	pSearch->Release();
-	pSearch = NULL;
-    }
-    CoUninitialize();
-
-    /* t2 = PMPI_Wtime();
-    smpd_dbg_printf("build_spn_list took %0.6f seconds\n", t2-t1);
-    */
-
-    return SMPD_SUCCESS;
-}
-
-static HRESULT GetGCSearch(IDirectorySearch **ppDS)
-{
-    HRESULT hr;
-    IEnumVARIANT *pEnum = NULL;
-    IADsContainer *pCont = NULL;
-    IDispatch *pDisp = NULL;
-    VARIANT var;
-    ULONG lFetch;
-
-    *ppDS = NULL;
-
-    /* Bind to the GC: namespace container object. The true GC DN 
-      is a single immediate child of the GC: namespace, which must 
-      be obtained using enumeration. */
-    hr = ADsOpenObject(L"GC:", NULL, NULL, ADS_SECURE_AUTHENTICATION, /* Use Secure Authentication. */
-	IID_IADsContainer,
-	(void**)&pCont);
-    if (FAILED(hr)) 
-    {
-	smpd_err_printf("ADsOpenObject failed: 0x%x\n", hr);
-	goto cleanup;
-    } 
-
-    /* Get an enumeration interface for the GC container.  */
-    hr = ADsBuildEnumerator(pCont, &pEnum);
-    if (FAILED(hr)) 
-    {
-	smpd_err_printf("ADsBuildEnumerator failed: 0x%x\n", hr);
-	goto cleanup;
-    } 
-
-    /* Now enumerate. There is only one child of the GC: object. */
-    hr = ADsEnumerateNext(pEnum, 1, &var, &lFetch);
-    if (FAILED(hr)) 
-    {
-	smpd_err_printf("ADsEnumerateNext failed: 0x%x\n", hr);
-	goto cleanup;
-    } 
-
-    if ((hr == S_OK) && (lFetch == 1))
-    {
-	pDisp = V_DISPATCH(&var);
-	hr = pDisp->QueryInterface(IID_IDirectorySearch, (void**)ppDS); 
-    }
-
-cleanup:
-    if (pEnum)
-    {
-	ADsFreeEnumerator(pEnum);
-	pEnum = NULL;
-    }
-
-    if (pCont)
-    {
-	pCont->Release();
-	pCont = NULL;
-    }
-
-    if (pDisp)
-    {
-	pDisp->Release();
-	pDisp = NULL;
-    }
-
-    return hr;
-}
-
-
-#undef FCNAME
-#define FCNAME "smpd_lookup_spn_list"
-int smpd_lookup_spn_list(smpd_spn_list_hnd_t hnd, char *target, int length, const char *fq_name, int port)
-{
-    int result = SMPD_SUCCESS;
-    char err_msg[256];
-    ULONG len = length/*SMPD_MAX_NAME_LENGTH*/;
-    char *env;
-    smpd_host_spn_node_t *iter;
-
-    smpd_enter_fn(FCNAME);
-    if(!SMPD_SPN_LIST_HND_IS_INIT(hnd)){
-        smpd_err_printf("Invalid handle to spn list \n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-
-    smpd_spn_list_dbg_print(hnd); fflush(stdout);
-
-    env = getenv("MPICH_SPN");
-    if (env){
-        MPIU_Strncpy(target, env, SMPD_MAX_NAME_LENGTH);
-        smpd_exit_fn(FCNAME);
-        return SMPD_SUCCESS;
-    }
-
-    /* smpd_build_spn_list(); */
-    iter = (smpd_host_spn_node_t *) (*hnd);
-    while (iter != NULL){
-        if (stricmp(iter->fq_service_name, fq_name) == 0){
-            MPIU_Strncpy(target, iter->spn, length);
-            smpd_exit_fn(FCNAME);
-            return SMPD_SUCCESS;
-        }
-        iter = iter->next;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_FAIL;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_lookup_spn"
-int smpd_lookup_spn(char *target, int length, const char *host, int port)
-{
-    int result;
-    char err_msg[256];
-    ULONG len = length/*SMPD_MAX_NAME_LENGTH*/;
-    char *env;
-    smpd_host_spn_node_t *iter;
-
-    env = getenv("MPICH_SPN");
-    if (env)
-    {
-	MPIU_Strncpy(target, env, SMPD_MAX_NAME_LENGTH);
-	return SMPD_SUCCESS;
-    }
-
-    smpd_build_spn_list();
-    iter = spn_list;
-    while (iter != NULL)
-    {
-	if (stricmp(iter->host, host) == 0)
-	{
-	    MPIU_Strncpy(target, iter->spn, SMPD_MAX_NAME_LENGTH);
-	    return SMPD_SUCCESS;
-	}
-	if (stricmp(iter->dnshost, host) == 0)
-	{
-	    MPIU_Strncpy(target, iter->spn, SMPD_MAX_NAME_LENGTH);
-	    return SMPD_SUCCESS;
-	}
-	iter = iter->next;
-    }
-
-    result = DsMakeSpn(SMPD_SERVICE_NAME, NULL, host, (USHORT)port, NULL, &len, target);
-    if (result != ERROR_SUCCESS)
-    {
-	smpd_translate_win_error(result, err_msg, 255, NULL);
-	smpd_err_printf("DsMakeSpn(%s, %s, %d) failed: %s\n", SMPD_SERVICE_NAME, host, port, err_msg);
-	return SMPD_FAIL;
-    }
-
-
-    /*result = DsMakeSpn(SMPD_SERVICE_NAME, SMPD_SERVICE_NAME, NULL, 0, NULL, &len, target);*/
-    /*
-    char **spns;
-    result = DsGetSpn(DS_SPN_DNS_HOST, SMPD_SERVICE_NAME, NULL, port, 1, &host, NULL, &len, &spns);
-    if (result != ERROR_SUCCESS)
-    {
-	smpd_translate_win_error(result, err_msg, 255, NULL);
-	smpd_err_printf("DsGetSpn failed: %s\n", err_msg);
-	return SMPD_FAIL;
-    }
-    MPIU_Strncpy(target, spns[0], SMPD_MAX_NAME_LENGTH);
-    DsFreeSpnArray(1, spns);
-    */
-    /*MPIU_Snprintf(target, SMPD_MAX_NAME_LENGTH, "%s/%s:%d", SMPD_SERVICE_NAME, host, port);*/
-    return SMPD_SUCCESS;
-}
diff --git a/src/pm/smpd/smpd_adreg.cpp b/src/pm/smpd/smpd_adreg.cpp
deleted file mode 100644
index fe77825..0000000
--- a/src/pm/smpd/smpd_adreg.cpp
+++ /dev/null
@@ -1,1305 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- * (C) 2001 by Argonne National Laboratory.
- * See COPYRIGHT in top-level directory.
- */
-#include <winsock2.h>
-#include <windows.h>
-#include <iads.h>
-#include "smpd_service.h"
-#include <ntdsapi.h>
-#include <dsgetdc.h>
-#include <lm.h>
-#define SECURITY_WIN32
-#include <security.h>
-#include <adshlp.h>
-#include <atlbase.h>
-#include <adserr.h>
-
-static HRESULT AllowAccessToScpProperties(LPWSTR wszAccountSAM, IADs *pSCPObject);
-
-typedef struct tagADSERRMSG
-{
-    HRESULT hr;
-    LPCTSTR pszError;
-} ADSERRMSG;
-
-#define ADDADSERROR(x) x, _T(#x)
-
-static ADSERRMSG adsErr[] =
-{
-    ADDADSERROR(E_ADS_BAD_PATHNAME),
-	ADDADSERROR(E_ADS_INVALID_DOMAIN_OBJECT),
-	ADDADSERROR(E_ADS_INVALID_USER_OBJECT),
-	ADDADSERROR(E_ADS_INVALID_COMPUTER_OBJECT),
-	ADDADSERROR(E_ADS_UNKNOWN_OBJECT),
-	ADDADSERROR(E_ADS_PROPERTY_NOT_SET),
-	ADDADSERROR(E_ADS_PROPERTY_NOT_SUPPORTED),
-	ADDADSERROR(E_ADS_PROPERTY_INVALID),
-	ADDADSERROR(E_ADS_BAD_PARAMETER),
-	ADDADSERROR(E_ADS_OBJECT_UNBOUND),
-	ADDADSERROR(E_ADS_PROPERTY_NOT_MODIFIED),
-	ADDADSERROR(E_ADS_PROPERTY_MODIFIED),
-	ADDADSERROR(E_ADS_CANT_CONVERT_DATATYPE),
-	ADDADSERROR(E_ADS_PROPERTY_NOT_FOUND),
-	ADDADSERROR(E_ADS_OBJECT_EXISTS),
-	ADDADSERROR(E_ADS_SCHEMA_VIOLATION),
-	ADDADSERROR(E_ADS_COLUMN_NOT_SET),
-	ADDADSERROR(E_ADS_INVALID_FILTER),
-	ADDADSERROR(0),
-};
-
-
-static LPCTSTR GetADSIError( HRESULT hr )
-{
-    if ( hr & 0x00005000 )
-    {
-	int idx=0;
-	while (adsErr[idx].hr != 0 )
-	{
-	    if ( adsErr[idx].hr == hr )
-	    {
-		return adsErr[idx].pszError;
-	    }
-	    idx++;
-	}
-    }
-
-    return _T("");
-}
-
-static LPCTSTR GetErrorMessage( HRESULT hr )
-{
-    BOOL bRet;
-    static TCHAR s[1024];
-    LPTSTR lpBuffer=NULL;
-
-    if ( SUCCEEDED(hr) )
-    {
-	return _T("Success");
-    }
-    if ( hr & 0x00005000) /* standard ADSI Errors */
-    {
-	_tcscpy(s, GetADSIError(hr));
-    }
-    else if ( HRESULT_FACILITY(hr)==FACILITY_WIN32 )
-    {
-	bRet = FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER |
-	    FORMAT_MESSAGE_FROM_SYSTEM,
-	    NULL, hr,
-	    MAKELANGID(LANG_NEUTRAL,
-	    SUBLANG_SYS_DEFAULT),
-	    (LPTSTR) &lpBuffer, 0, NULL);
-	if ( !bRet )
-	{
-	    _sntprintf(s, 1024, _T("Error %ld"), hr);
-	}
-
-	if ( lpBuffer )
-	{
-	    _tcscpy(s, lpBuffer);
-	    LocalFree( lpBuffer );
-	}
-    }
-    else /* Non Win32 Error */
-    {
-	_sntprintf(s, 1024, _T("%X"), hr );
-	return s;
-    }
-
-    WCHAR szBuffer[MAX_PATH];
-    WCHAR szName[MAX_PATH];
-    DWORD dwError;
-
-
-    hr = ADsGetLastError( &dwError, szBuffer, (sizeof(szBuffer)/sizeof(WCHAR))-1,
-	szName, (sizeof(szName)/sizeof(WCHAR))-1 );
-
-
-    if ( SUCCEEDED(hr) && dwError != ERROR_INVALID_DATA && wcslen(szBuffer))
-    {
-	USES_CONVERSION;
-	_tcscat(s, _T(" -- Extended Error --- \n"));
-	_tcscat(s, OLE2T(szName));
-	_tcscat(s, _T(":\n"));
-	_tcscat(s, OLE2T( szBuffer ));
-    }
-
-    return s;
-}
-
-static void ReportError(TCHAR *msg, HRESULT hr)
-{
-    _tprintf(TEXT("HRESULT=%d\nError message: %s\nError Text: %s\n"), hr, msg, GetErrorMessage(hr));
-}
-
-static void ReportServiceError(char *msg, DWORD error)
-{
-    printf("error=%d\nError message: %s\nError Text: %s\n", error, msg, GetErrorMessage(error));
-}
-
-/* ScpCreate
-
-Create a new service connection point as a child object of the
-local server computer object.
-*/
-static DWORD ScpCreate(
-               TCHAR *fqHostName,    /* Fully Qualified Name of the host */
-               TCHAR *dnsHostName,   /* DNS compatible name of the host */
-		       USHORT usPort,    /* Service's default port to store in SCP. */
-		       LPTSTR szClass,   /* Service class string to store in SCP. */
-		       LPTSTR szAccount, /* Logon account that must access SCP. */
-		       UINT ccDN,        /* Length of the pszDN buffer in characters */
-		       TCHAR *pszDN)     /* Returns distinguished name of SCP. */
-{
-    DWORD dwStat=S_OK, dwAttr, dwLen;
-    HRESULT hr;
-    IDispatch *pDisp; /* Returned dispinterface of new object. */
-    IDirectoryObject *pComp; /* Computer object; parent of SCP. */
-    IADs *pIADsSCP; /* IADs interface on new object. */
-    TCHAR szServer[MAX_PATH];
-    TCHAR szAdsPath[MAX_PATH];
-    TCHAR szPort[6];
-    HKEY hReg;
-    DWORD dwDisp;
-    TCHAR szRelativeDistinguishedName[MAX_PATH];
-    TCHAR samHostName[MAX_PATH];
-    ADSVALUE cn, objclass, keywords[4], binding, classname, dnsname, nametype;
-    BSTR bstrGuid = NULL;
-    TCHAR pwszBindByGuidStr[1024];
-    VARIANT var;
-    /* Values for SCPs keywords attribute. */
-    TCHAR* KwVal[] =
-    {
-	TEXT(SMPD_SERVICE_VENDOR_GUID), /* Vendor GUID. */
-	    TEXT(SMPD_SERVICE_GUID),    /* Product GUID. */
-	    TEXT(SMPD_PRODUCT_VENDOR),  /* Vendor Name. */
-	    TEXT(SMPD_PRODUCT),         /* Product Name. */
-    };
-    TCHAR *hostAttrib[] = { TEXT("dNSHostName") };
-    ADS_ATTR_INFO *hostAttrInfo;
-
-    /* SCP attributes to set during creation of SCP. */
-    ADS_ATTR_INFO ScpAttribs[] =
-    {
-	{TEXT("cn"), ADS_ATTR_UPDATE, ADSTYPE_CASE_IGNORE_STRING, &cn, 1},
-	{TEXT("objectClass"), ADS_ATTR_UPDATE, ADSTYPE_CASE_IGNORE_STRING, &objclass, 1},
-	{TEXT("keywords"), ADS_ATTR_UPDATE, ADSTYPE_CASE_IGNORE_STRING, keywords, 4},
-	{TEXT("serviceDnsName"), ADS_ATTR_UPDATE, ADSTYPE_CASE_IGNORE_STRING, &dnsname, 1},
-	{TEXT("serviceDnsNameType"), ADS_ATTR_UPDATE, ADSTYPE_CASE_IGNORE_STRING, &nametype, 1},
-	{TEXT("serviceClassName"), ADS_ATTR_UPDATE, ADSTYPE_CASE_IGNORE_STRING, &classname, 1},
-	{TEXT("serviceBindingInformation"), ADS_ATTR_UPDATE, ADSTYPE_CASE_IGNORE_STRING, &binding, 1},
-    };
-
-    if (!szClass /*|| !szAccount*/ || !pszDN || !(ccDN > 0))
-    {
-	hr = ERROR_INVALID_PARAMETER;
-	ReportError(TEXT("Invalid parameter."), hr);
-	return hr;
-    }
-
-    _tcsncpy(szServer, TEXT("NOT DEFINED"), sizeof(szServer));
-
-    /* Enter the attribute values to be stored in the SCP. */
-    keywords[0].dwType = ADSTYPE_CASE_IGNORE_STRING;
-    keywords[1].dwType = ADSTYPE_CASE_IGNORE_STRING;
-    keywords[2].dwType = ADSTYPE_CASE_IGNORE_STRING;
-    keywords[3].dwType = ADSTYPE_CASE_IGNORE_STRING;
-
-    keywords[0].CaseIgnoreString = KwVal[0];
-    keywords[1].CaseIgnoreString = KwVal[1];
-    keywords[2].CaseIgnoreString = KwVal[2];
-    keywords[3].CaseIgnoreString = KwVal[3];
-
-    cn.dwType = ADSTYPE_CASE_IGNORE_STRING;
-    cn.CaseIgnoreString = TEXT(SMPD_SERVICE_NAME);
-    objclass.dwType = ADSTYPE_CASE_IGNORE_STRING;
-    objclass.CaseIgnoreString = TEXT("serviceConnectionPoint");
-    dnsname.dwType = ADSTYPE_CASE_IGNORE_STRING;
-    if(dnsHostName == NULL){
-        dnsname.CaseIgnoreString = szServer;
-    }
-    else{
-        dnsname.CaseIgnoreString = dnsHostName;
-    }
-    classname.dwType = ADSTYPE_CASE_IGNORE_STRING;
-    classname.CaseIgnoreString = szClass;
-    _sntprintf(szPort, 6, TEXT("%d"), usPort);
-    binding.dwType = ADSTYPE_CASE_IGNORE_STRING;
-    binding.CaseIgnoreString = szPort;
-    nametype.dwType = ADSTYPE_CASE_IGNORE_STRING;
-    nametype.CaseIgnoreString = TEXT("A");
-
-    /* Compose the ADSpath and bind to the computer object for the local computer. */
-    _tcsncpy(szAdsPath,TEXT("LDAP://"),MAX_PATH);
-    _tcsncat(szAdsPath, fqHostName, MAX_PATH - _tcslen(szAdsPath));
-    hr = ADsGetObject(szAdsPath, IID_IDirectoryObject, (void **)&pComp);
-    if (FAILED(hr))
-    {
-	_tprintf(TEXT("ADsGetObject('%s') failed\n"), szAdsPath);
-	ReportError(TEXT("Failed to bind Computer Object."),hr);
-	return hr;
-    }
-    /* _tprintf(TEXT("Bound to Active directory object:\n%s\n"), fqHostName); */
-
-    if(dnsHostName == NULL){
-        /* Get the DNS name of the host from AD */
-        hostAttrInfo = NULL;
-        hr = pComp->GetObjectAttributes(hostAttrib, 1, &hostAttrInfo, &dwAttr);
-        if(FAILED(hr)){
-            ReportError(TEXT("Failed to get the DNS name for host from AD:"), hr);
-            return hr;
-        }
-        if(hostAttrInfo != NULL){
-            dnsHostName = (TCHAR *) (hostAttrInfo[0].pADsValues->CaseIgnoreString);
-            /* The scp attributes point to szServer */
-            _tcsncpy(szServer, dnsHostName, sizeof(szServer));
-            FreeADsMem(hostAttrInfo);
-        }
-    }
-
-    /********************************************************************
-    * Publish the SCP as a child of the computer object
-    *********************************************************************/
-
-    /* Calculate attribute count. */
-    dwAttr = sizeof(ScpAttribs)/sizeof(ADS_ATTR_INFO);
-
-    /* Complete the action. */
-    _sntprintf(szRelativeDistinguishedName, MAX_PATH, TEXT("cn=%s"), TEXT(SMPD_SERVICE_NAME));
-    /* Delete the previous object if it exists */
-    hr = pComp->DeleteDSObject(szRelativeDistinguishedName);
-    /* Create a new object */
-    hr = pComp->CreateDSObject(szRelativeDistinguishedName, ScpAttribs, dwAttr, &pDisp);
-    if (FAILED(hr))
-    {
-	ReportError(TEXT("Failed to create SCP:"), hr);
-	pComp->Release();
-	return hr;
-    }
-    pComp->Release();
-
-    /* Query for an IADs pointer on the SCP object. */
-    hr = pDisp->QueryInterface(IID_IADs,(void **)&pIADsSCP);
-    if (FAILED(hr))
-    {
-	ReportError(TEXT("Failed to QueryInterface for IADs:"), hr);
-	pDisp->Release();
-	return hr;
-    }
-    pDisp->Release();
-
-    /* Translate FQN to SAM compatible name */
-    dwLen = MAX_PATH;
-    if(!TranslateName(fqHostName, NameFullyQualifiedDN, NameSamCompatible, samHostName, &dwLen)){
-        hr = E_FAIL;
-        ReportError(TEXT("Failed to translate FQN to SAM compatible name:"), hr);
-        return hr;
-    }
-
-    /* Set ACEs on the SCP so a service can modify it. */
-    hr = AllowAccessToScpProperties(
-	samHostName, /* Service account to allow access. */
-	pIADsSCP); /* IADs pointer to the SCP object. */
-    if (FAILED(hr))
-    {
-	ReportError(TEXT("Failed to set ACEs on SCP DACL:"), hr);
-	return hr;
-    }
-
-    /* Get the distinguished name of the SCP. */
-    VariantInit(&var);
-    hr = pIADsSCP->Get(CComBSTR("distinguishedName"), &var);
-    if (FAILED(hr))
-    {
-	ReportError(TEXT("Failed to get distinguishedName:"), hr);
-	pIADsSCP->Release();
-	return hr;
-    }
-    /*_tprintf(TEXT("distinguishedName via IADs: %s\n"), var.bstrVal);*/
-
-    _tcsncpy(pszDN, var.bstrVal, ccDN);
-
-    /* Retrieve the SCP objectGUID in format suitable for binding. */
-    hr = pIADsSCP->get_GUID(&bstrGuid);
-    if (FAILED(hr))
-    {
-	ReportError(TEXT("Failed to get GUID:"), hr);
-	pIADsSCP->Release();
-	return hr;
-    }
-
-    /* Build a string for binding to the object by GUID. */
-    _tcsncpy(pwszBindByGuidStr, TEXT("LDAP://<GUID="), 1024);
-    _tcsncat(pwszBindByGuidStr, bstrGuid, 1024 -_tcslen(pwszBindByGuidStr));
-    _tcsncat(pwszBindByGuidStr, TEXT(">"), 1024 -_tcslen(pwszBindByGuidStr));
-    /*_tprintf(TEXT("GUID binding string: %s\n"), pwszBindByGuidStr);*/
-
-    pIADsSCP->Release();
-
-    /* Create a registry key to save the GUID binding string */
-    /*
-    dwStat = RegCreateKeyEx(HKEY_LOCAL_MACHINE,
-	TEXT(SMPD_SERVICE_REGISTRY_KEY),
-	0,
-	NULL,
-	REG_OPTION_NON_VOLATILE,
-	KEY_ALL_ACCESS,
-	NULL,
-	&hReg,
-	&dwDisp);
-    if (dwStat != NO_ERROR)
-    {
-	ReportError(TEXT("RegCreateKeyEx failed:"), dwStat);
-	return dwStat;
-    }
-
-    / Cache the GUID binding string under the registry key. /
-    dwStat = RegSetValueEx(hReg, TEXT("GUIDBindingString"), 0, REG_SZ,
-	(const BYTE *)pwszBindByGuidStr,
-	(DWORD)(2*(_tcslen(pwszBindByGuidStr))));
-    if (dwStat != NO_ERROR)
-    {
-	ReportError(TEXT("RegSetValueEx failed:"), dwStat);
-	return dwStat;
-    }
-
-    RegCloseKey(hReg);
-    */
-
-    /* Cleanup should delete the SCP and registry key if an error occurs. */
-
-    return S_OK;
-}
-
-/* ScpRemove
-    Remove an existing service connection point that is a child object of the
-    server computer object identified by fqHostName.
-*/
-#undef FCNAME
-#define FCNAME "ScpRemove"
-static DWORD ScpRemove(TCHAR *fqHostName)
-{
-    HRESULT hr=S_OK;
-    IDirectoryObject *pComp; /* Computer object; parent of SCP. */
-    TCHAR szAdsPath[MAX_PATH];
-    TCHAR szRelativeDistinguishedName[MAX_PATH];
-
-    smpd_enter_fn(FCNAME);
-    if(fqHostName == NULL){
-        smpd_err_printf("Invalid FQ hostname provided\n");
-        smpd_exit_fn(FCNAME);
-        return E_FAIL;
-    }
-
-    /* Compose the ADSpath and bind to the computer object for the computer. */
-    _tcsncpy(szAdsPath,TEXT("LDAP://"),MAX_PATH);
-    _tcsncat(szAdsPath, fqHostName, MAX_PATH - _tcslen(szAdsPath));
-
-    hr = ADsGetObject(szAdsPath, IID_IDirectoryObject, (void **)&pComp);
-    if (FAILED(hr)){
-        _tprintf(TEXT("ADsGetObject('%s') failed\n"), szAdsPath);
-        ReportError(TEXT("Failed to bind Computer Object."),hr);
-        smpd_exit_fn(FCNAME);
-        return hr;
-    }
-    /* _tprintf(TEXT("Bound to Active directory object:\n%s\n"), szAdsPath); */
-
-    _sntprintf(szRelativeDistinguishedName, MAX_PATH, TEXT("cn=%s"), TEXT(SMPD_SERVICE_NAME));
-    /* Delete the object/SCP */
-    hr = pComp->DeleteDSObject(szRelativeDistinguishedName);
-    if (FAILED(hr)){
-        ReportError(TEXT("Failed to delete SCP:"), hr);
-    }
-
-    pComp->Release();
-    smpd_exit_fn(FCNAME);
-    return hr;
-}
-
-static DWORD SpnCompose(
-			TCHAR ***pspn,          /* Output: an array of SPNs */
-			unsigned long *pulSpn,  /* Output: the number of SPNs returned */
-			TCHAR *pszDNofSCP,      /* Input: DN of the service's SCP */
-			TCHAR* pszServiceClass) /* Input: the name of the service class */
-{
-    DWORD dwStatus;
-
-    dwStatus = DsGetSpn(
-	DS_SPN_SERVICE,  /* Type of SPN to create (enumerated type) */
-	pszServiceClass, /* Service class - a name in this case */
-	pszDNofSCP,      /* Service name - DN of the service SCP */
-	0,               /* Default: omit port component of SPN */
-	0,               /* Number of entries in hostnames and ports arrays */
-	NULL,            /* Array of hostnames. Default is local computer */
-	NULL,            /* Array of ports. Default omits port component */
-	pulSpn,          /* Receives number of SPNs returned in array */
-	pspn             /* Receives array of SPN(s) */
-	);
-
-    return dwStatus;
-}
-
-/***************************************************************************
-
-SpnRegister()
-
-Register or unregister the SPNs under the service's account.
-
-If the service runs in LocalSystem account, pszServiceAcctDN is the
-distinguished name of the local computer account.
-
-Parameters:
-
-pszServiceAcctDN - Contains the distinguished name of the logon
-account for this instance of the service.
-
-pspn - Contains an array of SPNs to register.
-
-ulSpn - Contains the number of SPNs in the array.
-
-Operation - Contains one of the DS_SPN_WRITE_OP values that determines
-the type of operation to perform on the SPNs.
-
-***************************************************************************/
-
-#undef FCNAME
-#define FCNAME "SpnRegister"
-static DWORD SpnRegister(TCHAR *pszServiceAcctDN,
-			 TCHAR **pspn,
-			 unsigned long ulSpn,
-			 DS_SPN_WRITE_OP Operation)
-{
-    DWORD dwStatus;
-    HANDLE hDs;
-    TCHAR szSamName[512];
-    DWORD dwSize = sizeof(szSamName);
-    PDOMAIN_CONTROLLER_INFO pDcInfo;
-
-    smpd_enter_fn(FCNAME);
-
-    /* Bind to a domain controller. */
-    /* Get the domain for the current user. */
-    if (GetUserNameEx(NameSamCompatible, szSamName, &dwSize))
-    {
-	TCHAR *pWhack = _tcschr(szSamName, '\\');
-	if (pWhack)
-	{
-	    *pWhack = '\0';
-	}
-    }
-    else
-    {
-    smpd_exit_fn(FCNAME);
-	return GetLastError();
-    }
-    
-    /* _tprintf(TEXT("szSamName: %s\n"), szSamName); */
-
-    /* Get the name of a domain controller in that domain. */
-    dwStatus = DsGetDcName(NULL,
-	szSamName,
-	NULL,
-	NULL,
-	DS_IS_FLAT_NAME |
-	DS_RETURN_DNS_NAME |
-	DS_DIRECTORY_SERVICE_REQUIRED,
-	&pDcInfo);
-    if (dwStatus != 0){
-        smpd_err_printf("DsGetDcName() failed: 0x%x\n", dwStatus);
-        smpd_exit_fn(FCNAME);
-        return dwStatus;
-    }
-
-    /* _tprintf(TEXT("domain: %s\n"), pDcInfo->DomainControllerName); */
-    /* Bind to the domain controller. */
-    dwStatus = DsBind(pDcInfo->DomainControllerName, NULL, &hDs);
-    /* Free the DOMAIN_CONTROLLER_INFO buffer. */
-    NetApiBufferFree(pDcInfo);
-    if (dwStatus != ERROR_SUCCESS){
-        smpd_err_printf("DsBind() failed: 0x%x\n", dwStatus);
-        smpd_exit_fn(FCNAME);
-	    return dwStatus;
-    }
-
-    /*
-    for (unsigned long i=0; i<ulSpn; i++)
-    {
-	_tprintf(TEXT("Service Principal Name =\n%s\n"), pspn[i]);
-    }
-    fflush(stdout);
-    */
-    /* Write the SPNs to the service account or computer account. */
-    dwStatus = DsWriteAccountSpn(
-	hDs,                   /* Handle to the directory. */
-	Operation,             /* Add or remove SPN from account's existing SPNs. */
-	pszServiceAcctDN,      /* DN of service account or computer account. */
-	ulSpn,                 /* Number of SPNs to add. */
-	(const TCHAR **)pspn); /* Array of SPNs. */
-
-    if(dwStatus != ERROR_SUCCESS){
-        smpd_err_printf("DsWriteAccountSpn() failed: 0x%x\n", dwStatus);
-    }
-
-    /* Unbind the DS in any case. */
-    DsUnBind(&hDs);
-
-    smpd_exit_fn(FCNAME);
-    return dwStatus;
-}
-
-#define SMPD_MAX_SAM_NAME_SUFFIX_LENGTH 2 /* "$" & string delimiter */
-#undef FCNAME
-#define FCNAME "smpd_translate_netbios_to_fqn"
-int smpd_translate_netbios_to_fqn(TCHAR *netbios_name, TCHAR *fqn_name, int fqn_name_len)
-{
-    LPWSTR tmp_name;
-    int tmp_name_len = 0;
-    char err_msg[SMPD_MAX_ERR_MSG_LENGTH];
-
-    smpd_enter_fn(FCNAME);
-    if((netbios_name == NULL) || (_tcslen(netbios_name) <= 0) ||
-        (fqn_name == NULL) || (fqn_name_len <= 0)){
-        smpd_err_printf("Invalid netbios_name or buffer for FQN name provided\n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-    tmp_name_len = _tcslen(netbios_name) + SMPD_MAX_SAM_NAME_SUFFIX_LENGTH;
-    tmp_name = new TCHAR[tmp_name_len];
-    if(tmp_name == NULL){
-        smpd_err_printf("Unable to allocate memory for temp buffer\n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-    _sntprintf_s(tmp_name, tmp_name_len, tmp_name_len - 1, TEXT("%s$"), netbios_name);
-    if(!TranslateName(tmp_name, NameSamCompatible, NameFullyQualifiedDN, fqn_name, (PULONG )&fqn_name_len)){
-        smpd_translate_win_error(GetLastError(), err_msg, SMPD_MAX_ERR_MSG_LENGTH, "Error translating Netbios name to FQN name \n");
-        delete tmp_name;
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-typedef enum {
-    SMPD_SCP_ADD,
-    SMPD_SCP_REMOVE
-} smpd_scp_cntrl_flag_t;
-
-int smpd_cntrl_scps_from_file_templ(TCHAR *filename, smpd_spn_list_hnd_t hnd, smpd_scp_cntrl_flag_t flag);
-
-#undef FCNAME
-#define FCNAME "smpd_setup_scps_with_file"
-int smpd_setup_scps_with_file(char *filename)
-{
-    TCHAR filename_tcs[SMPD_MAX_FILENAME];
-    SMPDU_MBSTOTCS(filename_tcs, filename, SMPD_MAX_FILENAME);
-    return smpd_cntrl_scps_from_file_templ(filename_tcs, NULL, SMPD_SCP_ADD);
-}
-#undef FCNAME
-#define FCNAME "smpd_remove_scps_with_file"
-int smpd_remove_scps_with_file(char *filename, smpd_spn_list_hnd_t hnd)
-{
-    TCHAR filename_tcs[SMPD_MAX_FILENAME];
-    SMPDU_MBSTOTCS(filename_tcs, filename, SMPD_MAX_FILENAME);
-    return smpd_cntrl_scps_from_file_templ(filename_tcs, hnd, SMPD_SCP_REMOVE);
-}
-
-/* Read the file, filename, and setup SCP for each host in the file
- * The hostnames should be valid windows netbios names
- * The flag indicates whether SCP is added or removed.
- */
-#undef FCNAME
-#define FCNAME "smpd_cntrl_scps_from_file_templ"
-int smpd_cntrl_scps_from_file_templ(TCHAR *filename, 
-                                    smpd_spn_list_hnd_t hnd,
-                                    smpd_scp_cntrl_flag_t flag)
-{
-    int ret_errno=0, result=0, ret_result = SMPD_SUCCESS;
-    TCHAR line[SMPD_MAX_NETBIOS_NAME_LENGTH];
-    char err_msg[SMPD_MAX_ERR_MSG_LENGTH];
-    FILE *fp=NULL;
-    DWORD dwLen=0;
-
-    smpd_enter_fn(FCNAME);
-    if((filename == NULL) || (_tcslen(filename) <= 0)){
-        smpd_err_printf("Invalid SPN register file specified\n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-    /* Open file */
-    ret_errno = _tfopen_s(&fp, filename, TEXT("r"));
-    if(ret_errno != 0){
-        _tprintf(TEXT("Error opening the SPN register file(%s), error = %d(%s)\n"), filename, ret_errno, strerror(ret_errno));
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-    /* Read file */
-    while(_fgetts(line, SMPD_MAX_NETBIOS_NAME_LENGTH-SMPD_MAX_SAM_NAME_SUFFIX_LENGTH, fp)){
-        /* Get rid of the end of line */
-        if(line[_tcslen(line) - 1] == L'\n'){
-            line[_tcslen(line)-1] = L'\0';
-        }
-        
-        switch(flag){
-            case SMPD_SCP_ADD:
-                result = smpd_setup_scp(line);
-                if(result != SMPD_SUCCESS){
-                    ret_result = SMPD_FAIL;
-                    _tprintf(TEXT("Setting up scp for '%s' FAILED\n"), line);
-                    /* Continue with next hosts */
-                }
-                else{
-                    _tprintf(TEXT("Setting up scp for '%s' SUCCESSFUL\n"), line);
-                    /* Continue with next host */
-                }
-                break;
-            case SMPD_SCP_REMOVE:
-                result = smpd_remove_scp(line, hnd);
-                if(result != SMPD_SUCCESS){
-                    ret_result = SMPD_FAIL;
-                    _tprintf(TEXT("Removing scp for '%s' FAILED\n"), line);
-                    /* Continue with next hosts */
-                }
-                else{
-                    _tprintf(TEXT("Removing scp for '%s' SUCCESSFUL\n"), line);
-                    /* Continue with next host */
-                }
-                break;
-            default:
-                smpd_err_printf("Invalid SCP control flag\n");
-                break;
-        }
-    }
-    /* Close file */
-    fclose(fp);
-    smpd_exit_fn(FCNAME);
-    return ret_result;
-}
-
-/* Sets up service connection point for SMPD running on hostname.
- * The hostname should be a windows netbios name
- * If hostname is null the function sets up scp for SMPD running
- * on localhost
- */
-#undef FCNAME
-#define FCNAME "smpd_setup_scp"
-int smpd_setup_scp(TCHAR *hostname)
-{
-    DWORD dwStatus;
-    TCHAR szDNofSCP[100] = TEXT("");
-    TCHAR **pspn;
-    unsigned long ulSpn;
-    /* LPTSTR pwszComputerName[SMPD_MAX_FQ_HOST_LENGTH]; */
-    TCHAR fq_name[SMPD_MAX_FQ_NAME_LENGTH];
-    TCHAR *dns_name=NULL;
-    DWORD dwLen;
-    int result = SMPD_SUCCESS;
-    char err_msg[SMPD_MAX_ERR_MSG_LENGTH];
-    int err_code;
-
-    smpd_enter_fn(FCNAME);
-    CoInitialize(NULL);
-
-    if(hostname != NULL){
-        /* Convert Netbios name to FQN name */
-        result = smpd_translate_netbios_to_fqn(hostname, fq_name, SMPD_MAX_FQ_NAME_LENGTH);
-        if(result != SMPD_SUCCESS){
-            _tprintf(TEXT("Unable to translate netbios name (%s) to fqn name\n"), hostname);
-            smpd_exit_fn(FCNAME);
-            return SMPD_FAIL;
-        }
-    }
-    else{
-        /* Get FQN for local host */
-        dwLen = SMPD_MAX_FQ_NAME_LENGTH;
-        if(!GetComputerObjectName(NameFullyQualifiedDN, (LPTSTR )fq_name, &dwLen)){
-            err_code = GetLastError();
-            smpd_translate_win_error(err_code, err_msg, SMPD_MAX_ERR_MSG_LENGTH,
-                "GetComputerObjectName() failed (%d)", err_code);
-            smpd_err_printf("%s\n", err_msg);
-            smpd_exit_fn(FCNAME);
-            return SMPD_FAIL;
-        }
-        dwLen = MAX_PATH;
-        dns_name = (TCHAR *)MPIU_Malloc(dwLen * sizeof(TCHAR ));
-        if(dns_name == NULL){
-            smpd_err_printf("Unable to allocate memory for dns name\n");
-            smpd_exit_fn(FCNAME);
-            return SMPD_FAIL;
-        }
-        /* Get the DNS name for the local host */
-        if(!GetComputerNameEx(ComputerNameDnsFullyQualified, (LPTSTR )dns_name, &dwLen)){
-            err_code = GetLastError();
-            smpd_translate_win_error(err_code, err_msg, SMPD_MAX_ERR_MSG_LENGTH,
-                "GetComputerObjectName() failed (%d)", err_code);
-            smpd_err_printf("%s\n", err_msg);
-            MPIU_Free(dns_name);
-            smpd_exit_fn(FCNAME);
-            return SMPD_FAIL;
-
-        }
-    }
-
-    /* Create the service's Service Connection Point (SCP). */
-    dwStatus = ScpCreate(
-                    fq_name,
-                    dns_name,
-	                SMPD_LISTENER_PORT,
-	                TEXT(SMPD_SERVICE_NAME),
-	                NULL, /* Null defaults to the Local SYSTEM account */
-	                100,
-                    szDNofSCP /* Buffer returns the Distinguished Name of the SCP */
-	            );
-    if (dwStatus != 0){
-	    _tprintf(TEXT("ScpCreate failed: %d\n"), dwStatus);
-	    result = SMPD_FAIL;
-	    goto fn_exit;
-    }
-
-    dwStatus = SpnCompose(
-                &pspn, /* Receives pointer to the SPN array. */
-                &ulSpn, /* Receives number of SPNs returned. */
-                szDNofSCP, /* Input: DN of the SCP. */
-                TEXT(SMPD_SERVICE_NAME)); /* Input: the service's class string. */
-
-    if (dwStatus != NO_ERROR)
-    {
-	ReportError(TEXT("Failed to compose SPN"), dwStatus);
-	result = SMPD_FAIL;
-	goto fn_exit;
-    }
-
-    if (dwStatus == NO_ERROR)
-    {
-	dwStatus = SpnRegister(fq_name, pspn, ulSpn, DS_SPN_ADD_SPN_OP);
-	if (dwStatus != NO_ERROR)
-	{
-	    ReportError(TEXT("SpnRegister failed"), dwStatus);
-	    result = SMPD_FAIL;
-	    goto fn_exit;
-	}
-    }
-
-fn_exit:
-    if(dns_name != NULL) MPIU_Free(dns_name);
-    CoUninitialize();
-    return result;
-}
-
-/* Removes service connection point for SMPD running on hostname.
- * If hostname is null the function removes scp for SMPD running
- * on localhost
- */
-#define SMPD_SERVICE_LDAP_COMMON_NAME   "cn=mpich_smpd"
-#define SMPD_INIT_LDAP_SERVICE_NAME(fq_service_name, length, fq_hostname)    \
-    _sntprintf_s(fq_service_name, length, length - 1, TEXT("%s,%s"), TEXT(SMPD_SERVICE_LDAP_COMMON_NAME), fq_hostname)
-
-#undef FCNAME
-#define FCNAME "smpd_remove_scp"
-int smpd_remove_scp(TCHAR *hostname, smpd_spn_list_hnd_t spn_list_hnd)
-{
-    DWORD dwStatus;
-    int err_code;
-    char err_msg[SMPD_MAX_ERR_MSG_LENGTH];
-    TCHAR fq_hostname[SMPD_MAX_FQ_NAME_LENGTH], fq_service_name[SMPD_MAX_FQ_NAME_LENGTH];
-    TCHAR *dns_name=NULL;
-    char fq_name_mb[SMPD_MAX_HOST_LENGTH * sizeof(TCHAR)];
-    char *pszDnsComputerName = NULL;
-    DWORD dwLen, dwMaxLen;
-    int result = SMPD_SUCCESS;
-    char spn_mb[SMPD_MAX_FQ_NAME_LENGTH * sizeof(TCHAR)] = "";
-    LPTSTR spns;
-    TCHAR spn[SMPD_MAX_FQ_NAME_LENGTH];
-    WCHAR wspn[SMPD_MAX_NAME_LENGTH] = L"";
-    WCHAR* pwspn[1];
-
-    smpd_enter_fn(FCNAME);
-    CoInitialize(NULL);
-
-    /* FIXME: Insert code here to remove the information created by ScpCreate */
-    if(hostname != NULL){
-        /* Convert Netbios name to FQN name */
-        result = smpd_translate_netbios_to_fqn(hostname, fq_hostname, SMPD_MAX_FQ_NAME_LENGTH);
-        if(result != SMPD_SUCCESS){
-            _tprintf(TEXT("Unable to translate netbios name (%s) to fqn name\n"), hostname);
-            smpd_exit_fn(FCNAME);
-            return SMPD_FAIL;
-        }
-    }
-    else{
-        /* Get FQN for local host */
-        dwLen = SMPD_MAX_FQ_NAME_LENGTH;
-        if(!GetComputerObjectName(NameFullyQualifiedDN, (LPTSTR )fq_hostname, &dwLen)){
-            err_code = GetLastError();
-            smpd_translate_win_error(err_code, err_msg, SMPD_MAX_ERR_MSG_LENGTH,
-                "GetComputerObjectName() failed (%d)", err_code);
-            smpd_err_printf("%s\n", err_msg);
-            smpd_exit_fn(FCNAME);
-            return SMPD_FAIL;
-        }
-        dwLen = MAX_PATH;
-        dns_name = (TCHAR *)MPIU_Malloc(dwLen * sizeof(TCHAR ));
-        if(dns_name == NULL){
-            smpd_err_printf("Unable to allocate memory for dns name\n");
-            smpd_exit_fn(FCNAME);
-            return SMPD_FAIL;
-        }
-        /* Get the DNS name for the local host */
-        if(!GetComputerNameEx(ComputerNameDnsFullyQualified, (LPTSTR )dns_name, &dwLen)){
-            err_code = GetLastError();
-            smpd_translate_win_error(err_code, err_msg, SMPD_MAX_ERR_MSG_LENGTH,
-                "GetComputerObjectName() failed (%d)", err_code);
-            smpd_err_printf("%s\n", err_msg);
-            MPIU_Free(dns_name);
-            smpd_exit_fn(FCNAME);
-            return SMPD_FAIL;
-
-        }
-    }
-    /* Create the fq name for the SMPD service */
-    SMPD_INIT_LDAP_SERVICE_NAME(fq_service_name, SMPD_MAX_FQ_NAME_LENGTH, fq_hostname);
-
-    SMPDU_TCSTOMBS(fq_name_mb, fq_service_name, SMPD_MAX_NAME_LENGTH);
-    result = smpd_lookup_spn_list(spn_list_hnd, spn_mb, SMPD_MAX_FQ_NAME_LENGTH, fq_name_mb, SMPD_LISTENER_PORT);
-    if (result != SMPD_SUCCESS){
-        smpd_err_printf("Unable to lookup the smpd Service Principal Name for '%s'.\n", fq_name_mb);
-        result = SMPD_FAIL;
-        goto fn_exit;
-    }
-    else{
-        smpd_dbg_printf("Found smpd SPN = %s\n", spn_mb);
-    }
-
-    SMPDU_MBSTOTCS(spn, spn_mb, SMPD_MAX_FQ_NAME_LENGTH);
-    spns = (LPTSTR )&spn;
-
-    dwStatus = SpnRegister(fq_hostname, (TCHAR **)&spns, 1, DS_SPN_DELETE_SPN_OP);
-    if (dwStatus != NO_ERROR){
-        ReportError(TEXT("Unable to delete SPN, SpnRegister failed"), dwStatus);
-        result = SMPD_FAIL;
-    }
-
-    /* Remove the service's Service Connection Point (SCP). */
-    dwStatus = ScpRemove(fq_hostname);
-    if (dwStatus != 0){
-	    _tprintf(TEXT("ScpRemove failed: %d\n"), dwStatus);
-	    result = SMPD_FAIL;
-	    goto fn_exit;
-    }
-
-fn_exit:
-
-    if(dns_name) MPIU_Free(dns_name);
-    CoUninitialize();
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-
-DWORD smpd_scp_update(USHORT usPort)
-{
-    DWORD dwStat, dwType, dwLen;
-    BOOL bUpdate=FALSE;
-
-    HKEY hReg;
-
-    TCHAR szAdsPath[MAX_PATH];
-    TCHAR szServer[MAX_PATH];
-    TCHAR szPort[8];
-    TCHAR *pszAttrs[]={
-	{TEXT("serviceDNSName")},
-	{TEXT("serviceBindingInformation")},
-    };
-
-    HRESULT hr;
-    IDirectoryObject *pObj;
-    DWORD dwAttrs;
-    int i;
-
-    PADS_ATTR_INFO pAttribs;
-    ADSVALUE dnsname,binding;
-
-    ADS_ATTR_INFO Attribs[] ={
-	{TEXT("serviceDnsName"),ADS_ATTR_UPDATE,ADSTYPE_CASE_IGNORE_STRING,&dnsname,1},
-	{TEXT("serviceBindingInformation"),ADS_ATTR_UPDATE,ADSTYPE_CASE_IGNORE_STRING,&binding,1},
-    };
-
-    /* Open the service registry key. */
-    dwStat = RegOpenKeyEx(
-	HKEY_LOCAL_MACHINE,
-	TEXT(SMPD_SERVICE_REGISTRY_KEY),
-	0,
-	KEY_QUERY_VALUE,
-	&hReg);
-    if (dwStat != NO_ERROR)
-    {
-	ReportServiceError("RegOpenKeyEx failed", dwStat);
-	return dwStat;
-    }
-
-    /* Get the GUID binding string used to bind to the service SCP. */
-    dwLen = sizeof(szAdsPath);
-    dwStat = RegQueryValueEx(hReg, TEXT("GUIDBindingString"), 0, &dwType,
-	(LPBYTE)szAdsPath, &dwLen);
-    if (dwStat != NO_ERROR){
-	ReportServiceError("RegQueryValueEx failed", dwStat);
-	return dwStat;
-    }
-
-    RegCloseKey(hReg);
-
-    /* Bind to the SCP. */
-    hr = ADsGetObject(szAdsPath, IID_IDirectoryObject, (void **)&pObj);
-    if (FAILED(hr))
-    {
-	char szMsg1[1024];
-	sprintf(szMsg1,
-	    "ADsGetObject failed to bind to GUID (bind string: %S): ",
-	    szAdsPath);
-	ReportServiceError(szMsg1, hr);
-	if (pObj)
-	{
-	    pObj->Release();
-	}
-	return dwStat;
-    }
-
-    /* Retrieve attributes from the SCP. */
-    hr = pObj->GetObjectAttributes(pszAttrs, 2, &pAttribs, &dwAttrs);
-    if (FAILED(hr)){
-	ReportServiceError("GetObjectAttributes failed", hr);
-	pObj->Release();
-	return hr;
-    }
-
-    /* Get the current port and DNS name of the host server. */
-    _sntprintf(szPort, 8, TEXT("%d"), usPort);
-    dwLen = sizeof(szServer);
-    if (!GetComputerNameEx(ComputerNameDnsFullyQualified,szServer,&dwLen))
-    {
-	pObj->Release();
-	return GetLastError();
-    }
-
-    /* Compare the current DNS name and port to the values retrieved from
-       the SCP. Update the SCP only if nothing has changed. */
-    for (i=0; i<(LONG)dwAttrs; i++)
-    {
-	if ((_tcscmp(TEXT("serviceDNSName"),pAttribs[i].pszAttrName)==0) &&
-	    (pAttribs[i].dwADsType == ADSTYPE_CASE_IGNORE_STRING))
-	{
-	    if (_tcscmp(szServer,pAttribs[i].pADsValues->CaseIgnoreString) != 0)
-	    {
-		ReportServiceError("serviceDNSName being updated", 0);
-		bUpdate = TRUE;
-	    }
-	    else
-	    {
-		ReportServiceError("serviceDNSName okay", 0);
-	    }
-	}
-
-	if ((_tcscmp(TEXT("serviceBindingInformation"),pAttribs[i].pszAttrName)==0) &&
-	    (pAttribs[i].dwADsType == ADSTYPE_CASE_IGNORE_STRING))
-	{
-	    if (_tcscmp(szPort,pAttribs[i].pADsValues->CaseIgnoreString) != 0)
-	    {
-		ReportServiceError("serviceBindingInformation being updated", 0);
-		bUpdate = TRUE;
-	    }
-	    else
-	    {
-		ReportServiceError("serviceBindingInformation okay", 0);
-	    }
-	}
-    }
-
-    FreeADsMem(pAttribs);
-
-    /* The binding data or server name have changed, so update the SCP values. */
-    if (bUpdate)
-    {
-	dnsname.dwType = ADSTYPE_CASE_IGNORE_STRING;
-	dnsname.CaseIgnoreString = szServer;
-	binding.dwType = ADSTYPE_CASE_IGNORE_STRING;
-	binding.CaseIgnoreString = szPort;
-	hr = pObj->SetObjectAttributes(Attribs, 2, &dwAttrs);
-	if (FAILED(hr))
-	{
-	    ReportServiceError("ScpUpdate: Failed to set SCP values.", hr);
-	    pObj->Release();
-	    return hr;
-	}
-    }
-
-    pObj->Release();
-
-    return dwStat;
-}
-
-static HRESULT AllowAccessToScpProperties(
-    LPWSTR wszAccountSAM, /* Service account to allow access. */
-    IADs *pSCPObject)     /* IADs pointer to the SCP object. */
-{
-    HRESULT hr = E_FAIL;
-    IADsAccessControlList *pACL = NULL;
-    IADsSecurityDescriptor *pSD = NULL;
-    IDispatch *pDisp = NULL;
-    IADsAccessControlEntry *pACE1 = NULL;
-    IADsAccessControlEntry *pACE2 = NULL;
-    IDispatch *pDispACE = NULL;
-    CComBSTR sbstrTrustee;
-    CComBSTR sbstrSecurityDescriptor = L"nTSecurityDescriptor";
-    VARIANT varSD;
-
-    if (pSCPObject == NULL){
-	    return E_INVALIDARG;
-    }
-
-    VariantInit(&varSD);
-
-    /*
-    If no service account is specified, service runs under
-    LocalSystem. Allow access to the computer account of the
-    service's host.
-    */
-    if (wszAccountSAM){
-	    sbstrTrustee = wszAccountSAM;
-    }
-    else{
-	    LPWSTR pwszComputerName;
-	    DWORD dwLen;
-
-	    /* Get the size required for the SAM account name. */
-	    dwLen = 0;
-	    GetComputerObjectNameW(NameSamCompatible, NULL, &dwLen);
-
-	    pwszComputerName = new WCHAR[dwLen + 1];
-	    if (NULL == pwszComputerName){
-	        hr = E_OUTOFMEMORY;
-	        goto cleanup;
-	    }
-
-	    /*
-	    Get the SAM account name of the computer object for
-	    the server.
-	    */
-	    if (!GetComputerObjectNameW(NameSamCompatible, pwszComputerName, &dwLen)){
-	        delete pwszComputerName;
-
-    	    hr = HRESULT_FROM_WIN32(GetLastError());
-	        goto cleanup;
-	    }
-
-	    sbstrTrustee = pwszComputerName;
-	    /*wprintf(L"GetComputerObjectName: %s\n", pwszComputerName);*/
-    }
-
-    /* Get the nTSecurityDescriptor. */
-    hr = pSCPObject->Get(sbstrSecurityDescriptor, &varSD);
-    if (FAILED(hr) || (varSD.vt != VT_DISPATCH)){
-	    _tprintf(TEXT("Get nTSecurityDescriptor failed: 0x%x\n"), hr);
-	    goto cleanup;
-    }
-
-    /*
-    Use the V_DISPATCH macro to get the IDispatch pointer from
-    VARIANT structure and QueryInterface for an IADsSecurityDescriptor
-    pointer.
-    */
-    hr = V_DISPATCH( &varSD )->QueryInterface(
-	        IID_IADsSecurityDescriptor,
-	        (void**)&pSD);
-    if (FAILED(hr)){
-	    _tprintf(TEXT("Cannot get IADsSecurityDescriptor: 0x%x\n"), hr);
-	    goto cleanup;
-    }
-
-    /*
-    Get an IADsAccessControlList pointer to the security
-    descriptor's DACL.
-    */
-    hr = pSD->get_DiscretionaryAcl(&pDisp);
-    if (SUCCEEDED(hr)){
-	    hr = pDisp->QueryInterface(
-	            IID_IADsAccessControlList,
-	            (void**)&pACL);
-    }
-    else{
-	    _tprintf(TEXT("Cannot get DACL: 0x%x\n"), hr);
-	    goto cleanup;
-    }
-
-    /* Create the COM object for the first ACE. */
-    hr = CoCreateInstance(CLSID_AccessControlEntry,
-	        NULL,
-	        CLSCTX_INPROC_SERVER,
-	        IID_IADsAccessControlEntry,
-	        (void **)&pACE1);
-
-    /* Create the COM object for the second ACE. */
-    if (SUCCEEDED(hr)){
-	    hr = CoCreateInstance(CLSID_AccessControlEntry,
-	            NULL,
-	            CLSCTX_INPROC_SERVER,
-	            IID_IADsAccessControlEntry,
-	            (void **)&pACE2);
-    }
-    else{
-	    _tprintf(TEXT("Cannot create ACEs: 0x%x\n"), hr);
-	    goto cleanup;
-    }
-
-    /* Set the properties of the two ACEs. */
-
-    /* Allow read and write access to the property. */
-    hr = pACE1->put_AccessMask(
-	        ADS_RIGHT_DS_READ_PROP | ADS_RIGHT_DS_WRITE_PROP);
-    if(FAILED(hr)){
-        _tprintf(TEXT("Unable to put access mask: 0x%x\n"), hr);
-        goto cleanup;
-    }
-    hr = pACE2->put_AccessMask(
-        	ADS_RIGHT_DS_READ_PROP | ADS_RIGHT_DS_WRITE_PROP);
-    if(FAILED(hr)){
-        _tprintf(TEXT("Unable to put access mask: 0x%x\n"), hr);
-        goto cleanup;
-    }
-
-    /* Set the trustee, which is either the service account or the
-    host computer account. */
-    hr = pACE1->put_Trustee( sbstrTrustee );
-    if(FAILED(hr)){
-        _tprintf(TEXT("Unable to put trustee (%s): 0x%x\n"), sbstrTrustee, hr);
-        goto cleanup;
-    }
-    hr = pACE2->put_Trustee( sbstrTrustee );
-    if(FAILED(hr)){
-        _tprintf(TEXT("Unable to put trustee (%s): 0x%x\n"), sbstrTrustee, hr);
-        goto cleanup;
-    }
-
-    /* Set the ACE type. */
-    hr = pACE1->put_AceType( ADS_ACETYPE_ACCESS_ALLOWED_OBJECT );
-    if(FAILED(hr)){
-        _tprintf(TEXT("Unable to put ACE type: 0x%x\n"), hr);
-        goto cleanup;
-    }
-
-    hr = pACE2->put_AceType( ADS_ACETYPE_ACCESS_ALLOWED_OBJECT );
-    if(FAILED(hr)){
-        _tprintf(TEXT("Unable to put ACE type: 0x%x\n"), hr);
-        goto cleanup;
-    }
-
-    /* Set AceFlags to zero because ACE is not inheritable. */
-    hr = pACE1->put_AceFlags( 0 );
-    if(FAILED(hr)){
-        _tprintf(TEXT("Unable to put ACE flags: 0x%x\n"), hr);
-        goto cleanup;
-    }
-    hr = pACE2->put_AceFlags( 0 );
-    if(FAILED(hr)){
-        _tprintf(TEXT("Unable to put ACE flags: 0x%x\n"), hr);
-        goto cleanup;
-    }
-
-    /* Set Flags to indicate an ACE that protects a specified object. */
-    hr = pACE1->put_Flags( ADS_FLAG_OBJECT_TYPE_PRESENT );
-    if(FAILED(hr)){
-        _tprintf(TEXT("Unable to put ACE protect flags: 0x%x\n"), hr);
-        goto cleanup;
-    }
-    hr = pACE2->put_Flags( ADS_FLAG_OBJECT_TYPE_PRESENT );
-    if(FAILED(hr)){
-        _tprintf(TEXT("Unable to put ACE protect flags: 0x%x\n"), hr);
-        goto cleanup;
-    }
-
-    /* Set ObjectType to the schemaIDGUID of the attribute.
-    serviceDNSName */
-    hr = pACE1->put_ObjectType(
-	        L"{28630eb8-41d5-11d1-a9c1-0000f80367c1}");
-    if(FAILED(hr)){
-        _tprintf(TEXT("Unable to put Object type: 0x%x\n"), hr);
-        goto cleanup;
-    }
-    /* serviceBindingInformation */
-    hr = pACE2->put_ObjectType(
-        	L"{b7b1311c-b82e-11d0-afee-0000f80367c1}");
-    if(FAILED(hr)){
-        _tprintf(TEXT("Unable to put Object type: 0x%x\n"), hr);
-        goto cleanup;
-    }
-
-    /*
-    Add the ACEs to the DACL. Need an IDispatch pointer for
-    each ACE to pass to the AddAce method.
-    */
-    hr = pACE1->QueryInterface(IID_IDispatch,(void**)&pDispACE);
-    if (SUCCEEDED(hr)){
-	    hr = pACL->AddAce(pDispACE);
-    }
-    else{
-	    _tprintf(TEXT("Cannot add first ACE: 0x%x\n"), hr);
-    	if (pDispACE)
-	        pDispACE->Release();
-
-	    pDispACE = NULL;
-	    goto cleanup;
-    }
-
-    /* Repeat for the second ACE. */
-    hr = pACE2->QueryInterface(IID_IDispatch, (void**)&pDispACE);
-    if (SUCCEEDED(hr)){
-	    hr = pACL->AddAce(pDispACE);
-    }
-    else{
-    	_tprintf(TEXT("Cannot add second ACE: 0x%x\n"), hr);
-	    goto cleanup;
-    }
-
-    /* Write the modified DACL back to the security descriptor. */
-    hr = pSD->put_DiscretionaryAcl(pDisp);
-    if (SUCCEEDED(hr)){
-	    /* Write the ntSecurityDescriptor property to the property cache. */
-	    hr = pSCPObject->Put(sbstrSecurityDescriptor, varSD);
-	    if (SUCCEEDED(hr)){
-	        /* SetInfo updates the SCP object in the directory. */
-	        hr = pSCPObject->SetInfo();
-	    }
-        else{
-            _tprintf(TEXT("Unable to write NT Security Desc to the property cache: 0x%x\n"), hr);
-            goto cleanup;
-        }
-    }
-    else{
-        _tprintf(TEXT("Unable to write the modified DACL back to the Security Desc, 0x%x\n"), hr);
-        goto cleanup;
-    }
-
-cleanup:
-    if (pDispACE)
-	pDispACE->Release();
-
-    if (pACE1)
-	pACE1->Release();
-
-    if (pACE2)
-	pACE2->Release();
-
-    if (pACL)
-	pACL->Release();
-
-    if (pDisp)
-	pDisp->Release();
-
-    if (pSD)
-	pSD->Release();
-
-    VariantClear(&varSD);
-
-    return hr;
-}
diff --git a/src/pm/smpd/smpd_affinitize.c b/src/pm/smpd/smpd_affinitize.c
deleted file mode 100644
index 754635e..0000000
--- a/src/pm/smpd/smpd_affinitize.c
+++ /dev/null
@@ -1,425 +0,0 @@
-#include "smpd.h"
-#include <stdlib.h>
-
-#define MAX_PROCESSORS (sizeof(DWORD_PTR) * 8)
-
-/*
-    The relative priorities of system resources.  Small non-negative values
-    are considered more important (i.e. higher priority).
-*/
-typedef int priority_t;
-static const priority_t prioUnused    =-1;
-static const priority_t prioCacheBase = 1;  /* L1 cache will have priority Base+1, etc. */
-static const priority_t prioPackage   = 1000;
-static const priority_t prioNuma      = 1001;
-
-/*
-    An entry in the processor information priority table.  Each entry contains 
-    the priority of a given system resource type (e.g. L1 cache, L2 cache, etc.)
-    along with a list of all resources of that type.  For each resource, the set
-    of processes sharing that resouce is stored in the list.
-*/
-
-typedef struct
-{
-    priority_t priority;
-    int nResources;
-    struct
-    {
-        DWORD_PTR ProcessorMask;
-        int UsageCount;
-    } resources[MAX_PROCESSORS];
-} ResourceTableEntry;
-
-
-static unsigned int s_affinity_idx = 0;
-static unsigned int s_affinity_max = 0;
-static DWORD_PTR s_affinity_table[MAX_PROCESSORS];
-
-DWORD_PTR smpd_get_next_process_affinity_mask()
-{
-    DWORD_PTR Mask;
-    if (s_affinity_max == 0){
-        smpd_dbg_printf("Affinity table not initialized. Returning invalid mask\n");
-        return 0;
-    }
-
-    Mask = s_affinity_table[s_affinity_idx % s_affinity_max];
-    s_affinity_idx++;
-    return Mask;
-}
-
-
-static inline LONG_PTR lowest_bit(LONG_PTR x)
-{
-    return (x & -x);
-}
-
-static inline BOOL one_bit_set(LONG_PTR x)
-{
-    return ( x == lowest_bit(x) );
-}
-
-static inline void dbg_print_relationship(SYSTEM_LOGICAL_PROCESSOR_INFORMATION *pInfo)
-{
-    switch(pInfo->Relationship){
-        case RelationProcessorCore:
-            smpd_dbg_printf("Processor core [%x] info\n", pInfo->ProcessorCore.Flags);
-            break;
-        /* case RelationProcessorPackage: */
-        case RelationCache:
-            switch (pInfo->Cache.Type)
-            {
-                case CacheUnified:
-                    smpd_dbg_printf("Unified cache info\n");
-                    break;
-                case CacheData:
-                    smpd_dbg_printf("Data cache info\n");
-                    break;
-                case CacheInstruction:
-                    smpd_dbg_printf("Instruction cache info\n");
-                    break;
-                case CacheTrace:
-                    smpd_dbg_printf("Trace cache info\n");
-                    break;
-                default:
-                    smpd_dbg_printf("Unknown cache info [type=%d]\n", pInfo->Cache.Type);
-                    break;
-            }
-            smpd_dbg_printf("level=%d, assoc=%d, lnsz=%d, sz=%d\n", pInfo->Cache.Level, pInfo->Cache.Associativity, pInfo->Cache.LineSize, pInfo->Cache.Size);
-            break;
-        case RelationNumaNode:
-            smpd_dbg_printf("Numa node [%d] Info\n", pInfo->NumaNode.NodeNumber);
-            break;
-        default:
-            smpd_dbg_printf("Unknown Relationship [rel=%d]\n", pInfo->Relationship);
-    }
-}
-
-static inline priority_t get_relationship_priority(SYSTEM_LOGICAL_PROCESSOR_INFORMATION* pInfo)
-{
-    switch (pInfo->Relationship)
-    {
-        case RelationProcessorCore :
-            return prioUnused;
-
-        /* FIXME: Is this defined for win32 ?
-    	case RelationProcessorPackage :
-            return prioPackage;
-        */
-
-    	case RelationCache :
-    	{
-            switch (pInfo->Cache.Type)
-            {
-                case CacheUnified:
-                case CacheData:
-                    return prioCacheBase + pInfo->Cache.Level;
-                    
-                case CacheInstruction:
-                case CacheTrace:
-                    return prioUnused;
-
-                default:
-                    return prioUnused;
-            }
-    	}
-
-    	case RelationNumaNode :
-            return prioNuma;
-                	
-    	default:
-            return prioUnused;
-    }
-}
-
-
-/*
-    This function is used to sort the array of SYSTEM_LOGICAL_PROCESSOR_INFORMATION
-    by relationship priority (from highest to lowest importance).
-*/
-static int __cdecl compare_proc_info(const void *p1, const void *p2)
-{
-    SYSTEM_LOGICAL_PROCESSOR_INFORMATION* pInfo1;
-    SYSTEM_LOGICAL_PROCESSOR_INFORMATION* pInfo2;
-    int prio1, prio2;
-    DWORD_PTR mask1, mask2;
-
-    pInfo1 = (SYSTEM_LOGICAL_PROCESSOR_INFORMATION*) p1;
-    pInfo2 = (SYSTEM_LOGICAL_PROCESSOR_INFORMATION*) p2;
-    
-    prio1 = get_relationship_priority(pInfo1);
-    prio2 = get_relationship_priority(pInfo2);
-
-    if (prio1 < prio2)
-        return -1;
-    if (prio1 > prio2)
-        return 1;
-
-    mask1 = pInfo1->ProcessorMask;
-    mask2 = pInfo2->ProcessorMask;
-
-    return mask1 < mask2 ? -1 : (mask1 > mask2 ? 1 : 0);
-}
-
-
-/*
-    Group resources types by priority in the resource table.
-
-    PRECONDITION: pInfo must be sorted according to the compare_proc_info function above
-*/
-static int init_resource_table(SYSTEM_LOGICAL_PROCESSOR_INFORMATION* pInfo, int count, ResourceTableEntry *pTable)
-{
-    int nTableEntries = 0, i=0, j=0, k=0;
-    priority_t prevPrio = prioUnused;
-    DWORD_PTR EntryMask = 0;
-
-    for (i=0; i<count; i++)
-    {
-        priority_t prio = get_relationship_priority(&pInfo[i]);
-        if (prio == prioUnused)
-            continue;
-
-        SMPDU_Assert(prio >= prevPrio);
-        if (prio != prevPrio)
-        {
-            pTable[nTableEntries].priority = prio;
-            pTable[nTableEntries].nResources = 0;
-            EntryMask = 0;
-            nTableEntries++;
-        }
-
-        if( ( EntryMask & pInfo[i].ProcessorMask ) != 0){
-            /* Ignore duplicate resource infos */
-            smpd_dbg_printf("WARNING: Duplicate resource Info [for core=%x], Ignoring resource : \n", pInfo[i].ProcessorMask);
-            smpd_dbg_printf("==========================\n");
-            dbg_print_relationship(&pInfo[i]);
-            smpd_dbg_printf("==========================\n");
-            continue;
-        }
-
-        EntryMask |= pInfo[i].ProcessorMask;
-
-        j = nTableEntries - 1;
-        k = pTable[j].nResources;
-        pTable[j].resources[k].ProcessorMask = pInfo[i].ProcessorMask;
-        pTable[j].resources[k].UsageCount = 0;
-        pTable[j].nResources++;
-
-        prevPrio = prio;
-    }
-
-    return nTableEntries;
-}
-
-
-static DWORD_PTR get_min_usage_mask(DWORD_PTR CandidateMask, ResourceTableEntry *pEntry)
-{
-    /*
-        From among the currently remaining set of candidates, find all processors that map 
-        to one of the least heavily used resources of the current type.  If no candidate 
-        processor maps onto a resource of the current type, zero is returned.
-    */
-    int minUsageCount = INT_MAX, j=0;
-    DWORD_PTR minUsageMask = 0;
-    for (j=0; j<pEntry->nResources; j++)
-    {
-        if ( (pEntry->resources[j].ProcessorMask & CandidateMask) != 0)
-        {
-            if (pEntry->resources[j].UsageCount < minUsageCount)
-            {
-                minUsageMask  = pEntry->resources[j].ProcessorMask;
-                minUsageCount = pEntry->resources[j].UsageCount;
-            }
-            else if (pEntry->resources[j].UsageCount == minUsageCount)
-            {
-                minUsageMask |= pEntry->resources[j].ProcessorMask;
-            }
-        }
-    }
-    return minUsageMask;
-}
-
-
-static DWORD_PTR get_least_used_processor_bit(DWORD_PTR CandidateMask, ResourceTableEntry *pTable, int nTableEntries)
-{
-    int i=0;
-    for (i=0; i<nTableEntries && !one_bit_set(CandidateMask); i++)
-    {
-        DWORD_PTR minUsageMask = get_min_usage_mask(CandidateMask, &pTable[i]);
-
-        /*
-            Information about this resource type is unavailable for the remaining candidate processors.
-            However, it may be available for the next, lower-priority resource type, so move on.
-        */
-        if (minUsageMask == 0)
-            continue;
-
-        /*
-            Update the candidate set only to include the processors mapping to the least-used resources.
-            Move on to the next, lower-priority resource type.
-        */
-        CandidateMask &= minUsageMask;
-        SMPDU_Assert(CandidateMask != 0);
-    }
-
-    /*
-        Return the mask for only one processor, in case more than one candidate remains.
-    */
-    return lowest_bit(CandidateMask);
-}
-
-
-static void update_usage_counts(DWORD_PTR AssignMask, ResourceTableEntry *pTable, int nTableEntries)
-{
-    int i=0, j=0;
-    for (i=0; i<nTableEntries; i++)
-    {
-        for (j=0; j<pTable[i].nResources; j++)
-        {
-            if ( (pTable[i].resources[j].ProcessorMask & AssignMask) != 0 )
-            {
-                pTable[i].resources[j].UsageCount++;
-                break;
-            }
-        }
-    }
-}
-
-/*
-    This function initilizes the affinity table.  The processor assignments to processes 
-    are distributed so as to balance the use of system resources.
-*/
-typedef BOOL (WINAPI *LPFN_GetLogicalProcessorInformation)(PSYSTEM_LOGICAL_PROCESSOR_INFORMATION, PDWORD);
-BOOL smpd_init_affinity_table()
-{
-    /*
-        Get this process affinity mask (the system mask is unused)
-    */
-    int count, nTableEntries;
-    BOOL fSucc, retval = TRUE;
-    DWORD Length;
-    DWORD_PTR SystemMask, ReserveMask, PrimaryMask;
-    DWORD_PTR UsableProcessorMask;
-    SYSTEM_LOGICAL_PROCESSOR_INFORMATION* pInfo = NULL;
-    ResourceTableEntry* pTable = NULL;
-    LPFN_GetLogicalProcessorInformation lpfn_get_logical_proc_info;
-
-    fSucc = GetProcessAffinityMask(GetCurrentProcess(), &UsableProcessorMask, &SystemMask);
-    if(!fSucc){
-        return FALSE;
-    }
-
-    /* Check if GetLogicalProcessorInformation() is available */
-    lpfn_get_logical_proc_info =
-        (LPFN_GetLogicalProcessorInformation ) GetProcAddress(GetModuleHandle(TEXT("kernel32")),
-                                                    "GetLogicalProcessorInformation");
-    if(lpfn_get_logical_proc_info == NULL){
-        smpd_dbg_printf("GetLogicalProcessorInformation() not available\n"); 
-        return FALSE;
-    }
-    /*
-        Retrieve the length required to store the processor information data
-    */
-    Length = 0;
-    /* This call will fail - however it will return the length reqd to store proc info*/
-    fSucc = lpfn_get_logical_proc_info(NULL, &Length);
-    if(Length == 0){
-        smpd_dbg_printf("GetLogicalProcessorInformation() returned invalid (0 bytes) length to store proc info\n");
-        return FALSE;
-    }
-
-    /*
-        Allocate the processor information buffer
-    */
-    pInfo = (SYSTEM_LOGICAL_PROCESSOR_INFORMATION*) malloc(Length);
-    if(pInfo == NULL){
-        smpd_err_printf("Allocating memory for system logical proc info failed\n");
-        return FALSE;
-    }
-
-    /*
-        Query for the processors information
-    */
-    fSucc = lpfn_get_logical_proc_info(pInfo, &Length);
-    if(!fSucc){
-        smpd_err_printf("GetLogicalProcessorInformation() failed (error = %d)\n", GetLastError());
-        goto fn_fail;
-    }
-    
-    count = Length / sizeof(SYSTEM_LOGICAL_PROCESSOR_INFORMATION);
-
-    /*
-        Sort the processor data in order of priority, from most to least important.
-    */
-    qsort(pInfo, count, sizeof(SYSTEM_LOGICAL_PROCESSOR_INFORMATION), compare_proc_info);
-
-    pTable = (ResourceTableEntry*) malloc(count * sizeof(ResourceTableEntry));
-    if (pTable == NULL){
-        smpd_err_printf("Allocating memory for Resourcetableentry failed\n");
-        goto fn_fail;
-    }
-
-    /*
-        Initialize resource table from the sorted PROCESSOR_INFORMATION array
-    */
-    nTableEntries = init_resource_table(pInfo, count, pTable);
-
-    /*
-        Reserve CPU zero.  We will not assigned a reserved processor to a process unless all other
-        processors are already busy.  We can generalize this code to reserve other processors.
-    */
-    ReserveMask = 0x1;
-    ReserveMask &= UsableProcessorMask;
-
-    /*
-        First assign all primary processors, then all the reserve processors.
-    */
-    PrimaryMask = ( UsableProcessorMask & ~ReserveMask );
-    while ( (PrimaryMask | ReserveMask) != 0)
-    {
-        DWORD_PTR AssignMask;
-        DWORD_PTR* pRemainMask = ( PrimaryMask != 0 ? &PrimaryMask : &ReserveMask );
-        AssignMask = get_least_used_processor_bit(*pRemainMask, pTable, nTableEntries);
-        update_usage_counts(AssignMask, pTable, nTableEntries);
-
-        s_affinity_table[s_affinity_max] = AssignMask;
-        s_affinity_max++;
-        *pRemainMask &= ~AssignMask;
-    }
-
-    free(pTable);
- fn_exit:
-    free(pInfo);
-    return retval;
-fn_fail:
-    retval = FALSE;
-    goto fn_exit;
-}
-
-/* This function returns an affinity mask corresponding to the logical processor
- * id, proc_num, specified. In the case of an error a NULL mask, 0x0, is returned.
- */
-DWORD_PTR smpd_get_processor_affinity_mask(int proc_num)
-{
-    BOOL fSucc;
-    DWORD_PTR system_mask, usable_processor_mask, mask;
-
-    if(proc_num < 0){
-        smpd_err_printf("Invalid processor num specified\n");
-        return NULL;
-    }
-
-    /* Get the proc affinity mask for the process/system */
-    fSucc = GetProcessAffinityMask(GetCurrentProcess(), &usable_processor_mask, &system_mask);
-    if(!fSucc){
-        smpd_err_printf("Unable to get proc affinity mask\n");
-        return NULL;
-    }
-
-    mask = 0x1 << (proc_num % ( 8 * sizeof(DWORD_PTR)));
-    mask &= system_mask;
-
-    return mask;
-}
-
diff --git a/src/pm/smpd/smpd_authenticate.c b/src/pm/smpd/smpd_authenticate.c
deleted file mode 100644
index c70446f..0000000
--- a/src/pm/smpd/smpd_authenticate.c
+++ /dev/null
@@ -1,389 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-
-#include "smpd.h"
-
-int smpd_getpid()
-{
-#ifdef HAVE_WINDOWS_H
-    return GetCurrentProcessId();
-#else
-    return getpid();
-#endif
-}
-
-#undef FCNAME
-#define FCNAME "smpd_gen_authentication_strings"
-int smpd_gen_authentication_strings(char *phrase, char *append, char *crypted)
-{
-    int stamp;
-    char hash[SMPD_PASSPHRASE_MAX_LENGTH];
-    char phrase_internal[SMPD_PASSPHRASE_MAX_LENGTH+1];
-
-    smpd_enter_fn(FCNAME);
-
-    stamp = rand();
-
-    snprintf(phrase_internal, SMPD_PASSPHRASE_MAX_LENGTH, "%s%s %d", phrase, SMPD_VERSION, stamp);
-    snprintf(append, SMPD_AUTHENTICATION_STR_LEN, "%s %d", SMPD_VERSION, stamp);
-
-    smpd_hash(phrase_internal, (int)strlen(phrase_internal), hash, SMPD_PASSPHRASE_MAX_LENGTH);
-    if (strlen(hash) > SMPD_PASSPHRASE_MAX_LENGTH)
-    {
-	smpd_err_printf("internal crypted string too long: %d > %d\n", strlen(hash), SMPD_PASSPHRASE_MAX_LENGTH);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    strcpy(crypted, hash);
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#ifdef HAVE_WINDOWS_H
-static const char * crypt_error(int error)
-{
-    static char unknown[100];
-    switch (error)
-    {
-    case ERROR_INVALID_HANDLE:
-	return "One of the parameters specifies an invalid handle.";
-    case ERROR_INVALID_PARAMETER:
-	return "One of the parameters contains an invalid value. This is most often an invalid pointer.";
-    case NTE_BAD_ALGID:
-	return "The hKey session key specifies an algorithm that this CSP does not support.";
-    case NTE_BAD_DATA:
-	return "The data to be decrypted is invalid. For example, when a block cipher is used and the Final flag is FALSE, the value specified by pdwDataLen must be a multiple of the block size. This error can also be returned when the padding is found to be invalid.";
-    case NTE_BAD_FLAGS:
-	return "The dwFlags parameter is nonzero.";
-    case NTE_BAD_HASH:
-	return "The hHash parameter contains an invalid handle.";
-    case NTE_BAD_KEY:
-	return "The hKey parameter does not contain a valid handle to a key.";
-    case NTE_BAD_LEN:
-	return "The size of the output buffer is too small to hold the generated plaintext.";
-    case NTE_BAD_UID:
-	return "The CSP context that was specified when the key was created cannot be found.";
-    case NTE_DOUBLE_ENCRYPT:
-	return "The application attempted to decrypt the same data twice.";
-    case NTE_FAIL:
-	return "Failure";
-    }
-    sprintf(unknown, "Unknown failure %d", error);
-    return unknown;
-}
-#endif
-
-#undef FCNAME
-#define FCNAME "smpd_encrypt_data_plaintext"
-static int smpd_encrypt_data_plaintext(char *input, int input_length, char *output, int output_length)
-{
-    smpd_enter_fn(FCNAME);
-    if (output_length < input_length + 2)
-    {
-	smpd_err_printf("encryption output buffer too small: %d < %d.\n", output_length, input_length + 2);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    *output = SMPD_PLAINTEXT_PREFIX;
-    output++;
-    output_length--;
-    memcpy(output, input, input_length);
-    output[input_length] = '\0';
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_encrypt_data"
-int smpd_encrypt_data(char *input, int input_length, char *output, int output_length)
-{
-#ifdef HAVE_WINDOWS_H
-    HCRYPTPROV hCryptProv = 0;
-    HCRYPTKEY hKey = 0;
-    HCRYPTHASH hHash = 0;
-    CHAR szPassword[SMPD_MAX_PASSWORD_LENGTH] = "";
-    DWORD dwLength;
-    char *buffer = NULL;
-    int length, result;
-    int ret_val = SMPD_SUCCESS;
-
-    smpd_enter_fn(FCNAME);
-
-    if (smpd_process.plaintext)
-    {
-	ret_val = smpd_encrypt_data_plaintext(input, input_length, output, output_length);
-	smpd_exit_fn(FCNAME);
-	return ret_val;
-    }
-
-    /* Acquire a cryptographic provider context handle. */
-    if (!CryptAcquireContext(&hCryptProv, NULL, MS_DEF_PROV, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT))
-    {
-	/* Error creating key container!*/
-	smpd_err_printf("Error during CryptAcquireContext: %d\n", GetLastError());
-	ret_val = SMPD_FAIL;
-	goto fn_cleanup;
-    }
-
-    /* Create an empty hash object. */
-    if (!CryptCreateHash(hCryptProv, CALG_MD5, 0, 0, &hHash)) 
-    {
-	smpd_err_printf("Error during CryptCreateHash\n");
-	ret_val = SMPD_FAIL;
-	goto fn_cleanup;
-    }
-
-    /* Hash the password string. */
-    /*MPIU_Snprintf(szPassword, SMPD_MAX_PASSWORD_LENGTH, "%s %s", smpd_process.encrypt_prefix, smpd_process.passphrase);*/
-    MPIU_Strncpy(szPassword, smpd_process.passphrase, SMPD_MAX_PASSWORD_LENGTH);
-    /*smpd_dbg_printf("phrase to generate the encryption key: '%s'\n", szPassword);*/
-    dwLength = (DWORD)strlen(szPassword);
-    if (!CryptHashData(hHash, (BYTE *)szPassword, dwLength, 0)) 
-    {
-	smpd_err_printf("Error during CryptHashData\n");
-	ret_val = SMPD_FAIL;
-	goto fn_cleanup;
-    }
-
-    /* Create a session key based on the hash of the smpd password. */
-    if (!CryptDeriveKey(hCryptProv, CALG_RC2, hHash, CRYPT_EXPORTABLE, &hKey)) 
-    {
-	smpd_err_printf("Error during CryptDeriveKey\n");
-	ret_val = SMPD_FAIL;
-	goto fn_cleanup;
-    }
-
-    /* Allocate a temporary buffer to work on */
-    buffer = (char*)MPIU_Malloc(input_length * 2);
-    if (buffer == NULL)
-    {
-	smpd_err_printf("MPIU_Malloc returned NULL\n");
-	ret_val = SMPD_FAIL;
-	goto fn_cleanup;
-    }
-    /* copy the input data to the temporary buffer and encrypt in-place */
-    memcpy(buffer, input, input_length);
-    dwLength = input_length;
-    if (!CryptEncrypt(hKey, 0, TRUE, 0, (BYTE*)buffer, &dwLength, input_length*2))
-    {
-	smpd_err_printf("Error during CryptEncrypt: %s\n", crypt_error(GetLastError()));
-	ret_val = SMPD_FAIL;
-	goto fn_cleanup;
-    }
-
-    /* encode the binary encrypted blob to the output text buffer */
-    *output = SMPD_ENCRYPTED_PREFIX;
-    output++;
-    output_length--;
-    result = smpd_encode_buffer(output, output_length, buffer, dwLength, &length);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to encode the encrypted password\n");
-	ret_val = SMPD_FAIL;
-	goto fn_cleanup;
-    }
-    /*smpd_dbg_printf("encrypted and encoded password: %d bytes = '%s'\n", length, output);*/
-
-fn_cleanup:
-    if (buffer)
-    {
-	MPIU_Free(buffer);
-    }
-
-    /* Destroy the hash object. */
-    if (hHash)
-    {
-	CryptDestroyHash(hHash);
-    }
-
-    /* Destroy the session key. */
-    if (hKey)
-    {
-	CryptDestroyKey(hKey);
-    }
-
-    /* Release the provider handle. */
-    if (hCryptProv)
-    {
-	CryptReleaseContext(hCryptProv, 0);
-    }
-
-    smpd_exit_fn(FCNAME);
-    return ret_val;
-
-#else
-    int ret_val = SMPD_SUCCESS;
-    smpd_enter_fn(FCNAME);
-    ret_val = smpd_encrypt_data_plaintext(input, input_length, output, output_length);
-    smpd_exit_fn(FCNAME);
-    return ret_val;
-#endif
-}
-
-#undef FCNAME
-#define FCNAME "smpd_decrypt_data_plaintext"
-static int smpd_decrypt_data_plaintext(char *input, int input_length, char *output, int *output_length)
-{
-    smpd_enter_fn(FCNAME);
-    /* check the prefix character to make sure the data is plaintext */
-    if (*input != SMPD_PLAINTEXT_PREFIX)
-    {
-	smpd_err_printf("decryption module not available, please try again with -plaintext.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    /* skip over the prefix character */
-    input++;
-    input_length--;
-    if (*output_length < input_length)
-    {
-	smpd_err_printf("decryption output buffer too small.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    memcpy(output, input, input_length);
-    *output_length = input_length;
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_decrypt_data"
-int smpd_decrypt_data(char *input, int input_length, char *output, int *output_length)
-{
-#ifdef HAVE_WINDOWS_H
-    HCRYPTPROV hCryptProv = 0;
-    HCRYPTKEY hKey = 0;
-    HCRYPTHASH hHash = 0;
-    CHAR szPassword[SMPD_MAX_PASSWORD_LENGTH] = "";
-    DWORD dwLength;
-    char *buffer = NULL;
-    int length, result;
-    int ret_val = SMPD_SUCCESS;
-
-    smpd_enter_fn(FCNAME);
-
-    if (*input == SMPD_PLAINTEXT_PREFIX)
-    {
-	ret_val = smpd_decrypt_data_plaintext(input, input_length, output, output_length);
-	smpd_exit_fn(FCNAME);
-	return ret_val;
-    }
-
-    /* Acquire a cryptographic provider context handle. */
-    if (!CryptAcquireContext(&hCryptProv, NULL, MS_DEF_PROV, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT))
-    {
-	/* Error creating key container!*/
-	smpd_err_printf("Error during CryptAcquireContext: %d\n", GetLastError());
-	ret_val = SMPD_FAIL;
-	goto fn_cleanup;
-    }
-
-    /* Create an empty hash object. */
-    if (!CryptCreateHash(hCryptProv, CALG_MD5, 0, 0, &hHash)) 
-    {
-	smpd_err_printf("Error during CryptCreateHash\n");
-	ret_val = SMPD_FAIL;
-	goto fn_cleanup;
-    }
-
-    /* Hash the password string. */
-    /*MPIU_Snprintf(szPassword, SMPD_MAX_PASSWORD_LENGTH, "%s %s", smpd_process.encrypt_prefix, smpd_process.passphrase);*/
-    MPIU_Strncpy(szPassword, smpd_process.passphrase, SMPD_MAX_PASSWORD_LENGTH);
-    /*smpd_dbg_printf("phrase to generate the decryption key: '%s'\n", szPassword);*/
-    dwLength = (DWORD)strlen(szPassword);
-    if (!CryptHashData(hHash, (BYTE *)szPassword, dwLength, 0)) 
-    {
-	smpd_err_printf("Error during CryptHashData\n");
-	ret_val = SMPD_FAIL;
-	goto fn_cleanup;
-    }
-
-    /* Create a session key based on the hash of the smpd password. */
-    if (!CryptDeriveKey(hCryptProv, CALG_RC2, hHash, CRYPT_EXPORTABLE, &hKey)) 
-    {
-	smpd_err_printf("Error during CryptDeriveKey\n");
-	ret_val = SMPD_FAIL;
-	goto fn_cleanup;
-    }
-
-    /* skip over the prefix character */
-    input++;
-    input_length--;
-
-    /* Allocate a temporary buffer to work on */
-    buffer = (char*)MPIU_Malloc(input_length);
-    if (buffer == NULL)
-    {
-	smpd_err_printf("MPIU_Malloc returned NULL\n");
-	ret_val = SMPD_FAIL;
-	goto fn_cleanup;
-    }
-
-    /* decode the data back to it's binary encrypted format */
-    /*smpd_dbg_printf("encoded encrypted password: '%s'\n", input);*/
-    result = smpd_decode_buffer(input, buffer, input_length, &length);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to decode the encrypted password\n");
-	ret_val = SMPD_FAIL;
-	goto fn_cleanup;
-    }
-
-    /* decrypt the data blob back to plaintext */
-    dwLength = length;
-    if (!CryptDecrypt(hKey, 0, TRUE, 0, (BYTE*)buffer, &dwLength))
-    {
-	smpd_err_printf("Error during CryptDecrypt: %s\n", crypt_error(GetLastError()));
-	ret_val = SMPD_FAIL;
-	goto fn_cleanup;
-    }
-    if (dwLength >= (DWORD)*output_length)
-    {
-	smpd_err_printf("decrypted buffer is larger than the output buffer supplied: %d >= %d\n", dwLength, *output_length);
-	ret_val = SMPD_FAIL;
-	goto fn_cleanup;
-    }
-
-    /* copy the plaintext to the output buffer */
-    memcpy(output, buffer, dwLength);
-    *output_length = dwLength;
-
-fn_cleanup:
-    if (buffer)
-    {
-	MPIU_Free(buffer);
-    }
-
-    /* Destroy the hash object. */
-    if (hHash)
-    {
-	CryptDestroyHash(hHash);
-    }
-
-    /* Destroy the session key. */
-    if (hKey)
-    {
-	CryptDestroyKey(hKey);
-    }
-
-    /* Release the provider handle. */
-    if (hCryptProv)
-    {
-	CryptReleaseContext(hCryptProv, 0);
-    }
-
-    smpd_exit_fn(FCNAME);
-    return ret_val;
-#else
-    int ret_val = SMPD_SUCCESS;
-    smpd_enter_fn(FCNAME);
-    ret_val = smpd_decrypt_data_plaintext(input, input_length, output, output_length);
-    smpd_exit_fn(FCNAME);
-    return ret_val;
-#endif
-}
diff --git a/src/pm/smpd/smpd_barrier.c b/src/pm/smpd/smpd_barrier.c
deleted file mode 100644
index ebf6c7b..0000000
--- a/src/pm/smpd/smpd_barrier.c
+++ /dev/null
@@ -1,179 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-
-#include "smpd.h"
-
-#undef FCNAME
-#define FCNAME "smpd_handle_barrier_command"
-int smpd_handle_barrier_command(smpd_context_t *context)
-{
-    int result;
-    smpd_command_t *cmd, *temp_cmd;
-    char name[SMPD_MAX_DBS_NAME_LEN];
-    int count;
-    char ctx_key[100];
-    char value[100];
-    smpd_barrier_node_t *iter, *trailer;
-    int i;
-
-    smpd_enter_fn(FCNAME);
-
-    cmd = &context->read_cmd;
-
-    if (MPIU_Str_get_string_arg(cmd->cmd, "name", name, SMPD_MAX_DBS_NAME_LEN) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("no name in the barrier command: '%s'\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    if (MPIU_Str_get_string_arg(cmd->cmd, "value", value, 100) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("no count in the barrier command: '%s'\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    count = atoi(value);
-    if (count < 1)
-    {
-	smpd_err_printf("invalid count in the barrier command: '%s'\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    if (MPIU_Str_get_string_arg(cmd->cmd, "ctx_key", ctx_key, 100) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("no ctx_key in the barrier command: '%s'\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    if (count == 1)
-    {
-	/* send a success result immediately */
-    }
-
-    trailer = iter = smpd_process.barrier_list;
-    while (iter)
-    {
-	if (strcmp(name, iter->name) == 0)
-	{
-	    iter->in_array[iter->in].context = context;
-	    iter->in_array[iter->in].dest = cmd->src;
-	    iter->in_array[iter->in].cmd_tag = cmd->tag;
-	    strcpy(iter->in_array[iter->in].ctx_key, ctx_key);
-
-	    smpd_dbg_printf("incrementing barrier(%s) incount from %d to %d out of %d\n", iter->name, iter->in, iter->in+1, iter->count);
-	    iter->in++;
-	    if (iter->in >= iter->count)
-	    {
-		smpd_dbg_printf("all in barrier, sending result back to all participators.\n");
-		/* send all the results */
-		for (i=0; i<iter->count; i++)
-		{
-		    /* prepare the result command */
-		    result = smpd_create_command("result", smpd_process.id, iter->in_array[i].dest, SMPD_FALSE, &temp_cmd);
-		    if (result != SMPD_SUCCESS)
-		    {
-			smpd_err_printf("unable to create a result command for the barrier command.\n");
-			smpd_exit_fn(FCNAME);
-			return SMPD_FAIL;
-		    }
-		    /* add the command tag for result matching */
-		    result = smpd_add_command_int_arg(temp_cmd, "cmd_tag", iter->in_array[i].cmd_tag);
-		    if (result != SMPD_SUCCESS)
-		    {
-			smpd_err_printf("unable to add the tag to the result command for barrier command\n");
-			smpd_exit_fn(FCNAME);
-			return SMPD_FAIL;
-		    }
-		    result = smpd_add_command_arg(temp_cmd, "cmd_orig", "barrier");
-		    if (result != SMPD_SUCCESS)
-		    {
-			smpd_err_printf("unable to add cmd_orig to the result command for a barrier command\n");
-			smpd_exit_fn(FCNAME);
-			return SMPD_FAIL;
-		    }
-		    /* add the ctx_key for control channel matching */
-		    result = smpd_add_command_arg(temp_cmd, "ctx_key", iter->in_array[i].ctx_key);
-		    if (result != SMPD_SUCCESS)
-		    {
-			smpd_err_printf("unable to add the ctx_key to the result command for dbs command.\n");
-			smpd_exit_fn(FCNAME);
-			return SMPD_FAIL;
-		    }
-		    /* add the result string */
-		    smpd_dbg_printf("sending reply to barrier command '%s'.\n", iter->name);
-		    result = smpd_add_command_arg(temp_cmd, "result", DBS_SUCCESS_STR);
-		    if (result != SMPD_SUCCESS)
-		    {
-			smpd_err_printf("unable to add the result string to the result command for barrier command '%s'.\n", iter->name);
-			smpd_exit_fn(FCNAME);
-			return SMPD_FAIL;
-		    }
-		    smpd_dbg_printf("sending result command to %s context: \"%s\"\n", smpd_get_context_str(context), temp_cmd->cmd);
-		    result = smpd_post_write_command(iter->in_array[i].context, temp_cmd);
-		    if (result != SMPD_SUCCESS)
-		    {
-			smpd_err_printf("unable to post a write of the result command to the %s context: cmd '%s', barrier '%s'",
-			    smpd_get_context_str(iter->in_array[i].context), temp_cmd->cmd, iter->name);
-			smpd_exit_fn(FCNAME);
-			return SMPD_FAIL;
-		    }
-		}
-
-		/* free the barrier node */
-		if (iter == smpd_process.barrier_list)
-		{
-		    smpd_process.barrier_list = smpd_process.barrier_list->next;
-		}
-		else
-		{
-		    trailer->next = iter->next;
-		}
-		/* zero out to help catch access after free errors */
-		memset(iter->in_array, 0, sizeof(smpd_barrier_in_t) * iter->count);
-		memset(iter, 0, sizeof(smpd_barrier_node_t));
-		MPIU_Free(iter->in_array);
-		MPIU_Free(iter);
-	    }
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_SUCCESS;
-	}
-	if (trailer != iter)
-	    trailer = trailer->next;
-	iter = iter->next;
-    }
-
-    /* this is the first guy in so create a new barrier structure and add it to the list */
-    smpd_dbg_printf("initializing barrier(%s): in=1 size=%d\n", name, count);
-    iter = (smpd_barrier_node_t*)MPIU_Malloc(sizeof(smpd_barrier_node_t));
-    if (iter == NULL)
-    {
-	smpd_err_printf("unable to allocate a barrier node.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    strcpy(iter->name, name);
-    iter->count = count;
-    iter->in = 1;
-    iter->in_array = (smpd_barrier_in_t*)MPIU_Malloc(count * sizeof(smpd_barrier_in_t));
-    if (iter->in_array == NULL)
-    {
-	MPIU_Free(iter);
-	smpd_err_printf("unable to allocate a barrier in array of size %d\n", count);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    iter->in_array[0].context = context;
-    iter->in_array[0].dest = cmd->src;
-    iter->in_array[0].cmd_tag = cmd->tag;
-    strcpy(iter->in_array[0].ctx_key, ctx_key);
-
-    iter->next = smpd_process.barrier_list;
-    smpd_process.barrier_list = iter;
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
diff --git a/src/pm/smpd/smpd_ccp_util.c b/src/pm/smpd/smpd_ccp_util.c
deleted file mode 100644
index ce2d023..0000000
--- a/src/pm/smpd/smpd_ccp_util.c
+++ /dev/null
@@ -1,100 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-#include "smpd.h"
-
-#undef FCNAME
-#define FCNAME "smpd_get_ccp_nodes"
-int smpd_get_ccp_nodes(int *np, smpd_host_node_t **host_node_ptr_p)
-{
-    smpd_host_node_t *host_node_ptr=NULL, **host_list_tail_p=NULL;
-    int smpd_node_cnt = 0, np_total, i;
-    char *p=NULL, *tok=NULL, *next_tok=NULL;
-    char seps[] = " ,\t\n";
-    
-    smpd_enter_fn(FCNAME);
-    if(np == NULL){
-        smpd_err_printf("Error: Pointer to num procs is NULL\n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-    if(host_node_ptr_p == NULL){
-        smpd_err_printf("Error: Invalid pointer to host node ptr\n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-    host_list_tail_p = host_node_ptr_p;
-    
-    *np = -1;
-    np_total = 0;
-
-    /* Get the CCP nodes list 
-     * CCP_NODES = <NUM_OF_HOSTS> <HOST1> <NP_HOST1> <HOST2> <NP_HOST2> ...
-     */
-    p = MPIU_Strdup(getenv("CCP_NODES"));
-    if(p == NULL){
-        smpd_err_printf("Error: Unable to get the list of CCP nodes\n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-    smpd_dbg_printf("CCP_NODES = %s\n", p);
-    tok = strtok_s(p, seps, &next_tok);
-
-    if(tok == NULL){
-        smpd_err_printf("Error: Unable to parse th list of CCP nodes\n");
-        MPIU_Free(p);
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-    
-    smpd_node_cnt = atoi(tok);
-    for(i=0; i<smpd_node_cnt; i++){
-        char *host;
-        int np_host;
-
-        host = strtok_s(NULL, seps, &next_tok);
-        if(host == NULL){
-            smpd_err_printf("Error: Unable to parse the list of CCP nodes\n");
-            MPIU_Free(p);
-            smpd_exit_fn(FCNAME);
-            return SMPD_FAIL;
-        }
-        tok = strtok_s(NULL, seps, &next_tok);
-        if(tok == NULL){
-            smpd_err_printf("Error: Unable to parse the list of CCP nodes\n");
-            MPIU_Free(p);
-            smpd_exit_fn(FCNAME);
-            return SMPD_FAIL;
-        }
-        np_host = atoi(tok);
-        np_total += np_host;
-        /* Allocate memory & set node name */
-        host_node_ptr = (smpd_host_node_t *)MPIU_Malloc(sizeof(smpd_host_node_t));
-        if(host_node_ptr == NULL){
-            smpd_err_printf("Unable to allocate memory for smpd host node \n");
-            MPIU_Free(p);
-            smpd_exit_fn(FCNAME);
-            return SMPD_FAIL;
-        }
-        host_node_ptr->next = NULL;
-        host_node_ptr->left = NULL;
-        host_node_ptr->right = NULL;
-        host_node_ptr->connected = SMPD_FALSE;
-        host_node_ptr->connect_cmd_tag = -1;
-        host_node_ptr->nproc = np_host;
-        host_node_ptr->alt_host[0] = '\0';
-
-        MPIU_Strncpy(host_node_ptr->host, host, SMPD_MAX_HOST_LENGTH);
-
-        /* Add the node to the tail of the list */
-        *host_list_tail_p = host_node_ptr;
-        host_list_tail_p = &(host_node_ptr->next);
-    }
-
-    *np = np_total;
-    MPIU_Free(p);
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
diff --git a/src/pm/smpd/smpd_cmd_args.c b/src/pm/smpd/smpd_cmd_args.c
deleted file mode 100644
index 5cef7ae..0000000
--- a/src/pm/smpd/smpd_cmd_args.c
+++ /dev/null
@@ -1,869 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-
-#include "smpd.h"
-#ifdef HAVE_WINDOWS_H
-#include "smpd_service.h"
-#endif
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-
-#ifdef HAVE_WINDOWS_H
-BOOL WINAPI smpd_ctrl_handler(DWORD dwCtrlType)
-{
-    switch (dwCtrlType)
-    {
-    case CTRL_C_EVENT:
-    case CTRL_BREAK_EVENT:
-    case CTRL_CLOSE_EVENT:
-    case CTRL_SHUTDOWN_EVENT:
-	break;
-    case CTRL_LOGOFF_EVENT:
-	return FALSE;
-    }
-    smpd_kill_all_processes();
-    return TRUE;
-}
-#endif
-
-#undef FCNAME
-#define FCNAME "smpd_print_options"
-void smpd_print_options(void)
-{
-    smpd_enter_fn(FCNAME);
-    printf("smpd options:\n");
-    printf(" -port <port> or -p <port>\n");
-    printf(" -phrase <passphrase>\n");
-    printf(" -getphrase\n");
-    printf(" -debug or -d\n");
-    printf(" -noprompt\n");
-    printf(" -restart [hostname]\n");
-    printf(" -shutdown [hostname]\n");
-    printf(" -console [hostname]\n");
-    printf(" -status [hostname]\n");
-    printf(" -anyport\n");
-    printf(" -hosts\n");
-    printf(" -sethosts\n");
-    printf(" -set <option_name> <option_value>\n");
-    printf(" -get <option_name>\n");
-    printf(" -query [domain]\n");
-    printf(" -help\n");
-    printf("unix only options:\n");
-    printf(" -s\n");
-    printf(" -r\n");
-    printf(" -smpdfile <filename>\n");
-    printf("windows only options:\n");
-    printf(" -install or -regserver\n");
-    printf(" -remove  or -unregserver or -uninstall\n");
-    printf(" -start\n");
-    printf(" -stop\n");
-    printf(" -register_spn\n");
-    printf(" -remove_spn\n");
-    printf(" -traceon <logfilename> [<hostA> <hostB> ...]\n");
-    printf(" -traceoff [<hostA> <hostB> ...]\n");
-    printf("\n");
-    printf("bracketed [] items are optional\n");
-    printf("\n");
-    printf("\"smpd -d\" will start the smpd in debug mode.\n");
-    printf("\"smpd -s\" will start the smpd in daemon mode for the current unix user.\n");
-    printf("\"smpd -install\" will install and start the smpd in Windows service mode.\n");
-    printf(" This must be done by a user with administrator privileges and then all\n");
-    printf(" users can launch processes with mpiexec.\n");
-    printf("Not yet implemented:\n");
-    printf("\"smpd -r\" will start the smpd in root daemon mode for unix.\n");
-    fflush(stdout);
-    smpd_exit_fn(FCNAME);
-}
-
-#undef FCNAME
-#define FCNAME "smpd_parse_command_args"
-int smpd_parse_command_args(int *argcp, char **argvp[])
-{
-    int result = 0;
-#ifdef HAVE_WINDOWS_H
-    char str[20], read_handle_str[20], write_handle_str[20];
-    int port;
-    SMPDU_Sock_t listener;
-    SMPDU_Sock_set_t set;
-    HANDLE hWrite, hRead;
-    DWORD num_written, num_read;
-#endif
-    int dbg_flag;
-    char domain[SMPD_MAX_HOST_LENGTH];
-    char opt[SMPD_MAX_NAME_LENGTH];
-    char opt_val[SMPD_MAX_VALUE_LENGTH];
-    char filename[SMPD_MAX_FILENAME];
-    int i;
-
-    smpd_enter_fn(FCNAME);
-
-    /* check for help option */
-    if (
-#ifndef HAVE_WINDOWS_H
-	*argcp < 2 || /* unix: print the options if no arguments are supplied */
-#endif
-	smpd_get_opt(argcp, argvp, "-help") || smpd_get_opt(argcp, argvp, "-?"))
-    {
-	smpd_print_options();
-	smpd_exit(0);
-    }
-
-    /* check for the printprocs option */
-    if (smpd_get_opt(argcp, argvp, "-printprocs"))
-    {
-	smpd_watch_processes();
-	smpd_exit(0);
-    }
-
-    if (smpd_get_opt(argcp, argvp, "-hosts"))
-    {
-	char first_host[SMPD_MAX_HOST_LENGTH], host[SMPD_MAX_HOST_LENGTH], alt_host[SMPD_MAX_HOST_LENGTH];
-
-	smpd_get_default_hosts();
-
-	result = smpd_get_next_hostname(first_host, alt_host);
-	if (result != SMPD_SUCCESS)
-	    smpd_exit(result);
-	printf("%s\n", first_host);
-	result = smpd_get_next_hostname(host, alt_host);
-	if (result != SMPD_SUCCESS)
-	    smpd_exit(result);
-	while (strcmp(host, first_host) != 0)
-	{
-	    printf("%s\n", host);
-	    result = smpd_get_next_hostname(host, alt_host);
-	    if (result != SMPD_SUCCESS)
-		smpd_exit(result);
-	}
-	smpd_exit(0);
-    }
-
-    if (smpd_get_opt(argcp, argvp, "-sethosts"))
-    {
-	char *buffer, *iter;
-	int i, length;
-
-	length = (*argcp) * SMPD_MAX_HOST_LENGTH;
-	buffer = MPIU_Malloc(length);
-	if (buffer == NULL)
-	{
-	    smpd_err_printf("unable to allocate memory to store the host names.\n");
-	    smpd_exit(-1);
-	}
-	iter = buffer;
-	for (i=1; i<*argcp; i++)
-	{
-	    result = MPIU_Str_add_string(&iter, &length, (*argvp)[i]);
-	    if (result)
-	    {
-		printf("unable to add host #%d, %s\n", i, (*argvp)[i]);
-		MPIU_Free(buffer);
-		smpd_exit(-1);
-	    }
-	}
-	/*printf("hosts: %s\n", buffer);*/
-	result = smpd_set_smpd_data("hosts", buffer);
-	if (result == SMPD_SUCCESS)
-	{
-	    printf("hosts data saved successfully.\n");
-	}
-	else
-	{
-	    printf("Error: unable to save the hosts data.\n");
-	}
-	MPIU_Free(buffer);
-	smpd_exit(0);
-    }
-
-    if (smpd_get_opt_two_strings(argcp, argvp, "-set", opt, SMPD_MAX_NAME_LENGTH, opt_val, SMPD_MAX_VALUE_LENGTH))
-    {
-	/* The do loop allows for multiple -set operations to be specified on the command line */
-	do
-	{
-	    if (strlen(opt) == 0)
-	    {
-		printf("invalid option specified.\n");
-		smpd_exit(-1);
-	    }
-	    if (strlen(opt_val) == 0)
-	    {
-		result = smpd_delete_smpd_data(opt);
-	    }
-	    else
-	    {
-		result = smpd_set_smpd_data(opt, opt_val);
-	    }
-	    if (result == SMPD_SUCCESS)
-	    {
-		printf("%s = %s\n", opt, opt_val);
-	    }
-	    else
-	    {
-		printf("unable to set %s option.\n", opt);
-	    }
-	} while (smpd_get_opt_two_strings(argcp, argvp, "-set", opt, SMPD_MAX_NAME_LENGTH, opt_val, SMPD_MAX_VALUE_LENGTH));
-	smpd_exit(0);
-    }
-
-    if (smpd_get_opt_string(argcp, argvp, "-get", opt, SMPD_MAX_NAME_LENGTH))
-    {
-	if (strlen(opt) == 0)
-	{
-	    printf("invalid option specified.\n");
-	    smpd_exit(-1);
-	}
-	result = smpd_get_smpd_data(opt, opt_val, SMPD_MAX_VALUE_LENGTH);
-	if (result == SMPD_SUCCESS)
-	{
-	    printf("%s\n", opt_val);
-	}
-	else
-	{
-	    printf("default\n");
-	}
-	smpd_exit(0);
-    }
-
-    /* If we've made it here and there still is "-set" or "-get" on the command line then the user
-     * probably didn't supply the correct number of parameters.  So print the usage message
-     * and exit.
-     */
-    if (smpd_get_opt(argcp, argvp, "-set") || smpd_get_opt(argcp, argvp, "-get"))
-    {
-	smpd_print_options();
-	smpd_exit(-1);
-    }
-
-    if (smpd_get_opt(argcp, argvp, "-enumerate") || smpd_get_opt(argcp, argvp, "-enum"))
-    {
-	smpd_data_t *data;
-	if (smpd_get_all_smpd_data(&data) == SMPD_SUCCESS)
-	{
-	    smpd_data_t *iter = data;
-	    while (iter != NULL)
-	    {
-		printf("%s\n%s\n", iter->name, iter->value);
-		iter = iter->next;
-	    }
-	    while (data != NULL)
-	    {
-		iter = data;
-		data = data->next;
-		MPIU_Free(iter);
-	    }
-	}
-	smpd_exit(0);
-    }
-
-    if (smpd_get_opt_string(argcp, argvp, "-query", domain, SMPD_MAX_HOST_LENGTH))
-    {
-	printf("querying hosts in the %s domain:\n", domain);
-	printf("Not implemented.\n");
-	smpd_exit(0);
-    }
-    if (smpd_get_opt(argcp, argvp, "-query"))
-    {
-	printf("querying hosts in the default domain:\n");
-	printf("Not implemented.\n");
-	smpd_exit(0);
-    }
-
-    /* check for the service/silent option */
-#ifdef HAVE_WINDOWS_H
-    smpd_process.bService = SMPD_TRUE;
-#endif
-
-    if (smpd_get_opt(argcp, argvp, "-s"))
-    {
-#ifdef HAVE_WINDOWS_H
-	printf("The -s option is only available under unix.\n");
-	smpd_print_options();
-	smpd_exit(0);
-#else
-	smpd_process.bNoTTY = SMPD_TRUE;
-#endif
-    }
-
-    if (smpd_get_opt(argcp, argvp, "-r"))
-    {
-#ifdef HAVE_WINDOWS_H
-	printf("The -r option is only available under unix.\n");
-	smpd_print_options();
-#else
-	printf("The -r root option is not yet implemented.\n");
-#endif
-	smpd_exit(0);
-    }
-
-    /* check for debug option */
-    if (smpd_get_opt_int(argcp, argvp, "-d", &dbg_flag))
-    {
-	smpd_process.dbg_state = dbg_flag;
-	smpd_process.bNoTTY = SMPD_FALSE;
-	smpd_process.bService = SMPD_FALSE;
-    }
-    if (smpd_get_opt(argcp, argvp, "-d"))
-    {
-	smpd_process.dbg_state = SMPD_DBG_STATE_ERROUT | SMPD_DBG_STATE_STDOUT | SMPD_DBG_STATE_PREPEND_RANK | SMPD_DBG_STATE_TRACE;
-	smpd_process.bNoTTY = SMPD_FALSE;
-	smpd_process.bService = SMPD_FALSE;
-    }
-    if (smpd_get_opt_int(argcp, argvp, "-debug", &dbg_flag))
-    {
-	smpd_process.dbg_state = dbg_flag;
-	smpd_process.bNoTTY = SMPD_FALSE;
-	smpd_process.bService = SMPD_FALSE;
-    }
-    if (smpd_get_opt(argcp, argvp, "-debug"))
-    {
-	smpd_process.dbg_state = SMPD_DBG_STATE_ERROUT | SMPD_DBG_STATE_STDOUT | SMPD_DBG_STATE_PREPEND_RANK | SMPD_DBG_STATE_TRACE;
-	smpd_process.bNoTTY = SMPD_FALSE;
-	smpd_process.bService = SMPD_FALSE;
-    }
-
-    /* check for port option */
-    smpd_get_opt_int(argcp, argvp, "-p", &smpd_process.port);
-    smpd_get_opt_int(argcp, argvp, "-port", &smpd_process.port);
-    if (smpd_get_opt(argcp, argvp, "-anyport"))
-    {
-	smpd_process.port = 0;
-	smpd_process.dbg_state = 0; /* turn of debugging or you won't be able to read the port from stdout */
-	smpd_process.bNoTTY = SMPD_FALSE;
-	smpd_process.bService = SMPD_FALSE;
-    }
-
-    smpd_process.noprompt = smpd_get_opt(argcp, argvp, "-noprompt");
-
-#ifdef HAVE_WINDOWS_H
-
-    /* check for service options */
-    if (smpd_get_opt(argcp, argvp, "-remove") ||
-	smpd_get_opt(argcp, argvp, "-unregserver") ||
-	smpd_get_opt(argcp, argvp, "-uninstall") ||
-	smpd_get_opt(argcp, argvp, "/Remove") ||
-	smpd_get_opt(argcp, argvp, "/Uninstall"))
-    {
-	/*RegDeleteKey(HKEY_CURRENT_USER, MPICHKEY);*/
-	smpd_remove_service(SMPD_TRUE);
-	ExitProcess(0);
-    }
-    if (smpd_get_opt(argcp, argvp, "-install") ||
-	smpd_get_opt(argcp, argvp, "-regserver") ||
-	smpd_get_opt(argcp, argvp, "/Install") ||
-	smpd_get_opt(argcp, argvp, "/install") ||
-	smpd_get_opt(argcp, argvp, "/RegServer"))
-    {
-	char phrase[SMPD_PASSPHRASE_MAX_LENGTH]="", port_str[SMPD_MAX_PORT_STR_LENGTH]="";
-
-	if (smpd_remove_service(SMPD_FALSE) == SMPD_FALSE)
-	{
-	    printf("Unable to remove the previous installation, install failed.\n");
-	    ExitProcess(0);
-	}
-
-	if (smpd_get_opt_string(argcp, argvp, "-phrase", phrase, SMPD_PASSPHRASE_MAX_LENGTH) ||
-	    smpd_get_win_opt_string(argcp, argvp, "/phrase", phrase, SMPD_PASSPHRASE_MAX_LENGTH))
-	{
-	    smpd_set_smpd_data("phrase", phrase);
-	}
-	if (smpd_get_opt(argcp, argvp, "-getphrase"))
-	{
-	    printf("passphrase for smpd: ");fflush(stdout);
-	    smpd_get_password(phrase);
-	    smpd_set_smpd_data("phrase", phrase);
-	}
-	if (smpd_process.port != SMPD_LISTENER_PORT)
-	{
-        snprintf(port_str, SMPD_MAX_PORT_STR_LENGTH, "%d", smpd_process.port);
-	    smpd_set_smpd_data("port", port_str);
-	}
-
-	smpd_install_service(SMPD_FALSE, SMPD_TRUE, smpd_get_opt(argcp, argvp, "-delegation"));
-	smpd_set_smpd_data("version", SMPD_VERSION);
-	ExitProcess(0);
-    }
-    if (smpd_get_opt(argcp, argvp, "-start"))
-    {
-	smpd_start_service();
-	ExitProcess(0);
-    }
-    if (smpd_get_opt(argcp, argvp, "-stop"))
-    {
-	smpd_stop_service();
-	ExitProcess(0);
-    }
-    if (smpd_get_opt(argcp, argvp, "-register_spn"))
-    {
-        char filename[SMPD_MAX_FILENAME];
-
-        if(smpd_get_opt_string(argcp, argvp, "-f", filename, SMPD_MAX_FILENAME)){
-            result = smpd_setup_scps_with_file(filename);
-            if(result != SMPD_SUCCESS){
-                printf("Failed to register smpd's Service Principal Names (at least one failed) with Domain Controller\n");
-                ExitProcess((UINT )-1);
-            }
-        }
-        else{
-            result = smpd_setup_scp(NULL);
-            if(result != SMPD_SUCCESS){
-                printf("Failed to register smpd's Service Principal Name with Domain Controller\n");
-                ExitProcess((UINT )-1);
-            }
-        }
-        printf("Service Principal Name registered with the domain controller.\n");
-        printf("SMPD is now capable of launching processes using passwordless delegation.\n");
-        printf("The system administrator must ensure the following:\n");
-        printf(" 1) This host is trusted for delegation in Active Directory\n");
-        printf(" 2) All users who will run jobs are trusted for delegation.\n");
-        printf("Domain administrators can enable these options for hosts and users\nin Active Directory on the domain controller.\n");
-        ExitProcess(0);
-    }
-    if (smpd_get_opt(argcp, argvp, "-remove_spn"))
-    {
-        char filename[SMPD_MAX_FILENAME];
-        smpd_spn_list_hnd_t hnd;
-
-        result = smpd_spn_list_init(&hnd);
-        if(result != SMPD_SUCCESS){
-            printf("Unable to initialize SPN list\n");
-            ExitProcess((UINT ) -1);
-        }
-
-        if(smpd_get_opt_string(argcp, argvp, "-f", filename, SMPD_MAX_FILENAME)){
-            result = smpd_remove_scps_with_file(filename, hnd);
-            if(result != SMPD_SUCCESS){
-                printf("Failed to remove smpd's Service Principal Names (at least one failed) with Domain Controller\n");
-                ExitProcess((UINT )-1);
-            }
-            printf("Removed smpd's Service Principal Names successfully\n");
-        }
-        else{
-            result = smpd_remove_scp(NULL, hnd);
-            if(result != SMPD_SUCCESS){
-                printf("Failed to remove smpd's Service Principal Name with Domain Controller\n");
-                ExitProcess((UINT )-1);
-            }
-            printf("Removed smpd's Service Principal Name successfully\n");
-        }
-        smpd_spn_list_finalize(&hnd);
-        ExitProcess(0);
-    }
-
-    if (smpd_get_opt(argcp, argvp, "-mgr"))
-    {
-	/* Set a ctrl-handler to kill child processes if this smpd is killed */
-	if (!SetConsoleCtrlHandler(smpd_ctrl_handler, TRUE))
-	{
-	    result = GetLastError();
-	    smpd_dbg_printf("unable to set the ctrl handler for the smpd manager, error %d.\n", result);
-	}
-#ifdef HAVE_WINDOWS_H
-    {
-        BOOL ret;
-        ret = smpd_init_affinity_table();
-        if(!ret){
-            smpd_dbg_printf("Initializing smpd affinity table failed\n");
-        }
-    }
-#endif
-
-	smpd_process.bService = SMPD_FALSE;
-	if (!smpd_get_opt_string(argcp, argvp, "-read", read_handle_str, 20))
-	{
-	    smpd_err_printf("manager started without a read pipe handle.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	if (!smpd_get_opt_string(argcp, argvp, "-write", write_handle_str, 20))
-	{
-	    smpd_err_printf("manager started without a write pipe handle.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	hRead = smpd_decode_handle(read_handle_str);
-	hWrite = smpd_decode_handle(write_handle_str);
-
-	smpd_dbg_printf("manager creating listener and session sets.\n");
-
-	result = SMPDU_Sock_create_set(&set);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("SMPDU_Sock_create_set(listener) failed,\nsock error: %s\n", get_sock_error_string(result));
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	smpd_process.set = set;
-	smpd_dbg_printf("created set for manager listener, %d\n", SMPDU_Sock_get_sock_set_id(set));
-	port = 0;
-	result = SMPDU_Sock_listen(set, NULL, &port, &listener); 
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("SMPDU_Sock_listen failed,\nsock error: %s\n", get_sock_error_string(result));
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	smpd_dbg_printf("smpd manager listening on port %d\n", port);
-
-	result = smpd_create_context(SMPD_CONTEXT_LISTENER, set, listener, -1, &smpd_process.listener_context);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to create a context for the smpd listener.\n");
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-	result = SMPDU_Sock_set_user_ptr(listener, smpd_process.listener_context);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("SMPDU_Sock_set_user_ptr failed,\nsock error: %s\n", get_sock_error_string(result));
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-	smpd_process.listener_context->state = SMPD_MGR_LISTENING;
-
-	memset(str, 0, 20);
-	snprintf(str, 20, "%d", port);
-	smpd_dbg_printf("manager writing port back to smpd.\n");
-	if (!WriteFile(hWrite, str, 20, &num_written, NULL))
-	{
-	    smpd_err_printf("WriteFile failed, error %d\n", GetLastError());
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	CloseHandle(hWrite);
-	if (num_written != 20)
-	{
-	    smpd_err_printf("wrote only %d bytes of 20\n", num_written);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	smpd_dbg_printf("manager reading account and password from smpd.\n");
-	if (!ReadFile(hRead, smpd_process.UserAccount, SMPD_MAX_ACCOUNT_LENGTH, &num_read, NULL))
-	{
-	    smpd_err_printf("ReadFile failed, error %d\n", GetLastError());
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	if (num_read != SMPD_MAX_ACCOUNT_LENGTH)
-	{
-	    smpd_err_printf("read only %d bytes of %d\n", num_read, SMPD_MAX_ACCOUNT_LENGTH);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	if (!ReadFile(hRead, smpd_process.UserPassword, SMPD_MAX_PASSWORD_LENGTH, &num_read, NULL))
-	{
-	    smpd_err_printf("ReadFile failed, error %d\n", GetLastError());
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	if (num_read != SMPD_MAX_PASSWORD_LENGTH)
-	{
-	    smpd_err_printf("read only %d bytes of %d\n", num_read, SMPD_MAX_PASSWORD_LENGTH);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	if (!ReadFile(hRead, smpd_process.passphrase, SMPD_PASSPHRASE_MAX_LENGTH, &num_read, NULL))
-	{
-	    smpd_err_printf("ReadFile failed, error %d\n", GetLastError());
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	if (num_read != SMPD_PASSPHRASE_MAX_LENGTH)
-	{
-	    smpd_err_printf("read only %d bytes of %d\n", num_read, SMPD_PASSPHRASE_MAX_LENGTH);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	smpd_process.credentials_prompt = SMPD_FALSE;
-
-	result = smpd_enter_at_state(set, SMPD_MGR_LISTENING);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("state machine failed.\n");
-	}
-
-	/*
-	result = SMPDU_Sock_finalize();
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("SMPDU_Sock_finalize failed,\nsock error: %s\n", get_sock_error_string(result));
-	}
-	*/
-	smpd_exit(0);
-	smpd_exit_fn(FCNAME);
-	ExitProcess(0);
-    }
-#endif
-
-    /* check for the status option */
-    if (smpd_get_opt_string(argcp, argvp, "-status", smpd_process.console_host, SMPD_MAX_HOST_LENGTH))
-    {
-	smpd_process.do_console = 1;
-	smpd_process.builtin_cmd = SMPD_CMD_DO_STATUS;
-    }
-    else if (smpd_get_opt(argcp, argvp, "-status"))
-    {
-	smpd_get_hostname(smpd_process.console_host, SMPD_MAX_HOST_LENGTH);
-	smpd_process.do_console = 1;
-	smpd_process.builtin_cmd = SMPD_CMD_DO_STATUS;
-    }
-
-    /* check for console options */
-    if (smpd_get_opt_string(argcp, argvp, "-console", smpd_process.console_host, SMPD_MAX_HOST_LENGTH))
-    {
-	smpd_process.do_console = 1;
-    }
-    else if (smpd_get_opt(argcp, argvp, "-console"))
-    {
-	smpd_get_hostname(smpd_process.console_host, SMPD_MAX_HOST_LENGTH);
-	smpd_process.do_console = 1;
-    }
-    if (smpd_process.do_console)
-    {
-	/* This may need to be changed to avoid conflict */
-	if (smpd_get_opt(argcp, argvp, "-p"))
-	{
-	    smpd_process.use_process_session = 1;
-	}
-    }
-
-    if (smpd_get_opt_string(argcp, argvp, "-shutdown", smpd_process.console_host, SMPD_MAX_HOST_LENGTH))
-    {
-	smpd_process.do_console = 1;
-	smpd_process.builtin_cmd = SMPD_CMD_SHUTDOWN;
-    }
-    else if (smpd_get_opt(argcp, argvp, "-shutdown"))
-    {
-	smpd_get_hostname(smpd_process.console_host, SMPD_MAX_HOST_LENGTH);
-	smpd_process.do_console = 1;
-	smpd_process.builtin_cmd = SMPD_CMD_SHUTDOWN;
-    }
-
-    if (smpd_get_opt_string(argcp, argvp, "-restart", smpd_process.console_host, SMPD_MAX_HOST_LENGTH))
-    {
-	smpd_process.do_console = 1;
-	smpd_process.builtin_cmd = SMPD_CMD_RESTART;
-    }
-    else if (smpd_get_opt(argcp, argvp, "-restart"))
-    {
-#ifdef HAVE_WINDOWS_H
-	printf("restarting the smpd service...\n");
-	smpd_stop_service();
-	Sleep(1000);
-	smpd_start_service();
-	smpd_exit(0);
-#else
-	smpd_get_hostname(smpd_process.console_host, SMPD_MAX_HOST_LENGTH);
-	smpd_process.do_console = 1;
-	smpd_process.builtin_cmd = SMPD_CMD_RESTART;
-#endif
-    }
-
-    if (smpd_get_opt_string(argcp, argvp, "-version", smpd_process.console_host, SMPD_MAX_HOST_LENGTH))
-    {
-	smpd_process.do_console = 1;
-	smpd_process.builtin_cmd = SMPD_CMD_VERSION;
-    }
-    else if (smpd_get_opt(argcp, argvp, "-version"))
-    {
-	printf("%s\n", SMPD_VERSION);
-	fflush(stdout);
-	smpd_exit(0);
-    }
-
-    /* These commands are handled by mpiexec although doing them here is an alternate solution.
-    if (smpd_get_opt_two_strings(argcp, argvp, "-add_job", smpd_process.job_key, SMPD_MAX_NAME_LENGTH, smpd_process.job_key_account, SMPD_MAX_ACCOUNT_LENGTH))
-    {
-	if (!smpd_get_opt_string(argcp, argvp, "-host", smpd_process.console_host, SMPD_MAX_HOST_LENGTH))
-	    smpd_get_hostname(smpd_process.console_host, SMPD_MAX_HOST_LENGTH);
-	if (smpd_get_opt_string(argcp, argvp, "-password", smpd_process.job_key_password, SMPD_MAX_PASSWORD_LENGTH)
-	    smpd_process.builtin_cmd = SMPD_CMD_ADD_JOB_KEY_AND_PASSWORD;
-	else
-	    smpd_process.builtin_cmd = SMPD_CMD_ADD_JOB_KEY;
-	smpd_process.do_console = 1;
-    }
-
-    if (smpd_get_opt_string(argcp, argvp, "-remove_job", smpd_process.job_key, SMPD_MAX_NAME_LENGTH))
-    {
-	if (!smpd_get_opt_string(argcp, argvp, "-host", smpd_process.console_host, SMPD_MAX_HOST_LENGTH))
-	    smpd_get_hostname(smpd_process.console_host, SMPD_MAX_HOST_LENGTH);
-	smpd_process.do_console = 1;
-	smpd_process.builtin_cmd = SMPD_CMD_REMOVE_JOB_KEY;
-    }
-
-    if (smpd_get_opt_string(argcp, argvp, "-associate_job", smpd_process.job_key, SMPD_MAX_NAME_LENGTH))
-    {
-	if (!smpd_get_opt_string(argcp, argvp, "-host", smpd_process.console_host, SMPD_MAX_HOST_LENGTH))
-	    smpd_get_hostname(smpd_process.console_host, SMPD_MAX_HOST_LENGTH);
-	smpd_process.do_console = 1;
-	smpd_process.builtin_cmd = SMPD_CMD_ASSOCIATE_JOB_KEY;
-    }
-    */
-
-    smpd_get_opt_string(argcp, argvp, "-phrase", smpd_process.passphrase, SMPD_PASSPHRASE_MAX_LENGTH);
-    if (smpd_get_opt(argcp, argvp, "-getphrase"))
-    {
-	printf("passphrase for smpd: ");fflush(stdout);
-	smpd_get_password(smpd_process.passphrase);
-    }
-
-    if (smpd_get_opt_string(argcp, argvp, "-smpdfile", smpd_process.smpd_filename, SMPD_MAX_FILENAME))
-    {
-	struct stat s;
-
-	if (stat(smpd_process.smpd_filename, &s) == 0)
-	{
-	    if (s.st_mode & 00077)
-	    {
-		printf(".smpd file cannot be readable by anyone other than the current user.\n");
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	}
-    }
-
-    if (smpd_get_opt_string(argcp, argvp, "-traceon", filename, SMPD_MAX_FILENAME))
-    {
-	smpd_process.do_console_returns = SMPD_TRUE;
-	if (*argcp > 1)
-	{
-	    for (i=1; i<*argcp; i++)
-	    {
-		strcpy(smpd_process.console_host, (*argvp)[i]);
-
-		smpd_process.do_console = 1;
-		smpd_process.builtin_cmd = SMPD_CMD_SET;
-		strcpy(smpd_process.key, "logfile");
-		strcpy(smpd_process.val, filename);
-		result = smpd_do_console();
-		if (result != SMPD_SUCCESS)
-		{
-		    smpd_err_printf("Unable to set the logfile name on host '%s'\n", smpd_process.console_host);
-		    smpd_exit_fn(FCNAME);
-		    return result;
-		}
-
-		smpd_process.do_console = 1;
-		smpd_process.builtin_cmd = SMPD_CMD_SET;
-		strcpy(smpd_process.key, "log");
-		strcpy(smpd_process.val, "yes");
-		result = smpd_do_console();
-		if (result != SMPD_SUCCESS)
-		{
-		    smpd_err_printf("Unable to set the log option on host '%s'\n", smpd_process.console_host);
-		    smpd_exit_fn(FCNAME);
-		    return result;
-		}
-
-		smpd_process.do_console = 1;
-		smpd_process.builtin_cmd = SMPD_CMD_RESTART;
-		result = smpd_do_console();
-		if (result != SMPD_SUCCESS)
-		{
-		    smpd_err_printf("Unable to restart the smpd on host '%s'\n", smpd_process.console_host);
-		    smpd_exit_fn(FCNAME);
-		    return result;
-		}
-	    }
-	}
-	else
-	{
-	    result = smpd_set_smpd_data("logfile", filename);
-	    result = smpd_set_smpd_data("log", "yes");
-
-#ifdef HAVE_WINDOWS_H
-	    printf("restarting the smpd service...\n");
-	    smpd_stop_service();
-	    Sleep(1000);
-	    smpd_start_service();
-#else
-	    smpd_get_hostname(smpd_process.console_host, SMPD_MAX_HOST_LENGTH);
-	    smpd_process.do_console = 1;
-	    smpd_process.builtin_cmd = SMPD_CMD_RESTART;
-	    result = smpd_do_console();
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("Unable to restart the smpd on host '%s'\n", smpd_process.console_host);
-		smpd_exit_fn(FCNAME);
-		return result;
-	    }
-#endif
-	}
-	smpd_exit_fn(FCNAME);
-	smpd_exit(result);
-    }
-
-    if (smpd_get_opt(argcp, argvp, "-traceoff"))
-    {
-	smpd_process.do_console_returns = SMPD_TRUE;
-	if (*argcp > 1)
-	{
-	    for (i=1; i<*argcp; i++)
-	    {
-		strcpy(smpd_process.console_host, (*argvp)[i]);
-
-		smpd_process.do_console = 1;
-		smpd_process.builtin_cmd = SMPD_CMD_SET;
-		strcpy(smpd_process.key, "log");
-		strcpy(smpd_process.val, "no");
-		result = smpd_do_console();
-		if (result != SMPD_SUCCESS)
-		{
-		    smpd_err_printf("Unable to set the log option on host '%s'\n", smpd_process.console_host);
-		    smpd_exit_fn(FCNAME);
-		    return result;
-		}
-
-		smpd_process.do_console = 1;
-		smpd_process.builtin_cmd = SMPD_CMD_RESTART;
-		result = smpd_do_console();
-		if (result != SMPD_SUCCESS)
-		{
-		    smpd_err_printf("Unable to restart the smpd on host '%s'\n", smpd_process.console_host);
-		    smpd_exit_fn(FCNAME);
-		    return result;
-		}
-	    }
-	}
-	else
-	{
-	    result = smpd_set_smpd_data("log", "no");
-
-#ifdef HAVE_WINDOWS_H
-	    printf("restarting the smpd service...\n");
-	    smpd_stop_service();
-	    Sleep(1000);
-	    smpd_start_service();
-#else
-	    smpd_get_hostname(smpd_process.console_host, SMPD_MAX_HOST_LENGTH);
-	    smpd_process.do_console = 1;
-	    smpd_process.builtin_cmd = SMPD_CMD_RESTART;
-	    result = smpd_do_console();
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("Unable to restart the smpd on host '%s'\n", smpd_process.console_host);
-		smpd_exit_fn(FCNAME);
-		return result;
-	    }
-#endif
-	}
-	smpd_exit_fn(FCNAME);
-	smpd_exit(result);
-    }
-
-    if (smpd_process.do_console)
-    {
-	result = smpd_do_console();
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
diff --git a/src/pm/smpd/smpd_command.c b/src/pm/smpd/smpd_command.c
deleted file mode 100644
index a09a7a6..0000000
--- a/src/pm/smpd/smpd_command.c
+++ /dev/null
@@ -1,860 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include "mpiexec.h"
-#include "smpd.h"
-
-#undef FCNAME
-#define FCNAME "smpd_get_cmd_state_string"
-const char * smpd_get_cmd_state_string(smpd_command_state_t state)
-{
-    const char *result;
-    static char unknown_str[100];
-
-    smpd_enter_fn(FCNAME);
-
-    switch (state)
-    {
-    case SMPD_CMD_INVALID:
-	result = "SMPD_CMD_INVALID";
-	break;
-    case SMPD_CMD_READING_HDR:
-	result = "SMPD_CMD_READING_HDR";
-	break;
-    case SMPD_CMD_READING_CMD:
-	result = "SMPD_CMD_READING_CMD";
-	break;
-    case SMPD_CMD_WRITING_CMD:
-	result = "SMPD_CMD_WRITING_CMD";
-	break;
-    case SMPD_CMD_READY:
-	result = "SMPD_CMD_READY";
-	break;
-    case SMPD_CMD_HANDLED:
-	result = "SMPD_CMD_HANDLED";
-	break;
-    default:
-	sprintf(unknown_str, "unknown state %d", state);
-	result = unknown_str;
-	break;
-    }
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_command_to_string"
-SMPD_BOOL smpd_command_to_string(char **str_pptr, int *len_ptr, int indent, smpd_command_t *cmd_ptr)
-{
-    char indent_str[SMPD_MAX_TO_STRING_INDENT+1];
-
-    smpd_enter_fn(FCNAME);
-
-    if (*len_ptr < 1)
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_FALSE;
-    }
-
-    if (indent > SMPD_MAX_TO_STRING_INDENT)
-	indent = SMPD_MAX_TO_STRING_INDENT;
-
-    memset(indent_str, MPIU_STR_SEPAR_CHAR, indent);
-    indent_str[indent] = '\0';
-
-    smpd_snprintf_update(str_pptr, len_ptr, "%sstate: %s\n", indent_str, smpd_get_cmd_state_string(cmd_ptr->state));
-    if (*len_ptr < 1) { smpd_exit_fn(FCNAME); return SMPD_FALSE; }
-    smpd_snprintf_update(str_pptr, len_ptr, "%scmd_str: %s\n", indent_str, cmd_ptr->cmd_str);
-    if (*len_ptr < 1) { smpd_exit_fn(FCNAME); return SMPD_FALSE; }
-    smpd_snprintf_update(str_pptr, len_ptr, "%ssrc: %d\n", indent_str, cmd_ptr->src);
-    if (*len_ptr < 1) { smpd_exit_fn(FCNAME); return SMPD_FALSE; }
-    smpd_snprintf_update(str_pptr, len_ptr, "%sdest: %d\n", indent_str, cmd_ptr->dest);
-    if (*len_ptr < 1) { smpd_exit_fn(FCNAME); return SMPD_FALSE; }
-    smpd_snprintf_update(str_pptr, len_ptr, "%stag: %d\n", indent_str, cmd_ptr->tag);
-    if (*len_ptr < 1) { smpd_exit_fn(FCNAME); return SMPD_FALSE; }
-    smpd_snprintf_update(str_pptr, len_ptr, "%swait: %s\n", indent_str, cmd_ptr->wait ? "TRUE" : "FALSE");
-    if (*len_ptr < 1) { smpd_exit_fn(FCNAME); return SMPD_FALSE; }
-    smpd_snprintf_update(str_pptr, len_ptr, "%scmd_hdr_str: %s\n", indent_str, cmd_ptr->cmd_hdr_str);
-    if (*len_ptr < 1) { smpd_exit_fn(FCNAME); return SMPD_FALSE; }
-    smpd_snprintf_update(str_pptr, len_ptr, "%slength: %d\n", indent_str, cmd_ptr->length);
-    if (*len_ptr < 1) { smpd_exit_fn(FCNAME); return SMPD_FALSE; }
-    smpd_snprintf_update(str_pptr, len_ptr, "%scmd: %s\n", indent_str, cmd_ptr->cmd);
-    if (*len_ptr < 1) { smpd_exit_fn(FCNAME); return SMPD_FALSE; }
-    smpd_snprintf_update(str_pptr, len_ptr, "%sfreed: %d\n", indent_str, cmd_ptr->freed);
-    if (*len_ptr < 1) { smpd_exit_fn(FCNAME); return SMPD_FALSE; }
-    smpd_snprintf_update(str_pptr, len_ptr, "%siov[0].buf: %p\n", indent_str, cmd_ptr->iov[0].SMPD_IOV_BUF);
-    if (*len_ptr < 1) { smpd_exit_fn(FCNAME); return SMPD_FALSE; }
-    smpd_snprintf_update(str_pptr, len_ptr, "%siov[0].len: %d\n", indent_str, cmd_ptr->iov[0].SMPD_IOV_LEN);
-    if (*len_ptr < 1) { smpd_exit_fn(FCNAME); return SMPD_FALSE; }
-    smpd_snprintf_update(str_pptr, len_ptr, "%siov[1].buf: %p\n", indent_str, cmd_ptr->iov[1].SMPD_IOV_BUF);
-    if (*len_ptr < 1) { smpd_exit_fn(FCNAME); return SMPD_FALSE; }
-    smpd_snprintf_update(str_pptr, len_ptr, "%siov[1].len: %d\n", indent_str, cmd_ptr->iov[1].SMPD_IOV_LEN);
-    if (*len_ptr < 1) { smpd_exit_fn(FCNAME); return SMPD_FALSE; }
-    smpd_snprintf_update(str_pptr, len_ptr, "%sstdin_read_offset: %d\n", indent_str, cmd_ptr->stdin_read_offset);
-    if (*len_ptr < 1) { smpd_exit_fn(FCNAME); return SMPD_FALSE; }
-    smpd_snprintf_update(str_pptr, len_ptr, "%snext: %p\n", indent_str, cmd_ptr->next);
-    if (*len_ptr < 1) { smpd_exit_fn(FCNAME); return SMPD_FALSE; } /* this misses the case of an exact fit */
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_TRUE;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_command_destination"
-int smpd_command_destination(int dest, smpd_context_t **dest_context)
-{
-    int src, level_bit, sub_tree_mask;
-
-    smpd_enter_fn(FCNAME);
-
-    /* get the source */
-    src = smpd_process.id;
-
-    /*smpd_dbg_printf("determining destination context for %d -> %d\n", src, dest);*/
-
-    /* determine the route and return the context */
-    if (src == dest)
-    {
-	*dest_context = NULL;
-	smpd_dbg_printf("%d -> %d : returning NULL context\n", src, dest);
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-    if (src == 1 && dest == 0 && smpd_process.map0to1)
-    {
-	*dest_context = NULL;
-	smpd_dbg_printf("%d -> %d : returning NULL context\n", src, dest);
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-
-    if (src == 0)
-    {
-	/* this assumes that the root uses the left context for it's only child. */
-	if (smpd_process.left_context == NULL)
-	{
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	*dest_context = smpd_process.left_context;
-	smpd_dbg_printf("%d -> %d : returning left_context\n", src, dest);
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-
-    if (dest < src)
-    {
-	if (smpd_process.parent_context == NULL)
-	{
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	*dest_context = smpd_process.parent_context;
-	smpd_dbg_printf("%d -> %d : returning parent_context: %d < %d\n", src, dest, dest, src);
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-
-    level_bit = 0x1 << smpd_process.level;
-    sub_tree_mask = (level_bit << 1) - 1;
-
-    if (( src ^ level_bit ) == ( dest & sub_tree_mask ))
-    {
-	if (smpd_process.left_context == NULL)
-	{
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	*dest_context = smpd_process.left_context;
-	smpd_dbg_printf("%d -> %d : returning left_context\n", src, dest);
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-
-    if ( src == ( dest & sub_tree_mask ) )
-    {
-	if (smpd_process.right_context == NULL)
-	{
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	*dest_context = smpd_process.right_context;
-	smpd_dbg_printf("%d -> %d : returning right_context\n", src, dest);
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-
-    if (smpd_process.parent_context == NULL)
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    *dest_context = smpd_process.parent_context;
-    smpd_dbg_printf("%d -> %d : returning parent_context: fall through\n", src, dest);
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_init_command"
-int smpd_init_command(smpd_command_t *cmd)
-{
-    smpd_enter_fn(FCNAME);
-
-    if (cmd == NULL)
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    cmd->cmd_hdr_str[0] = '\0';
-    cmd->cmd_str[0] = '\0';
-    cmd->cmd[0] = '\0';
-    cmd->dest = -1;
-    cmd->src = -1;
-    cmd->tag = -1;
-    cmd->next = NULL;
-    cmd->length = 0;
-    cmd->wait = SMPD_FALSE;
-    cmd->state = SMPD_CMD_INVALID;
-    cmd->stdin_read_offset = 0;
-    cmd->freed = 0;
-    cmd->context = NULL;
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_parse_command"
-int smpd_parse_command(smpd_command_t *cmd_ptr)
-{
-    smpd_enter_fn(FCNAME);
-
-    /* get the source */
-    if (MPIU_Str_get_int_arg(cmd_ptr->cmd, "src", &cmd_ptr->src) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("no src flag in the command.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    if (cmd_ptr->src < 0)
-    {
-	smpd_err_printf("invalid command src: %d\n", cmd_ptr->src);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    /* get the destination */
-    if (MPIU_Str_get_int_arg(cmd_ptr->cmd, "dest", &cmd_ptr->dest) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("no dest flag in the command.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    if (cmd_ptr->dest < 0)
-    {
-	smpd_err_printf("invalid command dest: %d\n", cmd_ptr->dest);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    /* get the command string */
-    if (MPIU_Str_get_string_arg(cmd_ptr->cmd, "cmd", cmd_ptr->cmd_str, SMPD_MAX_CMD_STR_LENGTH) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("no cmd string in the command.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    /* get the tag */
-    /* A command does not have to have a tag so don't check for failure */
-    MPIU_Str_get_int_arg(cmd_ptr->cmd, "tag", &cmd_ptr->tag);
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_create_command"
-int smpd_create_command(char *cmd, int src, int dest, int want_reply, smpd_command_t **cmd_pptr)
-{
-    smpd_command_t *cmd_ptr;
-    char *str;
-    int len;
-    int result;
-
-    smpd_enter_fn(FCNAME);
-
-    cmd_ptr = (smpd_command_t*)MPIU_Malloc(sizeof(smpd_command_t));
-    if (cmd_ptr == NULL)
-    {
-	smpd_err_printf("unable to allocate memory for a command.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    memset(cmd_ptr, 0, sizeof(smpd_command_t));
-    smpd_init_command(cmd_ptr);
-    cmd_ptr->src = src;
-    cmd_ptr->dest = dest;
-    cmd_ptr->tag = smpd_process.cur_tag++;
-
-    if (strlen(cmd) >= SMPD_MAX_CMD_STR_LENGTH)
-    {
-	smpd_err_printf("command string too long: %s\n", cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    strcpy(cmd_ptr->cmd_str, cmd);
-
-    str = cmd_ptr->cmd;
-    len = SMPD_MAX_CMD_LENGTH;
-    result = MPIU_Str_add_string_arg(&str, &len, "cmd", cmd);
-    if (result != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("unable to create the command.\n");
-	smpd_free_command(cmd_ptr);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = MPIU_Str_add_int_arg(&str, &len, "src", src);
-    if (result != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("unable to add the src to the command.\n");
-	smpd_free_command(cmd_ptr);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = MPIU_Str_add_int_arg(&str, &len, "dest", dest);
-    if (result != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("unable to add the dest to the command.\n");
-	smpd_free_command(cmd_ptr);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = MPIU_Str_add_int_arg(&str, &len, "tag", cmd_ptr->tag);
-    if (result != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("unable to add the tag to the command.\n");
-	smpd_free_command(cmd_ptr);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    if (want_reply)
-    {
-	cmd_ptr->wait = SMPD_TRUE;
-    }
-
-    *cmd_pptr = cmd_ptr;
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_create_command_copy"
-int smpd_create_command_copy(smpd_command_t *src_ptr, smpd_command_t **cmd_pptr)
-{
-    smpd_command_t *cmd_ptr;
-
-    smpd_enter_fn(FCNAME);
-
-    cmd_ptr = (smpd_command_t*)MPIU_Malloc(sizeof(smpd_command_t));
-    if (cmd_ptr == NULL)
-    {
-	smpd_err_printf("unable to allocate memory for a command.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    
-    *cmd_ptr = *src_ptr;
-    *cmd_pptr = cmd_ptr;
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_free_command"
-int smpd_free_command(smpd_command_t *cmd_ptr)
-{
-    smpd_enter_fn(FCNAME);
-    if (cmd_ptr)
-    {
-	/* this check isn't full-proof because random data might match SMPD_FREE_COOKIE */
-	if (cmd_ptr->freed == SMPD_FREE_COOKIE)
-	{
-	    smpd_err_printf("attempt to free a command more than once.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	/* erase the contents to help track down use of freed structures */
-	smpd_init_command(cmd_ptr);
-	cmd_ptr->freed = SMPD_FREE_COOKIE;
-	MPIU_Free(cmd_ptr); /* unfortunately, free probably erases the data making the cookie check ineffective */
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_create_context"
-int smpd_create_context(smpd_context_type_t type, SMPDU_Sock_set_t set, SMPDU_Sock_t sock, int id, smpd_context_t **context_pptr)
-{
-    int result;
-    smpd_context_t *context;
-    
-    smpd_enter_fn(FCNAME);
-    context = (smpd_context_t*)MPIU_Malloc(sizeof(smpd_context_t));
-    if (context == NULL)
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    memset(context, 0, sizeof(smpd_context_t));
-    result = smpd_init_context(context, type, set, sock, id);
-    if (result != SMPD_SUCCESS)
-    {
-	*context_pptr = NULL;
-	MPIU_Free(context);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    
-    /* add the context to the global list */
-    context->next = smpd_process.context_list;
-    smpd_process.context_list = context;
-
-    *context_pptr = context;
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-
-/*#define DEBUG_SMPD_FREE_CONTEXT*/
-
-#ifdef DEBUG_SMPD_FREE_CONTEXT
-typedef struct cfree_t
-{
-    smpd_context_t *context;
-    struct cfree_t *next;
-} cfree_t;
-static cfree_t *free_list = NULL;
-#endif
-
-#undef FCNAME
-#define FCNAME "smpd_free_context"
-int smpd_free_context(smpd_context_t *context)
-{
-    SMPD_BOOL found = SMPD_FALSE;
-    smpd_context_t *iter, *trailer;
-
-    smpd_enter_fn(FCNAME);
-    if (context)
-    {
-#ifdef DEBUG_SMPD_FREE_CONTEXT
-	/* check debugging free list */
-	cfree_t *citer = free_list;
-	while (citer)
-	{
-	    if (citer->context == context)
-	    {
-		smpd_err_printf("%s context freed twice.\n", smpd_get_context_str(context));
-	    }
-	    citer = citer->next;
-	}
-#endif
-
-	/* remove the context from the global list */
-	iter = trailer = smpd_process.context_list;
-	while (iter)
-	{
-	    if (iter == context)
-	    {
-		if (iter == smpd_process.context_list)
-		    smpd_process.context_list = smpd_process.context_list->next;
-		else
-		    trailer->next = iter->next;
-		found = SMPD_TRUE;
-		break;
-	    }
-	    if (trailer != iter)
-		trailer = trailer->next;
-	    iter = iter->next;
-	}
-
-	if (!found)
-	{
-#ifdef DEBUG_SMPD_FREE_CONTEXT
-	    smpd_dbg_printf("freeing a %s context not in the global list - this should be impossible.\n",
-		smpd_get_context_str(context));
-#else
-	    smpd_dbg_printf("freeing a context not in the global list - this should be impossible.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_SUCCESS;
-#endif
-	}
-
-        smpd_dbg_printf("freeing %s context.\n", smpd_get_context_str(context));
-
-	/* this check isn't full-proof because random data might match SMPD_CONTEXT_FREED */
-	/* This also doesn't work because free clobbers the memory instead of leaving it alone */
-	if (context->type == SMPD_CONTEXT_FREED)
-	{
-	    smpd_err_printf("attempt to free context more than once.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-
-	/* remove any references to this context in the process structure */
-	if (context->process)
-	{
-	    switch (context->type)
-	    {
-	    case SMPD_CONTEXT_STDIN:
-		context->process->in = NULL;
-		break;
-	    case SMPD_CONTEXT_STDOUT:
-	    case SMPD_CONTEXT_STDOUT_RSH:
-		context->process->out = NULL;
-		break;
-	    case SMPD_CONTEXT_STDERR:
-	    case SMPD_CONTEXT_STDERR_RSH:
-		context->process->err = NULL;
-		break;
-	    case SMPD_CONTEXT_PMI:
-		context->process->pmi = NULL;
-		break;
-	    }
-	}
-
-	/* erase the contents to help track down use of freed structures */
-	/* This doesn't work because free clobbers the memory instead of leaving it alone */
-	memset(context, 0, sizeof(smpd_context_t));
-	smpd_init_context(context, SMPD_CONTEXT_FREED, SMPDU_SOCK_INVALID_SET, SMPDU_SOCK_INVALID_SOCK, -1);
-
-#ifdef DEBUG_SMPD_FREE_CONTEXT
-	/* add to debugging free list */
-	citer = (cfree_t*)MPIU_Malloc(sizeof(cfree_t));
-	citer->context = context;
-	citer->next = free_list;
-	free_list = citer;
-#else
-	MPIU_Free(context);
-#endif
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_add_command_arg"
-int smpd_add_command_arg(smpd_command_t *cmd_ptr, char *param, char *value)
-{
-    char *str=NULL, *tmp_value=NULL;
-    int len, value_len;
-    int result;
-    int cmd_length;
-
-    smpd_enter_fn(FCNAME);
-
-    cmd_length = (int)strlen(cmd_ptr->cmd);
-    if (cmd_length > SMPD_MAX_CMD_LENGTH)
-    {
-	smpd_err_printf("invalid cmd string length: %d\n", cmd_length);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    len = (int)(SMPD_MAX_CMD_LENGTH - cmd_length);
-    str = &cmd_ptr->cmd[cmd_length];
-
-    /* make sure there is a space after the last parameter in the command */
-    if (cmd_length > 0)
-    {
-	if (cmd_ptr->cmd[cmd_length-1] != MPIU_STR_SEPAR_CHAR)
-	{
-	    if (len < 2)
-	    {
-		smpd_err_printf("unable to add the command parameter: %s=%s\n", param, value);
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    cmd_ptr->cmd[cmd_length] = MPIU_STR_SEPAR_CHAR;
-	    len--;
-	    str++;
-	}
-    }
-
-    /* Check if we have a escape character at the end of the
-     * value string
-     * If we do, add a separator character to value string
-     */
-    value_len = (int )strlen(value);
-    tmp_value = NULL;
-    if(value[value_len - 1] == MPIU_STR_ESCAPE_CHAR){
-        tmp_value = (char *)MPIU_Malloc(value_len + 2);
-        if(tmp_value == NULL){
-            smpd_err_printf("Unable to allocate memory for tmp value string\n");
-            smpd_exit_fn(FCNAME);
-            return SMPD_FAIL;
-        }
-        MPIU_Strncpy(tmp_value, value, value_len + 2);
-        tmp_value[value_len] = MPIU_STR_SEPAR_CHAR;
-        tmp_value[value_len + 1] = '\0';
-        value = tmp_value;
-    }
-
-    result = MPIU_Str_add_string_arg(&str, &len, param, value);
-    if (result != MPIU_STR_SUCCESS)
-    {
-        smpd_err_printf("unable to add the command parameter: %s=%s\n", param, value);
-        if(tmp_value) MPIU_Free(tmp_value);
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-
-    if(tmp_value) MPIU_Free(tmp_value);
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_add_command_int_arg"
-int smpd_add_command_int_arg(smpd_command_t *cmd_ptr, char *param, int value)
-{
-    char *str;
-    int len;
-    int result;
-    int cmd_length;
-
-    smpd_enter_fn(FCNAME);
-
-    cmd_length = (int)strlen(cmd_ptr->cmd);
-    if (cmd_length > SMPD_MAX_CMD_LENGTH)
-    {
-	smpd_err_printf("invalid cmd string length: %d\n", cmd_length);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    len = (int)(SMPD_MAX_CMD_LENGTH - cmd_length);
-    str = &cmd_ptr->cmd[cmd_length];
-
-    /* make sure there is a space after the last parameter in the command */
-    if (cmd_length > 0)
-    {
-	if (cmd_ptr->cmd[cmd_length-1] != MPIU_STR_SEPAR_CHAR)
-	{
-	    if (len < 2)
-	    {
-		smpd_err_printf("unable to add the command parameter: %s=%d\n", param, value);
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    cmd_ptr->cmd[cmd_length] = MPIU_STR_SEPAR_CHAR;
-	    len--;
-	    str++;
-	}
-    }
-
-    result = MPIU_Str_add_int_arg(&str, &len, param, value);
-    if (result != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("unable to add the command parameter: %s=%d\n", param, value);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_add_command_binary_arg"
-int smpd_add_command_binary_arg(smpd_command_t *cmd_ptr, char *param, void *buffer, int length)
-{
-    char *str;
-    int len;
-    int result;
-    int cmd_length;
-    int saved_length;
-
-    smpd_enter_fn(FCNAME);
-
-    cmd_length = (int)strlen(cmd_ptr->cmd);
-    if (cmd_length > SMPD_MAX_CMD_LENGTH)
-    {
-	smpd_err_printf("invalid cmd string length: %d\n", cmd_length);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    len = (int)(SMPD_MAX_CMD_LENGTH - cmd_length);
-    str = &cmd_ptr->cmd[cmd_length];
-
-    /* make sure there is a space after the last parameter in the command */
-    if (cmd_length > 0)
-    {
-	if (cmd_ptr->cmd[cmd_length-1] != MPIU_STR_SEPAR_CHAR)
-	{
-	    if (len < 2)
-	    {
-		smpd_err_printf("unable to add the command parameter: %s=%d byte buffer\n", param, length);
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    cmd_ptr->cmd[cmd_length] = MPIU_STR_SEPAR_CHAR;
-	    len--;
-	    str++;
-	}
-    }
-
-    saved_length = len;
-    result = MPIU_Str_add_binary_arg(&str, &len, param, buffer, length);
-    if (result != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("unable to add the command parameter: %s=%d byte buffer won't fit in %d character length string\n", param, length, saved_length);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_forward_command"
-int smpd_forward_command(smpd_context_t *src, smpd_context_t *dest)
-{
-    int result;
-    smpd_command_t *cmd;
-
-    smpd_enter_fn(FCNAME);
-
-    result = smpd_create_command_copy(&src->read_cmd, &cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create a copy of the command to forward.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    smpd_dbg_printf("posting write of forwarded command: \"%s\"\n", cmd->cmd);
-    result = smpd_post_write_command(dest, cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a write of a forwarded command.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_post_read_command"
-int smpd_post_read_command(smpd_context_t *context)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-
-    /* post a read for the next command header */
-    smpd_dbg_printf("posting a read for a command header on the %s context, sock %d\n", smpd_get_context_str(context), SMPDU_Sock_get_sock_id(context->sock));
-    context->read_state = SMPD_READING_CMD_HEADER;
-    context->read_cmd.state = SMPD_CMD_READING_HDR;
-    result = SMPDU_Sock_post_read(context->sock, context->read_cmd.cmd_hdr_str, SMPD_CMD_HDR_LENGTH, SMPD_CMD_HDR_LENGTH, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a read for the next command header,\nsock error: %s\n", get_sock_error_string(result));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_post_write_command"
-int smpd_post_write_command(smpd_context_t *context, smpd_command_t *cmd)
-{
-    int result;
-    smpd_command_t *iter;
-
-    smpd_enter_fn(FCNAME);
-
-    if (context == NULL)
-    {
-	smpd_dbg_printf("unable to post a write of command '%s' on a NULL context", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    smpd_package_command(cmd);
-    /*smpd_dbg_printf("command after packaging: \"%s\"\n", cmd->cmd);*/
-    cmd->next = NULL;
-    cmd->state = SMPD_CMD_WRITING_CMD;
-    context->write_state = SMPD_WRITING_CMD;
-
-    if (!context->write_list)
-    {
-	context->write_list = cmd;
-    }
-    else
-    {
-	smpd_dbg_printf("enqueueing write at the end of the list.\n");
-	iter = context->write_list;
-	while (iter->next)
-	    iter = iter->next;
-	iter->next = cmd;
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-
-    cmd->iov[0].SMPD_IOV_BUF = (SMPD_IOV_BUF_CAST)cmd->cmd_hdr_str;
-    cmd->iov[0].SMPD_IOV_LEN = SMPD_CMD_HDR_LENGTH;
-    cmd->iov[1].SMPD_IOV_BUF = (SMPD_IOV_BUF_CAST)cmd->cmd;
-    cmd->iov[1].SMPD_IOV_LEN = cmd->length;
-    /*smpd_dbg_printf("command at this moment: \"%s\"\n", cmd->cmd);*/
-    smpd_dbg_printf("smpd_post_write_command on the %s context sock %d: %d bytes for command: \"%s\"\n",
-	smpd_get_context_str(context), SMPDU_Sock_get_sock_id(context->sock),
-	cmd->iov[0].SMPD_IOV_LEN + cmd->iov[1].SMPD_IOV_LEN,
-	cmd->cmd);
-    result = SMPDU_Sock_post_writev(context->sock, cmd->iov, 2, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a write for the next command,\nsock error: %s\n", get_sock_error_string(result));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_package_command"
-int smpd_package_command(smpd_command_t *cmd)
-{
-    int length;
-
-    smpd_enter_fn(FCNAME);
-
-    /* create the command header - for now it is simply the length of the command string */
-    length = (int)strlen(cmd->cmd) + 1;
-    if (length > SMPD_MAX_CMD_LENGTH)
-    {
-	smpd_err_printf("unable to package invalid command of length %d\n", length);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    snprintf(cmd->cmd_hdr_str, SMPD_CMD_HDR_LENGTH, "%d", length);
-    cmd->length = length;
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
diff --git a/src/pm/smpd/smpd_connect.c b/src/pm/smpd/smpd_connect.c
deleted file mode 100644
index 84a44ce..0000000
--- a/src/pm/smpd/smpd_connect.c
+++ /dev/null
@@ -1,1448 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-
-#include <stdio.h>
-#include "smpd.h"
-#include <stdlib.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef HAVE_STDARG_H
-#include <stdarg.h>
-#endif
-#ifdef HAVE_TERMIOS_H
-#include <termios.h>
-#endif
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-#ifdef HAVE_STRING_H
-#include <string.h>
-#endif
-
-#ifdef HAVE_SIGACTION
-#ifdef HAVE_SIGNAL_H
-#include <signal.h>
-#endif
-#ifdef HAVE_SYS_WAIT_H
-#include <sys/wait.h>
-#endif
-#ifdef HAVE_ERRNO_H
-#include <errno.h>
-#endif
-#endif
-
-smpd_global_t smpd_process = 
-    { SMPD_IDLE,        /* state                  */
-      -1,               /* id                     */
-      -1,               /* parent_id              */
-      -1,               /* level                  */
-      NULL,             /* left_context           */
-      NULL,             /* right_context          */
-      NULL,             /* parent_context         */
-      NULL,             /* context_list           */
-      NULL,             /* listener_context       */
-      NULL,             /* process_list           */
-      SMPD_FALSE,       /* closing                */
-      SMPD_FALSE,       /* root_smpd              */
-      SMPDU_SOCK_INVALID_SET, /* set                    */
-      "",               /* host                   */
-      "",               /* pszExe                 */
-      SMPD_FALSE,       /* bService               */
-      SMPD_TRUE,        /* bNoTTY                 */
-      SMPD_FALSE,       /* bPasswordProtect       */
-      "",               /* SMPDPassword           */
-      "",               /* passphrase             */
-      SMPD_FALSE,       /* logon                  */
-      "",               /* UserAccount            */
-      "",               /* UserPassword           */
-      0,                /* cur_tag                */
-      SMPD_DBG_STATE_ERROUT, /* dbg_state         */
-      /*NULL,*/             /* dbg_fout               */
-      "",               /* dbg_filename           */
-      SMPD_DBG_FILE_SIZE,/*dbg_file_size          */
-      SMPD_FALSE,       /* have_dbs               */
-      "",               /* kvs_name               */
-      "",               /* domain_name            */
-#ifdef HAVE_WINDOWS_H
-      NULL,             /* hCloseStdinThreadEvent */
-      NULL,             /* hStdinThread           */
-#endif
-#ifdef USE_PTHREAD_STDIN_REDIRECTION
-      0,                /* stdin_thread           */
-      0,                /* stdin_read             */
-      0,                /* stdin_write            */
-#endif
-      SMPD_FALSE,       /* do_console             */
-      SMPD_LISTENER_PORT, /* smpd port            */
-      SMPD_FALSE,       /* Is singleton client ? */
-      -1,               /* Port to connect back to a singleton client*/
-      "",               /* console_host           */
-      NULL,             /* host_list              */
-      NULL,             /* launch_list            */
-      SMPD_TRUE,        /* credentials_prompt     */
-      SMPD_TRUE,        /* do_multi_color_output  */
-      SMPD_FALSE,       /* no_mpi                 */
-      SMPD_FALSE,       /* output_exit_codes      */
-      SMPD_FALSE,       /* local_root             */
-      SMPD_FALSE,       /* use_iproot             */
-      SMPD_FALSE,       /* use_process_session    */
-      0,                /* nproc                  */
-      0,                /* nproc_launched         */
-      0,                /* nproc_exited           */
-      SMPD_FALSE,       /* verbose                */
-#ifdef HAVE_WINDOWS_H
-      SMPD_FALSE,       /* set_affinity             */
-      NULL,             /* affinity_map             */
-      0,                /* affinity_map_sz          */
-#endif
-      /*SMPD_FALSE,*/       /* shutdown               */
-      /*SMPD_FALSE,*/       /* restart                */
-      /*SMPD_FALSE,*/       /* validate               */
-      /*SMPD_FALSE,*/       /* do_status              */
-      SMPD_CMD_NONE,    /* builtin_cmd            */
-#ifdef HAVE_WINDOWS_H
-      FALSE,            /* bOutputInitialized     */
-      NULL,             /* hOutputMutex           */
-      NULL,             /* hLaunchProcessMutex    */
-#endif
-#ifdef USE_WIN_MUTEX_PROTECT
-      NULL,             /* hDBSMutext             */
-#endif
-      NULL,             /* pDatabase              */
-      NULL,             /* pDatabaseIter          */
-      /*0,*/                /* nNextAvailableDBSID    */
-      0,                /* nInitDBSRefCount       */
-      NULL,             /* barrier_list           */
-#ifdef HAVE_WINDOWS_H
-      {                 /* ssStatus                    */
-	  SERVICE_WIN32_OWN_PROCESS, /* dwServiceType  */
-	  SERVICE_STOPPED,           /* dwCurrentState */
-	  SERVICE_ACCEPT_STOP,   /* dwControlsAccepted */
-	  NO_ERROR,     /* dwWin32ExitCode             */
-	  0,            /* dwServiceSpecificExitCode   */
-	  0,            /* dwCheckPoint                */
-	  3000,         /* dwWaitHint                  */
-      },
-      NULL,             /* sshStatusHandle         */
-      NULL,             /* hBombDiffuseEvent       */
-      NULL,             /* hBombThread             */
-#endif
-      SMPD_FALSE,       /* service_stop            */
-      SMPD_FALSE,       /* noprompt                */
-      "",               /* smpd_filename           */
-      SMPD_FALSE,       /* stdin_toall             */
-      SMPD_FALSE,       /* stdin_redirecting       */
-      NULL,             /* default_host_list       */
-      NULL,             /* cur_default_host        */
-      0,                /* cur_default_iproc       */
-#ifdef HAVE_WINDOWS_H
-      NULL,             /* hSMPDDataMutex          */
-#endif
-      "",               /* printf_buffer           */
-      SMPD_SUCCESS,     /* state_machine_ret_val   */
-      SMPD_FALSE,       /* exit_on_done            */
-      0,                /* tree_parent             */
-      1,                /* tree_id                 */
-      NULL,             /* s_host_list             */
-      NULL,             /* s_cur_host              */
-      0,                /* s_cur_count             */
-      SMPD_FALSE,       /* use_inherited_handles   */
-      NULL,             /* pg_list                 */
-      SMPD_FALSE,       /* use_abort_exit_code     */
-      0,                /* abort_exit_code         */
-      SMPD_TRUE,        /* verbose_abort_output    */
-      0,                /* mpiexec_exit_code       */
-      SMPD_FALSE,       /* map0to1                 */
-      SMPD_FALSE,       /* rsh_mpiexec             */
-      SMPD_FALSE,       /* mpiexec_inorder_launch  */
-      SMPD_FALSE,       /* mpiexec_run_local       */
-#ifdef HAVE_WINDOWS_H
-      NULL,             /* timeout_thread          */
-#else
-#ifdef HAVE_PTHREADS_H
-      NULL,             /* timeout_thread          */
-#endif
-#endif
-      -1,               /* timeout                 */
-      SMPDU_SOCK_INVALID_SOCK, /* timeout_sock     */
-      SMPDU_SOCK_INVALID_SOCK, /* mpiexec_abort_sock */
-      SMPD_TRUE,        /* use_pmi_server          */
-      NULL,             /* mpiexec_argv0           */
-      "dummy",          /* encrypt_prefix          */
-      SMPD_FALSE,       /* plaintext               */
-      SMPD_FALSE,       /* use_sspi                */
-      SMPD_FALSE,       /* use_delegation          */
-      SMPD_FALSE,       /* use_sspi_job_key        */
-      SMPD_FALSE,       /* use_ms_hpc              */
-#ifdef HAVE_WINDOWS_H
-      NULL,             /* sec_fn                  */
-#endif
-      NULL,             /* sspi_context_list       */
-      "",               /* job_key                 */
-      "",               /* job_key_account         */
-      "",               /* job_key_password        */
-      "",               /* key                     */
-      "",               /* val                     */
-      SMPD_FALSE,       /* do_console_returns      */
-      "",               /* env_channel             */
-      "",               /* env_netmod              */
-      "",               /* env_dll                 */
-      "",               /* env_wrap_dll            */
-      NULL,             /* delayed_spawn_queue     */
-      SMPD_FALSE,       /* spawning                */
-      0,                /* user_index              */
-      SMPD_FALSE        /* prefix_output           */
-    };
-
-#undef FCNAME
-#define FCNAME "smpd_post_abort_command"
-int smpd_post_abort_command(char *fmt, ...)
-{
-    int result;
-    char error_str[2048] = "";
-    smpd_command_t *cmd_ptr;
-    smpd_context_t *context;
-    va_list list;
-
-    smpd_enter_fn(FCNAME);
-
-    va_start(list, fmt);
-    vsnprintf(error_str, 2048, fmt, list);
-    va_end(list);
-
-    result = smpd_create_command("abort", smpd_process.id, 0, SMPD_FALSE, &cmd_ptr);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create an abort command.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(cmd_ptr, "error", error_str);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("Unable to add the error string to the abort command.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_command_destination(0, &context);
-    if(result != SMPD_SUCCESS){
-        smpd_err_printf("Unable to find destination for command...Aborting: %s\n", error_str);
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-
-    if (context == NULL)
-    {
-	if (smpd_process.left_context == NULL)
-	{
-	    printf("Aborting: %s\n", error_str);
-	    fflush(stdout);
-	    smpd_exit_fn(FCNAME);
-	    smpd_exit(-1);
-	}
-
-	smpd_process.closing = SMPD_TRUE;
-	result = smpd_create_command("close", 0, 1, SMPD_FALSE, &cmd_ptr);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to create the close command to tear down the job tree.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	result = smpd_post_write_command(smpd_process.left_context, cmd_ptr);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a write of the close command to tear down the job tree as part of the abort process.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-    }
-    else
-    {
-	smpd_dbg_printf("sending abort command to %s context: \"%s\"\n", smpd_get_context_str(context), cmd_ptr->cmd);
-	result = smpd_post_write_command(context, cmd_ptr);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a write of the abort command to the %s context.\n", smpd_get_context_str(context));
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#ifdef HAVE_SIGACTION
-void smpd_child_handler(int code)
-{
-    int status;
-    int pid;
-
-    if (smpd_process.root_smpd && code == SIGCHLD)
-    {
-	/*pid = waitpid(-1, &status, WNOHANG);*/
-	pid = waitpid(-1, &status, 0);
-	if (pid < 0)
-	{
-	    fprintf(stderr, "waitpid failed, error %d\n", errno);
-	}
-	/*
-	else
-	{
-	    printf("process %d exited with code: %d\n", pid, WIFEXITED(status) ? WEXITSTATUS(status) : -1);
-	    fflush(stdout);
-	}
-	*/
-    }
-}
-#endif
-
-#ifdef HAVE_WINDOWS_H
-#undef FCNAME
-#define FCNAME "smpd_make_socket_loop"
-int smpd_make_socket_loop(SOCKET *pRead, SOCKET *pWrite)
-{
-    SOCKET sock;
-    char host[100];
-    int port;
-    int len;
-    /*LINGER linger;*/
-    BOOL b;
-    SOCKADDR_IN sockAddr;
-    int error;
-
-    smpd_enter_fn(FCNAME);
-
-    /* Create a listener */
-
-    /* create the socket */
-    sock = WSASocket(PF_INET, SOCK_STREAM, 0, NULL, 0, WSA_FLAG_OVERLAPPED);
-    if (sock == INVALID_SOCKET)
-    {
-	*pRead = INVALID_SOCKET;
-	*pWrite = INVALID_SOCKET;
-	smpd_exit_fn(FCNAME);
-	return WSAGetLastError();
-    }
-
-    memset(&sockAddr,0,sizeof(sockAddr));
-    
-    sockAddr.sin_family = AF_INET;
-    sockAddr.sin_addr.s_addr = INADDR_ANY;
-    sockAddr.sin_port = htons((unsigned short)ADDR_ANY);
-    
-    if (bind(sock, (SOCKADDR*)&sockAddr, sizeof(sockAddr)) == SOCKET_ERROR)
-    {
-	error = WSAGetLastError();
-	smpd_err_printf("bind failed: error %d\n", error);
-	*pRead = INVALID_SOCKET;
-	*pWrite = INVALID_SOCKET;
-	smpd_exit_fn(FCNAME);
-	return error;
-    }
-    
-    /* listen */
-    listen(sock, 2);
-
-    /* get the host and port where we're listening */
-    len = sizeof(sockAddr);
-    getsockname(sock, (struct sockaddr*)&sockAddr, &len);
-    port = ntohs(sockAddr.sin_port);
-    smpd_get_hostname(host, 100);
-
-    /* Connect to myself */
-
-    /* create the socket */
-    *pWrite = WSASocket(PF_INET, SOCK_STREAM, 0, NULL, 0, WSA_FLAG_OVERLAPPED);
-    if (*pWrite == INVALID_SOCKET)
-    {
-	error = WSAGetLastError();
-	smpd_err_printf("WSASocket failed, error %d\n", error);
-	if (closesocket(sock) == SOCKET_ERROR)
-	{
-	    smpd_err_printf("closesocket failed, sock %d, error %d\n", sock, WSAGetLastError());
-	}
-	*pRead = INVALID_SOCKET;
-	*pWrite = INVALID_SOCKET;
-	smpd_exit_fn(FCNAME);
-	return error;
-    }
-
-    /* set the nodelay option */
-    /*
-    b = TRUE;
-    setsockopt(*pWrite, IPPROTO_TCP, TCP_NODELAY, (char*)&b, sizeof(BOOL));
-    */
-
-    /* Set the linger on close option */
-    /*
-    linger.l_onoff = 1 ;
-    linger.l_linger = 60;
-    setsockopt(*pWrite, SOL_SOCKET, SO_LINGER, (char*)&linger, sizeof(linger));
-    */
-
-    sockAddr.sin_addr.s_addr = inet_addr("127.0.0.1");
-
-    /* connect to myself */
-    if (connect(*pWrite, (SOCKADDR*)&sockAddr, sizeof(sockAddr)) == SOCKET_ERROR)
-    {
-	error = WSAGetLastError();
-	if (closesocket(*pWrite) ==  SOCKET_ERROR)
-	{
-	    smpd_err_printf("closesocket failed, sock %d, error %d\n", *pWrite, WSAGetLastError());
-	}
-	if (closesocket(sock) == SOCKET_ERROR)
-	{
-	    smpd_err_printf("closesocket failed, sock %d, error %d\n", sock, WSAGetLastError());
-	}
-	*pRead = INVALID_SOCKET;
-	*pWrite = INVALID_SOCKET;
-	smpd_exit_fn(FCNAME);
-	return error;
-    }
-
-    /* Accept the connection from myself */
-    len = sizeof(sockAddr);
-    *pRead = accept(sock, (SOCKADDR*)&sockAddr, &len);
-
-    /* set the nodelay option */
-    b = TRUE;
-    setsockopt(*pWrite, IPPROTO_TCP, TCP_NODELAY, (char*)&b, sizeof(BOOL));
-    /* set the nodelay option */
-    b = TRUE;
-    setsockopt(*pRead, IPPROTO_TCP, TCP_NODELAY, (char*)&b, sizeof(BOOL));
-
-    if (closesocket(sock) == SOCKET_ERROR)
-    {
-	smpd_err_printf("closesocket failed, sock %d, error %d\n", sock, WSAGetLastError());
-    }
-    smpd_exit_fn(FCNAME);
-    return 0;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_make_socket_loop_choose"
-int smpd_make_socket_loop_choose(SOCKET *pRead, int read_overlapped, SOCKET *pWrite, int write_overlapped)
-{
-    SOCKET sock;
-    char host[100];
-    int port;
-    int len;
-    /*LINGER linger;*/
-    BOOL b;
-    SOCKADDR_IN sockAddr;
-    int error;
-    DWORD flag;
-
-    smpd_enter_fn(FCNAME);
-
-    /* Create a listener */
-
-    /* create the socket */
-    flag = read_overlapped ? WSA_FLAG_OVERLAPPED : 0;
-    sock = WSASocket(PF_INET, SOCK_STREAM, 0, NULL, 0, flag);
-    if (sock == INVALID_SOCKET)
-    {
-	*pRead = INVALID_SOCKET;
-	*pWrite = INVALID_SOCKET;
-	smpd_exit_fn(FCNAME);
-	return WSAGetLastError();
-    }
-
-    memset(&sockAddr,0,sizeof(sockAddr));
-    
-    sockAddr.sin_family = AF_INET;
-    sockAddr.sin_addr.s_addr = INADDR_ANY;
-    sockAddr.sin_port = htons((unsigned short)ADDR_ANY);
-
-    if (bind(sock, (SOCKADDR*)&sockAddr, sizeof(sockAddr)) == SOCKET_ERROR)
-    {
-	error = WSAGetLastError();
-	smpd_err_printf("bind failed: error %d\n", error);
-	*pRead = INVALID_SOCKET;
-	*pWrite = INVALID_SOCKET;
-	smpd_exit_fn(FCNAME);
-	return error;
-    }
-    
-    /* listen */
-    listen(sock, 2);
-
-    /* get the host and port where we're listening */
-    len = sizeof(sockAddr);
-    getsockname(sock, (struct sockaddr*)&sockAddr, &len);
-    port = ntohs(sockAddr.sin_port);
-    smpd_get_hostname(host, 100);
-
-    /* Connect to myself */
-
-    /* create the socket */
-    flag = write_overlapped ? WSA_FLAG_OVERLAPPED : 0;
-    *pWrite = WSASocket(PF_INET, SOCK_STREAM, 0, NULL, 0, flag);
-    if (*pWrite == INVALID_SOCKET)
-    {
-	error = WSAGetLastError();
-	smpd_err_printf("WSASocket failed, error %d\n", error);
-	if (closesocket(sock) == SOCKET_ERROR)
-	{
-	    smpd_err_printf("closesocket failed, sock %d, error %d\n", sock, WSAGetLastError());
-	}
-	*pRead = INVALID_SOCKET;
-	*pWrite = INVALID_SOCKET;
-	smpd_exit_fn(FCNAME);
-	return error;
-    }
-
-    /* set the nodelay option */
-    b = TRUE;
-    setsockopt(*pWrite, IPPROTO_TCP, TCP_NODELAY, (char*)&b, sizeof(BOOL));
-
-    /* Set the linger on close option */
-    /*
-    linger.l_onoff = 1 ;
-    linger.l_linger = 60;
-    setsockopt(*pWrite, SOL_SOCKET, SO_LINGER, (char*)&linger, sizeof(linger));
-    */
-
-    sockAddr.sin_addr.s_addr = inet_addr("127.0.0.1");
-
-    /* connect to myself */
-    if (connect(*pWrite, (SOCKADDR*)&sockAddr, sizeof(sockAddr)) == SOCKET_ERROR)
-    {
-	error = WSAGetLastError();
-	if (closesocket(*pWrite) == SOCKET_ERROR)
-	{
-	    smpd_err_printf("closesocket failed, sock %d, error %d\n", *pWrite, WSAGetLastError());
-	}
-	if (closesocket(sock) == SOCKET_ERROR)
-	{
-	    smpd_err_printf("closesocket failed, sock %d, error %d\n", sock, WSAGetLastError());
-	}
-	*pRead = INVALID_SOCKET;
-	*pWrite = INVALID_SOCKET;
-	smpd_exit_fn(FCNAME);
-	return error;
-    }
-
-    /* Accept the connection from myself */
-    len = sizeof(sockAddr);
-    *pRead = accept(sock, (SOCKADDR*)&sockAddr, &len);
-
-    /* set the nodelay option */
-    b = TRUE;
-    setsockopt(*pRead, IPPROTO_TCP, TCP_NODELAY, (char*)&b, sizeof(BOOL));
-
-    if (closesocket(sock) == SOCKET_ERROR)
-    {
-	smpd_err_printf("closesocket failed, sock %d, error %d\n", sock, WSAGetLastError());
-    }
-    smpd_exit_fn(FCNAME);
-    return 0;
-}
-#endif
-
-#undef FCNAME
-#define FCNAME "smpd_init_process"
-int smpd_init_process(void)
-{
-#ifdef HAVE_WINDOWS_H
-    HMODULE hModule;
-#else
-    char *homedir;
-    struct stat s;
-#endif
-#ifdef HAVE_SIGACTION
-    struct sigaction act;
-#endif
-
-    smpd_enter_fn(FCNAME);
-
-    /* initialize the debugging output print engine */
-    smpd_init_printf();
-
-    /* tree data */
-    smpd_process.parent_id = -1;
-    smpd_process.id = -1;
-    smpd_process.level = -1;
-    smpd_process.left_context = NULL;
-    smpd_process.right_context = NULL;
-    smpd_process.parent_context = NULL;
-    smpd_process.set = SMPDU_SOCK_INVALID_SET;
-
-    /* local data */
-#ifdef HAVE_WINDOWS_H
-    hModule = GetModuleHandle(NULL);
-    if (!GetModuleFileName(hModule, smpd_process.pszExe, SMPD_MAX_EXE_LENGTH)) 
-	smpd_process.pszExe[0] = '\0';
-#else
-    smpd_process.pszExe[0] = '\0';
-#endif
-    strcpy(smpd_process.SMPDPassword, SMPD_DEFAULT_PASSWORD);
-    smpd_process.bPasswordProtect = SMPD_FALSE;
-    smpd_process.bService = SMPD_FALSE;
-    smpd_get_hostname(smpd_process.host, SMPD_MAX_HOST_LENGTH);
-    smpd_process.UserAccount[0] = '\0';
-    smpd_process.UserPassword[0] = '\0';
-    smpd_process.closing = SMPD_FALSE;
-    smpd_process.root_smpd = SMPD_FALSE;
-
-    srand(smpd_getpid());
-
-#ifdef HAVE_SIGACTION
-    memset(&act, 0, sizeof(act));
-    act.sa_handler = smpd_child_handler;
-#ifdef SA_NODEFER
-    act.sa_flags = SA_NOCLDSTOP | SA_NODEFER;
-#else
-    act.sa_flags = SA_NOCLDSTOP;
-#endif
-    sigaction(SIGCHLD, &act, NULL);
-#endif
-
-#ifdef HAVE_WINDOWS_H
-    smpd_process.hBombDiffuseEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
-    smpd_process.hLaunchProcessMutex = CreateMutex(NULL, FALSE, NULL);
-#else
-    /* Setting the smpd_filename to default filename is done in smpd_get_smpd_data()
-     * Avoid duplicating the effort
-     */ 
-	/*
-    homedir = getenv("HOME");
-    if(homedir != NULL){
-        strcpy(smpd_process.smpd_filename, homedir);
-        if (smpd_process.smpd_filename[strlen(smpd_process.smpd_filename)-1] != '/')
-	    strcat(smpd_process.smpd_filename, "/.smpd");
-        else
-	    strcat(smpd_process.smpd_filename, ".smpd");
-    }else{
-	strcpy(smpd_process.smpd_filename, ".smpd");
-    }
-    if (stat(smpd_process.smpd_filename, &s) == 0)
-    {
-	if (s.st_mode & 00077)
-	{
-	    printf("smpd file, %s, cannot be readable by anyone other than the current user, please set the permissions accordingly (0600).\n", smpd_process.smpd_filename);
-	    smpd_process.smpd_filename[0] = '\0';
-	}
-    }
-    else
-    {
-	smpd_process.smpd_filename[0] = '\0';
-    }
-	*/
-#endif
-	smpd_process.smpd_filename[0] = '\0';
-	smpd_process.passphrase[0] = '\0';
-    /* smpd_init_process() should not try to get the passphrase. Just initialize the values */
-    /* smpd_get_smpd_data("phrase", smpd_process.passphrase, SMPD_PASSPHRASE_MAX_LENGTH); */
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_init_context"
-int smpd_init_context(smpd_context_t *context, smpd_context_type_t type, SMPDU_Sock_set_t set, SMPDU_Sock_t sock, int id)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    context->type = type;
-    context->target = SMPD_TARGET_UNDETERMINED;
-    context->access = SMPD_ACCESS_USER_PROCESS;/*SMPD_ACCESS_NONE;*/
-    context->host[0] = '\0';
-    context->id = id;
-    context->rank = 0;
-    context->write_list = NULL;
-    context->wait_list = NULL;
-    smpd_init_command(&context->read_cmd);
-    context->next = NULL;
-    context->set = set;
-    context->sock = sock;
-    context->state = SMPD_IDLE;
-    context->read_state = SMPD_IDLE;
-    context->write_state = SMPD_IDLE;
-    context->account[0] = '\0';
-    context->domain[0] = '\0';
-    context->full_domain[0] = '\0';
-    context->connect_return_id = -1;
-    context->connect_return_tag = -1;
-    context->connect_to = NULL;
-    context->spawn_context = NULL;
-    context->cred_request[0] = '\0';
-    context->password[0] = '\0';
-    context->encrypted_password[0] = '\0';
-    context->port_str[0] = '\0';
-    context->pszChallengeResponse[0] = '\0';
-    context->pszCrypt[0] = '\0';
-    context->pwd_request[0] = '\0';
-    context->session[0] = '\0';
-    context->session_header[0] = '\0';
-    context->singleton_init_hostname[0] = '\0';
-    context->singleton_init_kvsname[0] = '\0';
-    context->singleton_init_domainname[0] = '\0';
-    context->singleton_init_pm_port = -1;
-    context->smpd_pwd[0] = '\0';
-#ifdef HAVE_WINDOWS_H
-    context->wait.hProcess = NULL;
-    context->wait.hThread = NULL;
-#else
-    context->wait = 0;
-#endif
-    context->process = NULL;
-    context->sspi_header[0] = '\0';
-    context->sspi_context = NULL;
-    context->sspi_type = SMPD_SSPI_DELEGATE;
-    context->sspi_job_key[0] = '\0';
-    context->first_output_stderr = SMPD_TRUE;
-    context->first_output_stdout = SMPD_TRUE;
-
-    if (sock != SMPDU_SOCK_INVALID_SOCK)
-    {
-	result = SMPDU_Sock_set_user_ptr(sock, context);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to set the sock user ptr while initializing context,\nsock error: %s\n",
-		get_sock_error_string(result));
-	}
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_create_sspi_client_context"
-int smpd_create_sspi_client_context(smpd_sspi_client_context_t **new_context)
-{
-    smpd_sspi_client_context_t *context;
-
-    smpd_enter_fn(FCNAME);
-
-    context = (smpd_sspi_client_context_t *)MPIU_Malloc(sizeof(smpd_sspi_client_context_t));
-    if (context == NULL)
-    {
-	*new_context = NULL;
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    context->buffer = NULL;
-    context->buffer_length = 0;
-    context->out_buffer = NULL;
-    context->out_buffer_length = 0;
-    context->max_buffer_size = 0;
-#ifdef HAVE_WINDOWS_H
-    SecInvalidateHandle(&context->credential);
-    SecInvalidateHandle(&context->context);
-    memset(&context->expiration_time, 0, sizeof(TimeStamp));
-    context->user_handle = INVALID_HANDLE_VALUE;
-    context->job = INVALID_HANDLE_VALUE;
-    context->flags = 0;
-    context->close_handle = SMPD_TRUE;
-#endif
-    /* FIXME: this insertion needs to be thread safe */
-    if (smpd_process.sspi_context_list == NULL)
-    {
-	context->id = 0;
-    }
-    else
-    {
-	context->id = smpd_process.sspi_context_list->id + 1;
-    }
-    context->next = smpd_process.sspi_context_list;
-    smpd_process.sspi_context_list = context;
-    *new_context = context;
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_free_sspi_client_context"
-int smpd_free_sspi_client_context(smpd_sspi_client_context_t **context)
-{
-    smpd_sspi_client_context_t *iter, *trailer;
-
-    smpd_enter_fn(FCNAME);
-
-    trailer = iter = smpd_process.sspi_context_list;
-    while (iter)
-    {
-	if (iter == *context)
-	{
-	    if (trailer != iter)
-	    {
-		trailer->next = iter->next;
-	    }
-	    else
-	    {
-		smpd_process.sspi_context_list = iter->next;
-	    }
-	    break;
-	}
-	if (trailer != iter)
-	    trailer = trailer->next;
-	iter = iter->next;
-    }
-    if (iter == NULL)
-    {
-	smpd_dbg_printf("freeing a sspi_client_context not in the global list\n");
-    }
-    /* FIXME: cleanup sspi structures */
-    MPIU_Free(*context);
-    *context = NULL;
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_generate_session_header"
-int smpd_generate_session_header(char *str, int session_id)
-{
-    char * str_orig;
-    int result;
-    int len;
-
-    smpd_enter_fn(FCNAME);
-
-    str_orig = str;
-    *str = '\0';
-    len = SMPD_MAX_SESSION_HEADER_LENGTH;
-
-    /* add header fields */
-    result = MPIU_Str_add_int_arg(&str, &len, "id", session_id);
-    if (result != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("unable to create session header, adding session id failed.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = MPIU_Str_add_int_arg(&str, &len, "parent", smpd_process.id);
-    if (result != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("unable to create session header, adding parent id failed.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = MPIU_Str_add_int_arg(&str, &len, "level", smpd_process.level + 1);
-    if (result != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("unable to create session header, adding session level failed.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    /* remove the trailing space */
-    str--;
-    *str = '\0';
-
-    smpd_dbg_printf("session header: (%s)\n", str_orig);
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_get_password"
-void smpd_get_password(char *password)
-{
-#ifdef HAVE_WINDOWS_H
-    HANDLE hStdin;
-    DWORD dwMode;
-#else
-    struct termios terminal_settings, original_settings;
-#endif
-    size_t len;
-
-    smpd_enter_fn(FCNAME);
-
-#ifdef HAVE_WINDOWS_H
-
-    hStdin = GetStdHandle(STD_INPUT_HANDLE);
-    if (!GetConsoleMode(hStdin, &dwMode))
-	dwMode = ENABLE_LINE_INPUT | ENABLE_PROCESSED_INPUT | ENABLE_MOUSE_INPUT;
-    SetConsoleMode(hStdin, dwMode & ~ENABLE_ECHO_INPUT);
-    *password = '\0';
-    fgets(password, 100, stdin);
-    SetConsoleMode(hStdin, dwMode);
-
-    fprintf(stderr, "\n");
-
-#else
-
-    /* save the current terminal settings */
-    tcgetattr(STDIN_FILENO, &terminal_settings);
-    original_settings = terminal_settings;
-
-    /* turn off echo */
-    terminal_settings.c_lflag &= ~ECHO;
-    terminal_settings.c_lflag |= ECHONL;
-    tcsetattr(STDIN_FILENO, TCSAFLUSH, &terminal_settings);
-
-    /* check that echo is off */
-    tcgetattr(STDIN_FILENO, &terminal_settings);
-    if (terminal_settings.c_lflag & ECHO)
-    {
-	smpd_err_printf("\nunable to turn off the terminal echo\n");
-	tcsetattr(STDIN_FILENO, TCSANOW, &original_settings);
-    }
-
-    fgets(password, 100, stdin);
-
-    /* restore the original settings */
-    tcsetattr(STDIN_FILENO, TCSANOW, &original_settings);
-
-#endif
-
-    while ((len = strlen(password)) > 0)
-    {
-	if (password[len-1] == '\r' || password[len-1] == '\n')
-	    password[len-1] = '\0';
-	else
-	    break;
-    }
-    smpd_exit_fn(FCNAME);
-}
-
-#undef FCNAME
-#define FCNAME "smpd_get_account_and_password"
-void smpd_get_account_and_password(char *account, char *password)
-{
-    size_t len;
-#ifdef HAVE_WINDOWS_H
-    char default_username[100] = "";
-    ULONG default_len = 100;
-#endif
-
-    smpd_enter_fn(FCNAME);
-
-#ifdef HAVE_WINDOWS_H
-    if (!GetUserNameEx(NameSamCompatible, default_username, &default_len))
-    {
-	default_username[0] = '\0';
-    }
-#endif
-
-    do
-    {
-	do
-	{
-#ifdef HAVE_WINDOWS_H
-	    if (default_username[0] != '\0')
-	    {
-		fprintf(stderr, "account (domain\\user) [%s]: ", default_username);
-	    }
-	    else
-	    {
-		fprintf(stderr, "account (domain\\user): ");
-	    }
-#else
-	    fprintf(stderr, "account (domain\\user): ");
-#endif
-	    fflush(stderr);
-	    *account = '\0';
-	    fgets(account, 100, stdin);
-	    while (strlen(account))
-	    {
-		len = strlen(account);
-		if (account[len-1] == '\r' || account[len-1] == '\n')
-		    account[len-1] = '\0';
-		else
-		    break;
-	    }
-#ifdef HAVE_WINDOWS_H
-	    if ((strlen(account) == 0) && (default_username[0] != '\0'))
-	    {
-		strcpy(account, default_username);
-	    }
-#endif
-	} 
-	while (strlen(account) == 0);
-
-	fprintf(stderr, "password: ");
-	fflush(stderr);
-
-	smpd_get_password(password);
-	if (strlen(password) == 0)
-	{
-	    fprintf(stderr, "MPICH is unable to manage jobs using credentials with a blank password.\nPlease enter another account.\n");
-	}
-    }
-    while (strlen(password) == 0);
-
-    smpd_exit_fn(FCNAME);
-}
-
-#undef FCNAME
-#define FCNAME "smpd_get_credentials_from_parent"
-int smpd_get_credentials_from_parent(SMPDU_Sock_set_t set, SMPDU_Sock_t sock)
-{
-    smpd_enter_fn(FCNAME);
-    SMPD_UNREFERENCED_ARG(set);
-    SMPD_UNREFERENCED_ARG(sock);
-    smpd_exit_fn(FCNAME);
-    return SMPD_FAIL;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_get_smpd_password_from_parent"
-int smpd_get_smpd_password_from_parent(SMPDU_Sock_set_t set, SMPDU_Sock_t sock)
-{
-    smpd_enter_fn(FCNAME);
-    SMPD_UNREFERENCED_ARG(set);
-    SMPD_UNREFERENCED_ARG(sock);
-    smpd_exit_fn(FCNAME);
-    return SMPD_FAIL;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_get_default_hosts"
-int smpd_get_default_hosts()
-{
-    char hosts[8192];
-    char *host;
-    char *ncpu;
-    smpd_host_node_t *cur_host, *iter;
-#ifdef HAVE_WINDOWS_H
-    DWORD len;
-#else
-    int dynamic = SMPD_FALSE;
-    char myhostname[SMPD_MAX_HOST_LENGTH];
-    int found;
-#endif
-
-    smpd_enter_fn(FCNAME);
-
-    if (smpd_process.default_host_list != NULL && smpd_process.cur_default_host != NULL)
-    {
-	smpd_dbg_printf("default list already populated, returning success.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-
-    if (smpd_get_smpd_data("hosts", hosts, 8192) != SMPD_SUCCESS)
-    {
-#ifdef HAVE_WINDOWS_H
-	len = 8192;
-	/*if (GetComputerName(hosts, &len))*/
-	if (GetComputerNameEx(ComputerNameDnsFullyQualified, hosts, &len))
-	{
-	    smpd_process.default_host_list = (smpd_host_node_t*)MPIU_Malloc(sizeof(smpd_host_node_t));
-	    if (smpd_process.default_host_list == NULL)
-	    {
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    strcpy(smpd_process.default_host_list->host, hosts);
-	    smpd_process.default_host_list->alt_host[0] = '\0';
-	    smpd_process.default_host_list->nproc = 1;
-	    smpd_process.default_host_list->connected = SMPD_FALSE;
-	    smpd_process.default_host_list->connect_cmd_tag = -1;
-	    smpd_process.default_host_list->next = smpd_process.default_host_list;
-	    smpd_process.default_host_list->left = NULL;
-	    smpd_process.default_host_list->right = NULL;
-	    smpd_process.cur_default_host = smpd_process.default_host_list;
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_SUCCESS;
-	}
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-#else
-	if (smpd_option_on("no_dynamic_hosts"))
-	{
-	    if (smpd_get_hostname(myhostname, SMPD_MAX_HOST_LENGTH) == SMPD_SUCCESS)
-	    {
-		smpd_process.default_host_list = (smpd_host_node_t*)MPIU_Malloc(sizeof(smpd_host_node_t));
-		if (smpd_process.default_host_list == NULL)
-		{
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		strcpy(smpd_process.default_host_list->host, myhostname);
-		smpd_process.default_host_list->alt_host[0] = '\0';
-		smpd_process.default_host_list->nproc = 1;
-		smpd_process.default_host_list->connected = SMPD_FALSE;
-		smpd_process.default_host_list->connect_cmd_tag = -1;
-		smpd_process.default_host_list->next = smpd_process.default_host_list;
-		smpd_process.default_host_list->left = NULL;
-		smpd_process.default_host_list->right = NULL;
-		smpd_process.cur_default_host = smpd_process.default_host_list;
-		smpd_exit_fn(FCNAME);
-		return SMPD_SUCCESS;
-	    }
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-
-	smpd_lock_smpd_data();
-	if (smpd_get_smpd_data(SMPD_DYNAMIC_HOSTS_KEY, hosts, 8192) != SMPD_SUCCESS)
-	{
-	    smpd_unlock_smpd_data();
-	    if (smpd_get_hostname(hosts, 8192) == 0)
-	    {
-		smpd_process.default_host_list = (smpd_host_node_t*)MPIU_Malloc(sizeof(smpd_host_node_t));
-		if (smpd_process.default_host_list == NULL)
-		{
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		strcpy(smpd_process.default_host_list->host, hosts);
-		smpd_process.default_host_list->alt_host[0] = '\0';
-		smpd_process.default_host_list->nproc = 1;
-		smpd_process.default_host_list->connected = SMPD_FALSE;
-		smpd_process.default_host_list->connect_cmd_tag = -1;
-		smpd_process.default_host_list->next = smpd_process.default_host_list;
-		smpd_process.default_host_list->left = NULL;
-		smpd_process.default_host_list->right = NULL;
-		smpd_process.cur_default_host = smpd_process.default_host_list;
-		/* add this host to the dynamic_hosts key */
-		strcpy(myhostname, hosts);
-		smpd_lock_smpd_data();
-		hosts[0] = '\0';
-		smpd_get_smpd_data(SMPD_DYNAMIC_HOSTS_KEY, hosts, 8192);
-		if (strlen(hosts) > 0)
-		{
-		    /* FIXME this could overflow */
-		    strcat(hosts, " ");
-		    strcat(hosts, myhostname);
-		}
-		else
-		{
-		    strcpy(hosts, myhostname);
-		}
-		smpd_set_smpd_data(SMPD_DYNAMIC_HOSTS_KEY, hosts);
-		smpd_unlock_smpd_data();
-		smpd_exit_fn(FCNAME);
-		return SMPD_SUCCESS;
-	    }
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	smpd_unlock_smpd_data();
-	if (smpd_get_hostname(myhostname, SMPD_MAX_HOST_LENGTH) != 0)
-	{
-	    dynamic = SMPD_FALSE;
-	    myhostname[0] = '\0';
-	}
-	else
-	{
-	    dynamic = SMPD_TRUE;
-	}
-#endif
-    }
-
-    /* FIXME: Insert code here to parse a compressed host string */
-    /* For now, just use a space separated list of host names */
-
-    host = strtok(hosts, " \t\r\n");
-    while (host)
-    {
-	cur_host = (smpd_host_node_t*)MPIU_Malloc(sizeof(smpd_host_node_t));
-	if (cur_host != NULL)
-	{
-	    /*printf("default host: %s\n", host);*/
-	    strcpy(cur_host->host, host);
-	    cur_host->alt_host[0] = '\0';
-	    cur_host->nproc = 1;
-	    ncpu = strstr(cur_host->host, ":");
-	    if (ncpu)
-	    {
-		*ncpu = '\0';
-		ncpu++;
-		cur_host->nproc = atoi(ncpu);
-		if (cur_host->nproc < 1)
-		    cur_host->nproc = 1;
-	    }
-	    cur_host->connected = SMPD_FALSE;
-	    cur_host->connect_cmd_tag = -1;
-	    cur_host->next = NULL;
-	    cur_host->left = NULL;
-	    cur_host->right = NULL;
-	    if (smpd_process.default_host_list == NULL)
-	    {
-		smpd_process.default_host_list = cur_host;
-	    }
-	    else
-	    {
-		iter = smpd_process.default_host_list;
-		while (iter->next)
-		    iter = iter->next;
-		iter->next = cur_host;
-	    }
-	}
-	host = strtok(NULL, " \t\r\n");
-    }
-    if (smpd_process.default_host_list)
-    {
-#ifndef HAVE_WINDOWS_H
-	if (dynamic)
-	{
-	    found = SMPD_FALSE;
-	    iter = smpd_process.default_host_list;
-	    while (iter)
-	    {
-		if (strcmp(iter->host, myhostname) == 0)
-		{
-		    found = SMPD_TRUE;
-		    break;
-		}
-		iter = iter->next;
-	    }
-	    if (!found)
-	    {
-		/* add this host to the dynamic_hosts key */
-		smpd_lock_smpd_data();
-		hosts[0] = '\0';
-		smpd_get_smpd_data(SMPD_DYNAMIC_HOSTS_KEY, hosts, 8192);
-		if (strlen(hosts) > 0)
-		{
-		    /* FIXME this could overflow */
-		    strcat(hosts, " ");
-		    strcat(hosts, myhostname);
-		}
-		else
-		{
-		    strcpy(hosts, myhostname);
-		}
-		smpd_set_smpd_data(SMPD_DYNAMIC_HOSTS_KEY, hosts);
-		smpd_unlock_smpd_data();
-	    }
-	}
-#endif
-	/* make the default list into a ring */
-	iter = smpd_process.default_host_list;
-	while (iter->next)
-	    iter = iter->next;
-	iter->next = smpd_process.default_host_list;
-	/* point the cur_default_host to the first node in the ring */
-	smpd_process.cur_default_host = smpd_process.default_host_list;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_add_host_to_default_list"
-int smpd_add_host_to_default_list(const char *hostname)
-{
-    int result;
-    smpd_enter_fn(FCNAME);
-    result = smpd_add_extended_host_to_default_list(hostname, NULL, 1);
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_add_extended_host_to_default_list"
-int smpd_add_extended_host_to_default_list(const char *hostname, const char *alt_hostname, const int num_cpus)
-{
-    smpd_host_node_t *iter;
-
-    smpd_enter_fn(FCNAME);
-
-    iter = smpd_process.default_host_list;
-    if (iter == NULL)
-    {
-	smpd_process.default_host_list = (smpd_host_node_t*)MPIU_Malloc(sizeof(smpd_host_node_t));
-	if (smpd_process.default_host_list == NULL)
-	{
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	strcpy(smpd_process.default_host_list->host, hostname);
-	smpd_process.default_host_list->alt_host[0] = '\0';
-	if (alt_hostname != NULL)
-	{
-	    strcpy(smpd_process.default_host_list->alt_host, alt_hostname);
-	}
-	smpd_process.default_host_list->nproc = num_cpus;
-	smpd_process.default_host_list->connected = SMPD_FALSE;
-	smpd_process.default_host_list->connect_cmd_tag = -1;
-	smpd_process.default_host_list->next = smpd_process.default_host_list;
-	smpd_process.default_host_list->left = NULL;
-	smpd_process.default_host_list->right = NULL;
-	smpd_process.cur_default_host = smpd_process.default_host_list;
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-
-    if (strcmp(iter->host, hostname) == 0)
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-    while (iter->next != NULL && iter->next != smpd_process.default_host_list)
-    {
-	iter = iter->next;
-	if (strcmp(iter->host, hostname) == 0)
-	{
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_SUCCESS;
-	}
-    }
-
-    iter->next = (smpd_host_node_t*)MPIU_Malloc(sizeof(smpd_host_node_t));
-    if (iter->next == NULL)
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    iter = iter->next;
-    strcpy(iter->host, hostname);
-    iter->alt_host[0] = '\0';
-    if (alt_hostname != NULL)
-    {
-	strcpy(iter->alt_host, alt_hostname);
-    }
-    iter->nproc = num_cpus;
-    iter->connected = SMPD_FALSE;
-    iter->connect_cmd_tag = -1;
-    iter->next = smpd_process.default_host_list;
-    iter->left = NULL;
-    iter->right = NULL;
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_insert_into_dynamic_hosts"
-int smpd_insert_into_dynamic_hosts(void)
-{
-#ifndef HAVE_WINDOWS_H
-    char myhostname[SMPD_MAX_HOST_LENGTH];
-    char hosts[8192];
-    char *host;
-#endif
-
-    smpd_enter_fn(FCNAME);
-
-#ifndef HAVE_WINDOWS_H
-    smpd_lock_smpd_data();
-    if (smpd_get_smpd_data(SMPD_DYNAMIC_HOSTS_KEY, hosts, 8192) != SMPD_SUCCESS)
-    {
-	if (smpd_get_hostname(hosts, 8192) == 0)
-	{
-	    /* add this host to the dynamic_hosts key */
-	    smpd_set_smpd_data(SMPD_DYNAMIC_HOSTS_KEY, hosts);
-	    smpd_unlock_smpd_data();
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_SUCCESS;
-	}
-	smpd_unlock_smpd_data();
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_unlock_smpd_data();
-
-    if (smpd_get_hostname(myhostname, SMPD_MAX_HOST_LENGTH) != 0)
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    /* check to see if the host is already in the key */
-    host = strtok(hosts, " \t\r\n");
-    while (host)
-    {
-	if (strcmp(host, myhostname) == 0)
-	{
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_SUCCESS;
-	}
-	host = strtok(NULL, " \t\r\n");
-    }
-    
-    /* add this host to the dynamic_hosts key */
-    smpd_lock_smpd_data();
-
-    hosts[0] = '\0';
-    if (smpd_get_smpd_data(SMPD_DYNAMIC_HOSTS_KEY, hosts, 8192) != SMPD_SUCCESS)
-    {
-	smpd_unlock_smpd_data();
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    if (strlen(hosts) > 0)
-    {
-	/* FIXME this could overflow */
-	strcat(hosts, " ");
-	strcat(hosts, myhostname);
-    }
-    else
-    {
-	strcpy(hosts, myhostname);
-    }
-    smpd_set_smpd_data(SMPD_DYNAMIC_HOSTS_KEY, hosts);
-    smpd_unlock_smpd_data();
-#endif
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_remove_from_dynamic_hosts"
-int smpd_remove_from_dynamic_hosts(void)
-{
-#ifndef HAVE_WINDOWS_H
-    char myhostname[SMPD_MAX_HOST_LENGTH];
-    char hosts[8192];
-    char hosts_less_me[8192];
-    char *host;
-#endif
-
-    smpd_enter_fn(FCNAME);
-#ifndef HAVE_WINDOWS_H
-    if (smpd_get_hostname(myhostname, SMPD_MAX_HOST_LENGTH) != 0)
-    {
-	smpd_err_printf("smpd_get_hostname failed, errno = %d\n", errno);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    smpd_lock_smpd_data();
-
-    hosts[0] = '\0';
-    if (smpd_get_smpd_data(SMPD_DYNAMIC_HOSTS_KEY, hosts, 8192) != SMPD_SUCCESS)
-    {
-	smpd_unlock_smpd_data();
-	smpd_dbg_printf("not removing host because "SMPD_DYNAMIC_HOSTS_KEY" does not exist\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    /* create a new hosts lists without this host name in it */
-    hosts_less_me[0] = '\0';
-    host = strtok(hosts, " \t\r\n");
-    while (host)
-    {
-	if (strcmp(host, myhostname))
-	{
-	    if (hosts_less_me[0] != '\0')
-		strcat(hosts_less_me, " ");
-	    strcat(hosts_less_me, host);
-	}
-	host = strtok(NULL, " \t\r\n");
-    }
-
-    if (hosts_less_me[0] == '\0')
-    {
-	smpd_dbg_printf("removing "SMPD_DYNAMIC_HOSTS_KEY"\n");
-	smpd_delete_smpd_data(SMPD_DYNAMIC_HOSTS_KEY);
-    }
-    else
-    {
-	smpd_dbg_printf("setting new "SMPD_DYNAMIC_HOSTS_KEY": %s\n", hosts_less_me);
-	smpd_set_smpd_data(SMPD_DYNAMIC_HOSTS_KEY, hosts_less_me);
-    }
-    smpd_unlock_smpd_data();
-#endif
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
diff --git a/src/pm/smpd/smpd_database.c b/src/pm/smpd/smpd_database.c
deleted file mode 100644
index 7e0752e..0000000
--- a/src/pm/smpd/smpd_database.c
+++ /dev/null
@@ -1,665 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-#include "smpd.h"
-
-static void get_uuid(char *str)
-{
-#ifdef HAVE_WINDOWS_H
-    UUID guid;
-    UuidCreate(&guid);
-    sprintf(str, "%08lX-%04X-%04x-%02X%02X-%02X%02X%02X%02X%02X%02X",
-	guid.Data1, guid.Data2, guid.Data3,
-	guid.Data4[0], guid.Data4[1], guid.Data4[2], guid.Data4[3],
-	guid.Data4[4], guid.Data4[5], guid.Data4[6], guid.Data4[7]);
-#elif defined(HAVE_CFUUIDCREATE)
-    CFUUIDRef       myUUID;
-    CFStringRef     myUUIDString;
-    char            strBuffer[100];
-    myUUID = CFUUIDCreate(kCFAllocatorDefault);
-    myUUIDString = CFUUIDCreateString(kCFAllocatorDefault, myUUID);/* This is the safest way to obtain a C string from a CFString.*/
-    CFStringGetCString(myUUIDString, str, SMPD_MAX_DBS_NAME_LEN, kCFStringEncodingASCII);
-    CFRelease(myUUIDString);
-#elif defined(HAVE_UUID_GENERATE)
-    uuid_t guid;
-    uuid_generate(guid);
-    uuid_unparse(guid, str);
-#else
-    sprintf(str, "%X%X%X%X", rand(), rand(), rand(), rand());
-#endif
-}
-
-#undef FCNAME
-#define FCNAME "smpd_dbs_init"
-int smpd_dbs_init()
-{
-    smpd_enter_fn(FCNAME);
-#ifdef USE_WIN_MUTEX_PROTECT
-    if (smpd_process.nInitDBSRefCount == 0)
-    {
-	smpd_process.hDBSMutex = CreateMutex(NULL, FALSE, NULL);
-    }
-#endif
-    smpd_process.nInitDBSRefCount++;
-    if (smpd_process.domain_name[0] == '\0')
-    {
-	/*get_uuid(smpd_process.domain_name);*/
-	/* create a database for the domain to be used for global operations like name publishing */
-	smpd_dbs_create(smpd_process.domain_name);
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_DBS_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_dbs_finalize"
-int smpd_dbs_finalize()
-{
-    smpd_database_node_t *pNode, *pNext;
-    smpd_database_element_t *pElement;
-
-    smpd_enter_fn(FCNAME);
-
-    smpd_process.nInitDBSRefCount--;
-
-    if (smpd_process.nInitDBSRefCount == 0)
-    {
-#ifdef USE_WIN_MUTEX_PROTECT
-	WaitForSingleObject(smpd_process.hDBSMutex, INFINITE);
-#endif
-
-    /* FIXME: Should this cleanup be done here ?
-     * This lets one forget to do a smpd_dbs_destroy() for 
-     * every smpd_dbs_create()
-     */
-	pNode = smpd_process.pDatabase;
-	while (pNode)
-	{
-	    pNext = pNode->pNext;
-
-	    while (pNode->pData)
-	    {
-		pElement = pNode->pData;
-		pNode->pData = pNode->pData->pNext;
-		MPIU_Free(pElement);
-	    }
-	    MPIU_Free(pNode);
-
-	    pNode = pNext;
-	}
-
-	smpd_process.pDatabase = NULL;
-	smpd_process.pDatabaseIter = NULL;
-
-#ifdef USE_WIN_MUTEX_PROTECT
-	ReleaseMutex(smpd_process.hDBSMutex);
-	CloseHandle(smpd_process.hDBSMutex);
-	smpd_process.hDBSMutex = NULL;
-#endif
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_DBS_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_dbs_create"
-int smpd_dbs_create(char *name)
-{
-    /*char guid_str[100];*/
-    smpd_database_node_t *pNode, *pNodeTest;
-
-    smpd_enter_fn(FCNAME);
-
-#ifdef USE_WIN_MUTEX_PROTECT
-    /* Lock */
-    WaitForSingleObject(smpd_process.hDBSMutex, INFINITE);
-#endif
-
-    pNode = smpd_process.pDatabase;
-    if (pNode)
-    {
-	while (pNode->pNext)
-	    pNode = pNode->pNext;
-	pNode->pNext = (smpd_database_node_t*)MPIU_Malloc(sizeof(smpd_database_node_t));
-	pNode = pNode->pNext;
-    }
-    else
-    {
-	smpd_process.pDatabase = (smpd_database_node_t*)MPIU_Malloc(sizeof(smpd_database_node_t));
-	pNode = smpd_process.pDatabase;
-    }
-    pNode->pNext = NULL;
-    pNode->pData = NULL;
-    pNode->pIter = NULL;
-    do
-    {
-	/*
-	sprintf(pNode->pszName, "%d", smpd_process.nNextAvailableDBSID);
-	smpd_process.nNextAvailableDBSID++;
-	*/
-	get_uuid(pNode->pszName);
-	if (pNode->pszName[0] == '\0')
-	{
-#ifdef USE_WIN_MUTEX_PROTECT
-	    /* Unlock */
-	    ReleaseMutex(smpd_process.hDBSMutex);
-#endif
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_DBS_FAIL;
-	}
-	pNodeTest = smpd_process.pDatabase;
-	while (strcmp(pNodeTest->pszName, pNode->pszName) != 0)
-	    pNodeTest = pNodeTest->pNext;
-    } while (pNodeTest != pNode);
-    strcpy(name, pNode->pszName);
-
-#ifdef USE_WIN_MUTEX_PROTECT
-    /* Unlock */
-    ReleaseMutex(smpd_process.hDBSMutex);
-#endif
-
-    /* put a unique id in the kvs database */
-    /*
-    get_uuid(guid_str);
-    smpd_dbs_put(name, PMI_KVS_ID_KEY, guid_str);
-    */
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_DBS_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_dbs_create_name_in"
-int smpd_dbs_create_name_in(char *name)
-{
-    /*char guid_str[100];*/
-    smpd_database_node_t *pNode;
-
-    smpd_enter_fn(FCNAME);
-
-    if (strlen(name) < 1 || strlen(name) > SMPD_MAX_DBS_NAME_LEN)
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_DBS_FAIL;
-    }
-
-#ifdef USE_WIN_MUTEX_PROTECT
-    /* Lock */
-    WaitForSingleObject(smpd_process.hDBSMutex, INFINITE);
-#endif
-
-    /* Check if the name already exists */
-    pNode = smpd_process.pDatabase;
-    while (pNode)
-    {
-	if (strcmp(pNode->pszName, name) == 0)
-	{
-#ifdef USE_WIN_MUTEX_PROTECT
-	    /* Unlock */
-	    ReleaseMutex(smpd_process.hDBSMutex);
-#endif
-	    /*return SMPD_DBS_FAIL;*/
-	    /* Empty database? */
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_DBS_SUCCESS;
-	}
-	pNode = pNode->pNext;
-    }
-
-    pNode = smpd_process.pDatabase;
-    if (pNode)
-    {
-	while (pNode->pNext)
-	    pNode = pNode->pNext;
-	pNode->pNext = (smpd_database_node_t*)MPIU_Malloc(sizeof(smpd_database_node_t));
-	pNode = pNode->pNext;
-    }
-    else
-    {
-	smpd_process.pDatabase = (smpd_database_node_t*)MPIU_Malloc(sizeof(smpd_database_node_t));
-	pNode = smpd_process.pDatabase;
-    }
-    pNode->pNext = NULL;
-    pNode->pData = NULL;
-    pNode->pIter = NULL;
-    strcpy(pNode->pszName, name);
-    
-#ifdef USE_WIN_MUTEX_PROTECT
-    /* Unlock */
-    ReleaseMutex(smpd_process.hDBSMutex);
-#endif
-
-    /* put a unique id in the kvs database */
-    /*
-    get_uuid(guid_str);
-    smpd_dbs_put(name, PMI_KVS_ID_KEY, guid_str);
-    */
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_DBS_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_dbs_get"
-int smpd_dbs_get(const char *name, const char *key, char *value)
-{
-    smpd_database_node_t *pNode;
-    smpd_database_element_t *pElement;
-
-    smpd_enter_fn(FCNAME);
-
-#ifdef USE_WIN_MUTEX_PROTECT
-    WaitForSingleObject(smpd_process.hDBSMutex, INFINITE);
-#endif
-
-    pNode = smpd_process.pDatabase;
-    while (pNode)
-    {
-	if (strcmp(pNode->pszName, name) == 0)
-	{
-	    pElement = pNode->pData;
-	    while (pElement)
-	    {
-		if (strcmp(pElement->pszKey, key) == 0)
-		{
-		    strcpy(value, pElement->pszValue);
-#ifdef USE_WIN_MUTEX_PROTECT
-		    ReleaseMutex(smpd_process.hDBSMutex);
-#endif
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_DBS_SUCCESS;
-		}
-		pElement = pElement->pNext;
-	    }
-	}
-	pNode = pNode->pNext;
-    }
-
-#ifdef USE_WIN_MUTEX_PROTECT
-    ReleaseMutex(smpd_process.hDBSMutex);
-#endif
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_DBS_FAIL;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_dbs_put"
-int smpd_dbs_put(const char *name, const char *key, const char *value)
-{
-    smpd_database_node_t *pNode;
-    smpd_database_element_t *pElement;
-
-    smpd_enter_fn(FCNAME);
-
-#ifdef USE_WIN_MUTEX_PROTECT
-    WaitForSingleObject(smpd_process.hDBSMutex, INFINITE);
-#endif
-
-    pNode = smpd_process.pDatabase;
-    while (pNode)
-    {
-	if (strcmp(pNode->pszName, name) == 0)
-	{
-	    pElement = pNode->pData;
-	    while (pElement)
-	    {
-		if (strcmp(pElement->pszKey, key) == 0)
-		{
-		    strcpy(pElement->pszValue, value);
-#ifdef USE_WIN_MUTEX_PROTECT
-		    ReleaseMutex(smpd_process.hDBSMutex);
-#endif
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_DBS_SUCCESS;
-		}
-		pElement = pElement->pNext;
-	    }
-	    pElement = (smpd_database_element_t*)MPIU_Malloc(sizeof(smpd_database_element_t));
-	    pElement->pNext = pNode->pData;
-	    strcpy(pElement->pszKey, key);
-	    strcpy(pElement->pszValue, value);
-	    pNode->pData = pElement;
-#ifdef USE_WIN_MUTEX_PROTECT
-	    ReleaseMutex(smpd_process.hDBSMutex);
-#endif
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_DBS_SUCCESS;
-	}
-	pNode = pNode->pNext;
-    }
-
-#ifdef USE_WIN_MUTEX_PROTECT
-    ReleaseMutex(smpd_process.hDBSMutex);
-#endif
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_DBS_FAIL;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_dbs_delete"
-int smpd_dbs_delete(const char *name, const char *key)
-{
-    smpd_database_node_t *pNode;
-    smpd_database_element_t *pElement, *pElementTrailer;
-
-    smpd_enter_fn(FCNAME);
-
-#ifdef USE_WIN_MUTEX_PROTECT
-    WaitForSingleObject(smpd_process.hDBSMutex, INFINITE);
-#endif
-
-    pNode = smpd_process.pDatabase;
-    while (pNode)
-    {
-	if (strcmp(pNode->pszName, name) == 0)
-	{
-	    pElementTrailer = pElement = pNode->pData;
-	    while (pElement)
-	    {
-		if (strcmp(pElement->pszKey, key) == 0)
-		{
-		    if (pElementTrailer != pElement)
-			pElementTrailer->pNext = pElement->pNext;
-		    else
-			pNode->pData = pElement->pNext;
-		    MPIU_Free(pElement);
-#ifdef USE_WIN_MUTEX_PROTECT
-		    ReleaseMutex(smpd_process.hDBSMutex);
-#endif
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_DBS_SUCCESS;
-		}
-		pElementTrailer = pElement;
-		pElement = pElement->pNext;
-	    }
-#ifdef USE_WIN_MUTEX_PROTECT
-	    ReleaseMutex(smpd_process.hDBSMutex);
-#endif
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_DBS_FAIL;
-	}
-	pNode = pNode->pNext;
-    }
-
-#ifdef USE_WIN_MUTEX_PROTECT
-    ReleaseMutex(smpd_process.hDBSMutex);
-#endif
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_DBS_FAIL;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_dbs_destroy"
-int smpd_dbs_destroy(const char *name)
-{
-    smpd_database_node_t *pNode, *pNodeTrailer;
-    smpd_database_element_t *pElement;
-
-    smpd_enter_fn(FCNAME);
-
-#ifdef USE_WIN_MUTEX_PROTECT
-    WaitForSingleObject(smpd_process.hDBSMutex, INFINITE);
-#endif
-
-    pNodeTrailer = pNode = smpd_process.pDatabase;
-    while (pNode)
-    {
-	if (strcmp(pNode->pszName, name) == 0)
-	{
-	    while (pNode->pData)
-	    {
-		pElement = pNode->pData;
-		pNode->pData = pNode->pData->pNext;
-		MPIU_Free(pElement);
-	    }
-	    if (pNodeTrailer == pNode)
-		smpd_process.pDatabase = smpd_process.pDatabase->pNext;
-	    else
-		pNodeTrailer->pNext = pNode->pNext;
-	    MPIU_Free(pNode);
-#ifdef USE_WIN_MUTEX_PROTECT
-	    ReleaseMutex(smpd_process.hDBSMutex);
-#endif
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_DBS_SUCCESS;
-	}
-	pNodeTrailer = pNode;
-	pNode = pNode->pNext;
-    }
-
-#ifdef USE_WIN_MUTEX_PROTECT
-    ReleaseMutex(smpd_process.hDBSMutex);
-#endif
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_DBS_FAIL;
-}
-
-/* FIXME: Replace SMPD_DBS_SUCCESS/... error codes with 
- * SMPD_SUCCESS/... 
- */
-/* FIXME: Use routines below to replace dbs_first(), dbs_next()
- * routines
- */
-
-#undef FCNAME
-#define FCNAME "smpd_dbsIter_init"
-int smpd_dbsIter_init(const char *name, smpd_dbsIter_t *pIter){
-    smpd_database_node_t *pDBNode;
-    int nameLen = 0;
-    smpd_enter_fn(FCNAME);
-    if(!name || !pIter){
-        smpd_err_printf("Invalid args to smpd_dbsIter_init()\n");
-        return SMPD_DBS_FAIL;
-    }
-    nameLen = strlen(name);
-    pDBNode = smpd_process.pDatabase;
-    while(pDBNode){
-        if(strncmp(pDBNode->pszName, name, nameLen) == 0){
-            *pIter = pDBNode->pData;
-            return SMPD_DBS_SUCCESS;
-        }
-        pDBNode = pDBNode->pNext;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_DBS_FAIL;
-}
-
-/* FIXME: Go for a macro here ? */
-#undef FCNAME
-#define FCNAME "smpd_dbs_hasMoreKeys"
-SMPD_BOOL smpd_dbs_hasMoreKeys(smpd_dbsIter_t iter){
-    smpd_enter_fn(FCNAME);
-    if(iter){
-        smpd_exit_fn(FCNAME);
-        return SMPD_TRUE;
-    }
-    else{
-        smpd_exit_fn(FCNAME);
-        return SMPD_FALSE;
-    }
-}
-
-#undef FCNAME
-#define FCNAME "smpd_dbs_getNextKeyVal"
-int smpd_dbs_getNextKeyVal(smpd_dbsIter_t *pIter, char *key, char *value){
-    smpd_enter_fn(FCNAME);
-    if(!pIter || !(*pIter) || !key || !value){
-        /* FIXME: Desc error msgs ?*/
-        smpd_err_printf("Invalid args to smpd_dbs_getNextKeyVal()\n");
-        return SMPD_DBS_FAIL;
-    }
-    MPIU_Strncpy(key, (*pIter)->pszKey, SMPD_MAX_DBS_KEY_LEN);
-    MPIU_Strncpy(value, (*pIter)->pszValue, SMPD_MAX_DBS_VALUE_LEN);
-    (*pIter) = (*pIter)->pNext;
-    smpd_exit_fn(FCNAME);
-    return SMPD_DBS_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_dbsIter_finalize"
-int smpd_dbsIter_finalize(smpd_dbsIter_t *pIter){
-    smpd_enter_fn(FCNAME);
-    if(pIter){
-        *pIter = NULL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_DBS_SUCCESS;
-}
-
-
-#undef FCNAME
-#define FCNAME "smpd_dbs_first"
-int smpd_dbs_first(const char *name, char *key, char *value)
-{
-    smpd_database_node_t *pNode;
-
-    smpd_enter_fn(FCNAME);
-
-#ifdef USE_WIN_MUTEX_PROTECT
-    WaitForSingleObject(smpd_process.hDBSMutex, INFINITE);
-#endif
-
-    if (key != NULL)
-	key[0] = '\0';
-    pNode = smpd_process.pDatabase;
-    while (pNode)
-    {
-	if (strcmp(pNode->pszName, name) == 0)
-	{
-	    if (key != NULL)
-	    {
-		if (pNode->pData)
-		{
-		    strcpy(key, pNode->pData->pszKey);
-		    strcpy(value, pNode->pData->pszValue);
-		    pNode->pIter = pNode->pData->pNext;
-		}
-		else
-		    key[0] = '\0';
-	    }
-	    else
-	    {
-		pNode->pIter = pNode->pData;
-	    }
-#ifdef USE_WIN_MUTEX_PROTECT
-	    ReleaseMutex(smpd_process.hDBSMutex);
-#endif
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_DBS_SUCCESS;
-	}
-	pNode = pNode->pNext;
-    }
-
-#ifdef USE_WIN_MUTEX_PROTECT
-    ReleaseMutex(smpd_process.hDBSMutex);
-#endif
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_DBS_FAIL;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_dbs_next"
-int smpd_dbs_next(const char *name, char *key, char *value)
-{
-    smpd_database_node_t *pNode;
-
-    smpd_enter_fn(FCNAME);
-
-#ifdef USE_WIN_MUTEX_PROTECT
-    WaitForSingleObject(smpd_process.hDBSMutex, INFINITE);
-#endif
-
-    key[0] = '\0';
-    pNode = smpd_process.pDatabase;
-    while (pNode)
-    {
-	if (strcmp(pNode->pszName, name) == 0)
-	{
-	    if (pNode->pIter)
-	    {
-		strcpy(key, pNode->pIter->pszKey);
-		strcpy(value, pNode->pIter->pszValue);
-		pNode->pIter = pNode->pIter->pNext;
-	    }
-	    else
-		key[0] = '\0';
-#ifdef USE_WIN_MUTEX_PROTECT
-	    ReleaseMutex(smpd_process.hDBSMutex);
-#endif
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_DBS_SUCCESS;
-	}
-	pNode = pNode->pNext;
-    }
-
-#ifdef USE_WIN_MUTEX_PROTECT
-    ReleaseMutex(smpd_process.hDBSMutex);
-#endif
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_DBS_FAIL;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_dbs_firstdb"
-int smpd_dbs_firstdb(char *name)
-{
-    smpd_enter_fn(FCNAME);
-
-#ifdef USE_WIN_MUTEX_PROTECT
-    WaitForSingleObject(smpd_process.hDBSMutex, INFINITE);
-#endif
-
-    smpd_process.pDatabaseIter = smpd_process.pDatabase;
-    if (name != NULL)
-    {
-	if (smpd_process.pDatabaseIter)
-	    strcpy(name, smpd_process.pDatabaseIter->pszName);
-	else
-	    name[0] = '\0';
-    }
-
-#ifdef USE_WIN_MUTEX_PROTECT
-    ReleaseMutex(smpd_process.hDBSMutex);
-#endif
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_DBS_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_dbs_nextdb"
-int smpd_dbs_nextdb(char *name)
-{
-    smpd_enter_fn(FCNAME);
-
-#ifdef USE_WIN_MUTEX_PROTECT
-    WaitForSingleObject(smpd_process.hDBSMutex, INFINITE);
-#endif
-
-    if (smpd_process.pDatabaseIter == NULL)
-	name[0] = '\0';
-    else
-    {
-	smpd_process.pDatabaseIter = smpd_process.pDatabaseIter->pNext;
-	if (smpd_process.pDatabaseIter)
-	    strcpy(name, smpd_process.pDatabaseIter->pszName);
-	else
-	    name[0] = '\0';
-    }
-
-#ifdef USE_WIN_MUTEX_PROTECT
-    ReleaseMutex(smpd_process.hDBSMutex);
-#endif
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_DBS_SUCCESS;
-}
diff --git a/src/pm/smpd/smpd_database.h b/src/pm/smpd/smpd_database.h
deleted file mode 100644
index a63aa0f..0000000
--- a/src/pm/smpd/smpd_database.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-#ifndef SMPD_DATABASE_H
-#define SMPD_DATABASE_H
-
-#define SMPD_DBS_SUCCESS          0
-#define SMPD_DBS_FAIL            -1
-#define SMPD_MAX_DBS_NAME_LEN     256
-#define SMPD_MAX_DBS_KEY_LEN      256
-#define SMPD_MAX_DBS_VALUE_LEN    4096
-
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-int smpd_dbs_init(void);
-int smpd_dbs_finalize(void);
-int smpd_dbs_create(char *name);
-int smpd_dbs_create_name_in(char *name);
-int smpd_dbs_destroy(const char *name);
-int smpd_dbs_get(const char *name, const char *key, char *value);
-int smpd_dbs_put(const char *name, const char *key, const char *value);
-int smpd_dbs_delete(const char *name, const char *key);
-int smpd_dbs_first(const char *name, char *key, char *value);
-int smpd_dbs_next(const char *name, char *key, char *value);
-int smpd_dbs_firstdb(char *name);
-int smpd_dbs_nextdb(char *name);
-
-#if defined(__cplusplus)
-}
-#endif
-
-#endif
diff --git a/src/pm/smpd/smpd_do_console.c b/src/pm/smpd/smpd_do_console.c
deleted file mode 100644
index 62e370d..0000000
--- a/src/pm/smpd/smpd_do_console.c
+++ /dev/null
@@ -1,149 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-
-#include <stdio.h>
-#include "smpd.h"
-
-#undef FCNAME
-#define FCNAME "smpd_do_console"
-int smpd_do_console()
-{
-    int result = -1;
-    smpd_context_t *context;
-    SMPDU_Sock_set_t set;
-    SMPDU_Sock_t sock;
-    SMPD_BOOL no_smpd = SMPD_FALSE;
-    int saved_state = 0;
-    int exit_code = 0;
-
-    smpd_enter_fn(FCNAME);
-
-    /* make sure we have a passphrase to authenticate connections to the smpds */
-    if (smpd_process.passphrase[0] == '\0')
-	smpd_get_smpd_data("phrase", smpd_process.passphrase, SMPD_PASSPHRASE_MAX_LENGTH);
-    if (smpd_process.passphrase[0] == '\0')
-    {
-	if (smpd_process.noprompt)
-	{
-	    printf("Error: No smpd passphrase specified through the registry or .smpd file, exiting.\n");
-	    goto quit_job;
-	}
-	printf("Please specify an authentication passphrase for smpd: ");
-	fflush(stdout);
-	smpd_get_password(smpd_process.passphrase);
-    }
-
-    result = SMPDU_Sock_create_set(&set);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("SMPDU_Sock_create_set failed,\nsock error: %s\n", get_sock_error_string(result));
-	goto quit_job;
-    }
-    smpd_process.set = set;
-
-    /* set the id of the mpiexec node to zero */
-    smpd_process.id = 0;
-
-    /* turn off output if do_status is selected to supress error messages */
-    if (smpd_process.builtin_cmd == SMPD_CMD_DO_STATUS)
-    {
-	saved_state = smpd_process.dbg_state;
-	smpd_process.dbg_state = 0;
-    }
-
-    /* start connecting the tree by posting a connect to the first host */
-    result = smpd_create_context(SMPD_CONTEXT_LEFT_CHILD, set, SMPDU_SOCK_INVALID_SOCK/*sock*/, 1, &context);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("Unable to create a context.\n");
-	goto quit_job;
-    }
-
-    result = SMPDU_Sock_post_connect(set, context, smpd_process.console_host, smpd_process.port, &sock);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("Unable to connect to '%s:%d',\nsock error: %s\n",
-	    smpd_process.console_host, smpd_process.port, get_sock_error_string(result));
-	no_smpd = SMPD_TRUE;
-	goto quit_job;
-    }
-    context->sock = sock;
-
-    /* turn output back on */
-    if (smpd_process.builtin_cmd == SMPD_CMD_DO_STATUS)
-	smpd_process.dbg_state = saved_state;
-
-    context->state = SMPD_MPIEXEC_CONNECTING_SMPD;
-    smpd_process.left_context = context;
-
-    /* turn off output if do_status is selected to supress error messages */
-    if (smpd_process.builtin_cmd == SMPD_CMD_DO_STATUS)
-	smpd_process.dbg_state = 0;
-    result = smpd_enter_at_state(set, SMPD_MPIEXEC_CONNECTING_SMPD);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("state machine failed.\n");
-	no_smpd = SMPD_TRUE;
-	goto quit_job;
-    }
-    /* turn output back on */
-    if (smpd_process.builtin_cmd == SMPD_CMD_DO_STATUS)
-	smpd_process.dbg_state = saved_state;
-
-quit_job:
-
-    if (result != SMPD_SUCCESS)
-    {
-	exit_code = result;
-    }
-
-    if (smpd_process.builtin_cmd == SMPD_CMD_DO_STATUS && (no_smpd || smpd_process.state_machine_ret_val != SMPD_SUCCESS))
-    {
-	printf("no smpd running on %s\n", smpd_process.console_host);
-	smpd_process.dbg_state = saved_state;
-    }
-
-    if (smpd_process.do_console_returns == SMPD_TRUE)
-    {
-	smpd_exit_fn(FCNAME);
-	return exit_code;
-    }
-
-    /* finalize */
-    /*
-    smpd_dbg_printf("calling SMPDU_Sock_finalize\n");
-    result = SMPDU_Sock_finalize();
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("SMPDU_Sock_finalize failed,\nsock error: %s\n", get_sock_error_string(result));
-    }
-    */
-
-#ifdef HAVE_WINDOWS_H
-    if (smpd_process.hCloseStdinThreadEvent)
-	SetEvent(smpd_process.hCloseStdinThreadEvent);
-    if (smpd_process.hStdinThread != NULL)
-    {
-	/* close stdin so the input thread will exit */
-	CloseHandle(GetStdHandle(STD_INPUT_HANDLE));
-	if (WaitForSingleObject(smpd_process.hStdinThread, 3000) != WAIT_OBJECT_0)
-	{
-	    TerminateThread(smpd_process.hStdinThread, 321);
-	}
-	CloseHandle(smpd_process.hStdinThread);
-    }
-    if (smpd_process.hCloseStdinThreadEvent)
-    {
-	CloseHandle(smpd_process.hCloseStdinThreadEvent);
-	smpd_process.hCloseStdinThreadEvent = NULL;
-    }
-#elif defined(USE_PTHREAD_STDIN_REDIRECTION)
-    smpd_cancel_stdin_thread();
-#endif
-    smpd_exit_fn(FCNAME);
-    smpd_exit(exit_code);
-    return SMPD_SUCCESS;
-}
diff --git a/src/pm/smpd/smpd_get_opt.c b/src/pm/smpd/smpd_get_opt.c
deleted file mode 100644
index 01c7faf..0000000
--- a/src/pm/smpd/smpd_get_opt.c
+++ /dev/null
@@ -1,918 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*-
- *
- *   Copyright (C) 1997 University of Chicago. 
- *   See COPYRIGHT notice in top-level directory.
- */
-
-#include "smpd.h"
-#include <stdio.h>
-#include <stdlib.h>
-#ifdef HAVE_STRING_H
-#include <string.h>
-#endif
-#ifdef HAVE_MATH_H
-#include <math.h>
-#endif
-#ifdef HAVE_CTYPE_H
-#include <ctype.h>
-#endif
-
-#undef FCNAME
-#define FCNAME "first_token"
-static const char * first_token(const char *str)
-{
-    smpd_enter_fn(FCNAME);
-    if (str == NULL)
-    {
-	smpd_exit_fn(FCNAME);
-	return NULL;
-    }
-    while (isspace(*str))
-	str++;
-    if (*str == '\0')
-    {
-	smpd_exit_fn(FCNAME);
-	return NULL;
-    }
-    smpd_exit_fn(FCNAME);
-    return str;
-}
-
-#undef FCNAME
-#define FCNAME "next_token"
-static const char * next_token(const char *str)
-{
-    const char *result;
-
-    smpd_enter_fn(FCNAME);
-    if (str == NULL)
-    {
-	smpd_exit_fn(FCNAME);
-	return NULL;
-    }
-    str = first_token(str);
-    if (str == NULL)
-    {
-	smpd_exit_fn(FCNAME);
-	return NULL;
-    }
-    if (*str == SMPD_QUOTE_CHAR)
-    {
-	/* move over string */
-	str++; /* move over the first quote */
-	if (*str == '\0')
-	{
-	    smpd_exit_fn(FCNAME);
-	    return NULL;
-	}
-	while (*str != SMPD_QUOTE_CHAR)
-	{
-	    /* move until the last quote, ignoring escaped quotes */
-	    if (*str == SMPD_ESCAPE_CHAR)
-	    {
-		str++;
-		if (*str == SMPD_QUOTE_CHAR)
-		    str++;
-	    }
-	    else
-	    {
-		str++;
-	    }
-	    if (*str == '\0')
-	    {
-		smpd_exit_fn(FCNAME);
-		return NULL;
-	    }
-	}
-	str++; /* move over the last quote */
-    }
-    else
-    {
-	if (*str == SMPD_DELIM_CHAR)
-	{
-	    /* move over the DELIM token */
-	    str++;
-	}
-	else
-	{
-	    /* move over literal */
-	    while (!isspace(*str) && *str != SMPD_DELIM_CHAR && *str != '\0')
-		str++;
-	}
-    }
-    result = first_token(str);
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-
-#undef FCNAME
-#define FCNAME "compare_token"
-static int compare_token(const char *token, const char *str)
-{
-    smpd_enter_fn(FCNAME);
-
-    if (token == NULL || str == NULL)
-    {
-	smpd_exit_fn(FCNAME);
-	return -1;
-    }
-
-    if (*token == SMPD_QUOTE_CHAR)
-    {
-	/* compare quoted strings */
-	token++; /* move over the first quote */
-	/* compare characters until reaching the end of the string or the end quote character */
-	for (;;)
-	{
-	    if (*token == SMPD_ESCAPE_CHAR)
-	    {
-		if (*(token+1) == SMPD_QUOTE_CHAR)
-		{
-		    /* move over the escape character if the next character is a quote character */
-		    token++;
-		}
-		if (*token != *str)
-		    break;
-	    }
-	    else
-	    {
-		if (*token != *str || *token == SMPD_QUOTE_CHAR)
-		    break;
-	    }
-	    if (*str == '\0')
-		break;
-	    token++;
-	    str++;
-	}
-	if (*str == '\0' && *token == SMPD_QUOTE_CHAR)
-	{
-	    smpd_exit_fn(FCNAME);
-	    return 0;
-	}
-	if (*token == SMPD_QUOTE_CHAR)
-	{
-	    smpd_exit_fn(FCNAME);
-	    return 1;
-	}
-	if (*str < *token)
-	{
-	    smpd_exit_fn(FCNAME);
-	    return -1;
-	}
-	smpd_exit_fn(FCNAME);
-	return 1;
-    }
-
-    /* compare DELIM token */
-    if (*token == SMPD_DELIM_CHAR)
-    {
-	if (*str == SMPD_DELIM_CHAR)
-	{
-	    str++;
-	    if (*str == '\0')
-	    {
-		smpd_exit_fn(FCNAME);
-		return 0;
-	    }
-	    smpd_exit_fn(FCNAME);
-	    return 1;
-	}
-	if (*token < *str)
-	{
-	    smpd_exit_fn(FCNAME);
-	    return -1;
-	}
-	smpd_exit_fn(FCNAME);
-	return 1;
-    }
-
-    /* compare literals */
-    while (*token == *str && *str != '\0' && *token != SMPD_DELIM_CHAR && !isspace(*token))
-    {
-	token++;
-	str++;
-    }
-    if ( (*str == '\0') && (*token == SMPD_DELIM_CHAR || isspace(*token) || *token == '\0') )
-    {
-	smpd_exit_fn(FCNAME);
-	return 0;
-    }
-    if (*token == SMPD_DELIM_CHAR || isspace(*token) || *token < *str)
-    {
-	smpd_exit_fn(FCNAME);
-	return -1;
-    }
-    smpd_exit_fn(FCNAME);
-    return 1;
-}
-
-#undef FCNAME
-#define FCNAME "token_copy"
-static void token_copy(const char *token, char *str, int maxlen)
-{
-    smpd_enter_fn(FCNAME);
-    /* check parameters */
-    if (token == NULL || str == NULL)
-    {
-	smpd_exit_fn(FCNAME);
-	return;
-    }
-
-    /* check special buffer lengths */
-    if (maxlen < 1)
-    {
-	smpd_exit_fn(FCNAME);
-	return;
-    }
-    if (maxlen == 1)
-    {
-	*str = '\0';
-	smpd_exit_fn(FCNAME);
-	return;
-    }
-
-    /* cosy up to the token */
-    token = first_token(token);
-    if (token == NULL)
-    {
-	smpd_exit_fn(FCNAME);
-	return;
-    }
-
-    if (*token == SMPD_DELIM_CHAR)
-    {
-	/* copy the special deliminator token */
-	str[0] = SMPD_DELIM_CHAR;
-	str[1] = '\0';
-	smpd_exit_fn(FCNAME);
-	return;
-    }
-
-    if (*token == SMPD_QUOTE_CHAR)
-    {
-	/* quoted copy */
-	token++; /* move over the first quote */
-	do
-	{
-	    if (*token == SMPD_ESCAPE_CHAR)
-	    {
-		if (*(token+1) == SMPD_QUOTE_CHAR)
-		    token++;
-		*str = *token;
-	    }
-	    else
-	    {
-		if (*token == SMPD_QUOTE_CHAR)
-		{
-		    *str = '\0';
-		    smpd_exit_fn(FCNAME);
-		    return;
-		}
-		*str = *token;
-	    }
-	    str++;
-	    token++;
-	    maxlen--;
-	} while (maxlen);
-	/* we've run out of destination characters so back up and null terminate the string */
-	str--;
-	*str = '\0';
-	smpd_exit_fn(FCNAME);
-	return;
-    }
-
-    /* literal copy */
-    while (*token != SMPD_DELIM_CHAR && !isspace(*token) && *token != '\0' && maxlen)
-    {
-	*str = *token;
-	str++;
-	token++;
-	maxlen--;
-    }
-    if (maxlen)
-	*str = '\0';
-    smpd_exit_fn(FCNAME);
-}
-
-#undef FCNAME
-#define FCNAME "token_hide"
-static void token_hide(char *token)
-{
-    smpd_enter_fn(FCNAME);
-    /* check parameters */
-    if (token == NULL)
-    {
-	smpd_exit_fn(FCNAME);
-	return;
-    }
-
-    /* cosy up to the token */
-    token = (char*)first_token(token);
-    if (token == NULL)
-    {
-	smpd_exit_fn(FCNAME);
-	return;
-    }
-
-    if (*token == SMPD_DELIM_CHAR)
-    {
-	*token = SMPD_HIDE_CHAR;
-	smpd_exit_fn(FCNAME);
-	return;
-    }
-
-    /* quoted */
-    if (*token == SMPD_QUOTE_CHAR)
-    {
-	*token = SMPD_HIDE_CHAR;
-	token++; /* move over the first quote */
-	while (*token != '\0')
-	{
-	    if (*token == SMPD_ESCAPE_CHAR)
-	    {
-		if (*(token+1) == SMPD_QUOTE_CHAR)
-		{
-		    *token = SMPD_HIDE_CHAR;
-		    token++;
-		}
-		*token = SMPD_HIDE_CHAR;
-	    }
-	    else
-	    {
-		if (*token == SMPD_QUOTE_CHAR)
-		{
-		    *token = SMPD_HIDE_CHAR;
-		    smpd_exit_fn(FCNAME);
-		    return;
-		}
-		*token = SMPD_HIDE_CHAR;
-	    }
-	    token++;
-	}
-	smpd_exit_fn(FCNAME);
-	return;
-    }
-
-    /* literal */
-    while (*token != SMPD_DELIM_CHAR && !isspace(*token) && *token != '\0')
-    {
-	*token = SMPD_HIDE_CHAR;
-	token++;
-    }
-    smpd_exit_fn(FCNAME);
-}
-
-#undef FCNAME
-#define FCNAME "smpd_get_string_arg"
-int smpd_get_string_arg(const char *str, const char *flag, char *val, int maxlen)
-{
-    smpd_enter_fn(FCNAME);
-    if (maxlen < 1)
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_FALSE;
-    }
-
-    /* line up with the first token */
-    str = first_token(str);
-    if (str == NULL)
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_FALSE;
-    }
-
-    /* This loop will match the first instance of "flag = value" in the string. */
-    do
-    {
-	if (compare_token(str, flag) == 0)
-	{
-	    str = next_token(str);
-	    if (compare_token(str, SMPD_DELIM_STR) == 0)
-	    {
-		str = next_token(str);
-		if (str == NULL)
-		{
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FALSE;
-		}
-		token_copy(str, val, maxlen);
-		smpd_exit_fn(FCNAME);
-		return SMPD_TRUE;
-	    }
-	}
-	else
-	{
-	    str = next_token(str);
-	}
-    } while (str);
-    smpd_exit_fn(FCNAME);
-    return SMPD_FALSE;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_hide_string_arg"
-int smpd_hide_string_arg(char *str, const char *flag)
-{
-    smpd_enter_fn(FCNAME);
-    /* line up with the first token */
-    str = (char*)first_token(str);
-    if (str == NULL)
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-
-    do
-    {
-	if (compare_token(str, flag) == 0)
-	{
-	    str = (char*)next_token(str);
-	    if (compare_token(str, SMPD_DELIM_STR) == 0)
-	    {
-		str = (char*)next_token(str);
-		if (str == NULL)
-		{
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_SUCCESS;
-		}
-		token_hide(str);
-		smpd_exit_fn(FCNAME);
-		return SMPD_SUCCESS;
-	    }
-	}
-	else
-	{
-	    str = (char*)next_token(str);
-	}
-    } while (str);
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_get_int_arg"
-int smpd_get_int_arg(const char *str, const char *flag, int *val_ptr)
-{
-    char int_str[12];
-
-    smpd_enter_fn(FCNAME);
-    if (smpd_get_string_arg(str, flag, int_str, 12))
-    {
-	*val_ptr = atoi(int_str);
-	smpd_exit_fn(FCNAME);
-	return SMPD_TRUE;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_FALSE;
-}
-
-#undef FCNAME
-#define FCNAME "quoted_printf"
-static int quoted_printf(char *str, int maxlen, const char *val)
-{
-    int count = 0;
-    smpd_enter_fn(FCNAME);
-    if (maxlen < 1)
-    {
-	smpd_exit_fn(FCNAME);
-	return 0;
-    }
-    *str = SMPD_QUOTE_CHAR;
-    str++;
-    maxlen--;
-    count++;
-    while (maxlen)
-    {
-	if (*val == '\0')
-	    break;
-	if (*val == SMPD_QUOTE_CHAR)
-	{
-	    *str = SMPD_ESCAPE_CHAR;
-	    str++;
-	    maxlen--;
-	    count++;
-	    if (maxlen == 0)
-	    {
-		smpd_exit_fn(FCNAME);
-		return count;
-	    }
-	}
-	*str = *val;
-	str++;
-	maxlen--;
-	count++;
-	val++;
-    }
-    if (maxlen)
-    {
-	*str = SMPD_QUOTE_CHAR;
-	str++;
-	maxlen--;
-	count++;
-	if (maxlen == 0)
-	{
-	    smpd_exit_fn(FCNAME);
-	    return count;
-	}
-	*str = '\0';
-    }
-    smpd_exit_fn(FCNAME);
-    return count;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_add_string"
-int smpd_add_string(char *str, int maxlen, const char *val)
-{
-    int num_chars;
-
-    smpd_enter_fn(FCNAME);
-    if (strstr(val, " ") || val[0] == SMPD_QUOTE_CHAR)
-    {
-	num_chars = quoted_printf(str, maxlen, val);
-	if (num_chars < maxlen)
-	{
-	    str[num_chars] = SMPD_SEPAR_CHAR;
-	    str[num_chars+1] = '\0';
-	}
-	num_chars++;
-    }
-    else
-    {
-	num_chars = snprintf(str, maxlen, "%s ", val);
-    }
-    smpd_exit_fn(FCNAME);
-    return num_chars;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_get_string"
-const char * smpd_get_string(const char *str, char *val, int maxlen, int *num_chars)
-{
-    smpd_enter_fn(FCNAME);
-    if (maxlen < 1)
-    {
-	*num_chars = 0;
-	smpd_exit_fn(FCNAME);
-	return NULL;
-    }
-
-    /* line up with the first token */
-    str = first_token(str);
-    if (str == NULL)
-    {
-	*num_chars = 0;
-	smpd_exit_fn(FCNAME);
-	return NULL;
-    }
-
-    /* copy the token */
-    token_copy(str, val, maxlen);
-    *num_chars = (int)strlen(val);
-
-    /* move to the next token */
-    str = next_token(str);
-
-    smpd_exit_fn(FCNAME);
-    return str;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_add_string_arg"
-int smpd_add_string_arg(char **str_ptr, int *maxlen_ptr, const char *flag, const char *val)
-{
-    int num_chars;
-
-    smpd_enter_fn(FCNAME);
-    if (*maxlen_ptr < 1)
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    /* add the flag */
-    if (strstr(flag, " ") || strstr(flag, SMPD_DELIM_STR) || flag[0] == SMPD_QUOTE_CHAR)
-    {
-	num_chars = quoted_printf(*str_ptr, *maxlen_ptr, flag);
-    }
-    else
-    {
-	num_chars = snprintf(*str_ptr, *maxlen_ptr, "%s", flag);
-    }
-    *maxlen_ptr = *maxlen_ptr - num_chars;
-    if (*maxlen_ptr < 1)
-    {
-	(*str_ptr)[num_chars-1] = '\0';
-	smpd_dbg_printf("partial argument added to string: '%s'\n", *str_ptr);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    *str_ptr = *str_ptr + num_chars;
-
-    /* add the deliminator character */
-    **str_ptr = SMPD_DELIM_CHAR;
-    *str_ptr = *str_ptr + 1;
-    *maxlen_ptr = *maxlen_ptr - 1;
-
-    /* add the value string */
-    if (strstr(val, " ") || strstr(val, SMPD_DELIM_STR) || val[0] == SMPD_QUOTE_CHAR)
-    {
-	num_chars = quoted_printf(*str_ptr, *maxlen_ptr, val);
-    }
-    else
-    {
-	num_chars = snprintf(*str_ptr, *maxlen_ptr, "%s", val);
-    }
-    *str_ptr = *str_ptr + num_chars;
-    *maxlen_ptr = *maxlen_ptr - num_chars;
-    if (*maxlen_ptr < 2)
-    {
-	*str_ptr = *str_ptr - 1;
-	**str_ptr = '\0';
-	smpd_dbg_printf("partial argument added to string: '%s'\n", *str_ptr);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    
-    /* add the trailing space */
-    **str_ptr = SMPD_SEPAR_CHAR;
-    *str_ptr = *str_ptr + 1;
-    **str_ptr = '\0';
-    *maxlen_ptr = *maxlen_ptr - 1;
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_add_int_arg"
-int smpd_add_int_arg(char **str_ptr, int *maxlen_ptr, const char *flag, int val)
-{
-    int result;
-    char val_str[12];
-    smpd_enter_fn(FCNAME);
-    sprintf(val_str, "%d", val);
-    result = smpd_add_string_arg(str_ptr, maxlen_ptr, flag, val_str);
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_get_opt"
-int smpd_get_opt(int *argc, char ***argv, char * flag)
-{
-    int i,j;
-
-    smpd_enter_fn(FCNAME);
-    if (flag == NULL)
-    {
-	smpd_exit_fn(FCNAME);
-	return 0;
-    }
-
-    for (i=0; i<*argc; i++)
-    {
-	if (strcmp((*argv)[i], flag) == 0)
-	{
-	    for (j=i; j<*argc; j++)
-	    {
-		(*argv)[j] = (*argv)[j+1];
-	    }
-	    *argc -= 1;
-	    smpd_exit_fn(FCNAME);
-	    return 1;
-	}
-    }
-    smpd_exit_fn(FCNAME);
-    return 0;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_get_opt_int"
-int smpd_get_opt_int(int *argc, char ***argv, char * flag, int *n)
-{
-    int i,j;
-
-    smpd_enter_fn(FCNAME);
-    if (flag == NULL)
-    {
-	smpd_exit_fn(FCNAME);
-	return 0;
-    }
-
-    for (i=0; i<*argc; i++)
-    {
-	if (strcmp((*argv)[i], flag) == 0)
-	{
-	    if (i+1 == *argc)
-	    {
-		smpd_exit_fn(FCNAME);
-		return 0;
-	    }
-	    *n = atoi((*argv)[i+1]);
-	    for (j=i; j<*argc-1; j++)
-	    {
-		(*argv)[j] = (*argv)[j+2];
-	    }
-	    *argc -= 2;
-	    smpd_exit_fn(FCNAME);
-	    return 1;
-	}
-    }
-    smpd_exit_fn(FCNAME);
-    return 0;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_get_opt_long"
-int smpd_get_opt_long(int *argc, char ***argv, char * flag, long *n)
-{
-    int i;
-
-    smpd_enter_fn(FCNAME);
-    if (smpd_get_opt_int(argc, argv, flag, &i))
-    {
-	*n = (long)i;
-	smpd_exit_fn(FCNAME);
-	return 1;
-    }
-    smpd_exit_fn(FCNAME);
-    return 0;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_get_opt_double"
-int smpd_get_opt_double(int *argc, char ***argv, char * flag, double *d)
-{
-    int i,j;
-
-    smpd_enter_fn(FCNAME);
-    if (flag == NULL)
-    {
-	smpd_exit_fn(FCNAME);
-	return 0;
-    }
-
-    for (i=0; i<*argc; i++)
-    {
-	if (strcmp((*argv)[i], flag) == 0)
-	{
-	    if (i+1 == *argc)
-	    {
-		smpd_exit_fn(FCNAME);
-		return 0;
-	    }
-	    *d = atof((*argv)[i+1]);
-	    for (j=i; j<*argc-1; j++)
-	    {
-		(*argv)[j] = (*argv)[j+2];
-	    }
-	    *argc -= 2;
-	    smpd_exit_fn(FCNAME);
-	    return 1;
-	}
-    }
-    smpd_exit_fn(FCNAME);
-    return 0;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_get_opt_string"
-int smpd_get_opt_string(int *argc, char ***argv, char * flag, char *str, int len)
-{
-    int i,j;
-
-    smpd_enter_fn(FCNAME);
-    if (flag == NULL)
-    {
-	smpd_exit_fn(FCNAME);
-	return 0;
-    }
-
-    for (i=0; i<*argc; i++)
-    {
-	if (strcmp((*argv)[i], flag) == 0)
-	{
-	    if (i+1 == (*argc))
-	    {
-		smpd_exit_fn(FCNAME);
-		return 0;
-	    }
-	    if ((*argv)[i+1][0] == '-')
-	    {
-		smpd_exit_fn(FCNAME);
-		return 0;
-	    }
-	    strncpy(str, (*argv)[i+1], len);
-	    str[len-1] = '\0';
-	    for (j=i; j<(*argc)-1; j++)
-	    {
-		(*argv)[j] = (*argv)[j+2];
-	    }
-	    *argc -= 2;
-	    smpd_exit_fn(FCNAME);
-	    return 1;
-	}
-    }
-    smpd_exit_fn(FCNAME);
-    return 0;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_get_opt_two_strings"
-int smpd_get_opt_two_strings(int *argc, char ***argv, char * flag, char *str1, int len1, char *str2, int len2)
-{
-    int i, j;
-
-    smpd_enter_fn(FCNAME);
-    if (flag == NULL)
-    {
-	smpd_exit_fn(FCNAME);
-	return 0;
-    }
-
-    for (i=0; i<*argc; i++)
-    {
-	if (strcmp((*argv)[i], flag) == 0)
-	{
-	    if (i+1 == (*argc))
-	    {
-		smpd_exit_fn(FCNAME);
-		return 0;
-	    }
-	    if ((*argv)[i+1][0] == '-')
-	    {
-		smpd_exit_fn(FCNAME);
-		return 0;
-	    }
-	    if (i+2 == (*argc))
-	    {
-		smpd_exit_fn(FCNAME);
-		return 0;
-	    }
-	    if ((*argv)[i+2][0] == '-')
-	    {
-		smpd_exit_fn(FCNAME);
-		return 0;
-	    }
-	    strncpy(str1, (*argv)[i+1], len1);
-	    str1[len1-1] = '\0';
-	    strncpy(str2, (*argv)[i+2], len2);
-	    str2[len2-1] = '\0';
-	    for (j=i; j<(*argc)-2; j++)
-	    {
-		(*argv)[j] = (*argv)[j+3];
-	    }
-	    *argc -= 3;
-	    smpd_exit_fn(FCNAME);
-	    return 1;
-	}
-    }
-    smpd_exit_fn(FCNAME);
-    return 0;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_get_win_opt_string"
-int smpd_get_win_opt_string(int *argc, char ***argv, char * flag, char *str, int len)
-{
-    int i,j;
-    char *iter;
-
-    smpd_enter_fn(FCNAME);
-    if (flag == NULL)
-    {
-	smpd_exit_fn(FCNAME);
-	return 0;
-    }
-
-    for (i=0; i<*argc; i++)
-    {
-	if (strncmp((*argv)[i], flag, strlen(flag)) == 0)
-	{
-	    if (strlen(flag) == strlen((*argv)[i]))
-	    {
-		/* option specified with no value: /flag */
-		continue;
-	    }
-	    iter = &(*argv)[i][strlen(flag)];
-	    if ((*iter != ':') && (*iter != '=')) /* /flag=val or /flag:val */
-	    {
-		/* partial option match: /flag=val == /flagger=val */
-		continue;
-	    }
-	    iter++;
-	    strncpy(str, iter, len);
-	    str[len-1] = '\0';
-	    for (j=i; j<(*argc); j++)
-	    {
-		(*argv)[j] = (*argv)[j+1];
-	    }
-	    *argc -= 1;
-	    smpd_exit_fn(FCNAME);
-	    return 1;
-	}
-    }
-    smpd_exit_fn(FCNAME);
-    return 0;
-}
diff --git a/src/pm/smpd/smpd_handle_command.c b/src/pm/smpd/smpd_handle_command.c
deleted file mode 100644
index 4d3328b..0000000
--- a/src/pm/smpd/smpd_handle_command.c
+++ /dev/null
@@ -1,6761 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-
-#include "smpd.h"
-#ifdef HAVE_STDARG_H
-#include <stdarg.h>
-#endif
-#ifdef HAVE_WINDOWS_H
-#include "smpd_service.h"
-#include <Ntdsapi.h>
-#endif
-
-/* prototype local functions */
-static int write_to_stdout(const char *buffer, size_t num_bytes);
-static int write_to_stderr(const char *buffer, size_t num_bytes);
-static int smpd_do_abort_job(char *name, int rank, char *error_str, int exit_code);
-static int create_process_group(int nproc, char *kvs_name, smpd_process_group_t **pg_pptr);
-static int get_name_key_value(char *str, char *name, char *key, char *value);
-
-
-/* FIXME: smpd_get_hostname() does the same thing */
-#undef FCNAME
-#define FCNAME "get_hostname"
-static int get_hostname(char *host, int hostlen){
-    int retval = SMPD_SUCCESS;
-#ifdef HAVE_WINDOWS_H	
-    DWORD len = hostlen;
-#endif	
-    smpd_enter_fn(FCNAME);
-    if(host == NULL){
-        smpd_err_printf("host == NULL\n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;        
-    }
-#ifdef HAVE_WINDOWS_H
-    if(!GetComputerNameEx(ComputerNameDnsFullyQualified, host, &len)){
-        smpd_err_printf("GetComputerNameEx failed, error = %d\n", GetLastError());
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-#else
-    if(gethostname(host, hostlen)){
-        smpd_err_printf("gethostname failed, error = %d\n", errno);
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-#endif    
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_do_abort_job"
-static int smpd_do_abort_job(char *name, int rank, char *error_str, int exit_code)
-{
-    int result;
-    smpd_command_t *cmd_ptr;
-    smpd_process_group_t *pg;
-    int i;
-
-    smpd_enter_fn(FCNAME);
-    pg = smpd_process.pg_list;
-    while (pg)
-    {
-	if (strcmp(pg->kvs, name) == 0)
-	{
-	    if (rank >= pg->num_procs)
-	    {
-		smpd_err_printf("invalid abort_job command - rank %d out of range, number of processes = %d", rank, pg->num_procs);
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    break;
-	}
-	pg = pg->next;
-    }
-    if (pg == NULL)
-    {
-	smpd_err_printf("no process group structure found to match the abort_job command: pg <%s>\n", name);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    /* save the abort message */
-    pg->processes[rank].errmsg = MPIU_Strdup(error_str);
-    if (pg->aborted == SMPD_TRUE)
-    {
-	smpd_dbg_printf("job already aborted.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-
-    smpd_process.use_abort_exit_code = SMPD_TRUE;
-    smpd_process.abort_exit_code = exit_code;
-
-    pg->aborted = SMPD_TRUE;
-    pg->num_pending_suspends = 0;
-    for (i=0; i<pg->num_procs; i++)
-    {
-	if (!pg->processes[i].exited)
-	{
-	    /* create the suspend command */
-	    result = smpd_create_command("suspend", 0, pg->processes[i].node_id, SMPD_TRUE, &cmd_ptr);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to create a suspend command.\n");
-		goto do_abort_failure;
-	    }
-	    result = smpd_add_command_arg(cmd_ptr, "name", name);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to add the kvs name to the suspend command: '%s'\n", name);
-		goto do_abort_failure;
-	    }
-	    result = smpd_add_command_int_arg(cmd_ptr, "rank", i);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to add the rank %d to the suspend command\n", i);
-		goto do_abort_failure;
-	    }
-	    result = smpd_add_command_int_arg(cmd_ptr, "exit_code", exit_code);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to add the exit_code %d to the suspend command\n", exit_code);
-		goto do_abort_failure;
-	    }
-	    if (pg->processes[i].ctx_key[0] != '\0')
-	    {
-		result = smpd_add_command_arg(cmd_ptr, "ctx_key", pg->processes[i].ctx_key);
-		if (result != SMPD_SUCCESS)
-		{
-		    smpd_err_printf("unable to add the ctx_key to the suspend command: '%s'\n", pg->processes[i].ctx_key);
-		    goto do_abort_failure;
-		}
-
-		/* send the suspend command */
-		result = smpd_post_write_command(smpd_process.left_context, cmd_ptr);
-		if (result != SMPD_SUCCESS)
-		{
-		    smpd_err_printf("unable to post a write for the suspend command: rank %d\n", rank);
-		    goto do_abort_failure;
-		}
-	    }
-	    else
-	    {
-		pg->processes[i].suspend_cmd = cmd_ptr;
-	    }
-	    pg->num_pending_suspends++;
-	}
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-do_abort_failure:
-    smpd_exit_fn(FCNAME);
-    return SMPD_FAIL;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_abort_job"
-int smpd_abort_job(char *name, int rank, char *fmt, ...)
-{
-    int result;
-    char error_str[2048] = "";
-    smpd_command_t *cmd_ptr;
-    smpd_context_t *context;
-    va_list list;
-
-    smpd_enter_fn(FCNAME);
-
-    va_start(list, fmt);
-    vsnprintf(error_str, 2048, fmt, list);
-    va_end(list);
-
-    smpd_command_destination(0, &context);
-    if (context == NULL)
-    {
-	result = smpd_do_abort_job(name, rank, error_str, 123);
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-
-    result = smpd_create_command("abort_job", smpd_process.id, 0, SMPD_FALSE, &cmd_ptr);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create an abort_job command.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(cmd_ptr, "name", name);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("Unable to add the job name to the abort_job command.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_int_arg(cmd_ptr, "rank", rank);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("Unable to add the rank to the abort_job command.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(cmd_ptr, "error", error_str);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("Unable to add the error string to the abort_job command.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_dbg_printf("sending abort_job command to %s context: \"%s\"\n", smpd_get_context_str(context), cmd_ptr->cmd);
-    result = smpd_post_write_command(context, cmd_ptr);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a write of the abort_job command to the %s context.\n", smpd_get_context_str(context));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_handle_stdin_command"
-int smpd_handle_stdin_command(smpd_context_t *context)
-{
-    char data[SMPD_MAX_STDOUT_LENGTH];
-    smpd_command_t *cmd;
-    smpd_process_t *piter;
-    smpd_stdin_write_node_t *node, *iter;
-    int result;
-    SMPDU_Sock_size_t num_written, num_decoded;
-    int nd;
-
-    smpd_enter_fn(FCNAME);
-
-    cmd = &context->read_cmd;
-    if (MPIU_Str_get_string_arg(cmd->cmd, "data", data, SMPD_MAX_STDOUT_LENGTH) == MPIU_STR_SUCCESS)
-    {
-	smpd_decode_buffer(data, data, SMPD_MAX_STDOUT_LENGTH, &nd);
-	num_decoded = nd;
-	/*printf("[%d]", rank);*/
-	piter = smpd_process.process_list;
-	while (piter)
-	{
-	    if (piter->rank == 0 || smpd_process.stdin_toall)
-	    {
-		if (piter->stdin_write_list != NULL)
-		{
-		    node = (smpd_stdin_write_node_t*)MPIU_Malloc(sizeof(smpd_stdin_write_node_t));
-		    if (node == NULL)
-			smpd_write(piter->in->sock, data, num_decoded);
-		    else
-		    {
-			node->buffer = (char*)MPIU_Malloc(num_decoded);
-			if (node->buffer == NULL)
-			{
-			    MPIU_Free(node);
-			    smpd_write(piter->in->sock, data, num_decoded);
-			}
-			else
-			{
-			    /* add the node to the end of the write list */
-			    node->length = num_decoded;
-			    memcpy(node->buffer, data, num_decoded);
-			    node->next = NULL;
-			    iter = piter->stdin_write_list;
-			    while (iter->next != NULL)
-				iter = iter->next;
-			    iter->next = node;
-			}
-		    }
-		}
-		else
-		{
-		    /* attempt to write the data immediately */
-		    num_written = 0;
-		    result = SMPDU_Sock_write(piter->in->sock, data, num_decoded, &num_written);
-		    if (result != SMPD_SUCCESS)
-		    {
-			smpd_err_printf("unable to write data to the stdin context of process %d\n", piter->rank);
-		    }
-		    else
-		    {
-			if (num_written != num_decoded)
-			{
-			    /* If not all the data is written, copy it to a temp buffer and post a write for the remaining data */
-			    node = (smpd_stdin_write_node_t*)MPIU_Malloc(sizeof(smpd_stdin_write_node_t));
-			    if (node == NULL)
-				smpd_write(piter->in->sock, &data[num_written], num_decoded-num_written);
-			    else
-			    {
-				node->buffer = (char*)MPIU_Malloc(num_decoded-num_written);
-				if (node->buffer == NULL)
-				{
-				    MPIU_Free(node);
-				    smpd_write(piter->in->sock, &data[num_written], num_decoded-num_written);
-				}
-				else
-				{
-				    /* add the node to write list */
-				    node->length = num_decoded - num_written;
-				    memcpy(node->buffer, &data[num_written], num_decoded-num_written);
-				    node->next = NULL;
-				    piter->stdin_write_list = node;
-				    piter->in->write_state = SMPD_WRITING_DATA_TO_STDIN;
-				    result = SMPDU_Sock_post_write(piter->in->sock, node->buffer, node->length, node->length, NULL);
-				    if (result != SMPD_SUCCESS)
-				    {
-					smpd_err_printf("unable to post a write of %d bytes to stdin for rank %d\n",
-					    node->length, piter->rank);
-				    }
-				}
-			    }
-			}
-		    }
-		}
-	    }
-	    piter = piter->next;
-	}
-    }
-    else
-    {
-	smpd_err_printf("unable to get the data from the stdin command: '%s'\n", cmd->cmd);
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_handle_close_stdin_command"
-int smpd_handle_close_stdin_command(smpd_context_t *context)
-{
-    smpd_process_t *piter;
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    SMPD_UNREFERENCED_ARG(context);
-
-    piter = smpd_process.process_list;
-    while (piter)
-    {
-	if ((piter->rank == 0 || smpd_process.stdin_toall) && piter->in != NULL)
-	{
-	    piter->in->state = SMPD_CLOSING;
-	    piter->in->process = NULL; /* NULL this out so the closing of the stdin context won't access it after it has been freed */
-	    result = SMPDU_Sock_post_close(piter->in->sock);
-	    if (result == SMPD_SUCCESS)
-	    {
-		piter->in = NULL;
-	    }
-	}
-	piter = piter->next;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "write_to_stdout"
-static int write_to_stdout(const char *buffer, size_t num_bytes)
-{
-#ifdef HAVE_WINDOWS_H
-    HANDLE hStdout;
-    DWORD num_written;
-
-    smpd_enter_fn(FCNAME);
-    /* MT - This should acquire the hLaunchProcessMutex so that it doesn't acquire a redirected handle. */
-    /* But since the code is not multi-threaded yet this doesn't matter */
-    hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
-    WriteFile(hStdout, buffer, num_bytes, &num_written, NULL);
-#else
-    smpd_enter_fn(FCNAME);
-    fwrite(buffer, 1, num_bytes, stdout);
-    fflush(stdout);
-#endif
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_handle_stdout_command"
-int smpd_handle_stdout_command(smpd_context_t *context)
-{
-    int rank;
-    char data[SMPD_MAX_STDOUT_LENGTH];
-    smpd_command_t *cmd;
-    int num_decoded = 0;
-    int first;
-    char prefix[20];
-    size_t prefix_length;
-    char *token;
-    SMPD_BOOL ends_in_cr = SMPD_FALSE;
-
-    smpd_enter_fn(FCNAME);
-
-    cmd = &context->read_cmd;
-    if (MPIU_Str_get_int_arg(cmd->cmd, "rank", &rank) != MPIU_STR_SUCCESS)
-    {
-	rank = -1;
-	smpd_err_printf("no rank in the stdout command: '%s'\n", cmd->cmd);
-    }
-    if (MPIU_Str_get_int_arg(cmd->cmd, "first", &first) != MPIU_STR_SUCCESS)
-    {
-	first = 0;
-	smpd_err_printf("no first flag in the stdout command: '%s'\n", cmd->cmd);
-    }
-    if (MPIU_Str_get_string_arg(cmd->cmd, "data", data, SMPD_MAX_STDOUT_LENGTH) == MPIU_STR_SUCCESS)
-    {
-	smpd_decode_buffer(data, data, SMPD_MAX_STDOUT_LENGTH, &num_decoded);
-	data[num_decoded] = '\0';
-	if (data[num_decoded-1] == '\n')
-	{
-	    ends_in_cr = SMPD_TRUE;
-	}
-	/*printf("[%d]", rank);*/
-	if (smpd_process.prefix_output == SMPD_TRUE)
-	{
-	    if (first)
-	    {
-		MPIU_Snprintf(prefix, 20, "[%d]", rank);
-		prefix_length = strlen(prefix);
-		write_to_stdout(prefix, prefix_length);
-	    }
-	    MPIU_Snprintf(prefix, 20, "\n[%d]", rank);
-	    prefix_length = strlen(prefix);
-	    token = strtok(data, "\r\n");
-	    while (token != NULL)
-	    {
-		write_to_stdout(token, strlen(token));
-		token = strtok(NULL, "\r\n");
-		if (token != NULL)
-		{
-		    write_to_stdout(prefix, prefix_length);
-		}
-		else
-		{
-		    if (ends_in_cr == SMPD_TRUE)
-		    {
-			write_to_stdout("\n", 1);
-		    }
-		}
-	    }
-	}
-	else
-	{
-	    write_to_stdout(data, num_decoded);
-	}
-    }
-    else
-    {
-	smpd_err_printf("unable to get the data from the stdout command: '%s'\n", cmd->cmd);
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "write_to_stderr"
-static int write_to_stderr(const char *buffer, size_t num_bytes)
-{
-#ifdef HAVE_WINDOWS_H
-    HANDLE hStderr;
-    DWORD num_written;
-
-    smpd_enter_fn(FCNAME);
-    /* MT - This should acquire the hLaunchProcessMutex so that it doesn't acquire a redirected handle. */
-    /* But since the code is not multi-threaded yet this doesn't matter */
-    hStderr = GetStdHandle(STD_ERROR_HANDLE);
-    WriteFile(hStderr, buffer, num_bytes, &num_written, NULL);
-#else
-    smpd_enter_fn(FCNAME);
-    fwrite(buffer, 1, num_bytes, stderr);
-    fflush(stdout);
-#endif
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_handle_stderr_command"
-int smpd_handle_stderr_command(smpd_context_t *context)
-{
-    int rank;
-    char data[SMPD_MAX_STDOUT_LENGTH];
-    smpd_command_t *cmd;
-    int num_decoded = 0;
-    int first;
-    char prefix[20];
-    size_t prefix_length;
-    char *token;
-    SMPD_BOOL ends_in_cr = SMPD_FALSE;
-
-    smpd_enter_fn(FCNAME);
-
-    cmd = &context->read_cmd;
-    if (MPIU_Str_get_int_arg(cmd->cmd, "rank", &rank) != MPIU_STR_SUCCESS)
-    {
-	rank = -1;
-	smpd_err_printf("no rank in the stderr command: '%s'\n", cmd->cmd);
-    }
-    if (MPIU_Str_get_int_arg(cmd->cmd, "first", &first) != MPIU_STR_SUCCESS)
-    {
-	first = 0;
-	smpd_err_printf("no first flag in the stderr command: '%s'\n", cmd->cmd);
-    }
-    if (MPIU_Str_get_string_arg(cmd->cmd, "data", data, SMPD_MAX_STDOUT_LENGTH) == MPIU_STR_SUCCESS)
-    {
-	smpd_decode_buffer(data, data, SMPD_MAX_STDOUT_LENGTH, &num_decoded);
-	data[num_decoded] = '\0';
-	if (data[num_decoded-1] == '\n')
-	{
-	    ends_in_cr = SMPD_TRUE;
-	}
-	/*fprintf(stderr, "[%d]", rank);*/
-	if (smpd_process.prefix_output == SMPD_TRUE)
-	{
-	    if (first)
-	    {
-		MPIU_Snprintf(prefix, 20, "[%d]", rank);
-		prefix_length = strlen(prefix);
-		write_to_stderr(prefix, prefix_length);
-	    }
-	    MPIU_Snprintf(prefix, 20, "\n[%d]", rank);
-	    prefix_length = strlen(prefix);
-	    token = strtok(data, "\r\n");
-	    while (token != NULL)
-	    {
-		write_to_stderr(token, strlen(token));
-		token = strtok(NULL, "\r\n");
-		if (token != NULL)
-		{
-		    write_to_stderr(prefix, prefix_length);
-		}
-		else
-		{
-		    write_to_stderr("\n", 1);
-		}
-	    }
-	}
-	else
-	{
-	    write_to_stderr(data, num_decoded);
-	}
-    }
-    else
-    {
-	smpd_err_printf("unable to get the data from the stderr command: '%s'\n", cmd->cmd);
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "create_process_group"
-static int create_process_group(int nproc, char *kvs_name, smpd_process_group_t **pg_pptr)
-{
-    int i;
-    smpd_process_group_t *pg;
-
-    smpd_enter_fn(FCNAME);
-
-    /* initialize a new process group structure */
-    pg = (smpd_process_group_t*)MPIU_Malloc(sizeof(smpd_process_group_t));
-    if (pg == NULL)
-    {
-	smpd_err_printf("unable to allocate memory for a process group structure.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    pg->aborted = SMPD_FALSE;
-    pg->any_init_received = SMPD_FALSE;
-    pg->any_noinit_process_exited = SMPD_FALSE;
-    strncpy(pg->kvs, kvs_name, SMPD_MAX_DBS_NAME_LEN);
-    pg->num_procs = nproc;
-    pg->processes = (smpd_exit_process_t*)MPIU_Malloc(nproc * sizeof(smpd_exit_process_t));
-    if (pg->processes == NULL)
-    {
-	smpd_err_printf("unable to allocate an array of %d process exit structures.\n", nproc);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    for (i=0; i<nproc; i++)
-    {
-	pg->processes[i].ctx_key[0] = '\0';
-	pg->processes[i].errmsg = NULL;
-	pg->processes[i].exitcode = -1;
-	pg->processes[i].exited = SMPD_FALSE;
-	pg->processes[i].finalize_called = SMPD_FALSE;
-	pg->processes[i].init_called = SMPD_FALSE;
-	pg->processes[i].suspended = SMPD_FALSE;
-	pg->processes[i].suspend_cmd = NULL;
-    }
-    /* add the process group to the global list */
-    pg->next = smpd_process.pg_list;
-    smpd_process.pg_list = pg;
-    *pg_pptr = pg;
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_launch_processes"
-int smpd_launch_processes(smpd_launch_node_t *launch_list, char *kvs_name, char *domain_name, smpd_spawn_context_t *spawn_context)
-{
-    int result;
-    smpd_command_t *cmd_ptr;
-    smpd_launch_node_t *launch_node_ptr, *launch_iter;
-    smpd_map_drive_node_t *map_iter;
-    char drive_arg_str[20];
-    char drive_map_str[SMPD_MAX_EXE_LENGTH];
-    smpd_process_group_t *pg;
-    int i;
-
-    smpd_enter_fn(FCNAME);
-
-    launch_node_ptr = launch_list;
-    smpd_dbg_printf("creating a process group of size %d on node %d called %s\n", launch_node_ptr->nproc, smpd_process.id, kvs_name);
-    result = create_process_group(launch_list->nproc, kvs_name, &pg);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create a process group.\n");
-	goto launch_failure;
-    }
-    launch_iter = launch_node_ptr;
-    for (i=0; i<launch_node_ptr->nproc; i++)
-    {
-	if (launch_iter == NULL)
-	{
-	    smpd_err_printf("number of launch nodes does not match number of processes: %d < %d\n", i, launch_node_ptr->nproc);
-	    goto launch_failure;
-	} 
-	pg->processes[launch_iter->iproc].node_id = launch_iter->host_id;
-	MPIU_Strncpy(pg->processes[launch_iter->iproc].host, launch_iter->hostname, SMPD_MAX_HOST_LENGTH);
-	launch_iter = launch_iter->next;
-    }
-
-    /* launch the processes */
-    smpd_dbg_printf("launching the processes.\n");
-    launch_node_ptr = launch_list;
-    while (launch_node_ptr)
-    {
-	/* create the launch command */
-	result = smpd_create_command("launch", 0, 
-	    launch_node_ptr->host_id,
-	    SMPD_TRUE, &cmd_ptr);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to create a launch command.\n");
-	    goto launch_failure;
-	}
-	result = smpd_add_command_arg(cmd_ptr, "c", launch_node_ptr->exe);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add the command line to the launch command: '%s'\n", launch_node_ptr->exe);
-	    goto launch_failure;
-	}
-	result = smpd_add_command_int_arg(cmd_ptr, "s", spawn_context ? 1 : 0);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add the spawn flag to the launch command: '%s'\n", launch_node_ptr->exe);
-	    goto launch_failure;
-	}
-	result = smpd_add_command_int_arg(cmd_ptr, "a", launch_node_ptr->appnum);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add the application number to the launch command: '%s'\n", launch_node_ptr->exe);
-	    goto launch_failure;
-	}
-	if (launch_node_ptr->env[0] != '\0')
-	{
-	    result = smpd_add_command_arg(cmd_ptr, "e", launch_node_ptr->env);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to add the environment variables to the launch command: '%s'\n", launch_node_ptr->env);
-		goto launch_failure;
-	    }
-	}
-	if (launch_node_ptr->dir[0] != '\0')
-	{
-	    result = smpd_add_command_arg(cmd_ptr, "d", launch_node_ptr->dir);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to add the working directory to the launch command: '%s'\n", launch_node_ptr->dir);
-		goto launch_failure;
-	    }
-	}
-	if (launch_node_ptr->path[0] != '\0')
-	{
-	    result = smpd_add_command_arg(cmd_ptr, "p", launch_node_ptr->path);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to add the search path to the launch command: '%s'\n", launch_node_ptr->path);
-		goto launch_failure;
-	    }
-	}
-	if (launch_node_ptr->clique[0] != '\0')
-	{
-	    result = smpd_add_command_arg(cmd_ptr, "q", launch_node_ptr->clique);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to add the clique string to the launch command: '%s'\n", launch_node_ptr->clique);
-		goto launch_failure;
-	    }
-	}
-	/*printf("creating launch command for rank %d\n", launch_node_ptr->iproc);*/
-	result = smpd_add_command_int_arg(cmd_ptr, "i", launch_node_ptr->iproc);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add the rank to the launch command: %d\n", launch_node_ptr->iproc);
-	    goto launch_failure;
-	}
-	result = smpd_add_command_int_arg(cmd_ptr, "n", launch_node_ptr->nproc);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add the nproc field to the launch command: %d\n", launch_node_ptr->nproc);
-	    goto launch_failure;
-	}
-	result = smpd_add_command_arg(cmd_ptr, "k", kvs_name);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add the kvs name('%s') to the launch command\n", kvs_name);
-	    goto launch_failure;
-	}
-	result = smpd_add_command_arg(cmd_ptr, "kd", domain_name);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add the domain name('%s') to the launch command\n", domain_name);
-	    goto launch_failure;
-	}
-#ifdef HAVE_WINDOWS_H
-    if(smpd_process.set_affinity)
-    {
-        result = smpd_add_command_int_arg(cmd_ptr, "af", 1);
-        if(result != SMPD_SUCCESS)
-        {
-            smpd_err_printf("Unable to add the affinity flag to the launch command\n");
-            goto launch_failure;
-        }
-        if(launch_node_ptr->binding_proc != -1){
-            result = smpd_add_command_int_arg(cmd_ptr, "afp", launch_node_ptr->binding_proc);
-            if(result != SMPD_SUCCESS)
-            {
-                smpd_err_printf("Unable to add the binding proc to the launch command\n");
-                goto launch_failure;
-            }
-        }
-    }
-#endif
-	if (launch_node_ptr->priority_class != SMPD_DEFAULT_PRIORITY_CLASS)
-	{
-	    result = smpd_add_command_int_arg(cmd_ptr, "pc", launch_node_ptr->priority_class);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to add the priority class field to the launch command: %d\n", launch_node_ptr->priority_class);
-		goto launch_failure;
-	    }
-	}
-	if (launch_node_ptr->priority_thread != SMPD_DEFAULT_PRIORITY)
-	{
-	    result = smpd_add_command_int_arg(cmd_ptr, "pt", launch_node_ptr->priority_thread);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to add the priority field to the launch command: %d\n", launch_node_ptr->priority_thread);
-		goto launch_failure;
-	    }
-	}
-	map_iter = launch_node_ptr->map_list;
-	i = 0;
-	while (map_iter)
-	{
-	    i++;
-	    map_iter = map_iter->next;
-	}
-	if (i > 0)
-	{
-	    result = smpd_add_command_int_arg(cmd_ptr, "mn", i);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to add the drive mapping arg to the launch command: 'mn=%d'\n", i);
-		goto launch_failure;
-	    }
-	}
-	map_iter = launch_node_ptr->map_list;
-	i = 0;
-	while (map_iter)
-	{
-	    sprintf(drive_arg_str, "m%d", i);
-	    i++;
-	    sprintf(drive_map_str, "%c:%s", map_iter->drive, map_iter->share);
-	    result = smpd_add_command_arg(cmd_ptr, drive_arg_str, drive_map_str);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to add the drive mapping to the launch command: '%s'\n", drive_map_str);
-		goto launch_failure;
-	    }
-	    map_iter = map_iter->next;
-	}
-
-	/* send the launch command */
-	result = smpd_post_write_command(smpd_process.left_context, cmd_ptr);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a write for the launch command:\n id: %d\n rank: %d\n cmd: '%s'\n",
-		launch_node_ptr->host_id, launch_node_ptr->iproc, launch_node_ptr->exe);
-	    goto launch_failure;
-	}
-
-	/* increment the number of launched processes */
-	smpd_process.nproc++;
-	if (spawn_context)
-	    spawn_context->num_outstanding_launch_cmds++;
-
-	/* move to the next node */
-	launch_node_ptr = launch_node_ptr->next;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-launch_failure:
-    smpd_exit_fn(FCNAME);
-    return SMPD_FAIL;
-}
-
-#ifdef HAVE_WINDOWS_H
-#undef FCNAME
-#define FCNAME "smpd_add_pmi_env_to_procs"
-int smpd_add_pmi_env_to_procs(smpd_launch_node_t *head, char *hostname, int port, char *kvs_name, char *domain_name)
-{
-    int len, result;
-    errno_t ret_errno;
-    char *env_str, env_int_str[SMPD_MAX_INT_LENGTH], port_str[SMPD_MAX_INT_LENGTH];
-    smpd_enter_fn(FCNAME);
-    if((head == NULL) || (hostname == NULL) || (port <= 0) || (kvs_name == NULL) || (domain_name == NULL)){
-        smpd_err_printf("ERROR: Invalid args for adding pmi env to procs\n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-    
-    ret_errno = _itoa_s(port, port_str, SMPD_MAX_INT_LENGTH, 10);
-    if(ret_errno != 0){
-        smpd_err_printf("ERROR: Unable to convert port (%d) to string\n", port);
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-
-    while(head){
-        /* len => len of env string */
-        len = strlen(head->env_data);
-        head->env_data[len] = ' ';
-        env_str = &(head->env_data[len])+1;
-        /* len => remaining len in env string */
-        len = SMPD_MAX_ENV_LENGTH - len - 1;
-        result = MPIU_Str_add_string_arg(&env_str, &len, "PMI_HOST", hostname);
-        if(result != MPIU_STR_SUCCESS){
-            smpd_err_printf("ERROR: Unable to add PMI host to launch node\n");
-            smpd_exit_fn(FCNAME);
-            return SMPD_FAIL;
-        }
-        result = MPIU_Str_add_string_arg(&env_str, &len, "PMI_ROOT_HOST", hostname);
-        if(result != MPIU_STR_SUCCESS){
-            smpd_err_printf("ERROR: Unable to add PMI root host to launch node\n");
-            smpd_exit_fn(FCNAME);
-            return SMPD_FAIL;
-        }
-        result = MPIU_Str_add_string_arg(&env_str, &len, "PMI_PORT", port_str);
-        if(result != MPIU_STR_SUCCESS){
-            smpd_err_printf("ERROR: Unable to add PMI port to launch node\n");
-            smpd_exit_fn(FCNAME);
-            return SMPD_FAIL;
-        }
-        result = MPIU_Str_add_string_arg(&env_str, &len, "PMI_ROOT_PORT", port_str);
-        if(result != MPIU_STR_SUCCESS){
-            smpd_err_printf("ERROR: Unable to add PMI root port to launch node\n");
-            smpd_exit_fn(FCNAME);
-            return SMPD_FAIL;
-        }
-        result = MPIU_Str_add_string_arg(&env_str, &len, "PMI_KVS", kvs_name);
-        if(result != MPIU_STR_SUCCESS){
-            smpd_err_printf("ERROR: Unable to add PMI kvs name to launch node\n");
-            smpd_exit_fn(FCNAME);
-            return SMPD_FAIL;
-        }
-        result = MPIU_Str_add_string_arg(&env_str, &len, "PMI_DOMAIN", domain_name);
-        if(result != MPIU_STR_SUCCESS){
-            smpd_err_printf("ERROR: Unable to add PMI domain name to launch node\n");
-            smpd_exit_fn(FCNAME);
-            return SMPD_FAIL;
-        }
-
-        ret_errno = _itoa_s(head->nproc, env_int_str, SMPD_MAX_INT_LENGTH, 10);
-        if(ret_errno != 0){
-            smpd_err_printf("ERROR: Unable to convert nproc (%d) to string\n", head->nproc);
-            smpd_exit_fn(FCNAME);
-            return SMPD_FAIL;
-        }
-        result = MPIU_Str_add_string_arg(&env_str, &len, "PMI_SIZE", env_int_str);
-        if(result != MPIU_STR_SUCCESS){
-            smpd_err_printf("ERROR: Unable to add PMI size for MPI process\n");
-            smpd_exit_fn(FCNAME);
-            return SMPD_FAIL;
-        }
-        ret_errno = _itoa_s(head->iproc, env_int_str, SMPD_MAX_INT_LENGTH, 10);
-        if(ret_errno != 0){
-            smpd_err_printf("ERROR: Unable to convert iproc (%d) to string\n", head->iproc);
-            smpd_exit_fn(FCNAME);
-            return SMPD_FAIL;
-        }
-        result = MPIU_Str_add_string_arg(&env_str, &len, "PMI_RANK", env_int_str);
-        if(result != MPIU_STR_SUCCESS){
-            smpd_err_printf("ERROR: Unable to add PMI rank for MPI process\n");
-            smpd_exit_fn(FCNAME);
-            return SMPD_FAIL;
-        }
-
-        smpd_dbg_printf("ENV(%s) = %s\n", head->hostname, head->env_data);
-        head = head->next;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-#endif
-
-#undef FCNAME
-#define FCNAME "smpd_handle_result"
-int smpd_handle_result(smpd_context_t *context)
-{
-    int result, ret_val;
-    char str[SMPD_MAX_CMD_LENGTH];
-    char err_msg[SMPD_MAX_ERROR_LEN];
-    smpd_command_t *iter, *trailer, *cmd_ptr;
-    int match_tag;
-    char ctx_key[100];
-    int process_id;
-    smpd_context_t *pmi_context;
-    smpd_process_t *piter;
-    int rank;
-    SMPDU_Sock_t insock;
-    SMPDU_SOCK_NATIVE_FD stdin_fd;
-    smpd_context_t *context_in;
-#ifdef HAVE_WINDOWS_H
-    DWORD dwThreadID;
-    SOCKET hWrite;
-#endif
-#ifdef USE_PTHREAD_STDIN_REDIRECTION
-    int fd[2];
-#endif
-    char pg_id[SMPD_MAX_DBS_NAME_LEN+1] = "";
-    char pg_ctx[100] = "";
-    int pg_rank = -1;
-    smpd_process_group_t *pg;
-    char host_description[256];
-    int listener_port;
-    char context_str[20];
-    smpd_context_t *orig_context;
-    int num_decoded;
-
-    smpd_enter_fn(FCNAME);
-
-    if (context->type != SMPD_CONTEXT_PMI && MPIU_Str_get_string_arg(context->read_cmd.cmd, "ctx_key", ctx_key, 100) == MPIU_STR_SUCCESS)
-    {
-	process_id = atoi(ctx_key);
-	smpd_dbg_printf("forwarding the dbs result command to the pmi context %d.\n", process_id);
-	pmi_context = NULL;
-	piter = smpd_process.process_list;
-	while (piter)
-	{
-	    if (piter->id == process_id)
-	    {
-		pmi_context = piter->pmi;
-		break;
-	    }
-	    piter = piter->next;
-	}
-	if (pmi_context == NULL)
-	{
-	    smpd_err_printf("received dbs result for a pmi context that doesn't exist: unmatched id = %d\n", process_id);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_SUCCESS;
-	}
-
-	result = smpd_forward_command(context, pmi_context);
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-
-    if (MPIU_Str_get_int_arg(context->read_cmd.cmd, "cmd_tag", &match_tag) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("result command received without a cmd_tag field: '%s'\n", context->read_cmd.cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    trailer = iter = context->wait_list;
-    while (iter)
-    {
-	if (iter->tag == match_tag)
-	{
-	    ret_val = SMPD_SUCCESS;
-	    if (MPIU_Str_get_string_arg(context->read_cmd.cmd, "result", str, SMPD_MAX_CMD_LENGTH) == MPIU_STR_SUCCESS)
-	    {
-		if (strcmp(iter->cmd_str, "connect") == 0)
-		{
-		    if (strcmp(str, SMPD_SUCCESS_STR) == 0)
-		    {
-			ret_val = SMPD_CONNECTED;
-			switch (context->state)
-			{
-			case SMPD_MPIEXEC_CONNECTING_TREE:
-			    smpd_dbg_printf("successful connect, state: connecting tree.\n");
-			    {
-				smpd_host_node_t *host_node_iter;
-				/* find the host node that this connect command was issued for and set the connect_to variable to to point to it */
-				host_node_iter = smpd_process.host_list;
-				context->connect_to = NULL;
-				while (host_node_iter != NULL)
-				{
-				    if (host_node_iter->connect_cmd_tag == match_tag)
-				    {
-					context->connect_to = host_node_iter;
-					break;
-				    }
-				    host_node_iter = host_node_iter->next;
-				}
-			    }
-			    break;
-			case SMPD_MPIEXEC_CONNECTING_SMPD:
-			    smpd_dbg_printf("successful connect, state: connecting smpd.\n");
-			    break;
-			case SMPD_CONNECTING:
-			    smpd_dbg_printf("successful connect, state: connecting.\n");
-			    break;
-			default:
-			    break;
-			}
-		    }
-		    else
-		    {
-			smpd_err_printf("connect failed: %s\n", str);
-			ret_val = SMPD_ABORT;
-		    }
-		}
-		else if (strcmp(iter->cmd_str, "launch") == 0)
-		{
-		    smpd_process.nproc_launched++;
-		    if (strcmp(str, SMPD_SUCCESS_STR) == 0)
-		    {
-            char wMsg[256];
-			MPIU_Str_get_string_arg(context->read_cmd.cmd, "pg_id", pg_id, SMPD_MAX_DBS_NAME_LEN);
-			MPIU_Str_get_int_arg(context->read_cmd.cmd, "pg_rank", &pg_rank);
-			MPIU_Str_get_string_arg(context->read_cmd.cmd, "pg_ctx", pg_ctx, 100);
-            result = MPIU_Str_get_string_arg(context->read_cmd.cmd, "warning", wMsg, 256);
-            if(result == SMPD_SUCCESS){
-                smpd_err_printf("*********** Warning ************\n");
-                smpd_err_printf("%s\n", wMsg);
-                smpd_err_printf("*********** Warning ************\n");
-            }
-			pg = smpd_process.pg_list;
-			while (pg)
-			{
-			    if (strcmp(pg->kvs, pg_id) == 0)
-			    {
-				MPIU_Strncpy(pg->processes[pg_rank].ctx_key, pg_ctx, 100);
-				break;
-			    }
-			    pg = pg->next;
-			}
-			if (context->spawn_context)
-			{
-			    smpd_dbg_printf("successfully spawned: '%s'\n", iter->cmd);
-			    /*printf("successfully spawned: '%s'\n", iter->cmd);fflush(stdout);*/
-			    context->spawn_context->num_outstanding_launch_cmds--;
-			    smpd_dbg_printf("%d outstanding spawns.\n", context->spawn_context->num_outstanding_launch_cmds);
-			    if (context->spawn_context->num_outstanding_launch_cmds == 0)
-			    {
-				/* add the result string */
-				result = smpd_add_command_arg(context->spawn_context->result_cmd, "result", SMPD_SUCCESS_STR);
-				if (result != SMPD_SUCCESS)
-				{
-				    smpd_err_printf("unable to add the result string to the result command.\n");
-				    smpd_exit_fn(FCNAME);
-				    return result;
-				}
-				/* send the spawn result command */
-				result = smpd_post_write_command(context, context->spawn_context->result_cmd);
-				if (result != SMPD_SUCCESS)
-				{
-				    smpd_err_printf("unable to post a write of the spawn result command.\n");
-				    smpd_exit_fn(FCNAME);
-				    return result;
-				}
-
-				smpd_process.spawning = SMPD_FALSE;
-				result = smpd_handle_delayed_spawn_command();
-				if (result != SMPD_SUCCESS)
-				{
-				    smpd_err_printf("An error occurred handling delayed spawn commands.\n");
-				    smpd_exit_fn(FCNAME);
-				    return result;
-				}
-			    }
-			}
-			else
-			{
-			    smpd_dbg_printf("successfully launched: '%s'\n", iter->cmd);
-			    if (!smpd_process.stdin_redirecting)
-			    {
-				rank = 0;
-				MPIU_Str_get_int_arg(iter->cmd, "i", &rank);
-				if (rank == 0)
-				{
-				    smpd_dbg_printf("root process launched, starting stdin redirection.\n");
-				    /* get a handle to stdin */
-#ifdef HAVE_WINDOWS_H
-				    result = smpd_make_socket_loop((SOCKET*)&stdin_fd, &hWrite);
-				    if (result)
-				    {
-					smpd_err_printf("Unable to make a local socket loop to forward stdin.\n");
-					smpd_exit_fn(FCNAME);
-					return SMPD_FAIL;
-				    }
-#elif defined(USE_PTHREAD_STDIN_REDIRECTION)
-				    socketpair(AF_UNIX, SOCK_STREAM, 0, fd);
-				    smpd_process.stdin_read = fd[0];
-				    smpd_process.stdin_write = fd[1];
-				    stdin_fd = fd[0];
-#else
-				    stdin_fd = fileno(stdin);
-#endif
-
-				    /* convert the native handle to a sock */
-				    /*printf("stdin native sock %d\n", stdin_fd);fflush(stdout);*/
-				    result = SMPDU_Sock_native_to_sock(smpd_process.set, stdin_fd, NULL, &insock);
-				    if (result != SMPD_SUCCESS)
-				    {
-					smpd_err_printf("unable to create a sock from stdin,\nsock error: %s\n", get_sock_error_string(result));
-					smpd_exit_fn(FCNAME);
-					return SMPD_FAIL;
-				    }
-				    /* create a context for reading from stdin */
-				    result = smpd_create_context(SMPD_CONTEXT_MPIEXEC_STDIN, smpd_process.set, insock, -1, &context_in);
-				    if (result != SMPD_SUCCESS)
-				    {
-					smpd_err_printf("unable to create a context for stdin.\n");
-					smpd_exit_fn(FCNAME);
-					return SMPD_FAIL;
-				    }
-				    SMPDU_Sock_set_user_ptr(insock, context_in);
-
-#ifdef HAVE_WINDOWS_H
-				    /* unfortunately, we cannot use stdin directly as a sock.  So, use a thread to read and forward
-				    stdin to a sock */
-				    smpd_process.hCloseStdinThreadEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
-				    if (smpd_process.hCloseStdinThreadEvent == NULL)
-				    {
-					smpd_err_printf("Unable to create the stdin thread close event, error %d\n", GetLastError());
-					smpd_exit_fn(FCNAME);
-					return SMPD_FAIL;
-				    }
-				    smpd_process.hStdinThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)smpd_stdin_thread, (void*)hWrite, 0, &dwThreadID);
-				    if (smpd_process.hStdinThread == NULL)
-				    {
-					smpd_err_printf("Unable to create a thread to read stdin, error %d\n", GetLastError());
-					smpd_exit_fn(FCNAME);
-					return SMPD_FAIL;
-				    }
-#elif defined(USE_PTHREAD_STDIN_REDIRECTION)
-				    if (pthread_create(&smpd_process.stdin_thread, NULL, smpd_pthread_stdin_thread, NULL) != 0)
-				    {
-					smpd_err_printf("Unable to create a thread to read stdin, error %d\n", errno);
-					smpd_exit_fn(FCNAME);
-					return SMPD_FAIL;
-				    }
-				    /*pthread_detach(smpd_process.stdin_thread);*/
-#endif
-				    /* set this variable first before posting the first read to avoid a race condition? */
-				    smpd_process.stdin_redirecting = SMPD_TRUE;
-				    /* post a read for a user command from stdin */
-				    context_in->read_state = SMPD_READING_STDIN;
-				    result = SMPDU_Sock_post_read(insock, context_in->read_cmd.cmd, 1, 1, NULL);
-				    if (result != SMPD_SUCCESS)
-				    {
-					smpd_err_printf("unable to post a read on stdin for an incoming user command, error:\n%s\n",
-					    get_sock_error_string(result));
-					smpd_exit_fn(FCNAME);
-					return SMPD_FAIL;
-				    }
-				}
-			    }
-			}
-			if (pg && pg->processes[pg_rank].suspend_cmd != NULL)
-			{
-			    /* send the delayed suspend command */
-			    result = smpd_post_write_command(context, pg->processes[pg_rank].suspend_cmd);
-			    if (result != SMPD_SUCCESS)
-			    {
-				smpd_err_printf("unable to post a write of the suspend command.\n");
-				smpd_exit_fn(FCNAME);
-				return result;
-			    }
-			}
-		    }
-		    else
-		    {
-			/* FIXME: We shouldn't abort if a process fails to launch as part of a spawn command */
-			smpd_process.nproc_exited++;
-            smpd_process.mpiexec_exit_code = -1;
-			if (MPIU_Str_get_string_arg(context->read_cmd.cmd, "error", err_msg, SMPD_MAX_ERROR_LEN) == MPIU_STR_SUCCESS)
-			{
-			    smpd_err_printf("launch failed: %s\n", err_msg);
-			}
-			else
-			{
-			    smpd_err_printf("launch failed: %s\n", str);
-			}
-			ret_val = SMPD_ABORT;
-		    }
-		}
-		else if (strcmp(iter->cmd_str, "start_dbs") == 0)
-		{
-		    if (strcmp(str, SMPD_SUCCESS_STR) == 0)
-		    {
-			if (context->spawn_context)
-			{
-			    if (MPIU_Str_get_string_arg(context->read_cmd.cmd, "kvs_name", context->spawn_context->kvs_name, SMPD_MAX_DBS_NAME_LEN) == MPIU_STR_SUCCESS)
-			    {
-				if (MPIU_Str_get_string_arg(context->read_cmd.cmd, "domain_name", context->spawn_context->domain_name, SMPD_MAX_DBS_NAME_LEN) == MPIU_STR_SUCCESS)
-				{
-				    smpd_dbg_printf("start_dbs succeeded, kvs_name: '%s', domain_name: '%s'\n", context->spawn_context->kvs_name, context->spawn_context->domain_name);
-				    ret_val = smpd_launch_processes(context->spawn_context->launch_list, context->spawn_context->kvs_name, context->spawn_context->domain_name, context->spawn_context);
-				}
-				else
-				{
-				    smpd_err_printf("invalid start_dbs result returned, no domain_name specified: '%s'\n", context->read_cmd.cmd);
-				    ret_val = SMPD_FAIL;
-				}
-			    }
-			    else
-			    {
-				smpd_err_printf("invalid start_dbs result returned, no kvs_name specified: '%s'\n", context->read_cmd.cmd);
-				ret_val = SMPD_FAIL;
-			    }
-			}
-			else
-			{
-			    if (MPIU_Str_get_string_arg(context->read_cmd.cmd, "kvs_name", smpd_process.kvs_name, SMPD_MAX_DBS_NAME_LEN) == MPIU_STR_SUCCESS)
-			    {
-				if (MPIU_Str_get_string_arg(context->read_cmd.cmd, "domain_name", smpd_process.domain_name, SMPD_MAX_DBS_NAME_LEN) == MPIU_STR_SUCCESS)
-				{
-				    smpd_dbg_printf("start_dbs succeeded, kvs_name: '%s', domain_name: '%s'\n", smpd_process.kvs_name, smpd_process.domain_name);
-                    if ((smpd_process.launch_list != NULL) && (!smpd_process.use_ms_hpc))
-				    {
-					ret_val = smpd_launch_processes(smpd_process.launch_list, smpd_process.kvs_name, smpd_process.domain_name, NULL);
-				    }
-                    else
-				    {
-					/* mpiexec connected to an smpd without any processes to launch. 
-                     * This means it is running -pmiserver 
-                     */
-					create_process_group(smpd_process.nproc, smpd_process.kvs_name, &pg);
-					result = smpd_create_command("pmi_listen", 0, 1, SMPD_TRUE, &cmd_ptr);
-					if (result == SMPD_SUCCESS)
-					{
-					    result = smpd_add_command_int_arg(cmd_ptr, "nproc", smpd_process.nproc);
-					    if (result == SMPD_SUCCESS)
-					    {
-						result = smpd_post_write_command(smpd_process.left_context, cmd_ptr);
-						if (result != SMPD_SUCCESS)
-						{
-						    smpd_err_printf("unable to post a write for the pmi_listen command\n");
-						    ret_val = SMPD_FAIL;
-						}
-					    }
-					    else
-					    {
-						smpd_err_printf("unable to add the nproc to the pmi_listen command\n");
-						ret_val = SMPD_FAIL;
-					    }
-					}
-					else
-					{
-					    smpd_err_printf("unable to create a pmi_listen command.\n");
-					    ret_val = SMPD_FAIL;
-					}
-				    }
-				}
-				else
-				{
-				    smpd_err_printf("invalid start_dbs result returned, no domain_name specified: '%s'\n", context->read_cmd.cmd);
-				    ret_val = SMPD_FAIL;
-				}
-			    }
-			    else
-			    {
-				smpd_err_printf("invalid start_dbs result returned, no kvs_name specified: '%s'\n", context->read_cmd.cmd);
-				ret_val = SMPD_FAIL;
-			    }
-			}
-		    }
-		    else
-		    {
-			smpd_err_printf("start_dbs failed: %s\n", str);
-			ret_val = SMPD_ABORT;
-		    }
-		}
-		else if (strcmp(iter->cmd_str, "pmi_listen") == 0)
-		{
-		    MPIU_Str_get_string_arg(context->read_cmd.cmd, "host_description", host_description, 256);
-		    MPIU_Str_get_int_arg(context->read_cmd.cmd, "listener_port", &listener_port);
-            /* SINGLETON: If no port to connect back print this information else connect to the port 
-             * and execute the SINGLETON INIT protocol 
-             */
-            if(smpd_process.singleton_client_port > 0){
-                smpd_context_t *p_singleton_mpiexec_context;
-                char connect_to_host[SMPD_SINGLETON_MAX_HOST_NAME_LEN];
-                /* Create a context */
-                result = smpd_create_context(SMPD_CONTEXT_SINGLETON_INIT_MPIEXEC, context->set, 
-                                            SMPDU_SOCK_INVALID_SOCK, -1, &p_singleton_mpiexec_context);
-                if(result != SMPD_SUCCESS){
-                    context->state = SMPD_DONE;
-                    smpd_err_printf("smpd_create_context failed, error = %d\n", result);
-                    return SMPD_FAIL;
-                }
-
-                p_singleton_mpiexec_context->state = SMPD_SINGLETON_MPIEXEC_CONNECTING;
-                p_singleton_mpiexec_context->singleton_init_pm_port = listener_port;
-                strncpy(p_singleton_mpiexec_context->singleton_init_hostname, host_description, 
-                        SMPD_SINGLETON_MAX_HOST_NAME_LEN);
-                strncpy(p_singleton_mpiexec_context->singleton_init_kvsname, smpd_process.kvs_name,
-                        SMPD_SINGLETON_MAX_KVS_NAME_LEN);
-                strncpy(p_singleton_mpiexec_context->singleton_init_domainname, smpd_process.domain_name,
-                        SMPD_SINGLETON_MAX_KVS_NAME_LEN);
-                /* Post a connect */
-                /* FIXME : mismatch btw size of connect_to->host and max host name len */
-                result = get_hostname(connect_to_host, SMPD_SINGLETON_MAX_HOST_NAME_LEN);
-                if(result != SMPD_SUCCESS){
-                    context->state = SMPD_DONE;
-                    smpd_err_printf("gethostname failed, error = %d\n", result);
-                    result = smpd_free_context(p_singleton_mpiexec_context);
-                    if(result != SMPD_SUCCESS){ 
-                        smpd_err_printf("smpd_free_context failed, error = %d\n", result);
-                    }
-                    return SMPD_FAIL;
-                }
-                result = SMPDU_Sock_post_connect(context->set, p_singleton_mpiexec_context,
-                                                    connect_to_host,
-                                                    smpd_process.singleton_client_port,
-                                                    &p_singleton_mpiexec_context->sock);
-                if(result != SMPD_SUCCESS){
-                    context->state = SMPD_DONE;
-                    smpd_err_printf("SMPDU_Sock_post_connect failed, error = %s\n", get_sock_error_string(result));
-                    result = smpd_free_context(p_singleton_mpiexec_context);
-                    if(result != SMPD_SUCCESS){ 
-                        smpd_err_printf("smpd_free_context failed, error = %d\n", result);
-                    }
-                    return SMPD_FAIL;
-                }
-                ret_val = SMPD_SUCCESS;
-            }
-#ifdef HAVE_WINDOWS_H /* Define MS HPC launching only for windows systems */
-            else if(smpd_process.use_ms_hpc){
-                smpd_hpc_js_handle_t js_hnd;
-                /* Launch the procs using MS HPC job scheduler */
-                smpd_dbg_printf("PMI_ROOT_HOST=%s\nPMI_ROOT_PORT=%d\nPMI_KVS=%s\nPMI_DOMAIN=%s\n", host_description, listener_port, smpd_process.kvs_name, smpd_process.domain_name);
-                result = smpd_add_pmi_env_to_procs(smpd_process.launch_list, host_description, listener_port, smpd_process.kvs_name, smpd_process.domain_name);
-                if(result != SMPD_SUCCESS){
-                    smpd_err_printf("Unable to add PMI environment to procs to be launched with MS hpc\n");
-                    smpd_exit_fn(FCNAME);
-                    return SMPD_FAIL;
-                }
-                /* Initialize MS HPC Resource management kernel & bootstrap manager
-                 */
-                result = smpd_hpc_js_rmk_init(&js_hnd);
-                if(result != SMPD_SUCCESS){
-                    smpd_err_printf("Unable to initialize MS HPC Resource management kernel\n");
-                    smpd_exit_fn(FCNAME);
-                    return SMPD_FAIL;
-                }
-
-                result = smpd_hpc_js_bs_init(js_hnd);
-                if(result != SMPD_SUCCESS){
-                    smpd_err_printf("Unable to initialize MS HPC Bootstrap manager\n");
-                    smpd_hpc_js_rmk_finalize(&js_hnd);
-                    smpd_exit_fn(FCNAME);
-                    return SMPD_FAIL;
-                }
-
-                /* Allocate nodes using the RM */
-                result = smpd_hpc_js_rmk_alloc_nodes(js_hnd, smpd_process.launch_list);
-                if(result != SMPD_SUCCESS){
-                    smpd_err_printf("Unable to allocate nodes using MS HPC Resource manager\n");
-                    smpd_hpc_js_bs_finalize(js_hnd);
-                    smpd_hpc_js_rmk_finalize(&js_hnd);
-                    smpd_exit_fn(FCNAME);
-                    return SMPD_FAIL;
-                }
-
-                /* Launch procs using the BSS */
-                result = smpd_hpc_js_bs_launch_procs(js_hnd, smpd_process.launch_list);
-                if(result != SMPD_SUCCESS){
-                    smpd_err_printf("Unable to launch procs using MS HPC Resource manager\n");
-                    smpd_hpc_js_bs_finalize(js_hnd);
-                    smpd_hpc_js_rmk_finalize(&js_hnd);
-                    smpd_exit_fn(FCNAME);
-                    return SMPD_FAIL;
-                }
-
-                smpd_hpc_js_bs_finalize(js_hnd);
-                smpd_hpc_js_rmk_finalize(&js_hnd);
-                ret_val = SMPD_SUCCESS;
-            }
-#endif /* HAVE_WINDOWS_H */
-            else{
-                printf("PMI_ROOT_HOST=%s\nPMI_ROOT_PORT=%d\nPMI_KVS=%s\nPMI_DOMAIN=%s\n", host_description, listener_port, smpd_process.kvs_name, smpd_process.domain_name);
-            }
-		    /*printf("%s %d %s\n", smpd_process.host_list->host, smpd_process.port, smpd_process.kvs_name);*/
-		    fflush(stdout);
-		}
-        else if (strcmp(iter->cmd_str, "proc_info") == 0){
-            smpd_dbg_printf("%s command result = %s\n", iter->cmd_str, str);
-            ret_val = SMPD_DBS_RETURN;
-        }
-		else if (strcmp(iter->cmd_str, "spawn") == 0)
-		{
-		    smpd_dbg_printf("%s command result = %s\n", iter->cmd_str, str);
-		    ret_val = SMPD_DBS_RETURN;
-		}
-		else if (iter->cmd_str[0] == 'd' && iter->cmd_str[1] == 'b')
-		{
-		    smpd_dbg_printf("%s command result = %s\n", iter->cmd_str, str);
-		    ret_val = SMPD_DBS_RETURN;
-		}
-		else if ((strcmp(iter->cmd_str, "init") == 0) || (strcmp(iter->cmd_str, "finalize") == 0))
-		{
-		    smpd_dbg_printf("%s command result = %s\n", iter->cmd_str, str);
-		    ret_val = SMPD_DBS_RETURN;
-		}
-		else if (strcmp(iter->cmd_str, "barrier") == 0)
-		{
-		    smpd_dbg_printf("%s command result = %s\n", iter->cmd_str, str);
-		    ret_val = SMPD_DBS_RETURN;
-		}
-		else if (strcmp(iter->cmd_str, "validate") == 0)
-		{
-		    /* print the result of the validate command */
-		    printf("%s\n", str);
-		    /* close the session */
-		    ret_val = smpd_create_command("done", smpd_process.id, context->id, SMPD_FALSE, &cmd_ptr);
-		    if (ret_val == SMPD_SUCCESS)
-		    {
-			ret_val = smpd_post_write_command(context, cmd_ptr);
-			if (ret_val == SMPD_SUCCESS)
-			{
-			    ret_val = SMPD_CLOSE;
-			}
-			else
-			{
-			    smpd_err_printf("unable to post a write of a done command.\n");
-			}
-		    }
-		    else
-		    {
-			smpd_err_printf("unable to create a done command.\n");
-		    }
-		}
-		else if (strcmp(iter->cmd_str, "status") == 0)
-		{
-		    /* print the result of the status command */
-		    printf("smpd running on %s\n", smpd_process.console_host);
-		    if (strcmp(str, "none"))
-		    {
-			printf("dynamic hosts: %s\n", str);
-		    }
-		    ret_val = smpd_create_command("done", smpd_process.id, context->id, SMPD_FALSE, &cmd_ptr);
-		    if (ret_val == SMPD_SUCCESS)
-		    {
-			ret_val = smpd_post_write_command(context, cmd_ptr);
-			if (ret_val == SMPD_SUCCESS)
-			{
-			    ret_val = SMPD_CLOSE;
-			}
-			else
-			{
-			    smpd_err_printf("unable to post a write of a done command.\n");
-			}
-		    }
-		    else
-		    {
-			smpd_err_printf("unable to create a done command.\n");
-		    }
-		}
-		else if (strcmp(iter->cmd_str, "get") == 0)
-		{
-		    if (strcmp(str, SMPD_SUCCESS_STR) == 0)
-		    {
-			/* print the result of the get command */
-			char value[SMPD_MAX_VALUE_LENGTH];
-			if (MPIU_Str_get_string_arg(context->read_cmd.cmd, "value", value, SMPD_MAX_VALUE_LENGTH) == MPIU_STR_SUCCESS)
-			{
-			    printf("%s\n", value);
-			}
-			else
-			{
-			    printf("Error: unable to get the value from the result command - '%s'\n", context->read_cmd.cmd);
-			}
-		    }
-		    else
-		    {
-			printf("%s\n", str);
-		    }
-		}
-		else if (strcmp(iter->cmd_str, "set") == 0 || strcmp(iter->cmd_str, "delete") == 0)
-		{
-		    /* print the result of the set or delete command */
-		    printf("%s\n", str);
-		    if (smpd_process.do_console_returns)
-		    {
-			/* close the session */
-			ret_val = smpd_create_command("done", smpd_process.id, context->id, SMPD_FALSE, &cmd_ptr);
-			if (ret_val == SMPD_SUCCESS)
-			{
-			    ret_val = smpd_post_write_command(context, cmd_ptr);
-			    if (ret_val == SMPD_SUCCESS)
-			    {
-				ret_val = SMPD_CLOSE;
-			    }
-			    else
-			    {
-				smpd_err_printf("unable to post a write of a done command.\n");
-			    }
-			}
-			else
-			{
-			    smpd_err_printf("unable to create a done command.\n");
-			}
-		    }
-		}
-		else if (strcmp(iter->cmd_str, "stat") == 0)
-		{
-		    /* print the result of the stat command */
-		    printf("%s\n", str);
-		}
-		else if (strcmp(iter->cmd_str, "cred_request") == 0)
-		{
-		    if (strcmp(str, SMPD_SUCCESS_STR) == 0)
-		    {
-			/* FIXME: decrypt the password */
-			if (MPIU_Str_get_string_arg(context->read_cmd.cmd, "account", smpd_process.UserAccount, SMPD_MAX_ACCOUNT_LENGTH) == MPIU_STR_SUCCESS &&
-			    MPIU_Str_get_string_arg(context->read_cmd.cmd, "password", context->encrypted_password/*smpd_process.UserPassword*/, SMPD_MAX_PASSWORD_LENGTH) == MPIU_STR_SUCCESS)
-			{
-			    int length = SMPD_MAX_PASSWORD_LENGTH;
-			    smpd_dbg_printf("cred_request succeeded, account: '%s'\n", smpd_process.UserAccount);
-			    result = smpd_decrypt_data(context->encrypted_password, SMPD_MAX_PASSWORD_LENGTH, smpd_process.UserPassword, &length);
-			    if (result == SMPD_SUCCESS)
-			    {
-				strcpy(iter->context->account, smpd_process.UserAccount);
-				strcpy(iter->context->password, smpd_process.UserPassword);
-				strcpy(iter->context->cred_request, "yes");
-				iter->context->read_state = SMPD_IDLE;
-				iter->context->write_state = SMPD_WRITING_CRED_ACK_YES;
-				result = SMPDU_Sock_post_write(iter->context->sock, iter->context->cred_request, SMPD_MAX_CRED_REQUEST_LENGTH, SMPD_MAX_CRED_REQUEST_LENGTH, NULL);
-			    }
-			    ret_val = result == SMPD_SUCCESS ? SMPD_SUCCESS : SMPD_FAIL;
-			}
-			else
-			{
-			    smpd_err_printf("invalid cred_request result returned, no account and password specified: '%s'\n", context->read_cmd.cmd);
-			    ret_val = SMPD_FAIL;
-			}
-		    }
-		    else if (strcmp(str, "sspi") == 0)
-		    {
-			strcpy(iter->context->cred_request, SMPD_CRED_ACK_SSPI);
-			iter->context->read_state = SMPD_IDLE;
-			iter->context->write_state = SMPD_WRITING_CRED_ACK_SSPI;
-			result = SMPDU_Sock_post_write(iter->context->sock, iter->context->cred_request, SMPD_MAX_CRED_REQUEST_LENGTH, SMPD_MAX_CRED_REQUEST_LENGTH, NULL);
-			ret_val = result == SMPD_SUCCESS ? SMPD_SUCCESS : SMPD_FAIL;
-		    }
-		    else if (strcmp(str, "sspi_job") == 0)
-		    {
-			strcpy(iter->context->cred_request, SMPD_CRED_ACK_SSPI_JOB_KEY);
-			iter->context->read_state = SMPD_IDLE;
-			iter->context->write_state = SMPD_WRITING_CRED_ACK_SSPI_JOB_KEY;
-			result = SMPDU_Sock_post_write(iter->context->sock, iter->context->cred_request, SMPD_MAX_CRED_REQUEST_LENGTH, SMPD_MAX_CRED_REQUEST_LENGTH, NULL);
-			ret_val = result == SMPD_SUCCESS ? SMPD_SUCCESS : SMPD_FAIL;
-		    }
-		    else
-		    {
-			strcpy(iter->context->cred_request, "no");
-			iter->context->read_state = SMPD_IDLE;
-			iter->context->write_state = SMPD_WRITING_CRED_ACK_NO;
-			result = SMPDU_Sock_post_write(iter->context->sock, iter->context->cred_request, SMPD_MAX_CRED_REQUEST_LENGTH, SMPD_MAX_CRED_REQUEST_LENGTH, NULL);
-			ret_val = result == SMPD_SUCCESS ? SMPD_SUCCESS : SMPD_FAIL;
-		    }
-		}
-		else if (strcmp(iter->cmd_str, "sspi_init") == 0)
-		{
-		    if (strcmp(str, SMPD_SUCCESS_STR) == 0)
-		    {
-			/* decode the sspi buffer and context pointer from the command */
-			MPIU_Str_get_string_arg(context->read_cmd.cmd, "sspi_context", context_str, 20);
-			if (sscanf(context_str, "%p", &orig_context) != 1)
-			{
-			    smpd_err_printf("unable to decode a pointer from this string: '%s'\n", context_str);
-			    smpd_exit_fn(FCNAME);
-			    return SMPD_FAIL;
-			}
-			MPIU_Str_get_int_arg(context->read_cmd.cmd, "sspi_id", &orig_context->sspi_context->id);
-			MPIU_Str_get_int_arg(context->read_cmd.cmd, "data_length", &orig_context->sspi_context->buffer_length);
-			if (orig_context->sspi_context->buffer != NULL)
-			{
-			    MPIU_Free(orig_context->sspi_context->buffer);
-			    orig_context->sspi_context->buffer = NULL;
-			}
-			if (orig_context->sspi_context->buffer_length > 0)
-			{
-			    orig_context->sspi_context->buffer = MPIU_Malloc(orig_context->sspi_context->buffer_length);
-			    if (orig_context->sspi_context->buffer == NULL)
-			    {
-				smpd_err_printf("unable to allocate %d bytes for an sspi buffer\n", orig_context->sspi_context->buffer_length);
-				smpd_exit_fn(FCNAME);
-				return SMPD_FAIL;
-			    }
-			}
-			MPIU_Str_get_string_arg(context->read_cmd.cmd, "data", str, SMPD_MAX_CMD_LENGTH);
-			smpd_decode_buffer(str, orig_context->sspi_context->buffer, orig_context->sspi_context->buffer_length, &num_decoded);
-			/* send the sspi buffer to the decoded context */
-			/* move the state of that context to WRITING_SSPI_HEADER */
-			orig_context->read_state = SMPD_IDLE;
-			orig_context->write_state = SMPD_WRITING_CLIENT_SSPI_HEADER;
-			MPIU_Snprintf(orig_context->sspi_header, SMPD_SSPI_HEADER_LENGTH, "%d", num_decoded);
-			result = SMPDU_Sock_post_write(orig_context->sock, orig_context->sspi_header, SMPD_SSPI_HEADER_LENGTH, SMPD_SSPI_HEADER_LENGTH, NULL);
-			if (result == SMPD_SUCCESS)
-			{
-			    ret_val = SMPD_SUCCESS;
-			}
-			else
-			{
-#ifdef HAVE_WINDOWS_H
-			    smpd_process.sec_fn->DeleteSecurityContext(&orig_context->sspi_context->context);
-			    smpd_process.sec_fn->FreeCredentialsHandle(&orig_context->sspi_context->credential);
-#endif
-			    smpd_err_printf("unable to post a write of the sspi header,\nsock error: %s\n", get_sock_error_string(result));
-			    orig_context->state = SMPD_CLOSING;
-			    result = SMPDU_Sock_post_close(orig_context->sock);
-			    smpd_exit_fn(FCNAME);
-			    ret_val = (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-			}
-		    }
-		    else
-		    {
-			/* close the sspi context */
-			/* cleanup the sspi structures */
-			/* notify connection failure */
-		    }
-		}
-		else if (strcmp(iter->cmd_str, "sspi_iter") == 0)
-		{
-		    if (strcmp(str, SMPD_SUCCESS_STR) == 0)
-		    {
-			/* decode the sspi buffer and context pointer from the command */
-			MPIU_Str_get_string_arg(context->read_cmd.cmd, "sspi_context", context_str, 20);
-			if (sscanf(context_str, "%p", &orig_context) != 1)
-			{
-			    smpd_err_printf("unable to decode a pointer from this string: '%s'\n", context_str);
-			    smpd_exit_fn(FCNAME);
-			    return SMPD_FAIL;
-			}
-			MPIU_Str_get_int_arg(context->read_cmd.cmd, "data_length", &orig_context->sspi_context->buffer_length);
-			if (orig_context->sspi_context->buffer != NULL)
-			{
-			    MPIU_Free(orig_context->sspi_context->buffer);
-			    orig_context->sspi_context->buffer = NULL;
-			}
-			if (orig_context->sspi_context->buffer_length > 0)
-			{
-			    orig_context->sspi_context->buffer = MPIU_Malloc(orig_context->sspi_context->buffer_length);
-			    if (orig_context->sspi_context->buffer == NULL)
-			    {
-				smpd_err_printf("unable to allocate %d bytes for an sspi buffer\n", orig_context->sspi_context->buffer_length);
-				smpd_exit_fn(FCNAME);
-				return SMPD_FAIL;
-			    }
-			    MPIU_Str_get_string_arg(context->read_cmd.cmd, "data", str, SMPD_MAX_CMD_LENGTH);
-			    smpd_decode_buffer(str, orig_context->sspi_context->buffer, orig_context->sspi_context->buffer_length, &num_decoded);
-			    /* send the sspi buffer to the decoded context */
-			    /* move the state of that context to WRITING_SSPI_HEADER */
-			    orig_context->read_state = SMPD_IDLE;
-			    orig_context->write_state = SMPD_WRITING_CLIENT_SSPI_HEADER;
-			    MPIU_Snprintf(orig_context->sspi_header, SMPD_SSPI_HEADER_LENGTH, "%d", num_decoded);
-			    result = SMPDU_Sock_post_write(orig_context->sock, orig_context->sspi_header, SMPD_SSPI_HEADER_LENGTH, SMPD_SSPI_HEADER_LENGTH, NULL);
-			    if (result == SMPD_SUCCESS)
-			    {
-				ret_val = SMPD_SUCCESS;
-			    }
-			    else
-			    {
-#ifdef HAVE_WINDOWS_H
-				smpd_process.sec_fn->DeleteSecurityContext(&orig_context->sspi_context->context);
-				smpd_process.sec_fn->FreeCredentialsHandle(&orig_context->sspi_context->credential);
-#endif
-				smpd_err_printf("unable to post a write of the sspi header,\nsock error: %s\n", get_sock_error_string(result));
-				orig_context->state = SMPD_CLOSING;
-				result = SMPDU_Sock_post_close(orig_context->sock);
-				smpd_exit_fn(FCNAME);
-				ret_val = (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-			    }
-			}
-			else
-			{
-			    if (orig_context->sspi_context->buffer_length == 0)
-			    {
-				/* no more data, empty buffer returned */
-				/* FIXME: This assumes that the server knows to post a write of the delegate command because it knows that no buffer will be returned by the iter command */
-				orig_context->write_state = SMPD_IDLE;
-				orig_context->read_state = SMPD_READING_CLIENT_SSPI_HEADER;
-				result = SMPDU_Sock_post_read(orig_context->sock, orig_context->sspi_header, SMPD_SSPI_HEADER_LENGTH, SMPD_SSPI_HEADER_LENGTH, NULL);
-				if (result != SMPD_SUCCESS)
-				{
-				    /* FIXME: Add code to cleanup sspi structures */
-				    smpd_err_printf("unable to post a read of the client sspi header,\nsock error: %s\n", get_sock_error_string(result));
-				    orig_context->state = SMPD_CLOSING;
-				    result = SMPDU_Sock_post_close(orig_context->sock);
-				    smpd_exit_fn(FCNAME);
-				    return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-				}
-			    }
-			    else
-			    {
-				/* error decoding the data_length parameter */
-#ifdef HAVE_WINDOWS_H
-				smpd_process.sec_fn->DeleteSecurityContext(&orig_context->sspi_context->context);
-				smpd_process.sec_fn->FreeCredentialsHandle(&orig_context->sspi_context->credential);
-#endif
-				smpd_err_printf("unable to decode the data_length parameter,\n");
-				orig_context->state = SMPD_CLOSING;
-				result = SMPDU_Sock_post_close(orig_context->sock);
-				smpd_exit_fn(FCNAME);
-				ret_val = (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-			    }
-			}
-		    }
-		    else
-		    {
-			/* close the sspi context */
-			/* cleanup the sspi structures */
-			/* notify connection failure */
-		    }
-		}
-		else if (strcmp(iter->cmd_str, "exit_on_done") == 0)
-		{
-		    ret_val = SMPD_DBS_RETURN;
-		    /*
-		    if (strcmp(str, SMPD_SUCCESS_STR) == 0)
-		    {
-			ret_val = SMPD_SUCCESS;
-		    }
-		    else
-		    {
-			smpd_err_printf("exit_on_done failed: %s\n", str);
-			ret_val = SMPD_ABORT;
-		    }
-		    */
-		}
-		else if (strcmp(iter->cmd_str, "suspend") == 0)
-		{
-		    smpd_dbg_printf("suspend command result returned: %s\n", str);
-		    ret_val = smpd_handle_suspend_result(iter, str);
-		}
-		else if (strcmp(iter->cmd_str, "add_job") == 0)
-		{
-		    /* print the result of the add_job command */
-		    printf("%s\n", str);
-		    /* close the session */
-		    ret_val = smpd_create_command("done", smpd_process.id, context->id, SMPD_FALSE, &cmd_ptr);
-		    if (ret_val == SMPD_SUCCESS)
-		    {
-			ret_val = smpd_post_write_command(context, cmd_ptr);
-			if (ret_val == SMPD_SUCCESS)
-			{
-			    ret_val = SMPD_CLOSE;
-			}
-			else
-			{
-			    smpd_err_printf("unable to post a write of a done command.\n");
-			}
-		    }
-		    else
-		    {
-			smpd_err_printf("unable to create a done command.\n");
-		    }
-		}
-		else if (strcmp(iter->cmd_str, "add_job_and_password") == 0)
-		{
-		    /* print the result of the add_job_and_password command */
-		    printf("%s\n", str);
-		    /* close the session */
-		    ret_val = smpd_create_command("done", smpd_process.id, context->id, SMPD_FALSE, &cmd_ptr);
-		    if (ret_val == SMPD_SUCCESS)
-		    {
-			ret_val = smpd_post_write_command(context, cmd_ptr);
-			if (ret_val == SMPD_SUCCESS)
-			{
-			    ret_val = SMPD_CLOSE;
-			}
-			else
-			{
-			    smpd_err_printf("unable to post a write of a done command.\n");
-			}
-		    }
-		    else
-		    {
-			smpd_err_printf("unable to create a done command.\n");
-		    }
-		}
-		else if (strcmp(iter->cmd_str, "remove_job") == 0)
-		{
-		    /* print the result of the remove_job command */
-		    printf("%s\n", str);
-		    /* close the session */
-		    ret_val = smpd_create_command("done", smpd_process.id, context->id, SMPD_FALSE, &cmd_ptr);
-		    if (ret_val == SMPD_SUCCESS)
-		    {
-			ret_val = smpd_post_write_command(context, cmd_ptr);
-			if (ret_val == SMPD_SUCCESS)
-			{
-			    ret_val = SMPD_CLOSE;
-			}
-			else
-			{
-			    smpd_err_printf("unable to post a write of a done command.\n");
-			}
-		    }
-		    else
-		    {
-			smpd_err_printf("unable to create a done command.\n");
-		    }
-		}
-		else if (strcmp(iter->cmd_str, "associate_job") == 0)
-		{
-		    /* print the result of the associate_job command */
-		    printf("%s\n", str);
-		    /* close the session */
-		    ret_val = smpd_create_command("done", smpd_process.id, context->id, SMPD_FALSE, &cmd_ptr);
-		    if (ret_val == SMPD_SUCCESS)
-		    {
-			ret_val = smpd_post_write_command(context, cmd_ptr);
-			if (ret_val == SMPD_SUCCESS)
-			{
-			    ret_val = SMPD_CLOSE;
-			}
-			else
-			{
-			    smpd_err_printf("unable to post a write of a done command.\n");
-			}
-		    }
-		    else
-		    {
-			smpd_err_printf("unable to create a done command.\n");
-		    }
-		}
-		else
-		{
-		    smpd_err_printf("result returned for unhandled '%s' command:\n command: '%s'\n result: '%s'\n", iter->cmd_str, iter->cmd, str);
-		}
-	    }
-	    else
-	    {
-		smpd_err_printf("no result string in the result command.\n");
-	    }
-	    if (trailer == iter)
-	    {
-		context->wait_list = context->wait_list->next;
-	    }
-	    else
-	    {
-		trailer->next = iter->next;
-	    }
-	    result = smpd_free_command(iter);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to free command in the wait_list\n");
-	    }
-	    smpd_exit_fn(FCNAME);
-	    return ret_val;
-	}
-	else
-	{
-	    smpd_dbg_printf("tag %d != match_tag %d\n", iter->tag, match_tag);
-	}
-	if (trailer != iter)
-	    trailer = trailer->next;
-	iter = iter->next;
-    }
-    if (context->wait_list == NULL)
-    {
-	smpd_err_printf("result command received but the wait_list is empty.\n");
-    }
-    else
-    {
-	smpd_err_printf("result command did not match any commands in the wait_list.\n");
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_FAIL;
-}
-
-#undef FCNAME
-#define FCNAME "get_name_key_value"
-static int get_name_key_value(char *str, char *name, char *key, char *value)
-{
-    smpd_enter_fn(FCNAME);
-
-    if (str == NULL)
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    if (name != NULL)
-    {
-	if (MPIU_Str_get_string_arg(str, "name", name, SMPD_MAX_DBS_NAME_LEN) != MPIU_STR_SUCCESS)
-	{
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-    }
-    if (key != NULL)
-    {
-	if (MPIU_Str_get_string_arg(str, "key", key, SMPD_MAX_DBS_KEY_LEN) != MPIU_STR_SUCCESS)
-	{
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-    }
-    if (value != NULL)
-    {
-	if (MPIU_Str_get_string_arg(str, "value", value, SMPD_MAX_DBS_VALUE_LEN) != MPIU_STR_SUCCESS)
-	{
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_handle_dbs_command"
-int smpd_handle_dbs_command(smpd_context_t *context)
-{
-    int result;
-    smpd_command_t *cmd, *temp_cmd;
-    char name[SMPD_MAX_DBS_NAME_LEN+1] = "";
-    char key[SMPD_MAX_DBS_KEY_LEN+1] = "";
-    char value[SMPD_MAX_DBS_VALUE_LEN+1] = "";
-    char ctx_key[100];
-    char *result_str;
-
-    smpd_enter_fn(FCNAME);
-
-    cmd = &context->read_cmd;
-
-    /*
-    printf("handling dbs command on %s context, sock %d.\n", smpd_get_context_str(context), SMPDU_Sock_get_sock_id(context->sock));
-    fflush(stdout);
-    */
-
-    /* prepare the result command */
-    result = smpd_create_command("result", smpd_process.id, cmd->src, SMPD_FALSE, &temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create a result command for the dbs command '%s'.\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    /* add the command tag for result matching */
-    result = smpd_add_command_int_arg(temp_cmd, "cmd_tag", cmd->tag);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the tag to the result command for dbs command '%s'.\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(temp_cmd, "cmd_orig", cmd->cmd_str);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add cmd_orig to the result command for a %s command\n", cmd->cmd_str);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    /* copy the ctx_key for pmi control channel lookup */
-    if (MPIU_Str_get_string_arg(cmd->cmd, "ctx_key", ctx_key, 100) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("no ctx_key in the db command: '%s'\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(temp_cmd, "ctx_key", ctx_key);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the ctx_key to the result command for dbs command '%s'.\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    /* check to make sure this node is running the dbs */
-    if (!smpd_process.have_dbs)
-    {
-	/*
-	printf("havd_dbs is false for this process %s context.\n", smpd_get_context_str(context));
-	fflush(stdout);
-	*/
-
-	/* create a failure reply because this node does not have an initialized database */
-	smpd_dbg_printf("sending a failure reply because this node does not have an initialized database.\n");
-	result = smpd_add_command_arg(temp_cmd, "result", SMPD_FAIL_STR" - smpd does not have an initialized database.");
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add the result string to the result command for dbs command '%s'.\n", cmd->cmd);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	smpd_dbg_printf("sending result command to %s context: \"%s\"\n", smpd_get_context_str(context), temp_cmd->cmd);
-	result = smpd_post_write_command(context, temp_cmd);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a write of the result command to the context: cmd '%s', dbs cmd '%s'", temp_cmd->cmd, cmd->cmd);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-
-    /* do the dbs request */
-    if (strcmp(cmd->cmd_str, "dbput") == 0)
-    {
-	if (get_name_key_value(cmd->cmd, name, key, value) != SMPD_SUCCESS)
-	    goto invalid_dbs_command;
-	if (smpd_dbs_put(name, key, value) == SMPD_SUCCESS)
-	    result_str = DBS_SUCCESS_STR;
-	else
-	    result_str = DBS_FAIL_STR;
-    }
-    else if (strcmp(cmd->cmd_str, "dbget") == 0)
-    {
-	if (get_name_key_value(cmd->cmd, name, key, NULL) != SMPD_SUCCESS)
-	    goto invalid_dbs_command;
-	if (smpd_dbs_get(name, key, value) == SMPD_SUCCESS)
-	{
-	    result = smpd_add_command_arg(temp_cmd, "value", value);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to add the get value('%s') to the result command.\n", value);
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    result_str = DBS_SUCCESS_STR;
-	}
-	else
-	    result_str = DBS_FAIL_STR;
-    }
-    else if (strcmp(cmd->cmd_str, "dbcreate") == 0)
-    {
-	if (MPIU_Str_get_string_arg(cmd->cmd, "name", name, SMPD_MAX_DBS_NAME_LEN) == MPIU_STR_SUCCESS)
-	{
-	    result = smpd_dbs_create_name_in(name);
-	}
-	else
-	{
-	    result = smpd_dbs_create(name);
-	}
-	if (result == SMPD_SUCCESS)
-	{
-	    result = smpd_add_command_arg(temp_cmd, "name", name);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to add the dbcreate name('%s') to the result command.\n", name);
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    result_str = DBS_SUCCESS_STR;
-	}
-	else
-	    result_str = DBS_FAIL_STR;
-    }
-    else if (strcmp(cmd->cmd_str, "dbdestroy") == 0)
-    {
-	if (get_name_key_value(cmd->cmd, name, NULL, NULL) != SMPD_SUCCESS)
-	    goto invalid_dbs_command;
-	if (smpd_dbs_destroy(name) == SMPD_SUCCESS)
-	    result_str = DBS_SUCCESS_STR;
-	else
-	    result_str = DBS_FAIL_STR;
-    }
-    else if (strcmp(cmd->cmd_str, "dbfirst") == 0)
-    {
-	if (get_name_key_value(cmd->cmd, name, NULL, NULL) != SMPD_SUCCESS)
-	    goto invalid_dbs_command;
-	if (smpd_dbs_first(name, key, value) == SMPD_SUCCESS)
-	{
-	    if (*key == '\0')
-	    {
-		/* this can be changed to a special end_key if we don't want DBS_END_STR to be a reserved key */
-		result = smpd_add_command_arg(temp_cmd, "key", DBS_END_STR);
-		if (result != SMPD_SUCCESS)
-		{
-		    smpd_err_printf("unable to add the dbfirst key('%s') to the result command.\n", key);
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-	    }
-	    else
-	    {
-		result = smpd_add_command_arg(temp_cmd, "key", key);
-		if (result != SMPD_SUCCESS)
-		{
-		    smpd_err_printf("unable to add the dbfirst key('%s') to the result command.\n", key);
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		result = smpd_add_command_arg(temp_cmd, "value", value);
-		if (result != SMPD_SUCCESS)
-		{
-		    smpd_err_printf("unable to add the dbfirst value('%s') to the result command.\n", value);
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-	    }
-	    result_str = DBS_SUCCESS_STR;
-	}
-	else
-	{
-	    result_str = DBS_FAIL_STR;
-	}
-    }
-    else if (strcmp(cmd->cmd_str, "dbnext") == 0)
-    {
-	if (get_name_key_value(cmd->cmd, name, NULL, NULL) != SMPD_SUCCESS)
-	    goto invalid_dbs_command;
-	if (smpd_dbs_next(name, key, value) == SMPD_SUCCESS)
-	{
-	    if (*key == '\0')
-	    {
-		/* this can be changed to a special end_key if we don't want DBS_END_STR to be a reserved key */
-		result = smpd_add_command_arg(temp_cmd, "key", DBS_END_STR);
-		if (result != SMPD_SUCCESS)
-		{
-		    smpd_err_printf("unable to add the dbndext key('%s') to the result command.\n", key);
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-	    }
-	    else
-	    {
-		result = smpd_add_command_arg(temp_cmd, "key", key);
-		if (result != SMPD_SUCCESS)
-		{
-		    smpd_err_printf("unable to add the dbnext key('%s') to the result command.\n", key);
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		result = smpd_add_command_arg(temp_cmd, "value", value);
-		if (result != SMPD_SUCCESS)
-		{
-		    smpd_err_printf("unable to add the dbnext value('%s') to the result command.\n", value);
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-	    }
-	    result_str = DBS_SUCCESS_STR;
-	}
-	else
-	{
-	    result_str = DBS_FAIL_STR;
-	}
-    }
-    else if (strcmp(cmd->cmd_str, "dbfirstdb") == 0)
-    {
-	if (smpd_dbs_firstdb(name) == SMPD_SUCCESS)
-	{
-	    /* this can be changed to a special end_key if we don't want DBS_END_STR to be a reserved key */
-	    if (*name == '\0')
-		result = smpd_add_command_arg(temp_cmd, "name", DBS_END_STR);
-	    else
-		result = smpd_add_command_arg(temp_cmd, "name", name);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to add the dbfirstdb name('%s') to the result command.\n", name);
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    result_str = DBS_SUCCESS_STR;
-	}
-	else
-	{
-	    result_str = DBS_FAIL_STR;
-	}
-    }
-    else if (strcmp(cmd->cmd_str, "dbnextdb") == 0)
-    {
-	if (smpd_dbs_nextdb(name) == SMPD_SUCCESS)
-	{
-	    /* this can be changed to a special end_key if we don't want DBS_END_STR to be a reserved key */
-	    if (*name == '\0')
-		result = smpd_add_command_arg(temp_cmd, "name", DBS_END_STR);
-	    else
-		result = smpd_add_command_arg(temp_cmd, "name", name);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to add the dbnextdb name('%s') to the result command.\n", name);
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    result_str = DBS_SUCCESS_STR;
-	}
-	else
-	{
-	    result_str = DBS_FAIL_STR;
-	}
-    }
-    else if (strcmp(cmd->cmd_str, "dbdelete") == 0)
-    {
-	if (get_name_key_value(cmd->cmd, name, key, NULL) != SMPD_SUCCESS)
-	    goto invalid_dbs_command;
-	if (smpd_dbs_delete(name, key) == SMPD_SUCCESS)
-	    result_str = DBS_SUCCESS_STR;
-	else
-	    result_str = DBS_FAIL_STR;
-    }
-    else
-    {
-	smpd_err_printf("unknown dbs command '%s', replying with failure.\n", cmd->cmd_str);
-	goto invalid_dbs_command;
-    }
-
-    /* send the reply */
-    smpd_dbg_printf("sending reply to dbs command '%s'.\n", cmd->cmd);
-    result = smpd_add_command_arg(temp_cmd, "result", result_str);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the result string to the result command for dbs command '%s'.\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_dbg_printf("sending result command to %s context: \"%s\"\n", smpd_get_context_str(context), temp_cmd->cmd);
-    result = smpd_post_write_command(context, temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a write of the result command to the context: cmd '%s', dbs cmd '%s'", temp_cmd->cmd, cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-
-invalid_dbs_command:
-
-    result = smpd_add_command_arg(temp_cmd, "result", SMPD_FAIL_STR" - invalid dbs command.");
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the result string to the result command for dbs command '%s'.\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_dbg_printf("sending result command to %s context: \"%s\"\n", smpd_get_context_str(context), temp_cmd->cmd);
-    result = smpd_post_write_command(context, temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a write of the result command to the context: cmd '%s', dbs cmd '%s'", temp_cmd->cmd, cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_handle_die_command"
-int smpd_handle_die_command(smpd_context_t *context){
-    int result;
-    smpd_enter_fn(FCNAME);
-    context->state = SMPD_DONE;
-    result = SMPDU_Sock_post_close(context->sock);
-    if(result != SMPD_SUCCESS){
-        smpd_err_printf("Unable to post a close after 'die' on a singleton client, error = %s\n",
-                    get_sock_error_string(result));
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_CLOSE;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_handle_proc_info_command"
-int smpd_handle_proc_info_command(smpd_context_t *context){
-    int result;
-    smpd_command_t *cmd, *temp_cmd;
-    char ctx_key[100];
-    smpd_enter_fn(FCNAME);
-    cmd = &context->read_cmd;
-    /* Prepare a reply cmd */
-    /* prepare the result command */
-    result = smpd_create_command("result", smpd_process.id, cmd->src, SMPD_FALSE, &temp_cmd);
-    if (result != SMPD_SUCCESS){
-	    smpd_err_printf("unable to create a result command for the 'proc_info' command '%s'.\n", cmd->cmd);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-    }
-    /* add the command tag for result matching */
-    result = smpd_add_command_int_arg(temp_cmd, "cmd_tag", cmd->tag);
-    if (result != SMPD_SUCCESS){
-	    smpd_err_printf("unable to add the tag to the result command for 'proc_info' command '%s'.\n", cmd->cmd);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(temp_cmd, "cmd_orig", cmd->cmd_str);
-    if (result != SMPD_SUCCESS){
-	    smpd_err_printf("unable to add cmd_orig to the result command for a %s command\n", cmd->cmd_str);
-    	smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-    }
-    /* copy the ctx_key for pmi control channel lookup */
-    if (MPIU_Str_get_string_arg(cmd->cmd, "ctx_key", ctx_key, 100) != MPIU_STR_SUCCESS){
-	    smpd_err_printf("no ctx_key in the 'proc_info' command: '%s'\n", cmd->cmd);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(temp_cmd, "ctx_key", ctx_key);
-    if (result != SMPD_SUCCESS){
-	    smpd_err_printf("unable to add the ctx_key to the result command for 'proc_info' command '%s'.\n", cmd->cmd);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-    }
-
-    /* Get the process info */
-    MPIU_Str_get_string_arg(cmd->cmd, "c", context->process->exe, SMPD_MAX_EXE_LENGTH);
-    MPIU_Str_get_int_arg(cmd->cmd, "i", &context->process->rank);
-    MPIU_Str_get_int_arg(cmd->cmd, "n", &context->process->nproc);
-    if(MPIU_Str_get_int_arg(cmd->cmd, "s", &result) == MPIU_STR_SUCCESS){
-        context->process->is_singleton_client = result ? SMPD_TRUE : SMPD_FALSE;    
-    }
-    /* For unix systems - get the PID. On windows a handle to a process has to be explicitly duplicated with
-     * appropriate rights 
-     */
-#ifndef HAVE_WINDOWS_H
-    MPIU_Str_get_int_arg(cmd->cmd, "p", &(context->process->wait));
-#endif
-    /* send the reply */
-
-    smpd_dbg_printf("sending reply to 'proc_info' command '%s'.\n", cmd->cmd);
-    result = smpd_add_command_arg(temp_cmd, "result", SMPD_SUCCESS_STR);
-    if (result != SMPD_SUCCESS){
-	    smpd_err_printf("unable to add the result string to the result command for 'proc_info' command '%s'.\n", cmd->cmd);
-    	smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-    }
-    smpd_dbg_printf("sending result command to %s context: \"%s\"\n", smpd_get_context_str(context), temp_cmd->cmd);
-    result = smpd_post_write_command(context, temp_cmd);
-    if (result != SMPD_SUCCESS){
-	    smpd_err_printf("unable to post a write of the result command to the context: cmd '%s', dbs cmd '%s'", temp_cmd->cmd, cmd->cmd);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#define SMPD_LAUNCH_WARNING_MSG_LEN 256
-#undef FCNAME
-#define FCNAME "smpd_handle_launch_command"
-int smpd_handle_launch_command(smpd_context_t *context)
-{
-    int result;
-    char err_msg[256];
-    char wMsg[SMPD_LAUNCH_WARNING_MSG_LEN];
-    char *pWMsg = wMsg;
-    int wMsgCurLen = SMPD_LAUNCH_WARNING_MSG_LEN;
-    int iproc;
-    int i, nmaps;
-    char drive_arg_str[20];
-    smpd_command_t *cmd, *temp_cmd;
-    smpd_process_t *process;
-    char share[SMPD_MAX_EXE_LENGTH];
-    int priority_class = SMPD_DEFAULT_PRIORITY_CLASS, priority_thread = SMPD_DEFAULT_PRIORITY;
-
-    smpd_enter_fn(FCNAME);
-    wMsg[0] = '\0';
-
-    cmd = &context->read_cmd;
-
-    /* parse the command */
-    if (MPIU_Str_get_int_arg(cmd->cmd, "i", &iproc) != MPIU_STR_SUCCESS)
-	iproc = 0;
-    result = smpd_create_process_struct(iproc, &process);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create a process structure.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    if (MPIU_Str_get_string_arg(cmd->cmd, "c", process->exe, SMPD_MAX_EXE_LENGTH) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("launch command received with no executable: '%s'\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    MPIU_Str_get_string_arg(cmd->cmd, "e", process->env, SMPD_MAX_ENV_LENGTH);
-    MPIU_Str_get_string_arg(cmd->cmd, "d", process->dir, SMPD_MAX_DIR_LENGTH);
-    MPIU_Str_get_string_arg(cmd->cmd, "p", process->path, SMPD_MAX_PATH_LENGTH);
-    MPIU_Str_get_string_arg(cmd->cmd, "k", process->kvs_name, SMPD_MAX_DBS_NAME_LEN);
-    MPIU_Str_get_string_arg(cmd->cmd, "kd", process->domain_name, SMPD_MAX_DBS_NAME_LEN);
-    MPIU_Str_get_string_arg(cmd->cmd, "q", process->clique, SMPD_MAX_CLIQUE_LENGTH);
-    MPIU_Str_get_int_arg(cmd->cmd, "n", &process->nproc);
-    MPIU_Str_get_int_arg(cmd->cmd, "s", &process->spawned);
-    MPIU_Str_get_int_arg(cmd->cmd, "a", &process->appnum);
-    MPIU_Str_get_int_arg(cmd->cmd, "pc", &priority_class);
-    MPIU_Str_get_int_arg(cmd->cmd, "pt", &priority_thread);
-#ifdef HAVE_WINDOWS_H
-    MPIU_Str_get_int_arg(cmd->cmd, "af", &smpd_process.set_affinity);
-    MPIU_Str_get_int_arg(cmd->cmd, "afp", &process->binding_proc);
-#endif
-    /* parse the -m drive mapping options */
-    nmaps = 0;
-    MPIU_Str_get_int_arg(cmd->cmd, "mn", &nmaps);
-    if (nmaps > 0)
-    {
-	/* make a linked list out of one big array */
-	process->map_list = (smpd_map_drive_node_t *)MPIU_Malloc(sizeof(smpd_map_drive_node_t) * nmaps);
-    }
-    for (i=0; i<nmaps; i++)
-    {
-	if (i == nmaps-1)
-	    process->map_list[i].next = NULL;
-	else
-	    process->map_list[i].next = &process->map_list[i+1];
-	process->map_list[i].ref_count = 0;
-	sprintf(drive_arg_str, "m%d", i);
-	result = MPIU_Str_get_string_arg(cmd->cmd, drive_arg_str, share, SMPD_MAX_EXE_LENGTH);
-	if (result == MPIU_STR_SUCCESS)
-	 {
-	    process->map_list[i].drive = share[0];
-	    strncpy(process->map_list[i].share, &share[2], SMPD_MAX_EXE_LENGTH);
-
-#ifdef HAVE_WINDOWS_H
-	    /* map the drive */
-	    /* FIXME: username and password needed to map a drive */
-	    result = smpd_map_user_drives(share, NULL, NULL, pWMsg, wMsgCurLen);
-	    if (result != SMPD_TRUE)
-	    {
-        int wMsgAddedLen=0;
-		smpd_err_printf("mapping drive failed: input string - %s, error - %s\n", share, pWMsg);
-	    process->map_list[i].drive = '\0';
-	    process->map_list[i].share[0] = '\0';
-        wMsgAddedLen = strlen(pWMsg);
-        pWMsg += wMsgAddedLen;
-        wMsgCurLen -= wMsgAddedLen;
-        if(wMsgCurLen <= 1){
-            /* Circular buffer */
-            pWMsg = wMsg;
-            wMsgCurLen = SMPD_LAUNCH_WARNING_MSG_LEN;
-        }
-        /* Don't abort if we fail to map a drive */
-        /*
-		smpd_free_process_struct(process);
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-        */
-	    }
-#endif
-	}
-	else
-	{
-	    process->map_list[i].drive = '\0';
-	    process->map_list[i].share[0] = '\0';
-	}
-    }
-
-    /* launch the process */
-    smpd_dbg_printf("launching: '%s'\n", process->exe);
-    result = smpd_launch_process(process, priority_class, priority_thread, SMPD_FALSE, context->set);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("launch_process failed.\n");
-
-	/* create the result command */
-	result = smpd_create_command("result", smpd_process.id, cmd->src, SMPD_FALSE, &temp_cmd);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to create a result command in response to launch command: '%s'\n", cmd->cmd);
-	    smpd_free_process_struct(process);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	result = smpd_add_command_int_arg(temp_cmd, "cmd_tag", cmd->tag);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add the tag to the result command in response to launch command: '%s'\n", cmd->cmd);
-	    smpd_free_process_struct(process);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	result = smpd_add_command_arg(temp_cmd, "cmd_orig", cmd->cmd_str);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add cmd_orig to the result command for a %s command\n", cmd->cmd_str);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	/* launch process should provide a reason for the error, for now just return FAIL */
-	result = smpd_add_command_arg(temp_cmd, "result", SMPD_FAIL_STR);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add the result field to the result command in response to launch command: '%s'\n", cmd->cmd);
-	    smpd_free_process_struct(process);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	if (process->err_msg[0] != '\0')
-	{
-	    result = smpd_add_command_arg(temp_cmd, "error", process->err_msg);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to add the error field to the result command in response to launch command: '%s'\n", cmd->cmd);
-		smpd_free_process_struct(process);
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	}
-
-	/* send the result back */
-	result = smpd_post_write_command(context, temp_cmd);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a write of the result command in response to launch command: '%s'\n", cmd->cmd);
-	    smpd_free_process_struct(process);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-
-	/* free the failed process structure */
-	smpd_free_process_struct(process);
-	process = NULL;
-
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-
-    /* save the new process in the list */
-    process->next = smpd_process.process_list;
-    smpd_process.process_list = process;
-
-    /* create the result command */
-    result = smpd_create_command("result", smpd_process.id, cmd->src, SMPD_FALSE, &temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create a result command in response to launch command: '%s'\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_int_arg(temp_cmd, "cmd_tag", cmd->tag);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the tag to the result command in response to launch command: '%s'\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(temp_cmd, "cmd_orig", cmd->cmd_str);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add cmd_orig to the result command for a %s command\n", cmd->cmd_str);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(temp_cmd, "result", SMPD_SUCCESS_STR);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the result field to the result command in response to launch command: '%s'\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(temp_cmd, "pg_id", process->kvs_name);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the pg_id field to the result command in response to launch command: '%s'\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_int_arg(temp_cmd, "pg_rank", process->rank);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the pg_rank field to the result command in response to launch command: '%s'\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_int_arg(temp_cmd, "pg_ctx", process->id);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the pg_ctx field to the result command in response to launch command: '%s'\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    
-    if(wMsgCurLen < SMPD_LAUNCH_WARNING_MSG_LEN){
-        result = smpd_add_command_arg(temp_cmd, "warning", wMsg);
-        if(result != SMPD_SUCCESS){
-            /* Don't abort if we cannot add the warning message... */
-            smpd_err_printf("unable to add warning message to the result command in response to launch command '%s'\n", cmd->cmd);
-        }
-    }
-
-    /* send the result back */
-    result = smpd_post_write_command(context, temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a write of the result command in response to launch command: '%s'\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_handle_close_command"
-int smpd_handle_close_command(smpd_context_t *context)
-{
-    int result;
-    smpd_command_t *cmd, *temp_cmd;
-
-    smpd_enter_fn(FCNAME);
-
-    cmd = &context->read_cmd;
-
-    smpd_process.closing = SMPD_TRUE;
-    if (smpd_process.left_context || smpd_process.right_context)
-    {
-	if (smpd_process.left_context)
-	{
-	    result = smpd_create_command("close", smpd_process.id, smpd_process.left_context->id, SMPD_FALSE, &temp_cmd);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to create a close command for the left context.\n");
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    smpd_dbg_printf("sending close command to left child: \"%s\"\n", temp_cmd->cmd);
-	    result = smpd_post_write_command(smpd_process.left_context, temp_cmd);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to post a write of a close command for the left context.\n");
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	}
-	if (smpd_process.right_context)
-	{
-	    result = smpd_create_command("close", smpd_process.id, smpd_process.right_context->id, SMPD_FALSE, &temp_cmd);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to create a close command for the right context.\n");
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    smpd_dbg_printf("sending close command to right child: \"%s\"\n", temp_cmd->cmd);
-	    result = smpd_post_write_command(smpd_process.right_context, temp_cmd);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to post a write of a close command for the right context.\n");
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	}
-	smpd_exit_fn(FCNAME);
-	/* If we return success here, a post_read will be made for the next command header. */
-	return SMPD_SUCCESS;
-	/*return SMPD_CLOSE;*/
-    }
-    result = smpd_create_command("closed", smpd_process.id, cmd->src, SMPD_FALSE, &temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create a closed command for the parent context.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_dbg_printf("sending closed command to parent: \"%s\"\n", temp_cmd->cmd);
-    result = smpd_post_write_command(context, temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a write of the closed command to the parent context.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_dbg_printf("posted closed command.\n");
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_CLOSE;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_handle_closed_command"
-int smpd_handle_closed_command(smpd_context_t *context)
-{
-    int result;
-    smpd_command_t *cmd, *temp_cmd;
-
-    smpd_enter_fn(FCNAME);
-
-    cmd = &context->read_cmd;
-
-    if (context == smpd_process.left_context)
-    {
-	smpd_dbg_printf("closed command received from left child, closing sock.\n");
-	smpd_dbg_printf("SMPDU_Sock_post_close(%d)\n", SMPDU_Sock_get_sock_id(smpd_process.left_context->sock));
-	smpd_process.left_context->state = SMPD_CLOSING;
-	SMPDU_Sock_post_close(smpd_process.left_context->sock);
-	if (smpd_process.right_context)
-	{
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_CLOSE;
-	}
-	/* fall through if there are no more contexts */
-    }
-    else if (context == smpd_process.right_context)
-    {
-	smpd_dbg_printf("closed command received from right child, closing sock.\n");
-	smpd_dbg_printf("SMPDU_Sock_post_close(%d)\n", SMPDU_Sock_get_sock_id(smpd_process.right_context->sock));
-	smpd_process.right_context->state = SMPD_CLOSING;
-	SMPDU_Sock_post_close(smpd_process.right_context->sock);
-	if (smpd_process.left_context)
-	{
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_CLOSE;
-	}
-	/* fall through if there are no more contexts */
-    }
-    else if (context == smpd_process.parent_context)
-    {
-	/* closed command received from the parent in response to an earlier closed_request command from this node */
-	smpd_dbg_printf("closed command received from parent, closing sock.\n");
-	smpd_dbg_printf("SMPDU_Sock_post_close(%d)\n", SMPDU_Sock_get_sock_id(smpd_process.parent_context->sock));
-	smpd_process.parent_context->state = SMPD_CLOSING;
-	SMPDU_Sock_post_close(smpd_process.parent_context->sock);
-	smpd_exit_fn(FCNAME);
-	return SMPD_EXITING;
-    }
-    else
-    {
-	smpd_err_printf("closed command received from unknown context.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    if (smpd_process.parent_context == NULL)
-    {
-	/* The last child has closed and there is no parent so this must be the root node (mpiexec) */
-	/* Set the state to SMPD_EXITING so when the posted close from above finishes the state machine will exit */
-	context->state = SMPD_EXITING;
-	smpd_dbg_printf("received a closed at node with no parent context, assuming root, returning SMPD_EXITING.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_EXITING;
-    }
-
-    /* The last child has closed and there is a parent so send a closed_request up to the parent */
-    /* The parent will respond with a closed command and then this node will exit */
-    result = smpd_create_command("closed_request", smpd_process.id, smpd_process.parent_context->id, SMPD_FALSE, &temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create a closed_request command for the parent context.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    /*smpd_dbg_printf("posting write of closed_request command to parent: \"%s\"\n", temp_cmd->cmd);*/
-    result = smpd_post_write_command(smpd_process.parent_context, temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a write of the closed_request command to the parent context.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-	
-    smpd_exit_fn(FCNAME);
-    return SMPD_CLOSE;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_handle_closed_request_command"
-int smpd_handle_closed_request_command(smpd_context_t *context)
-{
-    int result;
-    smpd_command_t *cmd, *temp_cmd;
-
-    smpd_enter_fn(FCNAME);
-
-    cmd = &context->read_cmd;
-
-    result = smpd_create_command("closed", smpd_process.id, context->id, SMPD_FALSE, &temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create a closed command for the context.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_dbg_printf("sending closed command to context: \"%s\"\n", temp_cmd->cmd);
-    result = smpd_post_write_command(context, temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a write of the closed command to the context.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_dbg_printf("posted closed command to context.\n");
-    smpd_exit_fn(FCNAME);
-    return SMPD_CLOSE;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_handle_connect_command"
-int smpd_handle_connect_command(smpd_context_t *context)
-{
-    int result;
-    smpd_command_t *cmd, *temp_cmd;
-    smpd_context_t *dest;
-    SMPDU_Sock_set_t dest_set;
-    SMPDU_Sock_t dest_sock;
-    int dest_id;
-    char host[SMPD_MAX_HOST_LENGTH];
-    char plaintext[4];
-
-    smpd_enter_fn(FCNAME);
-
-    cmd = &context->read_cmd;
-
-    if (smpd_process.root_smpd)
-    {
-	smpd_err_printf("the root smpd is not allowed to connect to other smpds.\n");
-	/* send connect failed return command */
-	result = smpd_create_command("result", smpd_process.id, cmd->src, SMPD_FALSE, &temp_cmd);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to create a result command for the connect request.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	result = smpd_add_command_int_arg(temp_cmd, "cmd_tag", cmd->tag);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add the tag to the result command.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	result = smpd_add_command_arg(temp_cmd, "cmd_orig", cmd->cmd_str);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add cmd_orig to the result command for a %s command\n", cmd->cmd_str);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	result = smpd_add_command_arg(temp_cmd, "result", SMPD_FAIL_STR" - root smpd is not allowed to connect to other smpds.");
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add the result string to the result command.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	smpd_dbg_printf("sending result command to context: \"%s\"\n", temp_cmd->cmd);
-	result = smpd_post_write_command(context, temp_cmd);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a write of the result command to the context.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-    if (smpd_process.closing)
-    {
-	smpd_err_printf("connect command received while session is closing, ignoring connect.\n");
-	result = smpd_create_command("result", smpd_process.id, cmd->src, SMPD_FALSE, &temp_cmd);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to create a result command for the connect request.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	result = smpd_add_command_int_arg(temp_cmd, "cmd_tag", cmd->tag);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add the tag to the result command.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	result = smpd_add_command_arg(temp_cmd, "cmd_orig", cmd->cmd_str);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add cmd_orig to the result command for a %s command\n", cmd->cmd_str);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	result = smpd_add_command_arg(temp_cmd, "result", SMPD_FAIL_STR" - connect command received while closing.");
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add the result string to the result command.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	smpd_dbg_printf("sending result command to context: \"%s\"\n", temp_cmd->cmd);
-	result = smpd_post_write_command(context, temp_cmd);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a write of the result command to the context.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-    if (MPIU_Str_get_string_arg(cmd->cmd, "host", host, SMPD_MAX_HOST_LENGTH) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("connect command does not have a target host argument, discarding: \"%s\"\n", cmd->cmd);
-	/* return failure result */
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-    if (MPIU_Str_get_int_arg(cmd->cmd, "id", &dest_id) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("connect command does not have a target id argument, discarding: \"%s\"\n", cmd->cmd);
-	/* return failure result */
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-    if (MPIU_Str_get_string_arg(cmd->cmd, "plaintext", plaintext, 4) == MPIU_STR_SUCCESS)
-    {
-	if (strncmp(plaintext, "yes", 4) == 0)
-	{
-	    smpd_dbg_printf("setting smpd_process.plaintext due to plaintext option in the connect command\n");
-	    smpd_process.plaintext = SMPD_TRUE;
-	}
-    }
-    if (dest_id < smpd_process.id)
-    {
-	smpd_dbg_printf("connect command has an invalid id, discarding: %d\n", dest_id);
-	/* return failure result */
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-    if (smpd_process.left_context != NULL && smpd_process.right_context != NULL)
-    {
-	smpd_err_printf("unable to connect to a new session, left and right sessions already exist, discarding.\n");
-	/* return failure result */
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-    smpd_dbg_printf("now connecting to %s\n", host);
-    /* create a new context */
-    result = smpd_create_context(SMPD_CONTEXT_UNDETERMINED, context->set, SMPDU_SOCK_INVALID_SOCK, dest_id, &dest);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create a new context.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    dest_set = context->set; /*smpd_process.set;*/
-
-    /* start the connection logic here */
-    result = SMPDU_Sock_post_connect(dest_set, dest, host, smpd_process.port, &dest_sock);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a connect to start the connect command,\nsock error: %s\n",
-	    get_sock_error_string(result));
-	result = smpd_post_abort_command("Unable to connect to '%s:%d',\nsock error: %s\n",
-	    host, smpd_process.port, get_sock_error_string(result));
-	smpd_exit_fn(FCNAME);
-	/*return SMPD_FAIL;*/
-	return result;
-    }
-
-    if (smpd_process.left_context == NULL)
-    {
-	smpd_dbg_printf("adding new left child context\n");
-	smpd_init_context(dest, SMPD_CONTEXT_LEFT_CHILD, dest_set, dest_sock, dest_id);
-	smpd_process.left_context = dest;
-	SMPDU_Sock_set_user_ptr(dest_sock, dest);
-    }
-    else if (smpd_process.right_context == NULL)
-    {
-	smpd_dbg_printf("adding new right child context\n");
-	smpd_init_context(dest, SMPD_CONTEXT_RIGHT_CHILD, dest_set, dest_sock, dest_id);
-	smpd_process.right_context = dest;
-	SMPDU_Sock_set_user_ptr(dest_sock, dest);
-    }
-    else
-    {
-	smpd_err_printf("impossible to be here, both left and right contexts are non-NULL.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    dest->state = SMPD_CONNECTING;
-    dest->connect_to = (smpd_host_node_t*)MPIU_Malloc(sizeof(smpd_host_node_t));
-    if (dest->connect_to == NULL)
-    {
-	smpd_err_printf("unable to allocate a host node structure.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    strcpy(dest->connect_to->host, host);
-    dest->connect_to->alt_host[0] = '\0';
-    dest->connect_to->id = dest_id;
-    dest->connect_to->nproc = 1;
-    dest->connect_to->connected = SMPD_FALSE;
-    dest->connect_to->connect_cmd_tag = -1;
-    dest->connect_to->parent = smpd_process.id;
-    dest->connect_to->next = NULL;
-    dest->connect_to->left = NULL;
-    dest->connect_to->right = NULL;
-    dest->connect_return_id = cmd->src;
-    dest->connect_return_tag = cmd->tag;
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_handle_start_dbs_command"
-int smpd_handle_start_dbs_command(smpd_context_t *context)
-{
-    int result;
-    smpd_command_t *cmd, *temp_cmd;
-    char kvs_name[SMPD_MAX_DBS_NAME_LEN];
-    int npreput;
-    char keyvals_str[SMPD_MAX_CMD_LENGTH];
-    int j;
-    char key[100], val[1024], val2[1024], equals_str[10];
-    char *iter;
-
-    smpd_enter_fn(FCNAME);
-
-    cmd = &context->read_cmd;
-
-    if (smpd_process.have_dbs == SMPD_FALSE)
-    {
-	smpd_dbs_init();
-	smpd_process.have_dbs = SMPD_TRUE;
-    }
-
-    /* prepare the result command */
-    result = smpd_create_command("result", smpd_process.id, cmd->src, SMPD_FALSE, &temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create a result command for the dbs command '%s'.\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_int_arg(temp_cmd, "cmd_tag", cmd->tag);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the tag to the result command for dbs command '%s'.\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(temp_cmd, "cmd_orig", cmd->cmd_str);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add cmd_orig to the result command for a %s command\n", cmd->cmd_str);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    /* create a db */
-    result = smpd_dbs_create(/*smpd_process.*/kvs_name);
-    if (result == SMPD_DBS_SUCCESS)
-    {
-	if (MPIU_Str_get_int_arg(cmd->cmd, "npreput", &npreput) == MPIU_STR_SUCCESS)
-	{
-	    smpd_dbg_printf("npreput = %d\n", npreput);
-	    /*printf("npreput = %d\n", npreput);fflush(stdout);*/
-	    if (MPIU_Str_get_string_arg(cmd->cmd, "preput", keyvals_str, SMPD_MAX_CMD_LENGTH) == MPIU_STR_SUCCESS)
-	    {
-		smpd_dbg_printf("preput string = '%s'\n", keyvals_str);
-		/*printf("preput string = '%s'\n", keyvals_str);fflush(stdout);*/
-		for (j=0; j<npreput; j++)
-		{
-		    sprintf(key, "%d", j);
-		    if (MPIU_Str_get_string_arg(keyvals_str, key, val, 1024) != MPIU_STR_SUCCESS)
-		    {
-			smpd_err_printf("unable to get key %s from the preput keyval string '%s'.\n", key, keyvals_str);
-			smpd_exit_fn(FCNAME);
-			return SMPD_FAIL;
-		    }
-		    iter = val;
-		    if (MPIU_Str_get_string(&iter, key, 100) != MPIU_STR_SUCCESS)
-		    {
-			smpd_err_printf("unable to get key name from the preput keyval string '%s'.\n", val);
-			smpd_exit_fn(FCNAME);
-			return SMPD_FAIL;
-		    }
-		    if (MPIU_Str_get_string(&iter, equals_str, 10) != MPIU_STR_SUCCESS)
-		    {
-			smpd_err_printf("unable to get equals deliminator from the preput keyval string '%s'.\n", val);
-			smpd_exit_fn(FCNAME);
-			return SMPD_FAIL;
-		    }
-		    if (MPIU_Str_get_string(&iter, val2, 1024) != MPIU_STR_SUCCESS)
-		    {
-			smpd_err_printf("unable to get value from the preput keyval string '%s'.\n", val);
-			smpd_exit_fn(FCNAME);
-			return SMPD_FAIL;
-		    }
-		    result = smpd_dbs_put(/*smpd_process.*/kvs_name, key, val2);
-		    if (result != SMPD_DBS_SUCCESS)
-		    {
-			smpd_err_printf("smpd_dbs_put(%s:%s) failed.\n", key, val2);
-			smpd_exit_fn(FCNAME);
-			return SMPD_FAIL;
-		    }
-		    /*printf("preput %s = %s\n", key,val2);fflush(stdout);*/
-		}
-	    }
-	}
-
-	/* send the name back to the root */
-	result = smpd_add_command_arg(temp_cmd, "kvs_name", /*smpd_process.*/kvs_name);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add the kvs_name string to the result command for dbs command '%s'.\n", cmd->cmd);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	result = smpd_add_command_arg(temp_cmd, "domain_name", smpd_process.domain_name);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add the domain_name string to the result command for dbs command '%s'.\n", cmd->cmd);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	result = smpd_add_command_arg(temp_cmd, "result", SMPD_SUCCESS_STR);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add the result string to the result command for dbs command '%s'.\n", cmd->cmd);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-    }
-    else
-    {
-	smpd_err_printf("unable to create a db\n");
-	/* Shoud we send a bogus kvs_name field in the command so the reader won't blow up or complain that it is not there?
-	result = smpd_add_command_arg(temp_cmd, "kvs_name", "0");
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add the kvs_name string to the result command for dbs command '%s'.\n", cmd->cmd);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	*/
-	result = smpd_add_command_arg(temp_cmd, "result", SMPD_FAIL_STR);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add the result string to the result command for dbs command '%s'.\n", cmd->cmd);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-    }
-    smpd_dbg_printf("sending result command to %s context: \"%s\"\n", smpd_get_context_str(context), temp_cmd->cmd);
-    result = smpd_post_write_command(context, temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a write of the result command to the context: cmd '%s', dbs cmd '%s'", temp_cmd->cmd, cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_handle_print_command"
-int smpd_handle_print_command(smpd_context_t *context)
-{
-    int result = SMPD_SUCCESS;
-    smpd_command_t *cmd, *temp_cmd;
-
-    smpd_enter_fn(FCNAME);
-
-    cmd = &context->read_cmd;
-
-    smpd_dbg_printf("PRINT: node %s:%d, level %d, parent = %d, left = %d, right = %d\n",
-	smpd_process.host,
-	smpd_process.id,
-	smpd_process.level,
-	/*smpd_process.parent_context ? smpd_process.parent_context->id : -1,*/
-	smpd_process.parent_id,
-	smpd_process.left_context ? smpd_process.left_context->id : -1,
-	smpd_process.right_context ? smpd_process.right_context->id : -1);
-    if (smpd_process.left_context)
-    {
-	result = smpd_create_command("print", smpd_process.id, smpd_process.left_context->id, SMPD_FALSE, &temp_cmd);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to create a 'print' command for the left context.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	result = smpd_post_write_command(smpd_process.left_context, temp_cmd);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a write for the 'print' command to the left context.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-    }
-    if (smpd_process.right_context)
-    {
-	result = smpd_create_command("print", smpd_process.id, smpd_process.right_context->id, SMPD_FALSE, &temp_cmd);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to create a 'print' command for the right context.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	result = smpd_post_write_command(smpd_process.right_context, temp_cmd);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a write for the 'print' command to the right context.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-    }
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_handle_stat_command"
-int smpd_handle_stat_command(smpd_context_t *context)
-{
-    int result;
-    smpd_command_t *cmd, *temp_cmd, *cmd_iter;
-    char param[100];
-    char result_str[SMPD_MAX_CMD_LENGTH-100];
-    smpd_context_t *iter;
-    char *str;
-    int len;
-
-    smpd_enter_fn(FCNAME);
-
-    cmd = &context->read_cmd;
-
-    if (MPIU_Str_get_string_arg(cmd->cmd, "param", param, 1024) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("stat command missing param parameter\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    if (strcmp(param, "context") == 0)
-    {
-	if (smpd_process.context_list == NULL)
-	{
-	    strcpy(result_str, "none");
-	}
-	else
-	{
-	    str = result_str;
-	    len = SMPD_MAX_CMD_LENGTH-100;
-	    iter = smpd_process.context_list;
-	    while (iter)
-	    {
-		smpd_snprintf_update(&str, &len, "{\n");
-		smpd_snprintf_update(&str, &len, " type               = %s\n", smpd_get_context_str(iter));
-		smpd_snprintf_update(&str, &len, " id                 = %d\n", iter->id);
-		smpd_snprintf_update(&str, &len, " state              = %s\n", smpd_get_state_string(iter->state));
-		smpd_snprintf_update(&str, &len, " read_state         = %s\n", smpd_get_state_string(iter->read_state));
-		smpd_snprintf_update(&str, &len, " read_cmd:\n");
-		smpd_command_to_string(&str, &len, 2, &iter->read_cmd);
-		smpd_snprintf_update(&str, &len, " write_state        = %s\n", smpd_get_state_string(iter->write_state));
-		smpd_snprintf_update(&str, &len, " write_list         = %p\n", iter->write_list);
-		cmd_iter = iter->write_list;
-		while (cmd_iter)
-		{
-		    smpd_snprintf_update(&str, &len, " write_cmd:\n");
-		    smpd_command_to_string(&str, &len, 2, cmd_iter);
-		    cmd_iter = cmd_iter->next;
-		}
-		smpd_snprintf_update(&str, &len, " host               = %s\n", iter->host);
-		smpd_snprintf_update(&str, &len, " rank               = %d\n", iter->rank);
-		smpd_snprintf_update(&str, &len, " set                = %d\n", SMPDU_Sock_get_sock_set_id(iter->set));
-		smpd_snprintf_update(&str, &len, " sock               = %d\n", SMPDU_Sock_get_sock_id(iter->sock));
-		smpd_snprintf_update(&str, &len, " account            = %s\n", iter->account);
-		smpd_snprintf_update(&str, &len, " password           = ***\n");
-		smpd_snprintf_update(&str, &len, " connect_return_id  = %d\n", iter->connect_return_id);
-		smpd_snprintf_update(&str, &len, " connect_return_tag = %d\n", iter->connect_return_tag);
-		smpd_snprintf_update(&str, &len, " connect_to         = %p\n", iter->connect_to);
-		smpd_snprintf_update(&str, &len, " cred_request       = %s\n", iter->cred_request);
-		smpd_snprintf_update(&str, &len, " port_str           = %s\n", iter->port_str);
-		smpd_snprintf_update(&str, &len, " pszChallengeResponse = %s\n", iter->pszChallengeResponse);
-		smpd_snprintf_update(&str, &len, " pszCrypt           = %s\n", iter->pszCrypt);
-		smpd_snprintf_update(&str, &len, " pwd_request        = %s\n", iter->pwd_request);
-		smpd_snprintf_update(&str, &len, " session            = %s\n", iter->session);
-		smpd_snprintf_update(&str, &len, " session_header     = '%s'\n", iter->session_header);
-		smpd_snprintf_update(&str, &len, " smpd_pwd           = %s\n", iter->smpd_pwd);
-#ifdef HAVE_WINDOWS_H
-		smpd_snprintf_update(&str, &len, " wait.hProcess      = %p\n", iter->wait.hProcess);
-		smpd_snprintf_update(&str, &len, " wait.hThread       = %p\n", iter->wait.hThread);
-#else
-		smpd_snprintf_update(&str, &len, " wait               = %d\n", (int)(iter->wait));
-#endif
-		smpd_snprintf_update(&str, &len, " wait_list          = %p\n", iter->wait_list);
-		smpd_snprintf_update(&str, &len, " process            = %p\n", iter->process);
-		if (iter->process)
-		{
-		    smpd_process_to_string(&str, &len, 2, iter->process);
-		}
-		smpd_snprintf_update(&str, &len, " next               = %p\n", iter->next);
-		smpd_snprintf_update(&str, &len, "}\n");
-		iter = iter->next;
-	    }
-	}
-    }
-    else if (strcmp(param, "process") == 0)
-    {
-	strcpy(result_str, "none");
-    }
-    else
-    {
-	strcpy(result_str, "unknown");
-    }
-
-    /* create a result command */
-    result = smpd_create_command("result", smpd_process.id, cmd->src, SMPD_FALSE, &temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create a result command for the context.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    /* add the command tag for result matching */
-    result = smpd_add_command_int_arg(temp_cmd, "cmd_tag", cmd->tag);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the tag to the result command for a stat command.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(temp_cmd, "cmd_orig", cmd->cmd_str);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add cmd_orig to the result command for a %s command\n", cmd->cmd_str);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    /* add the result string */
-    result = smpd_add_command_arg(temp_cmd, "result", result_str);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the result string to the result command for a stat command.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    /* post the result command */
-    smpd_dbg_printf("replying to stat command: \"%s\"\n", temp_cmd->cmd);
-    result = smpd_post_write_command(context, temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a write of the result command to the context.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_handle_abort_command"
-int smpd_handle_abort_command(smpd_context_t *context)
-{
-    char error_str[2048];
-
-    smpd_enter_fn(FCNAME);
-
-    if (MPIU_Str_get_string_arg(context->read_cmd.cmd, "error", error_str, 2048) == MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("abort: %s\n", error_str);
-    }
-    else
-    {
-	/* abort without an error means return and exit peacefully */
-	/* FIXME: create a new return class, for now use SMPD_DBS_RETURN */
-	smpd_exit_fn(FCNAME);
-	return SMPD_DBS_RETURN;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_EXIT;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_handle_abort_job_command"
-int smpd_handle_abort_job_command(smpd_context_t *context)
-{
-    char error_str[2048];
-    char name[SMPD_MAX_DBS_NAME_LEN+1] = "";
-    smpd_command_t *cmd;
-    int rank;
-    int result;
-    int exit_code;
-
-    smpd_enter_fn(FCNAME);
-
-    cmd = &context->read_cmd;
-    if (MPIU_Str_get_string_arg(cmd->cmd, "error", error_str, 2048) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("invalid abort_job command, no error field in the command: '%s'\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    if (MPIU_Str_get_string_arg(cmd->cmd, "name", name, SMPD_MAX_DBS_NAME_LEN) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("invalid abort_job command, no name field in the command: '%s'\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    if (MPIU_Str_get_int_arg(cmd->cmd, "rank", &rank) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("invalid abort_job command, no rank field in the command: '%s'\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    if (MPIU_Str_get_int_arg(cmd->cmd, "exit_code", &exit_code) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("invalid abort_job command, no exit_code field in the command: '%s'\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    result = smpd_do_abort_job(name, rank, error_str, exit_code);
-
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_handle_init_command"
-int smpd_handle_init_command(smpd_context_t *context)
-{
-    int result;
-    smpd_command_t *cmd, *temp_cmd;
-    char name[SMPD_MAX_DBS_NAME_LEN+1] = "";
-    char key[SMPD_MAX_DBS_KEY_LEN+1] = "";
-    char value[SMPD_MAX_DBS_VALUE_LEN+1] = "";
-    char fail_str[SMPD_MAX_DBS_VALUE_LEN+1] = "";
-    char ctx_key[100];
-    char *result_str = NULL;
-    int rank, size, node_id=0;
-    smpd_process_group_t *pg;
-
-    smpd_enter_fn(FCNAME);
-
-    cmd = &context->read_cmd;
-
-    /* prepare the result command */
-    result = smpd_create_command("result", smpd_process.id, cmd->src, SMPD_FALSE, &temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create a result command for the init command '%s'.\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    /* add the command tag for result matching */
-    result = smpd_add_command_int_arg(temp_cmd, "cmd_tag", cmd->tag);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the tag to the result command for the init command '%s'.\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    /* copy the ctx_key for pmi control channel lookup */
-    if (MPIU_Str_get_string_arg(cmd->cmd, "ctx_key", ctx_key, 100) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("no ctx_key in the db command: '%s'\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(temp_cmd, "ctx_key", ctx_key);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the ctx_key to the result command for dbs command '%s'.\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    /* do init stuff */
-    if ((get_name_key_value(cmd->cmd, name, key, value) != SMPD_SUCCESS) || (MPIU_Str_get_int_arg(cmd->cmd, "node_id", &node_id) != MPIU_STR_SUCCESS))
-    {
-	snprintf(fail_str, SMPD_MAX_DBS_VALUE_LEN, SMPD_FAIL_STR" - invalid init command, name = %s, key = %s, value = %s, node_id = %d.",
-	    name, key, value, node_id);
-	result = smpd_add_command_arg(temp_cmd, "result", fail_str);
-	/*result = smpd_add_command_arg(temp_cmd, "result", SMPD_FAIL_STR" - invalid init command.");*/
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add the result string to the result command for init command '%s'.\n", cmd->cmd);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	smpd_dbg_printf("sending result command to %s context: \"%s\"\n", smpd_get_context_str(context), temp_cmd->cmd);
-	result = smpd_post_write_command(context, temp_cmd);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a write of the result command to the context: cmd '%s', init cmd '%s'", temp_cmd->cmd, cmd->cmd);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-
-    rank = atoi(key);
-    size = atoi(value);
-    if (rank < 0 || size < 1)
-    {
-	snprintf(fail_str, SMPD_MAX_DBS_VALUE_LEN, SMPD_FAIL_STR" - invalid init command, rank = %d, size = %d.", rank, size);
-	result = smpd_add_command_arg(temp_cmd, "result", fail_str);
-	/*result = smpd_add_command_arg(temp_cmd, "result", SMPD_FAIL_STR" - invalid init command.");*/
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add the result string to the result command for init command '%s'.\n", cmd->cmd);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	smpd_dbg_printf("sending result command to %s context: \"%s\"\n", smpd_get_context_str(context), temp_cmd->cmd);
-	result = smpd_post_write_command(context, temp_cmd);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a write of the result command to the context: cmd '%s', init cmd '%s'", temp_cmd->cmd, cmd->cmd);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-    smpd_dbg_printf("init: %d:%d:%s\n", rank, size, name);
-    pg = smpd_process.pg_list;
-    while (pg)
-    {
-	if (strcmp(pg->kvs, name) == 0)
-	{
-	    if (rank >= pg->num_procs)
-	    {
-		sprintf(value, "%s - rank %d out of range, number of processes = %d", SMPD_FAIL_STR, rank, pg->num_procs);
-		result_str = value;
-		break;
-	    }
-	    pg->any_init_received = SMPD_TRUE;
-	    pg->processes[rank].init_called = SMPD_TRUE;
-	    pg->processes[rank].node_id = node_id;
-	    memcpy(pg->processes[rank].ctx_key, ctx_key, sizeof(pg->processes[rank].ctx_key));
-	    if (pg->any_noinit_process_exited == SMPD_TRUE)
-	    {
-		result_str = SMPD_FAIL_STR" - init called when another process has exited without calling init";
-	    }
-	    else
-	    {
-		result_str = SMPD_SUCCESS_STR;
-	    }
-	    break;
-	}
-	pg = pg->next;
-    }
-    if (pg == NULL)
-    {
-	smpd_err_printf("init command received but no process group structure found to match it: pg <%s>\n", name);
-	result_str = SMPD_FAIL_STR" - init command received but no process group structure fount to match it.";
-    }
-
-    /* send the reply */
-    smpd_dbg_printf("sending reply to init command '%s'.\n", cmd->cmd);
-    result = smpd_add_command_arg(temp_cmd, "result", result_str);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the result string to the result command for the init command '%s'.\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_dbg_printf("sending result command to %s context: \"%s\"\n", smpd_get_context_str(context), temp_cmd->cmd);
-    result = smpd_post_write_command(context, temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a write of the result command to the context: cmd '%s', init cmd '%s'", temp_cmd->cmd, cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_handle_finalize_command"
-int smpd_handle_finalize_command(smpd_context_t *context)
-{
-    int result;
-    smpd_command_t *cmd, *temp_cmd;
-    char name[SMPD_MAX_DBS_NAME_LEN+1] = "";
-    char key[SMPD_MAX_DBS_KEY_LEN+1] = "";
-    char value[SMPD_MAX_DBS_VALUE_LEN+1] = "";
-    char ctx_key[100];
-    char *result_str = NULL;
-    int rank;
-    smpd_process_group_t *pg;
-
-    smpd_enter_fn(FCNAME);
-
-    cmd = &context->read_cmd;
-
-    /* prepare the result command */
-    result = smpd_create_command("result", smpd_process.id, cmd->src, SMPD_FALSE, &temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create a result command for the finalize command '%s'.\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    /* add the command tag for result matching */
-    result = smpd_add_command_int_arg(temp_cmd, "cmd_tag", cmd->tag);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the tag to the result command for the finalize command '%s'.\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    /* copy the ctx_key for pmi control channel lookup */
-    if (MPIU_Str_get_string_arg(cmd->cmd, "ctx_key", ctx_key, 100) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("no ctx_key in the db command: '%s'\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(temp_cmd, "ctx_key", ctx_key);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the ctx_key to the result command for dbs command '%s'.\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    /* do finalize stuff */
-    if (get_name_key_value(cmd->cmd, name, key, NULL) != SMPD_SUCCESS)
-    {
-	result = smpd_add_command_arg(temp_cmd, "result", SMPD_FAIL_STR" - invalid finalize command.");
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add the result string to the result command for finalize command '%s'.\n", cmd->cmd);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	smpd_dbg_printf("sending result command to %s context: \"%s\"\n", smpd_get_context_str(context), temp_cmd->cmd);
-	result = smpd_post_write_command(context, temp_cmd);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a write of the result command to the context: cmd '%s', finalize cmd '%s'", temp_cmd->cmd, cmd->cmd);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-    rank = atoi(key);
-    if (rank < 0)
-    {
-	result = smpd_add_command_arg(temp_cmd, "result", SMPD_FAIL_STR" - invalid finalize command.");
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add the result string to the result command for finalize command '%s'.\n", cmd->cmd);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	smpd_dbg_printf("sending result command to %s context: \"%s\"\n", smpd_get_context_str(context), temp_cmd->cmd);
-	result = smpd_post_write_command(context, temp_cmd);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a write of the result command to the context: cmd '%s', finalize cmd '%s'", temp_cmd->cmd, cmd->cmd);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-    smpd_dbg_printf("finalize: %d:%s\n", rank, name);
-    pg = smpd_process.pg_list;
-    while (pg)
-    {
-	if (strcmp(pg->kvs, name) == 0)
-	{
-	    if (rank >= pg->num_procs)
-	    {
-		sprintf(value, "%s - rank %d out of range, number of processes = %d", SMPD_FAIL_STR, rank, pg->num_procs);
-		result_str = value;
-		break;
-	    }
-	    pg->processes[rank].finalize_called = SMPD_TRUE;
-	    result_str = SMPD_SUCCESS_STR;
-	    break;
-	}
-	pg = pg->next;
-    }
-    if (pg == NULL)
-    {
-	smpd_err_printf("finalize command received but no process group structure found to match it: pg <%s>\n", name);
-	result_str = SMPD_FAIL_STR" - finalize command received but no process group structure fount to match it.";
-    }
-
-    /* send the reply */
-    smpd_dbg_printf("sending reply to finalize command '%s'.\n", cmd->cmd);
-    result = smpd_add_command_arg(temp_cmd, "result", result_str);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the result string to the result command for the finalize command '%s'.\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_dbg_printf("sending result command to %s context: \"%s\"\n", smpd_get_context_str(context), temp_cmd->cmd);
-    result = smpd_post_write_command(context, temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a write of the result command to the context: cmd '%s', finalize cmd '%s'", temp_cmd->cmd, cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_handle_validate_command"
-int smpd_handle_validate_command(smpd_context_t *context)
-{
-    int result = SMPD_SUCCESS;
-    smpd_command_t *cmd, *temp_cmd;
-    char fullaccount[SMPD_MAX_ACCOUNT_LENGTH]="", domain[SMPD_MAX_ACCOUNT_LENGTH];
-    char account[SMPD_MAX_ACCOUNT_LENGTH]="", password[SMPD_MAX_PASSWORD_LENGTH]="", encrypted_password[SMPD_MAX_PASSWORD_LENGTH]="";
-    char result_str[100];
-    int length;
-#ifdef HAVE_WINDOWS_H
-    HANDLE hUser;
-#endif
-
-    smpd_enter_fn(FCNAME);
-
-    cmd = &context->read_cmd;
-
-    if (MPIU_Str_get_string_arg(cmd->cmd, "account", fullaccount, SMPD_MAX_ACCOUNT_LENGTH) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("validate command missing account parameter\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    /* FIXME: decrypt the password */
-    if (MPIU_Str_get_string_arg(cmd->cmd, "password", encrypted_password, SMPD_MAX_PASSWORD_LENGTH) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("validate command missing password parameter\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    length = SMPD_MAX_PASSWORD_LENGTH;
-    result = smpd_decrypt_data(encrypted_password, SMPD_MAX_PASSWORD_LENGTH, password, &length);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to decrypt the password\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    /* validate user */
-#ifdef HAVE_WINDOWS_H
-    smpd_parse_account_domain(fullaccount, account, domain);
-    result = smpd_get_user_handle(account, domain, password, &hUser);
-    if (result != SMPD_SUCCESS)
-    {
-	strcpy(result_str, SMPD_FAIL_STR);
-    }
-    else
-    {
-	strcpy(result_str, SMPD_SUCCESS_STR);
-    }
-    if (hUser != INVALID_HANDLE_VALUE)
-	CloseHandle(hUser);
-#else
-    strcpy(result_str, SMPD_FAIL_STR);
-#endif
-
-    /* prepare the result command */
-    result = smpd_create_command("result", smpd_process.id, cmd->src, SMPD_FALSE, &temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create a result command for a validate command.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    /* add the command tag for result matching */
-    result = smpd_add_command_int_arg(temp_cmd, "cmd_tag", cmd->tag);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the tag to the result command for a validate command.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(temp_cmd, "cmd_orig", cmd->cmd_str);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add cmd_orig to the result command for a %s command\n", cmd->cmd_str);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(temp_cmd, "result", result_str);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the result string to the result command for a validate command.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    /* send result back */
-    smpd_dbg_printf("replying to validate command: \"%s\"\n", temp_cmd->cmd);
-    result = smpd_post_write_command(context, temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a write of the result command to the context.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_handle_status_command"
-int smpd_handle_status_command(smpd_context_t *context)
-{
-    int result = SMPD_SUCCESS;
-    smpd_command_t *cmd, *temp_cmd;
-    char dynamic_hosts[SMPD_MAX_CMD_LENGTH - 100];
-
-    smpd_enter_fn(FCNAME);
-
-    cmd = &context->read_cmd;
-
-    result = smpd_get_smpd_data("dynamic_hosts", dynamic_hosts, SMPD_MAX_CMD_LENGTH - 100);
-    if (result != SMPD_SUCCESS)
-	strcpy(dynamic_hosts, "none");
-
-    /* prepare the result command */
-    result = smpd_create_command("result", smpd_process.id, cmd->src, SMPD_FALSE, &temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create a result command for a status command.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    /* add the command tag for result matching */
-    result = smpd_add_command_int_arg(temp_cmd, "cmd_tag", cmd->tag);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the tag to the result command for a status command.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(temp_cmd, "cmd_orig", cmd->cmd_str);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add cmd_orig to the result command for a %s command\n", cmd->cmd_str);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(temp_cmd, "result", dynamic_hosts);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the dynamic hosts result string to the result command for a status command.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    /* send result back */
-    smpd_dbg_printf("replying to status command: \"%s\"\n", temp_cmd->cmd);
-    result = smpd_post_write_command(context, temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a write of the result command to the context.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_handle_get_command"
-int smpd_handle_get_command(smpd_context_t *context)
-{
-    int result = SMPD_SUCCESS;
-    smpd_command_t *cmd, *temp_cmd;
-    char result_str[100];
-    char key[SMPD_MAX_NAME_LENGTH];
-    char value[SMPD_MAX_VALUE_LENGTH];
-
-    smpd_enter_fn(FCNAME);
-
-    cmd = &context->read_cmd;
-
-    if (MPIU_Str_get_string_arg(cmd->cmd, "key", key, SMPD_MAX_NAME_LENGTH) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("get command missing key parameter\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    /* get key */
-    result = smpd_get_smpd_data(key, value, SMPD_MAX_VALUE_LENGTH);
-    if (result != SMPD_SUCCESS)
-    {
-	/*
-	smpd_err_printf("unable to get %s\n", key);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-	*/
-	strcpy(result_str, SMPD_FAIL_STR);
-    }
-    else
-    {
-	strcpy(result_str, SMPD_SUCCESS_STR);
-    }
-
-    /* prepare the result command */
-    result = smpd_create_command("result", smpd_process.id, cmd->src, SMPD_FALSE, &temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create a result command for a get %s=%s command.\n", key, value);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    /* add the command tag for result matching */
-    result = smpd_add_command_int_arg(temp_cmd, "cmd_tag", cmd->tag);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the tag to the result command for a get %s=%s command.\n", key, value);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(temp_cmd, "cmd_orig", cmd->cmd_str);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add cmd_orig to the result command for a %s command\n", cmd->cmd_str);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    if (strcmp(result_str, SMPD_SUCCESS_STR) == 0)
-    {
-	/* add the value */
-	result = smpd_add_command_arg(temp_cmd, "value", value);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add the value to the result command for a get %s=%s command.\n", key, value);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-    }
-    /* add the result */
-    result = smpd_add_command_arg(temp_cmd, "result", result_str);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the result string to the result command for a get %s=%s command.\n", key, value);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    /* send result back */
-    smpd_dbg_printf("replying to get %s command: \"%s\"\n", key, temp_cmd->cmd);
-    result = smpd_post_write_command(context, temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a write of the result command to the context.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_handle_set_command"
-int smpd_handle_set_command(smpd_context_t *context)
-{
-    int result = SMPD_SUCCESS;
-    smpd_command_t *cmd, *temp_cmd;
-    char result_str[100];
-    char key[SMPD_MAX_NAME_LENGTH];
-    char value[SMPD_MAX_VALUE_LENGTH];
-
-    smpd_enter_fn(FCNAME);
-
-    cmd = &context->read_cmd;
-
-    if (MPIU_Str_get_string_arg(cmd->cmd, "key", key, SMPD_MAX_NAME_LENGTH) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("set command missing key parameter\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    if (MPIU_Str_get_string_arg(cmd->cmd, "value", value, SMPD_MAX_VALUE_LENGTH) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("set command missing value parameter\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    /* set key=value */
-    result = smpd_set_smpd_data(key, value);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to set %s=%s\n", key, value);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    strcpy(result_str, SMPD_SUCCESS_STR);
-
-    /* prepare the result command */
-    result = smpd_create_command("result", smpd_process.id, cmd->src, SMPD_FALSE, &temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create a result command for a set %s=%s command.\n", key, value);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    /* add the command tag for result matching */
-    result = smpd_add_command_int_arg(temp_cmd, "cmd_tag", cmd->tag);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the tag to the result command for a set %s=%s command.\n", key, value);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(temp_cmd, "cmd_orig", cmd->cmd_str);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add cmd_orig to the result command for a %s command\n", cmd->cmd_str);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(temp_cmd, "result", result_str);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the result string to the result command for a set %s=%s command.\n", key, value);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    /* send result back */
-    smpd_dbg_printf("replying to set %s=%s command: \"%s\"\n", key, value, temp_cmd->cmd);
-    result = smpd_post_write_command(context, temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a write of the result command to the context.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_handle_delete_command"
-int smpd_handle_delete_command(smpd_context_t *context)
-{
-    int result = SMPD_SUCCESS;
-    smpd_command_t *cmd, *temp_cmd;
-    char result_str[100];
-    char key[SMPD_MAX_NAME_LENGTH];
-
-    smpd_enter_fn(FCNAME);
-
-    cmd = &context->read_cmd;
-
-    if (MPIU_Str_get_string_arg(cmd->cmd, "key", key, SMPD_MAX_NAME_LENGTH) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("set command missing key parameter\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    /* delete key */
-    result = smpd_delete_smpd_data(key);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to delete smpd data %s\n", key);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    strcpy(result_str, SMPD_SUCCESS_STR);
-
-    /* prepare the result command */
-    result = smpd_create_command("result", smpd_process.id, cmd->src, SMPD_FALSE, &temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create a result command for a delete %s command.\n", key);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    /* add the command tag for result matching */
-    result = smpd_add_command_int_arg(temp_cmd, "cmd_tag", cmd->tag);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the tag to the result command for a delete %s command.\n", key);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(temp_cmd, "cmd_orig", cmd->cmd_str);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add cmd_orig to the result command for a %s command\n", cmd->cmd_str);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(temp_cmd, "result", result_str);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the result string to the result command for a delete %s command.\n", key);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    /* send result back */
-    smpd_dbg_printf("replying to delete %s command: \"%s\"\n", key, temp_cmd->cmd);
-    result = smpd_post_write_command(context, temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a write of the result command to the %s context.\n", smpd_get_context_str(context));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_handle_cred_request_command"
-int smpd_handle_cred_request_command(smpd_context_t *context)
-{
-    int result;
-    smpd_command_t *cmd, *temp_cmd;
-    char host[SMPD_MAX_HOST_LENGTH];
-
-    smpd_enter_fn(FCNAME);
-
-    cmd = &context->read_cmd;
-
-    if (MPIU_Str_get_string_arg(cmd->cmd, "host", host, SMPD_MAX_HOST_LENGTH) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("no host parameter in the cred_request command: '%s'\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    /* prepare the result command */
-    result = smpd_create_command("result", smpd_process.id, cmd->src, SMPD_FALSE, &temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create a result command for a cred_request command.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    /* add the command tag for result matching */
-    result = smpd_add_command_int_arg(temp_cmd, "cmd_tag", cmd->tag);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the tag to the result command for a cred_request command.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(temp_cmd, "cmd_orig", cmd->cmd_str);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add cmd_orig to the result command for a %s command\n", cmd->cmd_str);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-#ifdef HAVE_WINDOWS_H
-    if (smpd_process.use_sspi)
-    {
-	result = smpd_add_command_arg(temp_cmd, "result", "sspi");
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add the result parameter to the result command.\n");
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-    }
-    else
-    {
-	if (smpd_process.UserAccount[0] == '\0')
-	{
-	    if (smpd_process.logon || 
-		(!smpd_get_cached_password(smpd_process.UserAccount, smpd_process.UserPassword) &&
-		!smpd_read_password_from_registry(smpd_process.user_index, smpd_process.UserAccount, smpd_process.UserPassword)))
-	    {
-		if (smpd_process.credentials_prompt)
-		{
-		    fprintf(stderr, "User credentials needed to launch processes on %s:\n", host);
-		    smpd_get_account_and_password(smpd_process.UserAccount, smpd_process.UserPassword);
-		    smpd_cache_password(smpd_process.UserAccount, smpd_process.UserPassword);
-		    result = smpd_add_command_arg(temp_cmd, "account", smpd_process.UserAccount);
-		    if (result != SMPD_SUCCESS)
-		    {
-			smpd_err_printf("unable to add the account parameter to the result command.\n");
-			smpd_exit_fn(FCNAME);
-			return result;
-		    }
-		    result = smpd_encrypt_data(smpd_process.UserPassword, (int)strlen(smpd_process.UserPassword)+1, context->encrypted_password, SMPD_MAX_PASSWORD_LENGTH);
-		    if (result != SMPD_SUCCESS)
-		    {
-			smpd_err_printf("unable to encrypt the password parameter to the result command.\n");
-			smpd_exit_fn(FCNAME);
-			return result;
-		    }
-		    result = smpd_add_command_arg(temp_cmd, "password", context->encrypted_password/*smpd_process.UserPassword*/);
-		    if (result != SMPD_SUCCESS)
-		    {
-			smpd_err_printf("unable to add the password parameter to the result command.\n");
-			smpd_exit_fn(FCNAME);
-			return result;
-		    }
-		    result = smpd_add_command_arg(temp_cmd, "result", SMPD_SUCCESS_STR);
-		    if (result != SMPD_SUCCESS)
-		    {
-			smpd_err_printf("unable to add the result parameter to the result command.\n");
-			smpd_exit_fn(FCNAME);
-			return result;
-		    }
-		}
-		else
-		{
-		    result = smpd_add_command_arg(temp_cmd, "result", SMPD_FAIL_STR);
-		    if (result != SMPD_SUCCESS)
-		    {
-			smpd_err_printf("unable to add the result parameter to the result command.\n");
-			smpd_exit_fn(FCNAME);
-			return result;
-		    }
-		}
-	    }
-	    else
-	    {
-		result = smpd_add_command_arg(temp_cmd, "account", smpd_process.UserAccount);
-		if (result != SMPD_SUCCESS)
-		{
-		    smpd_err_printf("unable to add the account parameter to the result command.\n");
-		    smpd_exit_fn(FCNAME);
-		    return result;
-		}
-		result = smpd_encrypt_data(smpd_process.UserPassword, (int)strlen(smpd_process.UserPassword)+1, context->encrypted_password, SMPD_MAX_PASSWORD_LENGTH);
-		if (result != SMPD_SUCCESS)
-		{
-		    smpd_err_printf("unable to encrypt the password parameter for the result command.\n");
-		    smpd_exit_fn(FCNAME);
-		    return result;
-		}
-		result = smpd_add_command_arg(temp_cmd, "password", context->encrypted_password/*smpd_process.UserPassword*/);
-		if (result != SMPD_SUCCESS)
-		{
-		    smpd_err_printf("unable to add the password parameter to the result command.\n");
-		    smpd_exit_fn(FCNAME);
-		    return result;
-		}
-		result = smpd_add_command_arg(temp_cmd, "result", SMPD_SUCCESS_STR);
-		if (result != SMPD_SUCCESS)
-		{
-		    smpd_err_printf("unable to add the result parameter to the result command.\n");
-		    smpd_exit_fn(FCNAME);
-		    return result;
-		}
-	    }
-	}
-	else
-	{
-	    result = smpd_add_command_arg(temp_cmd, "account", smpd_process.UserAccount);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to add the account parameter to the result command.\n");
-		smpd_exit_fn(FCNAME);
-		return result;
-	    }
-	    result = smpd_encrypt_data(smpd_process.UserPassword, (int)strlen(smpd_process.UserPassword)+1, context->encrypted_password, SMPD_MAX_PASSWORD_LENGTH);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to encrypt the password parameter for the result command.\n");
-		smpd_exit_fn(FCNAME);
-		return result;
-	    }
-	    result = smpd_add_command_arg(temp_cmd, "password", context->encrypted_password/*smpd_process.UserPassword*/);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to add the password parameter to the result command.\n");
-		smpd_exit_fn(FCNAME);
-		return result;
-	    }
-	    result = smpd_add_command_arg(temp_cmd, "result", SMPD_SUCCESS_STR);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to add the result parameter to the result command.\n");
-		smpd_exit_fn(FCNAME);
-		return result;
-	    }
-	}
-    }
-#else
-    if (smpd_process.UserAccount[0] == '\0')
-    {
-	if (smpd_process.credentials_prompt)
-	{
-	    fprintf(stderr, "User credentials needed to launch processes on %s:\n", host);
-	    smpd_get_account_and_password(smpd_process.UserAccount, smpd_process.UserPassword);
-	    result = smpd_add_command_arg(temp_cmd, "account", smpd_process.UserAccount);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to add the account parameter to the result command.\n");
-		smpd_exit_fn(FCNAME);
-		return result;
-	    }
-	    result = smpd_encrypt_data(smpd_process.UserPassword, (int)strlen(smpd_process.UserPassword)+1, context->encrypted_password, SMPD_MAX_PASSWORD_LENGTH);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to encrypt the password parameter for the result command.\n");
-		smpd_exit_fn(FCNAME);
-		return result;
-	    }
-	    result = smpd_add_command_arg(temp_cmd, "password", context->encrypted_password/*smpd_process.UserPassword*/);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to add the password parameter to the result command.\n");
-		smpd_exit_fn(FCNAME);
-		return result;
-	    }
-	    result = smpd_add_command_arg(temp_cmd, "result", SMPD_SUCCESS_STR);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to add the result parameter to the result command.\n");
-		smpd_exit_fn(FCNAME);
-		return result;
-	    }
-	}
-	else
-	{
-	    result = smpd_add_command_arg(temp_cmd, "result", SMPD_FAIL_STR);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to add the result parameter to the result command.\n");
-		smpd_exit_fn(FCNAME);
-		return result;
-	    }
-	}
-    }
-    else
-    {
-	result = smpd_add_command_arg(temp_cmd, "account", smpd_process.UserAccount);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add the account parameter to the result command.\n");
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-	result = smpd_encrypt_data(smpd_process.UserPassword, (int)strlen(smpd_process.UserPassword)+1, context->encrypted_password, SMPD_MAX_PASSWORD_LENGTH);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to encrypt the password parameter for the result command.\n");
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-	result = smpd_add_command_arg(temp_cmd, "password", context->encrypted_password/*smpd_process.UserPassword*/);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add the password parameter to the result command.\n");
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-	result = smpd_add_command_arg(temp_cmd, "result", SMPD_SUCCESS_STR);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add the result parameter to the result command.\n");
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-    }
-#endif
-    /* send result back */
-    result = smpd_post_write_command(context, temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a write of the result command to the %s context.\n", smpd_get_context_str(context));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_sspi_context_init"
-int smpd_sspi_context_init(smpd_sspi_client_context_t **sspi_context_pptr, const char *host, int port, smpd_sspi_type_t type)
-{
-#ifdef HAVE_WINDOWS_H
-    int result;
-    char err_msg[256];
-    SEC_WINNT_AUTH_IDENTITY *identity = NULL;
-    SECURITY_STATUS sec_result, sec_result_copy;
-    SecBufferDesc outbound_descriptor;
-    SecBuffer outbound_buffer;
-    ULONG attr;
-    TimeStamp ts;
-    SecPkgInfo *info;
-    smpd_sspi_client_context_t *sspi_context;
-    /*
-    char account[SMPD_MAX_ACCOUNT_LENGTH] = "";
-    char domain[SMPD_MAX_ACCOUNT_LENGTH] = "";
-    */
-    char target_[SMPD_MAX_NAME_LENGTH] = "", *target = target_;
-    double t1, t2;
-
-    smpd_enter_fn(FCNAME);
-
-    if (smpd_process.sec_fn == NULL)
-    {
-	smpd_dbg_printf("calling InitSecurityInterface\n");
-	smpd_process.sec_fn = InitSecurityInterface();
-	if (smpd_process.sec_fn == NULL)
-	{
-	    smpd_err_printf("unable to initialize the sspi interface.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-    }
-    /* FIXME: How do we determine whether to provide user credentials or impersonate the current user? */
-    /*
-    if (smpd_process.logon)
-    {
-	// This doesn't work because it causes LogonUser to be called and mpiexec can't do that
-	identity = (SEC_WINNT_AUTH_IDENTITY *)MPIU_Malloc(sizeof(SEC_WINNT_AUTH_IDENTITY));
-	if (identity == NULL)
-	{
-	    smpd_err_printf("unable to allocate an sspi security identity.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	smpd_parse_account_domain(smpd_process.UserAccount, account, domain);
-	if (domain[0] == '\0')
-	{
-	    identity->Domain = NULL;
-	    identity->DomainLength = 0;
-	}
-	else
-	{
-	    smpd_dbg_printf("using identity domain: %s\n", domain);
-	    identity->Domain = domain;
-	    identity->DomainLength = (unsigned long)strlen(domain);
-	}
-	smpd_dbg_printf("using identity user: %s\n", account);
-	identity->User = account;
-	identity->UserLength = (unsigned long)strlen(account);
-	identity->Password = smpd_process.UserPassword;
-	identity->PasswordLength = (unsigned long)strlen(smpd_process.UserPassword);
-	identity->Flags = SEC_WINNT_AUTH_IDENTITY_ANSI;
-	strncpy(target, smpd_process.UserAccount, SMPD_MAX_ACCOUNT_LENGTH);
-    }
-    else
-    {
-    */
-	result = smpd_lookup_spn(target, SMPD_MAX_NAME_LENGTH, host, port);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to lookup the smpd Service Principal Name.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	if (*target == '\0')
-	{
-	    target = NULL;
-	}
-    /*}*/
-    result = smpd_create_sspi_client_context(&sspi_context);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to allocate an sspi client context.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_dbg_printf("calling QuerySecurityPackageInfo\n");
-    sec_result = smpd_process.sec_fn->QuerySecurityPackageInfo(SMPD_SECURITY_PACKAGE, &info);
-    if (sec_result != SEC_E_OK)
-    {
-	smpd_err_printf("unable to query the security package, error %d\n", sec_result);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_dbg_printf("%s package, %s, with: max %d byte token, capabilities bitmask 0x%x\n",
-	info->Name, info->Comment, info->cbMaxToken, info->fCapabilities);
-    smpd_dbg_printf("calling AcquireCredentialsHandle\n");
-    t1 = PMPI_Wtime();
-    sec_result = smpd_process.sec_fn->AcquireCredentialsHandle(NULL, SMPD_SECURITY_PACKAGE, SECPKG_CRED_OUTBOUND, NULL, identity, NULL, NULL, &sspi_context->credential, &ts);
-    t2 = PMPI_Wtime();
-    smpd_dbg_printf("AcquireCredentialsHandle took %0.6f seconds\n", t2-t1);
-    if (identity != NULL)
-    {
-	MPIU_Free(identity);
-    }
-    if (sec_result != SEC_E_OK)
-    {
-	smpd_err_printf("unable to acquire the outbound client credential, error %d\n", sec_result);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    sspi_context->buffer = MPIU_Malloc(max(info->cbMaxToken, SMPD_SSPI_MAX_BUFFER_SIZE));
-    if (sspi_context->buffer == NULL)
-    {
-	smpd_err_printf("unable to allocate a %d byte sspi buffer\n", info->cbMaxToken);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_dbg_printf("first sspi buffer of length %d bytes\n", info->cbMaxToken);
-    sspi_context->buffer_length = info->cbMaxToken;
-    sspi_context->max_buffer_size = max(info->cbMaxToken, SMPD_SSPI_MAX_BUFFER_SIZE);
-    outbound_descriptor.ulVersion = SECBUFFER_VERSION;
-    outbound_descriptor.cBuffers = 1;
-    outbound_descriptor.pBuffers = &outbound_buffer;
-    outbound_buffer.BufferType = SECBUFFER_TOKEN;
-    outbound_buffer.cbBuffer = info->cbMaxToken;
-    outbound_buffer.pvBuffer = sspi_context->buffer;
-    smpd_dbg_printf("calling FreeContextBuffer\n");
-    sec_result = smpd_process.sec_fn->FreeContextBuffer(info);
-    if (sec_result != SEC_E_OK)
-    {
-	smpd_err_printf("unable to free the security info structure, error %d\n", sec_result);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    if (target != NULL)
-    {
-	result = MPIU_Strncpy(sspi_context->target, target, SMPD_MAX_NAME_LENGTH);
-	if (result != SMPD_SUCCESS)
-	{
-	}
-    }
-    switch (type)
-    {
-    case SMPD_SSPI_IDENTIFY:
-	sspi_context->flags = ISC_REQ_IDENTIFY;
-	break;
-    case SMPD_SSPI_IMPERSONATE:
-	sspi_context->flags = ISC_REQ_REPLAY_DETECT | ISC_REQ_SEQUENCE_DETECT | ISC_REQ_CONFIDENTIALITY;
-	break;
-    case SMPD_SSPI_DELEGATE:
-	sspi_context->flags = ISC_REQ_REPLAY_DETECT | ISC_REQ_SEQUENCE_DETECT | ISC_REQ_CONFIDENTIALITY | ISC_REQ_MUTUAL_AUTH | ISC_REQ_DELEGATE;
-	break;
-    default:
-	sspi_context->flags = ISC_REQ_REPLAY_DETECT | ISC_REQ_SEQUENCE_DETECT | ISC_REQ_CONFIDENTIALITY | ISC_REQ_MUTUAL_AUTH | ISC_REQ_DELEGATE;
-	break;
-    }
-    smpd_dbg_printf("calling InitializeSecurityContext: target = %s\n", sspi_context->target);
-    t1 = PMPI_Wtime();
-    sec_result = sec_result_copy = smpd_process.sec_fn->InitializeSecurityContext(
-	&sspi_context->credential, NULL,
-	sspi_context->target,
-	sspi_context->flags,
-	0,
-	/*SECURITY_NATIVE_DREP, */SECURITY_NETWORK_DREP,
-	NULL, 0, &sspi_context->context, &outbound_descriptor, &attr, &ts);
-    t2 = PMPI_Wtime();
-    smpd_dbg_printf("InitializeSecurityContext took %0.6f seconds\n", t2-t1);
-    switch (sec_result)
-    {
-    case SEC_E_OK:
-	smpd_dbg_printf("SEC_E_OK\n");
-	break;
-    case SEC_I_COMPLETE_NEEDED:
-	smpd_dbg_printf("SEC_I_COMPLETE_NEEDED\n");
-	sspi_context->buffer_length = 0;
-    case SEC_I_COMPLETE_AND_CONTINUE:
-	if (sec_result == SEC_I_COMPLETE_AND_CONTINUE)
-	{
-	    smpd_dbg_printf("SEC_I_COMPLETE_AND_CONTINUE\n");
-	}
-	smpd_dbg_printf("calling CompleteAuthToken\n");
-	sec_result = smpd_process.sec_fn->CompleteAuthToken(&sspi_context->context, &outbound_descriptor);
-	if (sec_result != SEC_E_OK)
-	{
-	    smpd_process.sec_fn->DeleteSecurityContext(&sspi_context->context);
-	    smpd_process.sec_fn->FreeCredentialsHandle(&sspi_context->credential);
-	    smpd_err_printf("CompleteAuthToken failed with error %d\n", sec_result);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	if (sec_result_copy == SEC_I_COMPLETE_NEEDED)
-	    break;
-    case SEC_I_CONTINUE_NEEDED:
-	if (sec_result_copy == SEC_I_CONTINUE_NEEDED)
-	{
-	    smpd_dbg_printf("SEC_I_CONTINUE_NEEDED\n");
-	}
-	smpd_dbg_printf("outbound buffer size: %d\n", outbound_buffer.cbBuffer);
-	sspi_context->buffer_length = outbound_buffer.cbBuffer;
-	break;
-    default:
-	/* error occurred */
-	smpd_translate_win_error(sec_result, err_msg, 256, NULL);
-	smpd_err_printf("InitializeSecurityContext failed with error %d: %s\n", sec_result, err_msg);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    *sspi_context_pptr = sspi_context;
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-#else
-    smpd_enter_fn(FCNAME);
-    smpd_err_printf("function not implemented.\n");
-    smpd_exit_fn(FCNAME);
-    return SMPD_FAIL;
-#endif
-}
-
-#undef FCNAME
-#define FCNAME "smpd_handle_sspi_init_command"
-int smpd_handle_sspi_init_command(smpd_context_t *context)
-{
-    int result;
-    smpd_command_t *cmd, *temp_cmd;
-    char context_str[20];
-    smpd_sspi_client_context_t *sspi_context;
-    char host[SMPD_MAX_HOST_LENGTH];
-    int port;
-
-    smpd_enter_fn(FCNAME);
-
-    cmd = &context->read_cmd;
-
-    if (MPIU_Str_get_string_arg(cmd->cmd, "sspi_context", context_str, 20) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("no context parameter in the sspi_init command: '%s'\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    if (MPIU_Str_get_string_arg(cmd->cmd, "sspi_host", host, SMPD_MAX_HOST_LENGTH) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("no host parameter in the sspi_init command: '%s'\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    if (MPIU_Str_get_int_arg(cmd->cmd, "sspi_port", &port) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("no port parameter in the sspi_init command: '%s'\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    /* prepare the result command */
-    result = smpd_create_command("result", smpd_process.id, cmd->src, SMPD_FALSE, &temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create a result command for a cred_request command.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    /* add the command tag for result matching */
-    result = smpd_add_command_int_arg(temp_cmd, "cmd_tag", cmd->tag);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the tag to the result command for a cred_request command.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(temp_cmd, "cmd_orig", cmd->cmd_str);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add cmd_orig to the result command for a %s command\n", cmd->cmd_str);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(temp_cmd, "sspi_context", context_str);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add context_str to the result command for a %s command\n", cmd->cmd_str);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    /* create and initialize an sspi context */
-    result = smpd_sspi_context_init(&sspi_context, host, port, SMPD_SSPI_DELEGATE);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to initialize an sspi context\n");
-	goto fn_fail;
-    }
-
-    result = smpd_add_command_int_arg(temp_cmd, "data_length", sspi_context->buffer_length);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the data_length parameter to the result command.\n");
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-    result = smpd_add_command_binary_arg(temp_cmd, "data", sspi_context->buffer, sspi_context->buffer_length);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the data parameter to the result command.\n");
-	smpd_err_printf("temp_cmd.cmd = '%s'\n", temp_cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-    result = smpd_add_command_int_arg(temp_cmd, "sspi_id", sspi_context->id);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the sspi_id parameter to the result command.\n");
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-    result = smpd_add_command_arg(temp_cmd, "result", SMPD_SUCCESS_STR);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the result parameter to the result command.\n");
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-
-fn_exit:
-    /* send result back */
-    result = smpd_post_write_command(context, temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a write of the result command to the %s context.\n", smpd_get_context_str(context));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return result;
-fn_fail:
-    result = smpd_add_command_arg(temp_cmd, "result", SMPD_FAIL_STR);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the result parameter to the result command.\n");
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-    goto fn_exit;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_sspi_context_iter"
-int smpd_sspi_context_iter(int sspi_id, void **sspi_buffer_pptr, int *length_ptr)
-{
-#ifdef HAVE_WINDOWS_H
-    char err_msg[256];
-    SECURITY_STATUS sec_result, sec_result_copy;
-    SecBufferDesc outbound_descriptor, inbound_descriptor;
-    SecBuffer outbound_buffer, inbound_buffer;
-    ULONG attr;
-    TimeStamp ts;
-    SecPkgInfo *info;
-    smpd_sspi_client_context_t *sspi_context;
-    double t1, t2;
-
-    smpd_enter_fn(FCNAME);
-
-    if (smpd_process.sec_fn == NULL)
-    {
-	smpd_dbg_printf("calling InitSecurityInterface\n");
-	smpd_process.sec_fn = InitSecurityInterface();
-	if (smpd_process.sec_fn == NULL)
-	{
-	    smpd_err_printf("unable to initialize the sspi interface.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-    }
-
-    /* look up the sspi_context based on the id */
-    sspi_context = smpd_process.sspi_context_list;
-    while (sspi_context)
-    {
-	if (sspi_context->id == sspi_id)
-	    break;
-	sspi_context = sspi_context->next;
-    }
-    if (sspi_context == NULL)
-    {
-	smpd_err_printf("unable to look up the sspi_id %d\n", sspi_id);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    inbound_descriptor.ulVersion = SECBUFFER_VERSION;
-    inbound_descriptor.cBuffers = 1;
-    inbound_descriptor.pBuffers = &inbound_buffer;
-    inbound_buffer.BufferType = SECBUFFER_TOKEN;
-    inbound_buffer.cbBuffer = *length_ptr;
-    inbound_buffer.pvBuffer = *sspi_buffer_pptr;
-
-    smpd_dbg_printf("calling QuerySecurityPackageInfo\n");
-    sec_result = smpd_process.sec_fn->QuerySecurityPackageInfo(SMPD_SECURITY_PACKAGE, &info);
-    if (sec_result != SEC_E_OK)
-    {
-	smpd_err_printf("unable to query the security package, error %d\n", sec_result);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_dbg_printf("%s package, %s, with: max %d byte token, capabilities bitmask 0x%x\n",
-	info->Name, info->Comment, info->cbMaxToken, info->fCapabilities);
-    sspi_context->buffer = MPIU_Malloc(info->cbMaxToken);
-    if (sspi_context->buffer == NULL)
-    {
-	smpd_err_printf("unable to allocate a %d byte sspi buffer\n", info->cbMaxToken);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    sspi_context->buffer_length = info->cbMaxToken;
-    outbound_descriptor.ulVersion = SECBUFFER_VERSION;
-    outbound_descriptor.cBuffers = 1;
-    outbound_descriptor.pBuffers = &outbound_buffer;
-    outbound_buffer.BufferType = SECBUFFER_TOKEN;
-    outbound_buffer.cbBuffer = info->cbMaxToken;
-    outbound_buffer.pvBuffer = sspi_context->buffer;
-    smpd_dbg_printf("calling FreeContextBuffer\n");
-    sec_result = smpd_process.sec_fn->FreeContextBuffer(info);
-    if (sec_result != SEC_E_OK)
-    {
-	smpd_err_printf("unable to free the security info structure, error %d\n", sec_result);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_dbg_printf("calling InitializeSecurityContext: target = %s\n", sspi_context->target);
-    t1 = PMPI_Wtime();
-    sec_result = sec_result_copy = smpd_process.sec_fn->InitializeSecurityContext(
-	&sspi_context->credential,
-	&sspi_context->context,
-	sspi_context->target,
-	sspi_context->flags,
-	0,
-	/*SECURITY_NATIVE_DREP, */SECURITY_NETWORK_DREP,
-	&inbound_descriptor, 0, &sspi_context->context,
-	&outbound_descriptor, &attr, &ts);
-    t2 = PMPI_Wtime();
-    smpd_dbg_printf("InitializeSecurityContext took %0.6f seconds\n", t2-t1);
-    switch (sec_result)
-    {
-    case SEC_E_OK:
-	smpd_dbg_printf("SEC_E_OK\n");
-	break;
-    case SEC_I_COMPLETE_NEEDED:
-	smpd_dbg_printf("SEC_I_COMPLETE_NEEDED\n");
-    case SEC_I_COMPLETE_AND_CONTINUE:
-	if (sec_result == SEC_I_COMPLETE_AND_CONTINUE)
-	{
-	    smpd_dbg_printf("SEC_I_COMPLETE_AND_CONTINUE\n");
-	}
-	smpd_dbg_printf("calling CompleteAuthToken\n");
-	sec_result = smpd_process.sec_fn->CompleteAuthToken(&sspi_context->context, &outbound_descriptor);
-	if (sec_result != SEC_E_OK)
-	{
-	    smpd_process.sec_fn->DeleteSecurityContext(&sspi_context->context);
-	    smpd_process.sec_fn->FreeCredentialsHandle(&sspi_context->credential);
-	    smpd_err_printf("CompleteAuthToken failed with error %d\n", sec_result);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	if (sec_result_copy == SEC_I_COMPLETE_NEEDED)
-	    break;
-    case SEC_I_CONTINUE_NEEDED:
-	if (sec_result_copy == SEC_I_CONTINUE_NEEDED)
-	{
-	    smpd_dbg_printf("SEC_I_CONTINUE_NEEDED\n");
-	}
-	/*
-	*sspi_buffer_pptr = outbound_buffer.pvBuffer;
-	*length_ptr = outbound_buffer.cbBuffer;
-	*/
-	break;
-    default:
-	/* error occurred */
-	smpd_translate_win_error(sec_result, err_msg, 256, NULL);
-	smpd_err_printf("InitializeSecurityContext failed with error %d: %s\n", sec_result, err_msg);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    if (outbound_buffer.cbBuffer > 0)
-    {
-	*sspi_buffer_pptr = outbound_buffer.pvBuffer;
-	*length_ptr = outbound_buffer.cbBuffer;
-    }
-    else
-    {
-	*sspi_buffer_pptr = NULL;
-	*length_ptr = 0;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-#else
-    smpd_enter_fn(FCNAME);
-    smpd_err_printf("function not implemented.\n");
-    smpd_exit_fn(FCNAME);
-    return SMPD_FAIL;
-#endif
-}
-
-#undef FCNAME
-#define FCNAME "smpd_handle_sspi_iter_command"
-int smpd_handle_sspi_iter_command(smpd_context_t *context)
-{
-#ifdef HAVE_WINDOWS_H
-    int result;
-    smpd_command_t *cmd, *temp_cmd;
-    char context_str[20];
-    int sspi_id;
-    void *sspi_buffer;
-    int sspi_buffer_length;
-    SecPkgInfo *info;
-    SECURITY_STATUS sec_result;
-
-    smpd_enter_fn(FCNAME);
-
-    cmd = &context->read_cmd;
-
-    if (MPIU_Str_get_string_arg(cmd->cmd, "sspi_context", context_str, 20) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("no context parameter in the sspi_init command: '%s'\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    if (MPIU_Str_get_int_arg(cmd->cmd, "sspi_id", &sspi_id) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("no sspi_id parameter in the sspi_iter command: '%s'\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    /* get the maximum length the binary data can be */
-    if (smpd_process.sec_fn == NULL)
-    {
-	smpd_dbg_printf("calling InitSecurityInterface\n");
-	smpd_process.sec_fn = InitSecurityInterface();
-	if (smpd_process.sec_fn == NULL)
-	{
-	    smpd_err_printf("unable to initialize the sspi interface.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-    }
-    smpd_dbg_printf("calling QuerySecurityPackageInfo\n");
-    sec_result = smpd_process.sec_fn->QuerySecurityPackageInfo(SMPD_SECURITY_PACKAGE, &info);
-    if (sec_result != SEC_E_OK)
-    {
-	smpd_err_printf("unable to query the security package, error %d\n", sec_result);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_dbg_printf("%s package, %s, with: max %d byte token, capabilities bitmask 0x%x\n",
-	info->Name, info->Comment, info->cbMaxToken, info->fCapabilities);
-    sspi_buffer = MPIU_Malloc(info->cbMaxToken);
-    if (sspi_buffer == NULL)
-    {
-	smpd_err_printf("unable to allocate an sspi buffer\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    if (MPIU_Str_get_binary_arg(cmd->cmd, "data", sspi_buffer, info->cbMaxToken, &sspi_buffer_length) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("unable to get the data parameter from the sspi_iter command: '%s'\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_dbg_printf("calling FreeContextBuffer\n");
-    sec_result = smpd_process.sec_fn->FreeContextBuffer(info);
-    if (sec_result != SEC_E_OK)
-    {
-	smpd_err_printf("unable to free the security info structure, error %d\n", sec_result);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    /* prepare the result command */
-    result = smpd_create_command("result", smpd_process.id, cmd->src, SMPD_FALSE, &temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create a result command for a cred_request command.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    /* add the command tag for result matching */
-    result = smpd_add_command_int_arg(temp_cmd, "cmd_tag", cmd->tag);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the tag to the result command for a cred_request command.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(temp_cmd, "cmd_orig", cmd->cmd_str);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add cmd_orig to the result command for a %s command\n", cmd->cmd_str);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(temp_cmd, "sspi_context", context_str);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add context_str to the result command for a %s command\n", cmd->cmd_str);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    result = smpd_sspi_context_iter(sspi_id, &sspi_buffer, &sspi_buffer_length);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to iterate on the sspi buffer.\n");
-	goto fn_fail;
-    }
-
-    result = smpd_add_command_int_arg(temp_cmd, "data_length", sspi_buffer_length);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the data_length parameter to the result command.\n");
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-
-    if (sspi_buffer_length > 0)
-    {
-	result = smpd_add_command_binary_arg(temp_cmd, "data", sspi_buffer, sspi_buffer_length);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add the data parameter to the result command.\n");
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-    }
-
-    result = smpd_add_command_arg(temp_cmd, "result", SMPD_SUCCESS_STR);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the result parameter to the result command.\n");
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-
-fn_exit:
-    /* send result back */
-    result = smpd_post_write_command(context, temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a write of the result command to the %s context.\n", smpd_get_context_str(context));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return result;
-fn_fail:
-    result = smpd_add_command_arg(temp_cmd, "result", SMPD_FAIL_STR);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the result parameter to the result command.\n");
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-    goto fn_exit;
-#else
-    smpd_enter_fn(FCNAME);
-    smpd_err_printf("function not implemented.\n");
-    smpd_exit_fn(FCNAME);
-    return SMPD_FAIL;
-#endif
-}
-
-#undef FCNAME
-#define FCNAME "smpd_handle_exit_on_done_command"
-int smpd_handle_exit_on_done_command(smpd_context_t *context)
-{
-    int result;
-    smpd_command_t *cmd, *temp_cmd;
-
-    smpd_enter_fn(FCNAME);
-
-    cmd = &context->read_cmd;
-    smpd_process.exit_on_done = SMPD_TRUE;
-
-    /* prepare the result command */
-    result = smpd_create_command("result", smpd_process.id, cmd->src, SMPD_FALSE, &temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create a result command for a exit_on_done command.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    /* add the command tag for result matching */
-    result = smpd_add_command_int_arg(temp_cmd, "cmd_tag", cmd->tag);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the tag to the result command for a exit_on_done command.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(temp_cmd, "cmd_orig", cmd->cmd_str);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add cmd_orig to the result command for a %s command\n", cmd->cmd_str);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    /* add the result */
-    result = smpd_add_command_arg(temp_cmd, "result", SMPD_SUCCESS_STR);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the result string to the result command for a exit_on_done command.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    /* send result back */
-    smpd_dbg_printf("replying to exit_on_done command: \"%s\"\n", temp_cmd->cmd);
-    result = smpd_post_write_command(context, temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a write of the result command to the context.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_handle_exit_command"
-int smpd_handle_exit_command(smpd_context_t *context)
-{
-    smpd_command_t *cmd;
-    int exitcode, iproc;
-    char name[SMPD_MAX_DBS_NAME_LEN+1] = "";
-    smpd_process_group_t *pg;
-    int i, print;
-
-    smpd_enter_fn(FCNAME);
-
-    cmd = &context->read_cmd;
-
-    if (MPIU_Str_get_int_arg(cmd->cmd, "code", &exitcode) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("no exit code in exit command: '%s'\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    if (exitcode != 0)
-    {
-	/* mpiexec will return the last non-zero exit code returned by a process. */
-	smpd_process.mpiexec_exit_code = exitcode;
-    }
-    if (MPIU_Str_get_int_arg(cmd->cmd, "rank", &iproc) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("no iproc in exit command: '%s'\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    if (MPIU_Str_get_string_arg(cmd->cmd, "kvs", name, SMPD_MAX_DBS_NAME_LEN) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("no kvs in exit command: '%s'\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    pg = smpd_process.pg_list;
-    while (pg)
-    {
-	if (strcmp(pg->kvs, name) == 0)
-	{
-	    if (iproc < 0 || iproc >= pg->num_procs)
-	    {
-		smpd_err_printf("received exit code for process out of range: process %d not in group of size %d.\n", iproc, pg->num_procs);
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    if (pg->processes[iproc].exited)
-	    {
-		smpd_err_printf("received exit code for process %d more than once.\n", iproc);
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    smpd_dbg_printf("saving exit code: rank %d, exitcode %d, pg <%s>\n", iproc, exitcode, name);
-	    pg->processes[iproc].exited = SMPD_TRUE;
-	    pg->processes[iproc].exitcode = exitcode;
-	    if (pg->processes[iproc].init_called && !pg->processes[iproc].finalize_called && !pg->processes[iproc].suspended)
-	    {
-		/* process exited after init but before finalize */
-		smpd_abort_job(pg->kvs, iproc, "process %d exited without calling finalize", iproc);
-	    }
-	    if (!pg->processes[iproc].init_called && !pg->processes[iproc].suspended)
-	    {
-		smpd_dbg_printf("process exited without calling init.\n");
-		/* this process never called init or finalize, check to make sure no other process has called init */
-		if (pg->any_init_received == SMPD_TRUE)
-		{
-		    smpd_abort_job(pg->kvs, iproc, "process %d exited without calling init while other processes have called init", iproc);
-		}
-		else
-		{
-		    pg->any_noinit_process_exited = SMPD_TRUE;
-		    smpd_dbg_printf("process exited before anyone has called init.\n");
-		}
-	    }
-	    break;
-	}
-	pg = pg->next;
-    }
-
-    if (pg && pg->aborted)
-    {
-	print = 1;
-	for (i=0; i<pg->num_procs; i++)
-	{
-	    if (pg->processes[i].exited == SMPD_FALSE)
-		print = 0;
-	}
-	if (print)
-	{
-	    if (smpd_process.verbose_abort_output)
-	    {
-		printf("\njob aborted:\n");
-		printf("rank: node: exit code[: error message]\n");
-		for (i=0; i<pg->num_procs; i++)
-		{
-		    printf("%d: %s: %d", i, pg->processes[i].host, pg->processes[i].exitcode);
-		    if (pg->processes[i].errmsg != NULL)
-		    {
-			printf(": %s", pg->processes[i].errmsg);
-		    }
-		    printf("\n");
-		}
-	    }
-	    else
-	    {
-		for (i=0; i<pg->num_procs; i++)
-		{
-		    if (pg->processes[i].errmsg != NULL)
-		    {
-			printf("%s\n", pg->processes[i].errmsg);
-		    }
-		}
-	    }
-	    fflush(stdout);
-	}
-    }
-    else if (smpd_process.output_exit_codes)
-    {
-	if (pg)
-	{
-	    print = 1;
-	    for (i=0; i<pg->num_procs; i++)
-	    {
-		if (pg->processes[i].exited == SMPD_FALSE)
-		    print = 0;
-	    }
-	    if (print)
-	    {
-		printf("rank: node: exit code\n");
-		for (i=0; i<pg->num_procs; i++)
-		{
-		    printf("%d: %s: %d\n", i, pg->processes[i].host, pg->processes[i].exitcode);
-		}
-		fflush(stdout);
-	    }
-	}
-	else
-	{
-	    printf("process %d exited with exit code %d\n", iproc, exitcode);
-	    fflush(stdout);
-	}
-    }
-
-    /*printf("process %d exited with exit code %d\n", iproc, exitcode);fflush(stdout);*/
-    smpd_process.nproc_exited++;
-    if (smpd_process.nproc == smpd_process.nproc_exited)
-    {
-	/*printf("last process exited, returning SMPD_EXIT.\n");fflush(stdout);*/
-	smpd_dbg_printf("last process exited, returning SMPD_EXIT.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_EXIT;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_handle_suspend_result"
-int smpd_handle_suspend_result(smpd_command_t *cmd, char *result_str)
-{
-    char name[SMPD_MAX_DBS_NAME_LEN+1] = "";
-    int rank, i, exit_code;
-    smpd_process_group_t *pg;
-    int result;
-    smpd_command_t *cmd_ptr;
-
-    smpd_enter_fn(FCNAME);
-
-    /* get the rank and pg name out of the command */
-    if (MPIU_Str_get_string_arg(cmd->cmd, "name", name, SMPD_MAX_DBS_NAME_LEN) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("no kvs in suspend command: '%s'\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    if (MPIU_Str_get_int_arg(cmd->cmd, "rank", &rank) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("no rank in suspend command: '%s'\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    if (MPIU_Str_get_int_arg(cmd->cmd, "exit_code", &exit_code) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("no exit code in suspend command: '%s'\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    /* look up the pg */
-    pg = smpd_process.pg_list;
-    while (pg)
-    {
-	if (strcmp(pg->kvs, name) == 0)
-	{
-	    break;
-	}
-	pg = pg->next;
-    }
-    if (pg == NULL)
-    {
-	smpd_err_printf("received suspend result for process with no matching process group: rank %d, name <%s>\n", rank, name);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    /* save whether the suspend was successful or not */
-    pg->processes[rank].suspended = (strcmp(result_str, SMPD_SUCCESS_STR) == 0) ? SMPD_TRUE : SMPD_FALSE;
-
-    /* decrement then num_outstanding_suspends */
-    pg->num_pending_suspends--;
-    if (rank < 0 || rank >= pg->num_procs)
-    {
-	smpd_err_printf("received suspend result for process out of range: process %d not in group of size %d.\n", rank, pg->num_procs);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    /* if num_outstanding goes to zero, send kill commands */
-    if (pg->num_pending_suspends == 0)
-    {
-	for (i=0; i<pg->num_procs; i++)
-	{
-	    if (pg->processes[i].exited)
-	    {
-		smpd_dbg_printf("suspended rank %d already exited, no need to kill it.\n", i);
-	    }
-	    else
-	    {
-		/* create the kill command */
-		result = smpd_create_command("kill", smpd_process.id, pg->processes[i].node_id, SMPD_FALSE, &cmd_ptr);
-		if (result != SMPD_SUCCESS)
-		{
-		    smpd_err_printf("unable to create a kill command.\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		result = smpd_add_command_int_arg(cmd_ptr, "exit_code", exit_code);
-		if (result != SMPD_SUCCESS)
-		{
-		    smpd_err_printf("unable to add the exit code %d to the kill command\n", exit_code);
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		result = smpd_add_command_arg(cmd_ptr, "ctx_key", pg->processes[i].ctx_key);
-		if (result != SMPD_SUCCESS)
-		{
-		    smpd_err_printf("unable to add the ctx_key to the kill command: '%s'\n", pg->processes[i].ctx_key);
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-
-		/* send the kill command */
-		result = smpd_post_write_command(smpd_process.left_context, cmd_ptr);
-		if (result != SMPD_SUCCESS)
-		{
-		    smpd_err_printf("unable to post a write for the kill command: rank %d\n", i);
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-	    }
-	}
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_handle_suspend_command"
-int smpd_handle_suspend_command(smpd_context_t *context)
-{
-    smpd_command_t *cmd, *temp_cmd;
-    char ctx_key[100];
-    int process_id;
-    smpd_context_t *pmi_context;
-    smpd_process_t *piter;
-    int result;
-    char error_str[1024];
-
-    smpd_enter_fn(FCNAME);
-
-    cmd = &context->read_cmd;
-    
-    /* prepare the result command */
-    result = smpd_create_command("result", smpd_process.id, cmd->src, SMPD_FALSE, &temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create a result command for the init command '%s'.\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    /* add the command tag for result matching */
-    result = smpd_add_command_int_arg(temp_cmd, "cmd_tag", cmd->tag);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the tag to the result command for the init command '%s'.\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    /* get the ctx_key of the process to be suspended */
-    if (MPIU_Str_get_string_arg(cmd->cmd, "ctx_key", ctx_key, 100) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("no ctx_key in suspend command: '%s'\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    process_id = atoi(ctx_key);
-    pmi_context = NULL;
-    piter = smpd_process.process_list;
-    while (piter)
-    {
-	if (piter->id == process_id)
-	{
-	    pmi_context = piter->pmi;
-	    break;
-	}
-	piter = piter->next;
-    }
-    if (pmi_context == NULL)
-    {
-	smpd_err_printf("received suspend command for a pmi context that doesn't exist: unmatched id = %d\n", process_id);
-	result = smpd_add_command_arg(temp_cmd, "result", SMPD_FAIL_STR" - no matching pmi context.");
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add the result string to the result command for a suspend command '%s'.\n", cmd->cmd);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	smpd_dbg_printf("sending result command to %s context: \"%s\"\n", smpd_get_context_str(context), temp_cmd->cmd);
-	result = smpd_post_write_command(context, temp_cmd);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a write of the result command to the context: cmd '%s', suspend cmd '%s'", temp_cmd->cmd, cmd->cmd);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-
-    if (pmi_context->process == NULL)
-    {
-	smpd_err_printf("received suspend command for a pmi context that does not have a process structure.\n");
-	result = smpd_add_command_arg(temp_cmd, "result", SMPD_FAIL_STR" - no process in the pmi context.");
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add the result string to the result command for a suspend command '%s'.\n", cmd->cmd);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	smpd_dbg_printf("sending result command to %s context: \"%s\"\n", smpd_get_context_str(context), temp_cmd->cmd);
-	result = smpd_post_write_command(context, temp_cmd);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a write of the result command to the context: cmd '%s', suspend cmd '%s'", temp_cmd->cmd, cmd->cmd);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-    
-    result = smpd_suspend_process(pmi_context->process);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to suspend process.\n");
-	snprintf(error_str, 1024, SMPD_FAIL_STR" - unable to suspend process, error %d", result);
-	result = smpd_add_command_arg(temp_cmd, "result", error_str);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add the result string to the result command for a suspend command '%s'.\n", cmd->cmd);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-    }
-    else
-    {
-	result = smpd_add_command_arg(temp_cmd, "result", SMPD_SUCCESS_STR);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add the result string to the result command for a suspend command '%s'.\n", cmd->cmd);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-    }
-
-    /* return result */
-    smpd_dbg_printf("sending result command to %s context: \"%s\"\n", smpd_get_context_str(context), temp_cmd->cmd);
-    result = smpd_post_write_command(context, temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a write of the result command to the context: cmd '%s', suspend cmd '%s'", temp_cmd->cmd, cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_handle_kill_command"
-int smpd_handle_kill_command(smpd_context_t *context)
-{
-    smpd_command_t *cmd, *temp_cmd;
-    char ctx_key[100];
-    int process_id;
-    smpd_context_t *pmi_context;
-    smpd_process_t *piter;
-    int result;
-    int exit_code;
-
-    smpd_enter_fn(FCNAME);
-
-    cmd = &context->read_cmd;
-    
-    if (MPIU_Str_get_string_arg(cmd->cmd, "ctx_key", ctx_key, 100) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("no ctx_key in suspend command: '%s'\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    if (MPIU_Str_get_int_arg(cmd->cmd, "exit_code", &exit_code) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("no exit code in suspend command: '%s'\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    process_id = atoi(ctx_key);
-    pmi_context = NULL;
-    piter = smpd_process.process_list;
-    while (piter)
-    {
-	if (piter->id == process_id)
-	{
-	    pmi_context = piter->pmi;
-	    break;
-	}
-	piter = piter->next;
-    }
-    if (pmi_context == NULL)
-    {
-	smpd_err_printf("received kill command for a pmi context that doesn't exist: unmatched id = %d\n", process_id);
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-
-    if (pmi_context->process == NULL)
-    {
-	smpd_err_printf("received kill command for a pmi context that does not have a process structure.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-    
-    result = smpd_kill_process(pmi_context->process, exit_code);
-    if (result != SMPD_SUCCESS){
-	    smpd_err_printf("unable to kill process. result = %d\n", result);
-        pmi_context->state = SMPD_CLOSING;
-        if(pmi_context->process->in){
-            smpd_dbg_printf("Closing stdin ...\n");
-            result = SMPDU_Sock_post_close(pmi_context->process->in->sock);
-            if(result != SMPD_SUCCESS){
-                smpd_err_printf("Unable to post close on stdin sock\n");
-            }
-        }
-        if(pmi_context->process->out){
-            smpd_dbg_printf("Closing stdout ...\n");
-            result = SMPDU_Sock_post_close(pmi_context->process->out->sock);
-            if(result != SMPD_SUCCESS){
-                smpd_err_printf("Unable to post close on stdout sock\n");
-            }
-        }
-        if(pmi_context->process->err){
-            smpd_dbg_printf("Closing stderr ...\n");
-            result = SMPDU_Sock_post_close(pmi_context->process->err->sock);
-            if(result != SMPD_SUCCESS){
-                smpd_err_printf("Unable to post close on stderr sock\n");
-            }
-        }
-        if(!(pmi_context->process->is_singleton_client)){
-            if(pmi_context->process->pmi){
-                smpd_dbg_printf("Closing pmi ...\n");
-                result = SMPDU_Sock_post_close(pmi_context->process->pmi->sock);
-                if(result != SMPD_SUCCESS){
-                    smpd_err_printf("Unable to post close on pmi sock\n");
-                }
-            }
-        }
-        else{
-            /* Send the "die" command to the process */
-            smpd_command_t *temp_cmd;
-            result = smpd_create_command("die", smpd_process.id, pmi_context->process->id, SMPD_FALSE, &temp_cmd);
-            if(result != SMPD_SUCCESS){
-                smpd_err_printf("Unable to create 'die' command for singleton client \n");
-                smpd_exit_fn(FCNAME);
-                return SMPD_FAIL;
-            }
-            result = smpd_post_write_command(pmi_context, temp_cmd);
-            if(result != SMPD_SUCCESS){
-                smpd_err_printf("Unable to post 'die' command for singleton client \n");
-                smpd_exit_fn(FCNAME);
-                return SMPD_FAIL;
-            }
-        }
-    	smpd_exit_fn(FCNAME);
-	    return SMPD_SUCCESS;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_handle_pmi_listen_command"
-int smpd_handle_pmi_listen_command(smpd_context_t *context)
-{
-    int result;
-    smpd_command_t *cmd, *temp_cmd;
-    int nproc;
-    SMPDU_Sock_t sock_pmi_listener;
-    smpd_context_t *listener_context;
-    int listener_port;
-    /*smpd_process_t *process;*/
-    char host_description[256];
-
-    smpd_enter_fn(FCNAME);
-
-    cmd = &context->read_cmd;
-
-    result = MPIU_Str_get_int_arg(cmd->cmd, "nproc", &nproc);
-    if (result != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("no nproc field in the pmi_listen command: '%s'\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    /* start a pmi listener for nproc processes to connect to */
-    /* insert code here */
-    /*
-    result = smpd_create_process_struct(-1, &process);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create a process structure for the pmi_listen command\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    */
-
-    listener_port = 0;
-    result = SMPDU_Sock_listen(context->set, NULL, &listener_port, &sock_pmi_listener); 
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("SMPDU_Sock_listen failed,\nsock error: %s\n", get_sock_error_string(result));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_dbg_printf("pmiserver listening on port %d\n", listener_port);
-
-    result = smpd_create_context(SMPD_CONTEXT_PMI_LISTENER, context->set, sock_pmi_listener, -1, &listener_context);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create a context for the pmi listener.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = SMPDU_Sock_set_user_ptr(sock_pmi_listener, listener_context);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("SMPDU_Sock_set_user_ptr failed,\nsock error: %s\n", get_sock_error_string(result));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    listener_context->state = SMPD_SMPD_LISTENING/*SMPD_PMI_SERVER_LISTENING*/;
-    result = smpd_get_hostname(host_description, 256);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("smpd_get_hostname failed\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    /*result = SMPDU_Sock_get_host_description(host_description, 256);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("SMPDU_Sock_get_host_description failed,\nsock error: %s\n", get_sock_error_string(result));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    */
-    /* save the listener sock in the slot reserved for the client sock so we can match the listener
-    to the process structure when the client sock is accepted */
-    /*process->pmi->sock = sock_pmi_listener;*/
-
-    /* create the result command */
-    result = smpd_create_command("result", smpd_process.id, cmd->src, SMPD_FALSE, &temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create a result command in response to pmi_listen command: '%s'\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_int_arg(temp_cmd, "cmd_tag", cmd->tag);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the tag to the result command in response to pmi_listen command: '%s'\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(temp_cmd, "cmd_orig", cmd->cmd_str);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add cmd_orig to the result command for a %s command\n", cmd->cmd_str);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(temp_cmd, "result", SMPD_SUCCESS_STR);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the result field to the result command in response to pmi_listen command: '%s'\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(temp_cmd, "host_description", host_description);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the host_description field to the result command in response to pmi_listen command: '%s'\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_int_arg(temp_cmd, "listener_port", listener_port);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the listener_port field to the result command in response to pmi_listen command: '%s'\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_post_write_command(context, temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a write of the result command in response to pmi_listen command: '%s'\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_handle_add_job_command"
-int smpd_handle_add_job_command(smpd_context_t *context)
-{
-#ifdef HAVE_WINDOWS_H
-    int result = SMPD_SUCCESS;
-    smpd_command_t *cmd, *temp_cmd;
-    char result_str[100];
-    char key[SMPD_MAX_NAME_LENGTH];
-    char username[SMPD_MAX_NAME_LENGTH];
-
-    smpd_enter_fn(FCNAME);
-
-    cmd = &context->read_cmd;
-
-    if (MPIU_Str_get_string_arg(cmd->cmd, "key", key, SMPD_MAX_NAME_LENGTH) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("add_job command missing key parameter\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    if (MPIU_Str_get_string_arg(cmd->cmd, "username", username, SMPD_MAX_NAME_LENGTH) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("add_job command missing username parameter\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    result = smpd_add_job_key(key, username, NULL, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to set job key %s=%s\n", key, username);
-	strcpy(result_str, SMPD_FAIL_STR);
-    }
-    else
-    {
-	strcpy(result_str, SMPD_SUCCESS_STR);
-    }
-
-    /* prepare the result command */
-    result = smpd_create_command("result", smpd_process.id, cmd->src, SMPD_FALSE, &temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create a result command for a add job key %s=%s command.\n", key, username);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    /* add the command tag for result matching */
-    result = smpd_add_command_int_arg(temp_cmd, "cmd_tag", cmd->tag);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the tag to the result command for a add job key %s=%s command.\n", key, username);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(temp_cmd, "cmd_orig", cmd->cmd_str);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add cmd_orig to the result command for a %s command\n", cmd->cmd_str);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(temp_cmd, "result", result_str);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the result string to the result command for a add job key %s=%s command.\n", key, username);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    /* send result back */
-    smpd_dbg_printf("replying to add job key %s=%s command: \"%s\"\n", key, username, temp_cmd->cmd);
-    result = smpd_post_write_command(context, temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a write of the result command to the context.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return result;
-#else
-    smpd_enter_fn(FCNAME);
-    smpd_exit_fn(FCNAME);
-    return SMPD_FAIL;
-#endif
-}
-
-#undef FCNAME
-#define FCNAME "smpd_handle_add_job_command_and_password"
-int smpd_handle_add_job_command_and_password(smpd_context_t *context)
-{
-#ifdef HAVE_WINDOWS_H
-    int result = SMPD_SUCCESS;
-    smpd_command_t *cmd, *temp_cmd;
-    char result_str[100];
-    char key[SMPD_MAX_NAME_LENGTH];
-    char value[SMPD_MAX_NAME_LENGTH];
-    char encrypted[SMPD_MAX_PASSWORD_LENGTH];
-    char decrypted[SMPD_MAX_PASSWORD_LENGTH];
-    char account[SMPD_MAX_ACCOUNT_LENGTH], domain[SMPD_MAX_ACCOUNT_LENGTH];
-    int len;
-    HANDLE hUser;
-
-    smpd_enter_fn(FCNAME);
-
-    cmd = &context->read_cmd;
-
-    if (MPIU_Str_get_string_arg(cmd->cmd, "key", key, SMPD_MAX_NAME_LENGTH) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("add_job_and_password command missing key parameter\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    if (MPIU_Str_get_string_arg(cmd->cmd, "username", value, SMPD_MAX_NAME_LENGTH) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("add_job_and_password command missing username parameter\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    if (MPIU_Str_get_string_arg(cmd->cmd, "password", encrypted, SMPD_MAX_PASSWORD_LENGTH) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("add_job_and_password command missing password parameter\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    len = SMPD_MAX_PASSWORD_LENGTH;
-    result = smpd_decrypt_data(encrypted, (int)strlen(encrypted), decrypted, &len);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to decrypt the password in the add_job_and_password command.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    if (len < 0 || len >= SMPD_MAX_PASSWORD_LENGTH)
-    {
-	smpd_err_printf("invalid password length: %d\n", len);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    decrypted[len] = '\0';
-
-    account[0] = '\0';
-    domain[0] = '\0';
-    smpd_parse_account_domain(value, account, domain);
-    result = smpd_get_user_handle(account, domain[0] != '\0' ? domain : NULL, decrypted, &hUser);
-    if (result == SMPD_SUCCESS)
-    {
-	result = smpd_add_job_key_and_handle(key, value, NULL, NULL, hUser);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to set job key %s=%s:%p\n", key, value, hUser);
-	    strcpy(result_str, SMPD_FAIL_STR);
-	}
-	else
-	{
-	    strcpy(result_str, SMPD_SUCCESS_STR);
-	}
-    }
-    else
-    {
-	smpd_dbg_printf("smpd_get_user_handle(%s,%s,%d) returned error: %d\n", account, domain, strlen(decrypted), result);
-	strcpy(result_str, SMPD_FAIL_STR);
-    }
-
-    /* prepare the result command */
-    result = smpd_create_command("result", smpd_process.id, cmd->src, SMPD_FALSE, &temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create a result command for a add job key %s=%s command.\n", key, value);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    /* add the command tag for result matching */
-    result = smpd_add_command_int_arg(temp_cmd, "cmd_tag", cmd->tag);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the tag to the result command for a add job key %s=%s command.\n", key, value);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(temp_cmd, "cmd_orig", cmd->cmd_str);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add cmd_orig to the result command for a %s command\n", cmd->cmd_str);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(temp_cmd, "result", result_str);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the result string to the result command for a add job key %s=%s command.\n", key, value);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    /* send result back */
-    smpd_dbg_printf("replying to add job key %s=%s command: \"%s\"\n", key, value, temp_cmd->cmd);
-    result = smpd_post_write_command(context, temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a write of the result command to the context.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return result;
-#else
-    smpd_enter_fn(FCNAME);
-    smpd_exit_fn(FCNAME);
-    return SMPD_FAIL;
-#endif
-}
-
-#undef FCNAME
-#define FCNAME "smpd_handle_remove_job_command"
-int smpd_handle_remove_job_command(smpd_context_t *context)
-{
-#ifdef HAVE_WINDOWS_H
-    int result = SMPD_SUCCESS;
-    smpd_command_t *cmd, *temp_cmd;
-    char result_str[100];
-    char key[SMPD_MAX_NAME_LENGTH];
-
-    smpd_enter_fn(FCNAME);
-
-    cmd = &context->read_cmd;
-
-    if (MPIU_Str_get_string_arg(cmd->cmd, "key", key, SMPD_MAX_NAME_LENGTH) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("remove_job command missing key parameter\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    result = smpd_remove_job_key(key);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to remove the job key %s\n", key);
-	strcpy(result_str, SMPD_FAIL_STR);
-    }
-    else
-    {
-	strcpy(result_str, SMPD_SUCCESS_STR);
-    }
-
-    /* prepare the result command */
-    result = smpd_create_command("result", smpd_process.id, cmd->src, SMPD_FALSE, &temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create a result command for a remove job key %s command.\n", key);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    /* add the command tag for result matching */
-    result = smpd_add_command_int_arg(temp_cmd, "cmd_tag", cmd->tag);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the tag to the result command for a remove job key %s command.\n", key);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(temp_cmd, "cmd_orig", cmd->cmd_str);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add cmd_orig to the result command for a %s command\n", cmd->cmd_str);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(temp_cmd, "result", result_str);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the result string to the result command for a remove job key %s command.\n", key);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    /* send result back */
-    smpd_dbg_printf("replying to remove job key %s command: \"%s\"\n", key, temp_cmd->cmd);
-    result = smpd_post_write_command(context, temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a write of the result command to the context.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return result;
-#else
-    smpd_enter_fn(FCNAME);
-    smpd_exit_fn(FCNAME);
-    return SMPD_FAIL;
-#endif
-}
-
-#undef FCNAME
-#define FCNAME "smpd_handle_associate_job_command"
-int smpd_handle_associate_job_command(smpd_context_t *context)
-{
-#ifdef HAVE_WINDOWS_H
-    int result = SMPD_SUCCESS;
-    smpd_command_t *cmd, *temp_cmd;
-    char result_str[100];
-    char key[SMPD_MAX_NAME_LENGTH];
-
-    smpd_enter_fn(FCNAME);
-
-    cmd = &context->read_cmd;
-
-    if (MPIU_Str_get_string_arg(cmd->cmd, "key", key, SMPD_MAX_NAME_LENGTH) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("associate_job command missing key parameter\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    result = smpd_associate_job_key(key, context->account, context->domain, context->full_domain, context->sspi_context->user_handle);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to associate the job key %s\n", key);
-	strcpy(result_str, SMPD_FAIL_STR);
-    }
-    else
-    {
-	strcpy(result_str, SMPD_SUCCESS_STR);
-    }
-
-    /* prepare the result command */
-    result = smpd_create_command("result", smpd_process.id, cmd->src, SMPD_FALSE, &temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create a result command for a associate job key %s command.\n", key);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    /* add the command tag for result matching */
-    result = smpd_add_command_int_arg(temp_cmd, "cmd_tag", cmd->tag);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the tag to the result command for a associate job key %s command.\n", key);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(temp_cmd, "cmd_orig", cmd->cmd_str);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add cmd_orig to the result command for a %s command\n", cmd->cmd_str);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(temp_cmd, "result", result_str);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the result string to the result command for a associate job key %s command.\n", key);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    /* send result back */
-    smpd_dbg_printf("replying to associate job key %s command: \"%s\"\n", key, temp_cmd->cmd);
-    result = smpd_post_write_command(context, temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a write of the result command to the context.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return result;
-#else
-    smpd_enter_fn(FCNAME);
-    smpd_exit_fn(FCNAME);
-    return SMPD_FAIL;
-#endif
-}
-
-#undef FCNAME
-#define FCNAME "smpd_fail_unexpected_command"
-int smpd_fail_unexpected_command(smpd_context_t *context)
-{
-    int result = SMPD_SUCCESS;
-    smpd_command_t *cmd, *temp_cmd;
-
-    smpd_enter_fn(FCNAME);
-
-    cmd = &context->read_cmd;
-
-    /* prepare the result command */
-    result = smpd_create_command("result", smpd_process.id, cmd->src, SMPD_FALSE, &temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create a result command.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    /* add the command tag for result matching */
-    result = smpd_add_command_int_arg(temp_cmd, "cmd_tag", cmd->tag);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the tag to the result command.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(temp_cmd, "cmd_orig", cmd->cmd_str);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add cmd_orig to the result command\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(temp_cmd, "result", SMPD_FAIL_STR);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the result string to the result command.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    /* send result back */
-    smpd_dbg_printf("replying with failure to unknown command: \"%s\"\n", temp_cmd->cmd);
-    result = smpd_post_write_command(context, temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a write of the result command to the context.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_generic_fail_command"
-int smpd_generic_fail_command(smpd_context_t *context)
-{
-    int result = SMPD_SUCCESS;
-    smpd_command_t *cmd, *temp_cmd;
-
-    smpd_enter_fn(FCNAME);
-
-    cmd = &context->read_cmd;
-
-    /* prepare the result command */
-    result = smpd_create_command("result", smpd_process.id, cmd->src, SMPD_FALSE, &temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create a result command.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    /* add the command tag for result matching */
-    result = smpd_add_command_int_arg(temp_cmd, "cmd_tag", cmd->tag);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the tag to the result command.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(temp_cmd, "cmd_orig", cmd->cmd_str);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add cmd_orig to the result command\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(temp_cmd, "result", SMPD_FAIL_STR);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the result string to the result command.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    /* send result back */
-    smpd_dbg_printf("replying with failure to command: \"%s\"\n", temp_cmd->cmd);
-    result = smpd_post_write_command(context, temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a write of the result command to the context.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_handle_singinit_info_command"
-int smpd_handle_singinit_info_command(smpd_context_t *context){
-    int result;
-    smpd_command_t *cmd;
-
-    smpd_enter_fn(FCNAME);
-    cmd = &context->read_cmd;
-
-    if (MPIU_Str_get_string_arg(cmd->cmd, "kvsname", smpd_process.kvs_name, 
-            SMPD_SINGLETON_MAX_KVS_NAME_LEN) != MPIU_STR_SUCCESS){
-	    smpd_err_printf("singinit_info command missing kvsname\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-    }
-
-    if (MPIU_Str_get_string_arg(cmd->cmd, "domainname", smpd_process.domain_name, 
-            SMPD_SINGLETON_MAX_KVS_NAME_LEN) != MPIU_STR_SUCCESS){
-	    smpd_err_printf("singinit_info command missing domainname\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-    }
-
-    if (MPIU_Str_get_string_arg(cmd->cmd, "host", smpd_process.host, 
-            SMPD_SINGLETON_MAX_HOST_NAME_LEN) != MPIU_STR_SUCCESS){
-        smpd_err_printf("singinit_info command missing hostname\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-    }
-
-    if (MPIU_Str_get_int_arg(cmd->cmd, "port", &smpd_process.port) 
-            != MPIU_STR_SUCCESS){
-        smpd_err_printf("singinit_info command missing pm port number\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-    }
-
-    context->state = SMPD_DONE;
-    result = SMPDU_Sock_post_close(context->sock);
-    if( result != SMPD_SUCCESS){
-        smpd_err_printf("SMPDU_Sock_post_close failed , error = %s\n", get_sock_error_string(result));
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_CLOSE;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_handle_command"
-int smpd_handle_command(smpd_context_t *context)
-{
-    int result;
-    smpd_context_t *dest;
-    smpd_command_t *cmd, *temp_cmd;
-
-    smpd_enter_fn(FCNAME);
-
-    cmd = &context->read_cmd;
-
-    smpd_dbg_printf("handling command:\n");
-    smpd_dbg_printf(" src  = %d\n", cmd->src);
-    smpd_dbg_printf(" dest = %d\n", cmd->dest);
-    smpd_dbg_printf(" cmd  = %s\n", cmd->cmd_str);
-    smpd_dbg_printf(" tag  = %d\n", cmd->tag);
-    smpd_dbg_printf(" ctx  = %s\n", smpd_get_context_str(context));
-    smpd_dbg_printf(" len  = %d\n", cmd->length);
-    smpd_dbg_printf(" str  = %s\n", cmd->cmd);
-
-    /* set the command state to handled */
-    context->read_cmd.state = SMPD_CMD_HANDLED;
-
-    /* FIXME: Assign the appropriate src/dst for singinit/die */
-    if (strcmp(cmd->cmd_str, "singinit_info") == 0){
-        result = smpd_handle_singinit_info_command(context);
-        smpd_exit_fn(FCNAME);
-        return result;
-    }
-    if(strcmp(cmd->cmd_str, "die") == 0){
-        result = smpd_handle_die_command(context);
-        smpd_exit_fn(FCNAME);
-        return result;
-    }
-
-    result = smpd_command_destination(cmd->dest, &dest);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("invalid command received, unable to determine the destination: '%s'\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-    if (dest)
-    {
-	smpd_dbg_printf("forwarding command to %d\n", dest->id);
-	result = smpd_forward_command(context, dest);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to forward the command.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_SUCCESS;
-	}
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-
-    if (context->access == SMPD_ACCESS_USER_PROCESS || context->access == SMPD_ACCESS_ADMIN)
-    {
-	if (strcmp(cmd->cmd_str, "close") == 0)
-	{
-	    result = smpd_handle_close_command(context);
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-	else if (strcmp(cmd->cmd_str, "closed") == 0)
-	{
-	    result = smpd_handle_closed_command(context);
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-	else if (strcmp(cmd->cmd_str, "closed_request") == 0)
-	{
-	    result = smpd_handle_closed_request_command(context);
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-	else if (strcmp(cmd->cmd_str, "result") == 0)
-	{
-	    result = smpd_handle_result(context);
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-	else if (strcmp(cmd->cmd_str, "exit") == 0)
-	{
-	    result = smpd_handle_exit_command(context);
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-	else if (strcmp(cmd->cmd_str, "abort") == 0)
-	{
-	    result = smpd_handle_abort_command(context);
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-	else if (strcmp(cmd->cmd_str, "abort_job") == 0)
-	{
-	    result = smpd_handle_abort_job_command(context);
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-	else if (strcmp(cmd->cmd_str, "init") == 0)
-	{
-	    result = smpd_handle_init_command(context);
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-	else if (strcmp(cmd->cmd_str, "finalize") == 0)
-	{
-	    result = smpd_handle_finalize_command(context);
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-	else if (strcmp(cmd->cmd_str, "stdin") == 0)
-	{
-	    result = smpd_handle_stdin_command(context);
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-	else if (strcmp(cmd->cmd_str, "close_stdin") == 0)
-	{
-	    result = smpd_handle_close_stdin_command(context);
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-	else if (strcmp(cmd->cmd_str, "stdout") == 0)
-	{
-	    result = smpd_handle_stdout_command(context);
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-	else if (strcmp(cmd->cmd_str, "stderr") == 0)
-	{
-	    result = smpd_handle_stderr_command(context);
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-	else if (strcmp(cmd->cmd_str, "launch") == 0)
-	{
-	    result = smpd_handle_launch_command(context);
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-    else if (strcmp(cmd->cmd_str, "proc_info") == 0){
-        result = smpd_handle_proc_info_command(context);
-        smpd_exit_fn(FCNAME);
-        return result;
-    }
-	else if (strcmp(cmd->cmd_str, "connect") == 0)
-	{
-	    result = smpd_handle_connect_command(context);
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-	else if (strcmp(cmd->cmd_str, "print") == 0)
-	{
-	    result = smpd_handle_print_command(context);
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-	else if (strcmp(cmd->cmd_str, "start_dbs") == 0)
-	{
-	    result = smpd_handle_start_dbs_command(context);
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-	else if (strcmp(cmd->cmd_str, "pmi_listen") == 0)
-	{
-	    result = smpd_handle_pmi_listen_command(context);
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-	else if ((cmd->cmd_str[0] == 'd') && (cmd->cmd_str[1] == 'b'))
-	{
-	    /* handle database command */
-	    result = smpd_handle_dbs_command(context);
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-	else if (strcmp(cmd->cmd_str, "barrier") == 0)
-	{
-	    result = smpd_handle_barrier_command(context);
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-	else if (strcmp(cmd->cmd_str, "cred_request") == 0)
-	{
-	    result = smpd_handle_cred_request_command(context);
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-	else if (strcmp(cmd->cmd_str, "sspi_init") == 0)
-	{
-	    result = smpd_handle_sspi_init_command(context);
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-	else if (strcmp(cmd->cmd_str, "sspi_iter") == 0)
-	{
-	    result = smpd_handle_sspi_iter_command(context);
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-	else if (strcmp(cmd->cmd_str, "down") == 0)
-	{
-	    context->state = SMPD_EXITING;
-	    result = SMPDU_Sock_post_close(context->sock);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to post a close on sock %d,\nsock error: %s\n",
-		    SMPDU_Sock_get_sock_id(context->sock), get_sock_error_string(result));
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_EXITING;
-	}
-	else if (strcmp(cmd->cmd_str, "exit_on_done") == 0)
-	{
-	    result = smpd_handle_exit_on_done_command(context);
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-	else if (strcmp(cmd->cmd_str, "done") == 0)
-	{
-	    if (context->type != SMPD_CONTEXT_PMI)
-	    {
-		smpd_err_printf("done command read on %s context.\n", smpd_get_context_str(context));
-	    }
-	    context->state = SMPD_CLOSING;
-	    result = SMPDU_Sock_post_close(context->sock);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to post a close on sock %d,\nsock error: %s\n",
-		    SMPDU_Sock_get_sock_id(context->sock), get_sock_error_string(result));
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    if (smpd_process.exit_on_done)
-	    {
-		smpd_process.nproc_exited++;
-		/*printf("%d exited\n", smpd_process.nproc_exited);*/
-		if (smpd_process.nproc == smpd_process.nproc_exited)
-		{
-		    context->state = SMPD_EXITING;
-		    smpd_dbg_printf("last process exited, returning SMPD_EXIT.\n");
-		    /*printf("last process exited, returning SMPD_EXIT.\n");fflush(stdout);*/
-		    smpd_exit_fn(FCNAME);
-		    return /*SMPD_EXIT*/ SMPD_EXITING;
-		}
-	    }
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_CLOSE;
-	}
-	else if (strcmp(cmd->cmd_str, "spawn") == 0)
-	{
-	    result = smpd_handle_spawn_command(context);
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-	else if (strcmp(cmd->cmd_str, "suspend") == 0)
-	{
-	    result = smpd_handle_suspend_command(context);
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-	else if (strcmp(cmd->cmd_str, "kill") == 0)
-	{
-	    result = smpd_handle_kill_command(context);
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-	else
-	{
-	    /* handle root commands */
-	    if (smpd_process.root_smpd)
-	    {
-		if ( (strcmp(cmd->cmd_str, "shutdown") == 0) || (strcmp(cmd->cmd_str, "restart") == 0) )
-		{
-		    if (strcmp(cmd->cmd_str, "restart") == 0)
-			smpd_process.builtin_cmd = SMPD_CMD_RESTART;
-		    result = smpd_create_command("down", smpd_process.id, cmd->src, SMPD_FALSE, &temp_cmd);
-		    if (result != SMPD_SUCCESS)
-		    {
-			smpd_err_printf("unable to create a closed command for the context.\n");
-			smpd_exit_fn(FCNAME);
-			return SMPD_FAIL;
-		    }
-		    smpd_dbg_printf("shutdown received, replying with down command: \"%s\"\n", temp_cmd->cmd);
-		    result = smpd_post_write_command(context, temp_cmd);
-		    if (result != SMPD_SUCCESS)
-		    {
-			smpd_err_printf("unable to post a write of the closed command to the context.\n");
-			smpd_exit_fn(FCNAME);
-			return SMPD_FAIL;
-		    }
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_EXITING; /* return close to prevent posting another read on this context */
-		}
-		else if (strcmp(cmd->cmd_str, "validate") == 0)
-		{
-		    result = smpd_handle_validate_command(context);
-		    smpd_exit_fn(FCNAME);
-		    return result;
-		}
-		else if (strcmp(cmd->cmd_str, "status") == 0)
-		{
-		    result = smpd_handle_status_command(context);
-		    smpd_exit_fn(FCNAME);
-		    return result;
-		}
-		else if (strcmp(cmd->cmd_str, "stat") == 0)
-		{
-		    result = smpd_handle_stat_command(context);
-		    smpd_exit_fn(FCNAME);
-		    return result;
-		}
-		else if (strcmp(cmd->cmd_str, "get") == 0)
-		{
-		    result = smpd_handle_get_command(context);
-		    smpd_exit_fn(FCNAME);
-		    return result;
-		}
-		else if (strcmp(cmd->cmd_str, "set") == 0)
-		{
-		    result = smpd_handle_set_command(context);
-		    smpd_exit_fn(FCNAME);
-		    return result;
-		}
-		else if (strcmp(cmd->cmd_str, "delete") == 0)
-		{
-		    result = smpd_handle_delete_command(context);
-		    smpd_exit_fn(FCNAME);
-		    return result;
-		}
-		else if (strcmp(cmd->cmd_str, "add_job") == 0)
-		{
-		    result = smpd_handle_add_job_command(context);
-		    smpd_exit_fn(FCNAME);
-		    return result;
-		}
-		else if (strcmp(cmd->cmd_str, "add_job_and_password") == 0)
-		{
-		    result = smpd_handle_add_job_command_and_password(context);
-		    smpd_exit_fn(FCNAME);
-		    return result;
-		}
-		else if (strcmp(cmd->cmd_str, "remove_job") == 0)
-		{
-		    result = smpd_handle_remove_job_command(context);
-		    smpd_exit_fn(FCNAME);
-		    return result;
-		}
-		else if (strcmp(cmd->cmd_str, "associate_job") == 0)
-		{
-		    smpd_dbg_printf("associate_job command received with improper smpd access\n");
-		    result = smpd_generic_fail_command(context);
-		    smpd_exit_fn(FCNAME);
-		    return result;
-		}
-		else
-		{
-		    smpd_err_printf("returning error for unknown smpd session command: \"%s\"\n", cmd->cmd);
-		    result = smpd_fail_unexpected_command(context);
-		    smpd_exit_fn(FCNAME);
-		    return result;
-		}
-	    }
-	    else
-	    {
-		smpd_err_printf("returning error for unknown process session command: \"%s\"\n", cmd->cmd);
-		result = smpd_fail_unexpected_command(context);
-		smpd_exit_fn(FCNAME);
-		return result;
-	    }
-	}
-    }
-    if (context->access == SMPD_ACCESS_USER)
-    {
-	if (strcmp(cmd->cmd_str, "associate_job") == 0)
-	{
-	    result = smpd_handle_associate_job_command(context);
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-	else if (strcmp(cmd->cmd_str, "done") == 0)
-	{
-	    context->state = SMPD_CLOSING;
-	    result = SMPDU_Sock_post_close(context->sock);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to post a close on sock %d,\nsock error: %s\n",
-		    SMPDU_Sock_get_sock_id(context->sock), get_sock_error_string(result));
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_CLOSE;
-	}
-	else
-	{
-	    smpd_err_printf("returning error for unknown smpd user session command: \"%s\"\n", cmd->cmd);
-	    result = smpd_fail_unexpected_command(context);
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
diff --git a/src/pm/smpd/smpd_handle_spawn.c b/src/pm/smpd/smpd_handle_spawn.c
deleted file mode 100644
index 0ac2242..0000000
--- a/src/pm/smpd/smpd_handle_spawn.c
+++ /dev/null
@@ -1,1010 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-
-#include "smpd.h"
-#ifdef HAVE_CTYPE_H
-#include <ctype.h>
-#endif
-
-#undef FCNAME
-#define FCNAME "smpd_isnumbers_with_colon"
-SMPD_BOOL smpd_isnumbers_with_colon(const char *str)
-{
-    size_t i, n;
-    SMPD_BOOL colon_found;
-
-    smpd_enter_fn(FCNAME);
-
-    n = strlen(str);
-    colon_found = SMPD_FALSE;
-    for (i=0; i<n; i++)
-    {
-	if (!isdigit(str[i]))
-	{
-	    if (str[i] == ':')
-	    {
-		if (colon_found == SMPD_TRUE)
-		{
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FALSE;
-		}
-		colon_found = SMPD_TRUE;
-	    }
-	    else
-	    {
-		smpd_exit_fn(FCNAME);
-		return SMPD_FALSE;
-	    }
-	}
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_TRUE;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_handle_spawn_command"
-int smpd_handle_spawn_command(smpd_context_t *context)
-{
-    int result;
-    smpd_command_t *cmd, *temp_cmd;
-    char ctx_key[100];
-    int ncmds, *maxprocs, *nkeyvals, i, j;
-    smpd_launch_node_t node;
-    char key[100], val[1024];
-    char *iter1, *iter2;
-    char maxprocs_str[1024], nkeyvals_str[1024], keyvals_str[1024];
-    smpd_launch_node_t *launch_list, *launch_iter/*, *launch_temp*/;
-    PMI_keyval_t *info;
-    char key_temp[SMPD_MAX_NAME_LENGTH], val_temp[SMPD_MAX_VALUE_LENGTH];
-    int cur_iproc;
-    smpd_host_node_t *host_iter, *host_list;
-    int nproc;
-    char *cur_env_loc;
-    int env_maxlen;
-    SMPD_BOOL env_channel_specified = SMPD_FALSE;
-    SMPD_BOOL env_dll_specified = SMPD_FALSE;
-    SMPD_BOOL env_wrap_dll_specified = SMPD_FALSE;
-    smpd_map_drive_node_t *drive_map_list = NULL;
-
-    smpd_enter_fn(FCNAME);
-
-    if (smpd_process.spawning == SMPD_TRUE)
-    {
-	result = smpd_delayed_spawn_enqueue(context);
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-
-    cmd = &context->read_cmd;
-    smpd_process.exit_on_done = SMPD_TRUE;
-    /* populate the host list */
-    smpd_get_default_hosts();
-
-    
-    /* prepare the result command */
-
-
-    result = smpd_create_command("result", smpd_process.id, cmd->src, SMPD_FALSE, &temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create a result command for a spawn command.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    /* add the command tag for result matching */
-    result = smpd_add_command_int_arg(temp_cmd, "cmd_tag", cmd->tag);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the tag to the result command for a spawn command.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(temp_cmd, "cmd_orig", cmd->cmd_str);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add cmd_orig to the result command for a %s command\n", cmd->cmd_str);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    /* copy the ctx_key for pmi control channel lookup */
-    if (MPIU_Str_get_string_arg(cmd->cmd, "ctx_key", ctx_key, 100) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("no ctx_key in the spawn command: '%s'\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_add_command_arg(temp_cmd, "ctx_key", ctx_key);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the ctx_key to the result command for spawn command '%s'.\n", cmd->cmd);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    smpd_process.spawning = SMPD_TRUE;
-
-    /* parse the spawn command */
-
-
-    if (MPIU_Str_get_int_arg(cmd->cmd, "ncmds", &ncmds) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("unable to get the ncmds parameter from the spawn command '%s'.\n", cmd->cmd);
-	goto spawn_failed;
-    }
-    /*printf("ncmds = %d\n", ncmds);fflush(stdout);*/
-    if (MPIU_Str_get_string_arg(cmd->cmd, "maxprocs", maxprocs_str, 1024) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("unable to get the maxrpocs parameter from the spawn command '%s'.\n", cmd->cmd);
-	goto spawn_failed;
-    }
-    if (MPIU_Str_get_string_arg(cmd->cmd, "nkeyvals", nkeyvals_str, 1024) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("unable to get the nkeyvals parameter from the spawn command '%s'.\n", cmd->cmd);
-	goto spawn_failed;
-    }
-    maxprocs = (int*)MPIU_Malloc(ncmds * sizeof(int));
-    if (maxprocs == NULL)
-    {
-	smpd_err_printf("unable to allocate the maxprocs array.\n");
-	goto spawn_failed;
-    }
-    nkeyvals = (int*)MPIU_Malloc(ncmds * sizeof(int));
-    if (nkeyvals == NULL)
-    {
-	smpd_err_printf("unable to allocate the nkeyvals array.\n");
-	goto spawn_failed;
-    }
-    iter1 = maxprocs_str;
-    iter2 = nkeyvals_str;
-    for (i=0; i<ncmds; i++)
-    {
-	result = MPIU_Str_get_string(&iter1, key, 100);
-	if (result != MPIU_STR_SUCCESS)
-	{
-	    smpd_err_printf("unable to get the %dth string from the maxprocs parameter to the spawn command '%s'.\n", i, cmd->cmd);
-	    goto spawn_failed;
-	}
-	maxprocs[i] = atoi(key);
-	/*printf("maxprocs[%d] = %d\n", i, maxprocs[i]);fflush(stdout);*/
-	result = MPIU_Str_get_string(&iter2, key, 100);
-	if (result != MPIU_STR_SUCCESS)
-	{
-	    smpd_err_printf("unable to get the %dth string from the nkeyvals parameter to the spawn command '%s'.\n", i, cmd->cmd);
-	    goto spawn_failed;
-	}
-	nkeyvals[i] = atoi(key);
-	/*printf("nkeyvals[%d] = %d\n", i, nkeyvals[i]);fflush(stdout);*/
-    }
-    info = NULL;
-    launch_list = NULL;
-    launch_iter = NULL;
-    cur_iproc = 0;
-    for (i=0; i<ncmds; i++)
-    {
-	/* reset the node fields */
-	node.appnum = -1;
-	node.args[0] = '\0';
-	node.clique[0] = '\0';
-	node.dir[0] = '\0';
-	node.env = node.env_data;
-	node.env_data[0] = '\0';
-	node.exe[0] = '\0';
-	node.host_id = -1;
-	node.hostname[0] = '\0';
-        node.alt_hostname[0] = '\0';
-	node.iproc = -1;
-	node.map_list = NULL;
-	node.next = NULL;
-	node.nproc = -1;
-	node.path[0] = '\0';
-	node.prev = NULL;
-	node.priority_class = -1;
-	node.priority_thread = -1;
-	cur_env_loc = node.env_data;
-	env_maxlen = SMPD_MAX_ENV_LENGTH;
-	drive_map_list = NULL;
-
-	if (info != NULL)
-	{
-	    /* free the last round of infos */
-	    for (j=0; j<nkeyvals[i-1]; j++)
-	    {
-		MPIU_Free(info[j].key);
-		MPIU_Free(info[j].val);
-	    }
-	    MPIU_Free(info);
-	}
-	/* allocate some new infos */
-	if (nkeyvals[i] > 0)
-	{
-	    info = (PMI_keyval_t*)MPIU_Malloc(nkeyvals[i] * sizeof(PMI_keyval_t));
-	    if (info == NULL)
-	    {
-		smpd_err_printf("unable to allocate memory for the info keyvals (cmd %d, num_infos %d).\n", i, nkeyvals[i]);
-		goto spawn_failed;
-	    }
-	}
-	else
-	{
-	    info = NULL;
-	}
-	/* parse the keyvals into infos */
-	sprintf(key, "keyvals%d", i);
-	if (MPIU_Str_get_string_arg(cmd->cmd, key, keyvals_str, 1024) == MPIU_STR_SUCCESS)
-	{
-	    /*printf("%s = '%s'\n", key, keyvals_str);fflush(stdout);*/
-	    for (j=0; j<nkeyvals[i]; j++)
-	    {
-		sprintf(key, "%d", j);
-		if (MPIU_Str_get_string_arg(keyvals_str, key, val, 1024) != MPIU_STR_SUCCESS)
-		{
-		    smpd_err_printf("unable to get the %sth key from the keyval string '%s'.\n", key, keyvals_str);
-		    goto spawn_failed;
-		}
-		/*printf("key %d = %s\n", j, val);fflush(stdout);*/
-		key_temp[0] = '\0';
-		val_temp[0] = '\0';
-		iter1 = val;
-		result = MPIU_Str_get_string(&iter1, key_temp, SMPD_MAX_NAME_LENGTH);
-		if (result != MPIU_STR_SUCCESS)
-		{
-		    smpd_err_printf("unable to parse the key from the %dth keyval pair in the %dth keyvals string.\n", j, i);
-		    goto spawn_failed;
-		}
-		result = MPIU_Str_get_string(&iter1, val_temp, SMPD_MAX_VALUE_LENGTH); /* eat the '=' character */
-		if (result != MPIU_STR_SUCCESS)
-		{
-		    smpd_err_printf("unable to parse the key from the %dth keyval pair in the %dth keyvals string.\n", j, i);
-		    goto spawn_failed;
-		}
-		result = MPIU_Str_get_string(&iter1, val_temp, SMPD_MAX_VALUE_LENGTH);
-		if (result != MPIU_STR_SUCCESS)
-		{
-		    smpd_err_printf("unable to parse the key from the %dth keyval pair in the %dth keyvals string.\n", j, i);
-		    goto spawn_failed;
-		}
-		info[j].key = MPIU_Strdup(key_temp);
-		info[j].val = MPIU_Strdup(val_temp);
-	    }
-	}
-	/* get the current command */
-	sprintf(key, "cmd%d", i);
-	if (MPIU_Str_get_string_arg(cmd->cmd, key, node.exe, SMPD_MAX_EXE_LENGTH) != MPIU_STR_SUCCESS)
-	{
-	    smpd_err_printf("unable to get the %s parameter from the spawn command '%s'.\n", key, cmd->cmd);
-	    goto spawn_failed;
-	}
-#ifdef HAVE_WINDOWS_H
-	if (strlen(node.exe) > 2)
-	{
-	    /* the Windows version handles the common unix case where executables are specified like this: ./foo */
-	    /* Instead of failing, simply fix the / character */
-	    if (node.exe[0] == '.' && node.exe[1] == '/')
-		node.exe[1] = '\\';
-
-	    /* If there are / characters but no \ characters should we change them all to \ ? */
-	    /* my/sub/dir/app                : yes change them      - check works */
-	    /* my\sub\dir\app /1 /2 /bugaloo : no don't change them - check works */
-	    /* app /arg:foo                  : no don't change them - check does not work */
-	}
-#endif
-	/*printf("%s = %s\n", key, node.exe);fflush(stdout);*/
-	sprintf(key, "argv%d", i);
-	if (MPIU_Str_get_string_arg(cmd->cmd, key, node.args, SMPD_MAX_EXE_LENGTH) != MPIU_STR_SUCCESS)
-	{
-	    node.args[0] = '\0';
-	    /*
-	    smpd_err_printf("unable to get the %s parameter from the spawn command '%s'.\n", key, cmd->cmd);
-	    goto spawn_failed;
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	    */
-	}
-	/*printf("%s = %s\n", key, node.args);fflush(stdout);*/
-
-	/* interpret the infos for this command */
-	for (j=0; j<nkeyvals[i]; j++)
-	{
-	    /* path */
-	    if (strcmp(info[j].key, "path") == 0)
-	    {
-		if (node.path[0] != '\0')
-		{
-		    /* multiple path keys */
-		    /* replace old, append, error out? */
-		}
-		strcpy(node.path, info[j].val);
-		smpd_dbg_printf("path = %s\n", info[j].val);
-	    }
-	    /* host */
-	    if (strcmp(info[j].key, "host") == 0)
-	    {
-		if (node.hostname[0] != '\0')
-		{
-		    /* multiple host keys */
-		    /* replace old, error out? */
-		}
-		smpd_dbg_printf("host key sent with spawn command: <%s>\n", info[j].val);
-		if (smpd_get_host_id(info[j].val, &node.host_id) == SMPD_SUCCESS)
-		{
-		    strcpy(node.hostname, info[j].val);
-		}
-		else
-		{
-		    /* smpd_get_host_id should not modify host_id if there is a failure but just to be safe ... */
-		    node.host_id = -1;
-		}
-	    }
-	    /* hosts */
-	    if (strcmp(info[j].key, "hosts") == 0)
-	    {
-		smpd_dbg_printf("hosts key sent with spawn command: <%s>\n", info[j].val);
-		if (smpd_parse_hosts_string(info[j].val))
-		{
-		    /*use_machine_file = SMPD_TRUE;*/
-		}
-	    }
-	    /* env */
-	    if (strcmp(info[j].key, "env") == 0)
-	    {
-		char *token;
-		char *env_str = MPIU_Strdup(info[j].val);
-
-		/* This simplistic parsing code assumes that environment variables do not have spaces in them
-		 * and that the variable name does not have the equals character in it.
-		 */
-
-		if (env_str == NULL)
-		{
-		    goto spawn_failed;
-		}
-		token = strtok(env_str, " ");
-		while (token)
-		{
-		    char *env_key, *env_val;
-		    env_key = MPIU_Strdup(token);
-		    if (env_key == NULL)
-		    {
-			goto spawn_failed;
-		    }
-		    env_val = env_key;
-		    while (*env_val != '\0' && *env_val != '=')
-			env_val++;
-		    if (*env_val == '=')
-		    {
-			*env_val = '\0';
-			env_val++;
-			MPIU_Str_add_string_arg(&cur_env_loc, &env_maxlen, env_key, env_val);
-			/* Check for special environment variables */
-			if (strcmp(env_val, "MPICH_CHANNEL") == 0)
-			{
-			    env_channel_specified = SMPD_TRUE;
-			}
-			else if (strcmp(env_val, "MPI_DLL_NAME") == 0)
-			{
-			    env_dll_specified = SMPD_TRUE;
-			}
-			else if (strcmp(env_val, "MPI_WRAP_DLL_NAME") == 0)
-			{
-			    env_wrap_dll_specified = SMPD_TRUE;
-			}
-		    }
-		    MPIU_Free(env_key);
-		    token = strtok(NULL, " ");
-		}
-		MPIU_Free(env_str);
-	    }
-	    /* log */
-	    if (strcmp(info[j].key, "log") == 0)
-	    {
-		if (smpd_is_affirmative(info[j].val) || (strcmp(info[j].val, "1") == 0))
-		{
-		    MPIU_Str_add_string_arg(&cur_env_loc, &env_maxlen, "MPI_WRAP_DLL_NAME", "mpe");
-		    env_wrap_dll_specified = SMPD_TRUE;
-		}
-	    }
-	    /* wdir */
-	    if ((strcmp(info[j].key, "wdir") == 0) || (strcmp(info[j].key, "dir") == 0))
-	    {
-		strcpy(node.dir, info[j].val);
-		smpd_dbg_printf("wdir = %s\n", info[j].val);
-	    }
-	    /* map */
-	    if (strcmp(info[j].key, "map") == 0)
-	    {
-		if (smpd_parse_map_string(info[j].val, &drive_map_list) != SMPD_SUCCESS)
-		{
-		    goto spawn_failed;
-		}
-	    }
-	    /* localonly */
-	    if (strcmp(info[j].key, "localonly") == 0)
-	    {
-		smpd_get_hostname(node.hostname, SMPD_MAX_HOST_LENGTH);
-		if (smpd_get_host_id(node.hostname, &node.host_id) != SMPD_SUCCESS)
-		{
-		    node.hostname[0] = '\0';
-                    node.alt_hostname[0] = '\0';
-		    node.host_id = -1;
-		}
-	    }
-	    /* machinefile */
-	    if (strcmp(info[j].key, "machinefile") == 0)
-	    {
-		if (smpd_parse_machine_file(info[j].val))
-		{
-		    /*use_machine_file = SMPD_TRUE;*/
-		}
-	    }
-	    /* configfile */
-	    if (strcmp(info[j].key, "configfile") == 0)
-	    {
-	    }
-	    /* file */
-	    if (strcmp(info[j].key, "file") == 0)
-	    {
-	    }
-	    /* priority */
-	    if (strcmp(info[j].key, "priority") == 0)
-	    {
-		if (smpd_isnumbers_with_colon(info[j].val))
-		{
-		    char *str;
-		    node.priority_class = atoi(info[j].val); /* This assumes atoi will stop at the colon and return a number */
-		    str = strchr(info[j].val, ':');
-		    if (str)
-		    {
-			str++;
-			node.priority_thread = atoi(str);
-		    }
-		    if (node.priority_class < 0 || node.priority_class > 4 || node.priority_thread < 0 || node.priority_thread > 5)
-		    {
-			smpd_err_printf("Error: priorities must be between 0-4:0-5\n");
-			node.priority_class = SMPD_DEFAULT_PRIORITY_CLASS;
-			node.priority_thread = SMPD_DEFAULT_PRIORITY;
-		    }
-		}
-	    }
-	    /* timeout */
-	    if (strcmp(info[j].key, "timeout") == 0)
-	    {
-	    }
-	    /* exitcodes */
-	    if (strcmp(info[j].key, "exitcodes") == 0)
-	    {
-		/* FIXME: This will turn on exit code printing for all processes.  Implement a new mechanism for only printing codes for an individual process group. */
-		if (smpd_is_affirmative(info[j].val) || (strcmp(info[j].val, "1") == 0))
-		{
-		    smpd_process.output_exit_codes = SMPD_TRUE;
-		}
-	    }
-	    /* nompi */
-	    if (strcmp(info[j].key, "nompi") == 0)
-	    {
-		/* FIXME: Tell MPICH that the spawned processes will not make any SMPD calls, including SMPD_Init - so don't to a comm_accept or it will hang! */
-	    }
-	    /* etc */
-	}
-
-	/* Add special environment variables */
-	if (env_channel_specified == SMPD_FALSE && env_dll_specified == SMPD_FALSE)
-	{
-	    if (smpd_process.env_dll[0] != '\0')
-	    {
-		MPIU_Str_add_string_arg(&cur_env_loc, &env_maxlen, "MPI_DLL_NAME", smpd_process.env_dll);
-	    }
-	    else if (smpd_process.env_channel[0] != '\0')
-	    {
-		    MPIU_Str_add_string_arg(&cur_env_loc, &env_maxlen, "MPICH_CHANNEL", smpd_process.env_channel);
-            if(smpd_process.env_netmod[0] != '\0')
-            {
-                MPIU_Str_add_string_arg(&cur_env_loc, &env_maxlen, "MPICH_NEMESIS_NETMOD", smpd_process.env_netmod);
-            }
-	    }
-	}
-	if (env_wrap_dll_specified == SMPD_FALSE)
-	{
-	    if (smpd_process.env_wrap_dll[0] != '\0')
-	    {
-		MPIU_Str_add_string_arg(&cur_env_loc, &env_maxlen, "MPI_WRAP_DLL_NAME", smpd_process.env_wrap_dll);
-	    }
-	}
-
-	/* create launch nodes for the current command */
-	for (j=0; j<maxprocs[i]; j++)
-	{
-	    if (launch_list == NULL)
-	    {
-		launch_list = (smpd_launch_node_t*)MPIU_Malloc(sizeof(smpd_launch_node_t));
-		launch_iter = launch_list;
-		if (launch_iter)
-		{
-		    launch_iter->prev = NULL;
-		}
-	    }
-	    else
-	    {
-		launch_iter->next = (smpd_launch_node_t*)MPIU_Malloc(sizeof(smpd_launch_node_t));
-		if (launch_iter->next)
-		{
-		    launch_iter->next->prev = launch_iter;
-		    launch_iter = launch_iter->next;
-		}
-		else
-		{
-		    launch_iter = NULL;
-		}
-	    }
-	    if (launch_iter == NULL)
-	    {
-		smpd_err_printf("unable to allocate a launch node structure for the %dth command.\n", cur_iproc);
-		goto spawn_failed;
-	    }
-	    launch_iter->appnum = i;
-	    launch_iter->iproc = cur_iproc++;
-	    launch_iter->args[0] = '\0';
-	    launch_iter->clique[0] = '\0';
-	    /*launch_iter->dir[0] = '\0';*/
-	    strcpy(launch_iter->dir, node.dir);
-	    strcpy(launch_iter->env_data, node.env_data);
-	    launch_iter->env = launch_iter->env_data;
-	    launch_iter->exe[0] = '\0';
-	    if (node.host_id != -1)
-	    {
-		launch_iter->host_id = node.host_id;
-		strcpy(launch_iter->hostname, node.hostname);
-		strcpy(launch_iter->alt_hostname, node.alt_hostname);
-	    }
-	    else
-	    {
-		launch_iter->host_id = -1;
-		launch_iter->hostname[0] = '\0';
-		launch_iter->alt_hostname[0] = '\0';
-	    }
-	    launch_iter->map_list = drive_map_list;
-	    if (drive_map_list)
-	    {
-		drive_map_list->ref_count++;
-	    }
-	    launch_iter->priority_class = node.priority_class;
-	    launch_iter->priority_thread = node.priority_thread;
-	    launch_iter->next = NULL;
-
-	    strcpy(launch_iter->exe, node.exe);
-	    /*strcpy(launch_iter->args, node.args);*/
-	    if (strlen(node.args) > 0)
-	    {
-		strncat(launch_iter->exe, " ", SMPD_MAX_EXE_LENGTH);
-		strncat(launch_iter->exe, node.args, SMPD_MAX_EXE_LENGTH);
-	    }
-	    strcpy(launch_iter->path, node.path);
-	}
-    }
-    if (info != NULL)
-    {
-	/* free the last round of infos */
-	for (j=0; j<nkeyvals[i-1]; j++)
-	{
-	    MPIU_Free(info[j].key);
-	    MPIU_Free(info[j].val);
-	}
-	MPIU_Free(info);
-    }
-    info = NULL;
-
-    /* create a spawn context to save parameters, state, etc. */
-    if (context->spawn_context != NULL)
-    {
-	MPIU_Free(context->spawn_context);
-    }
-    context->spawn_context = (smpd_spawn_context_t*)MPIU_Malloc(sizeof(smpd_spawn_context_t));
-    if (context->spawn_context == NULL)
-    {
-	smpd_err_printf("unable to create a spawn context.\n");
-	goto spawn_failed;
-    }
-    context->spawn_context->context = context;
-    context->spawn_context->kvs_name[0] = '\0';
-    context->spawn_context->launch_list = NULL;
-    context->spawn_context->npreput = -1;
-    context->spawn_context->num_outstanding_launch_cmds = -1;
-    context->spawn_context->preput[0] = '\0';
-    context->spawn_context->result_cmd = NULL;
-
-    /* Get the keyval pairs to be put in the process group keyval space before the processes are launched. */
-    if (MPIU_Str_get_int_arg(cmd->cmd, "npreput", &context->spawn_context->npreput) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("unable to get the npreput parameter from the spawn command '%s'.\n", cmd->cmd);
-	goto spawn_failed;
-    }
-    /*printf("npreput = %d\n", context->spawn_context->npreput);fflush(stdout);*/
-    if (context->spawn_context->npreput > 0 && MPIU_Str_get_string_arg(cmd->cmd, "preput", context->spawn_context->preput, SMPD_MAX_CMD_LENGTH) != MPIU_STR_SUCCESS)
-    {
-	smpd_err_printf("unablet to get the preput parameter from the spawn command '%s'.\n", cmd->cmd);
-	goto spawn_failed;
-    }
-    MPIU_Free(maxprocs);
-    MPIU_Free(nkeyvals);
-
-
-    /* do the spawn stuff */
-
-    /* count the number of processes to spawn */
-    nproc = 0;
-    launch_iter = launch_list;
-    while (launch_iter)
-    {
-	nproc++;
-	launch_iter = launch_iter->next;
-    }
-
-    /* create the host list and add nproc to the launch list */
-    host_list = NULL;
-    launch_iter = launch_list;
-    while (launch_iter)
-    {
-	if (launch_iter->host_id == -1)
-	{
-	    smpd_get_next_host(&host_list, launch_iter);
-	}
-	if (launch_iter->alt_hostname[0] != '\0')
-	{
-	    if (smpd_append_env_option(launch_iter->env_data, SMPD_MAX_ENV_LENGTH, "MPICH_INTERFACE_HOSTNAME", launch_iter->alt_hostname) != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to add the MPICH_INTERFACE_HOSTNAME to the launch node environment block\n");
-		goto spawn_failed;
-	    }
-	}
-	launch_iter->nproc = nproc;
-	launch_iter = launch_iter->next;
-    }
-    smpd_create_cliques(launch_list);
-
-    /* connect up the new smpd hosts */
-    context = smpd_process.left_context;
-    /* save the launch list to be used after the new hosts are connected */
-    context->spawn_context->launch_list = launch_list;
-    context->spawn_context->num_outstanding_launch_cmds = 0;/*nproc;*/ /* this assumes all launch commands will be successfully posted. */
-    smpd_fix_up_host_tree(smpd_process.host_list);
-
-    {
-	SMPD_BOOL first = SMPD_TRUE;
-	host_iter = smpd_process.host_list;
-	while (host_iter)
-	{
-	    if (host_iter->connected)
-	    {
-		if (host_iter->left != NULL && !host_iter->left->connected)
-		{
-		    context->connect_to = host_iter->left;
-
-		    /* create a connect command to be sent to the parent */
-		    result = smpd_create_command("connect", 0, context->connect_to->parent, SMPD_TRUE, &cmd);
-		    if (result != SMPD_SUCCESS)
-		    {
-			smpd_err_printf("unable to create a connect command.\n");
-			goto spawn_failed;
-		    }
-		    context->connect_to->connect_cmd_tag = cmd->tag;
-		    result = smpd_add_command_arg(cmd, "host", context->connect_to->host);
-		    if (result != SMPD_SUCCESS)
-		    {
-			smpd_err_printf("unable to add the host parameter to the connect command for host %s\n", context->connect_to->host);
-			goto spawn_failed;
-		    }
-		    result = smpd_add_command_int_arg(cmd, "id", context->connect_to->id);
-		    if (result != SMPD_SUCCESS)
-		    {
-			smpd_err_printf("unable to add the id parameter to the connect command for host %s\n", context->connect_to->host);
-			goto spawn_failed;
-		    }
-		    if (smpd_process.plaintext)
-		    {
-			/* propagate the plaintext option to the manager doing the connect */
-			result = smpd_add_command_arg(cmd, "plaintext", "yes");
-			if (result != SMPD_SUCCESS)
-			{
-			    smpd_err_printf("unable to add the plaintext parameter to the connect command for host %s\n", context->connect_to->host);
-			    goto spawn_failed;
-			}
-		    }
-
-		    smpd_dbg_printf("sending connect command to add new hosts for the spawn command.\n");
-		    /*printf("sending first connect command to add new hosts for the spawn command.\n");fflush(stdout);*/
-		    /* post a write of the command */
-		    result = smpd_post_write_command(context, cmd);
-		    if (result != SMPD_SUCCESS)
-		    {
-			smpd_err_printf("unable to post a write of the connect command.\n");
-			goto spawn_failed;
-		    }
-
-		    if (first)
-		    {
-			context->spawn_context->result_cmd = temp_cmd;
-			first = SMPD_FALSE;
-		    }
-		}
-		if (host_iter->right != NULL && !host_iter->right->connected)
-		{
-		    context->connect_to = host_iter->right;
-
-		    /* create a connect command to be sent to the parent */
-		    result = smpd_create_command("connect", 0, context->connect_to->parent, SMPD_TRUE, &cmd);
-		    if (result != SMPD_SUCCESS)
-		    {
-			smpd_err_printf("unable to create a connect command.\n");
-			goto spawn_failed;
-		    }
-		    context->connect_to->connect_cmd_tag = cmd->tag;
-		    result = smpd_add_command_arg(cmd, "host", context->connect_to->host);
-		    if (result != SMPD_SUCCESS)
-		    {
-			smpd_err_printf("unable to add the host parameter to the connect command for host %s\n", context->connect_to->host);
-			goto spawn_failed;
-		    }
-		    result = smpd_add_command_int_arg(cmd, "id", context->connect_to->id);
-		    if (result != SMPD_SUCCESS)
-		    {
-			smpd_err_printf("unable to add the id parameter to the connect command for host %s\n", context->connect_to->host);
-			goto spawn_failed;
-		    }
-		    if (smpd_process.plaintext)
-		    {
-			/* propagate the plaintext option to the manager doing the connect */
-			result = smpd_add_command_arg(cmd, "plaintext", "yes");
-			if (result != SMPD_SUCCESS)
-			{
-			    smpd_err_printf("unable to add the plaintext parameter to the connect command for host %s\n", context->connect_to->host);
-			    goto spawn_failed;
-			}
-		    }
-
-		    smpd_dbg_printf("sending connect command to add new hosts for the spawn command.\n");
-		    /*printf("sending first connect command to add new hosts for the spawn command.\n");fflush(stdout);*/
-		    /* post a write of the command */
-		    result = smpd_post_write_command(context, cmd);
-		    if (result != SMPD_SUCCESS)
-		    {
-			smpd_err_printf("unable to post a write of the connect command.\n");
-			goto spawn_failed;
-		    }
-
-		    if (first)
-		    {
-			context->spawn_context->result_cmd = temp_cmd;
-			first = SMPD_FALSE;
-		    }
-		}
-	    }
-	    host_iter = host_iter->next;
-	}
-
-	if (!first)
-	{
-	    /* At least one connect command was issued so return here */
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_SUCCESS;
-	}
-    }
-
-    context->spawn_context->result_cmd = temp_cmd;
-
-    if (launch_list == NULL)
-    {
-	smpd_process.spawning = SMPD_FALSE;
-
-	/* spawn command received for zero processes, return a success result immediately */
-	result = smpd_add_command_arg(context->spawn_context->result_cmd, "result", SMPD_SUCCESS_STR);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add the result string to the result command.\n");
-	    goto spawn_failed;
-	}
-	/* send the spawn result command */
-	result = smpd_post_write_command(context, context->spawn_context->result_cmd);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a write of the spawn result command.\n");
-	    goto spawn_failed;
-	}
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-
-    /* create the new kvs space */
-    smpd_dbg_printf("all hosts needed for the spawn command are available, sending start_dbs command.\n");
-    /*printf("all hosts needed for the spawn command are available, sending start_dbs command.\n");fflush(stdout);*/
-    /* create the start_dbs command to be sent to the first host */
-    result = smpd_create_command("start_dbs", 0, 1, SMPD_TRUE, &cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create a start_dbs command.\n");
-	goto spawn_failed;
-    }
-
-    result = smpd_add_command_int_arg(cmd, "npreput", context->spawn_context->npreput);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the npreput value to the start_dbs command for a spawn command.\n");
-	goto spawn_failed;
-    }
-
-    result = smpd_add_command_arg(cmd, "preput", context->spawn_context->preput);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the preput keyvals to the start_dbs command for a spawn command.\n");
-	goto spawn_failed;
-    }
-
-    /* post a write of the command */
-    result = smpd_post_write_command(context, cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a write of the start_dbs command.\n");
-	goto spawn_failed;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-    /* send the launch commands */
-
-/*
-    printf("host tree:\n");
-    host_iter = smpd_process.host_list;
-    if (!host_iter)
-	printf("<none>\n");
-    while (host_iter)
-    {
-	printf(" host: %s, parent: %d, id: %d, connected: %s\n",
-	    host_iter->host,
-	    host_iter->parent, host_iter->id,
-	    host_iter->connected ? "yes" : "no");
-	host_iter = host_iter->next;
-    }
-
-    printf("launch nodes:\n");
-    launch_iter = launch_list;
-    if (!launch_iter)
-	printf("<none>\n");
-    while (launch_iter)
-    {
-	printf(" launch_node:\n");
-	printf("  id  : %d\n", launch_iter->host_id);
-	printf("  rank: %d\n", launch_iter->iproc);
-	printf("  size: %d\n", launch_iter->nproc);
-	printf("  clique: %s\n", launch_iter->clique);
-	printf("  exe : %s\n", launch_iter->exe);
-	if (launch_iter->args[0] != '\0')
-	    printf("  args: %s\n", launch_iter->args);
-	if (launch_iter->path[0] != '\0')
-	    printf("  path: %s\n", launch_iter->path);
-	launch_temp = launch_iter;
-	launch_iter = launch_iter->next;
-	MPIU_Free(launch_temp);
-    }
-    fflush(stdout);
-*/
-
-spawn_failed:
-
-    smpd_process.spawning = SMPD_FALSE;
-
-    /* add the result */
-    result = smpd_add_command_arg(temp_cmd, "result", SMPD_FAIL_STR);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the result string to the result command for a spawn command.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    /* send result back */
-    smpd_dbg_printf("replying to spawn command: \"%s\"\n", temp_cmd->cmd);
-    result = smpd_post_write_command(context, temp_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a write of the result command to the context.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_delayed_spawn_enqueue"
-int smpd_delayed_spawn_enqueue(smpd_context_t *context)
-{
-    smpd_delayed_spawn_node_t *iter, *node;
-
-    smpd_enter_fn(FCNAME);
-
-    node = (smpd_delayed_spawn_node_t*)MPIU_Malloc(sizeof(smpd_delayed_spawn_node_t));
-    if (node == NULL)
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    node->next = NULL;
-    node->context = context;
-    node->cmd = context->read_cmd;
- 
-    iter = smpd_process.delayed_spawn_queue;
-    if (iter == NULL)
-    {
-	smpd_process.delayed_spawn_queue = node;
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-    while (iter->next != NULL)
-    {
-	iter = iter->next;
-    }
-    iter->next = node;
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_delayed_spawn_dequeue"
-int smpd_delayed_spawn_dequeue(smpd_context_t **context_pptr)
-{
-    smpd_delayed_spawn_node_t *node;
-
-    smpd_enter_fn(FCNAME);
-    if (smpd_process.delayed_spawn_queue != NULL)
-    {
-	*context_pptr = smpd_process.delayed_spawn_queue->context;
-	/* Copy the command in the queue to the context read command
-	 * restoring the context to the state it was when it was enqueued.
-	 */
-	(*context_pptr)->read_cmd = smpd_process.delayed_spawn_queue->cmd;
-	node = smpd_process.delayed_spawn_queue;
-	smpd_process.delayed_spawn_queue = smpd_process.delayed_spawn_queue->next;
-	MPIU_Free(node);
-    }
-    else
-    {
-	*context_pptr = NULL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_handle_delayed_spawn_command"
-int smpd_handle_delayed_spawn_command(void)
-{
-    smpd_context_t *context = NULL;
-    int result = SMPD_SUCCESS;
-
-    smpd_enter_fn(FCNAME);
-
-    /* Handle delayed spawn commands until a spawn is in progress or the queue is empty */
-    while (smpd_process.spawning == SMPD_FALSE && smpd_process.delayed_spawn_queue != NULL)
-    {
-	result = smpd_delayed_spawn_dequeue(&context);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-	if (context != NULL)
-	{
-	    result = smpd_handle_spawn_command(context);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_exit_fn(FCNAME);
-		return result;
-	    }
-	}
-    }
-
-    smpd_exit_fn(FCNAME);
-    return result;
-}
diff --git a/src/pm/smpd/smpd_hash.c b/src/pm/smpd/smpd_hash.c
deleted file mode 100644
index fe73e55..0000000
--- a/src/pm/smpd/smpd_hash.c
+++ /dev/null
@@ -1,172 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-#include "smpd.h"
-
-#ifdef HAVE_WINDOWS_H
-
-#include <windows.h>
-#include <wincrypt.h>
-
-#define HASH_LENGTH 16
-
-#undef FCNAME
-#define FCNAME "smpd_hash"
-int smpd_hash(char *input, int input_length, char *output, int output_length)
-{
-    /*DWORD i;*/
-    CRYPT_HASH_MESSAGE_PARA      hash_parameter;
-    const BYTE*                  hash_buffer[1];
-    DWORD                        hash_buffer_len[1];
-    CRYPT_ALGORITHM_IDENTIFIER   algorithm;
-    BYTE                         hash[HASH_LENGTH];
-    DWORD                        hash_len = HASH_LENGTH;
-
-    smpd_enter_fn(FCNAME);
-
-    if (output_length < (HASH_LENGTH * 2 + 1))
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    hash_buffer[0] = (const BYTE *)input;
-    hash_buffer_len[0] = input_length;
-
-    /* Initialize the CRYPT_ALGORITHM_IDENTIFIER data structure. */
-    algorithm.pszObjId = szOID_RSA_MD5;
-    algorithm.Parameters.cbData=0;
-
-    /* Initialize the CRYPT_HASH_MESSAGE_PARA data structure. */
-    hash_parameter.cbSize = sizeof(CRYPT_HASH_MESSAGE_PARA);
-    hash_parameter.dwMsgEncodingType = PKCS_7_ASN_ENCODING | X509_ASN_ENCODING;
-    hash_parameter.hCryptProv = (HCRYPTPROV)NULL;
-    hash_parameter.HashAlgorithm = algorithm;
-    hash_parameter.pvHashAuxInfo = NULL;
-
-    /* Calculate the size of the hashed message. */
-    /*
-    if (!CryptHashMessage(&hash_parameter, FALSE, 1, hash_buffer, hash_buffer_len, NULL, NULL, NULL, &hash_len))
-    {
-	return SMPD_FAIL;
-    }
-    if (hash_len > HASH_LENGTH)
-    {
-	return SMPD_FAIL;
-    }
-    */
-
-    /* Hash the message. */
-    if (CryptHashMessage(&hash_parameter, FALSE, 1, hash_buffer, hash_buffer_len, NULL, NULL, hash, &hash_len))
-    {
-	/*
-	for (i=0; i<hash_len; i++)
-	{
-	    sprintf(output, "%02x", hash[i]);
-	    output += 2;
-	}
-	*/
-	sprintf(output, "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x",
-	    hash[0], hash[1], hash[2], hash[3], hash[4], hash[5], hash[6], hash[7],
-	    hash[8], hash[9], hash[10], hash[11], hash[12], hash[13], hash[14], hash[15]);
-    }
-    else
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return 0;
-}
-
-#else
-
-#ifdef HAVE_MD5_CALC
-#include <md5.h>
-#define MD5_DIGEST_LENGTH 16
-#else
-#include <openssl/md5.h>
-#endif
-
-#undef FCNAME
-#define FCNAME "smpd_hash"
-int smpd_hash(char *input, int input_length, char *output, int output_length)
-{
-    /*int i;*/
-    unsigned char hash[MD5_DIGEST_LENGTH];
-
-    smpd_enter_fn(FCNAME);
-
-    if (output_length < (MD5_DIGEST_LENGTH * 2 + 1))
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-#ifdef HAVE_MD5_CALC
-    md5_calc(hash, (unsigned char *)input, (unsigned int)input_length);
-#else
-    MD5(input, input_length, hash);
-#endif
-
-    /*
-    for (i=0; i<MD5_DIGEST_LENGTH; i++)
-    {
-	sprintf(output, "%02x", hash[i]);
-	output += 2;
-    }
-    */
-    sprintf(output, "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x",
-	hash[0], hash[1], hash[2], hash[3], hash[4], hash[5], hash[6], hash[7],
-	hash[8], hash[9], hash[10], hash[11], hash[12], hash[13], hash[14], hash[15]);
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#endif
-
-#ifdef SMPD_BUILD_MD5_TEST
-/* Use MDTestSuite to test the smpd_hash code */
-/* Digests a string and prints the result. */
-static void MDString(char *string)
-{
-    unsigned char digest[100];
-    unsigned int len = (unsigned int)strlen(string);
-
-    smpd_hash(string, len, digest, 100);
-    printf("MD5(\"%s\") = %s\n", string, digest);
-}
-
-/* Digests a reference suite of strings and prints the results. */
-void MDTestSuite()
-{
-    printf ("MD5 test suite:\n");
-
-    MDString("");
-    MDString("a");
-    MDString("abc");
-    MDString("message digest");
-    MDString("abcdefghijklmnopqrstuvwxyz");
-    MDString("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789");
-    MDString("12345678901234567890123456789012345678901234567890123456789012345678901234567890");
-
-    printf("correct output:\n");
-    printf("MD5(\"\") = d41d8cd98f00b204e9800998ecf8427e\n");
-    printf("MD5(\"a\") = 0cc175b9c0f1b6a831c399e269772661\n");
-    printf("MD5(\"abc\") = 900150983cd24fb0d6963f7d28e17f72\n");
-    printf("MD5(\"message digest\") = f96b697d7cb7938d525a2f31aaf161d0\n");
-    printf("MD5(\"abcdefghijklmnopqrstuvwxyz\") = c3fcd3d76192e4007dfb496cca67e13b\n");
-    printf("MD5(\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\") = d174ab98d277d9f5a5611c2c9f419d9f\n");
-    printf("MD5(\"12345678901234567890123456789012345678901234567890123456789012345678901234567890\") = 57edf4a22be3c955ac49da2e2107b67a\n");
-}
-
-int main(int argc, char *argv[])
-{
-    MDTestSuite();
-    return 0;
-}
-#endif
diff --git a/src/pm/smpd/smpd_host_util.c b/src/pm/smpd/smpd_host_util.c
deleted file mode 100644
index 01d918b..0000000
--- a/src/pm/smpd/smpd_host_util.c
+++ /dev/null
@@ -1,982 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-
-#include <stdio.h>
-#include "smpd.h"
-#include <stdlib.h>
-#ifdef HAVE_STRING_H
-#include <string.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#if defined(HAVE_DIRECT_H) || defined(HAVE_WINDOWS_H)
-#include <direct.h>
-#endif
-#ifdef HAVE_CTYPE_H
-#include <ctype.h>
-#endif
-
-#undef FCNAME
-#define FCNAME "smpd_parse_map_string"
-int smpd_parse_map_string(const char *str, smpd_map_drive_node_t **list)
-{
-    smpd_map_drive_node_t *map_node;
-    const char *cur_pos;
-    char *iter;
-
-    /* string format: drive:\\host\share;drive2:\\host2\share2... */
-
-    smpd_enter_fn(FCNAME);
-
-    if (str == NULL || list == NULL)
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    cur_pos = str;
-    while (cur_pos[0] != '\0' && cur_pos[1] == ':')
-    {
-	map_node = (smpd_map_drive_node_t*)MPIU_Malloc(sizeof(smpd_map_drive_node_t));
-	if (map_node == NULL)
-	{
-	    smpd_err_printf("Error: malloc failed to allocate map structure.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	map_node->ref_count = 0;
-	map_node->drive = cur_pos[0];
-	cur_pos++;
-	cur_pos++;
-	iter = map_node->share;
-	while (*cur_pos != '\0' && *cur_pos != ';')
-	{
-	    /* buffer overrun check */
-	    if (iter == &map_node->share[SMPD_MAX_EXE_LENGTH])
-	    {
-		MPIU_Free(map_node);
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    *iter++ = *cur_pos++;
-	}
-	*iter = '\0';
-	if (*cur_pos == ';')
-	    cur_pos++;
-	map_node->next = *list;
-	*list = map_node;
-    }
-    return SMPD_SUCCESS;
-}
-
-#ifdef HAVE_WINDOWS_H
-#undef FCNAME
-#define FCNAME "smpd_mapall"
-#define SMPD_MAP_NETWORKDRVSTRING_MAX   1024
-int smpd_mapall(smpd_map_drive_node_t **list){
-    char *smpd_map_string;
-    int success = 1;
-
-    smpd_enter_fn(FCNAME);
-    smpd_map_string = (char *)MPIU_Malloc(SMPD_MAP_NETWORKDRVSTRING_MAX);
-    if(!smpd_map_string){
-   		printf("Error: unable to allocate mem for mapping network drive\n");
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-    }
-    if(smpd_get_network_drives(smpd_map_string, SMPD_MAP_NETWORKDRVSTRING_MAX) == SMPD_SUCCESS){
-        if(smpd_parse_map_string(smpd_map_string, list) != SMPD_SUCCESS){
-   	    	printf("Error: unable to map network drive\n");
-            success = 0;
-        }
-    }else{
-   		printf("Error: unable to get network drives\n");
-        success = 0;
-    }
-    MPIU_Free(smpd_map_string);
-    smpd_exit_fn(FCNAME);
-    if(success)
-        return SMPD_SUCCESS;
-    else
-        return SMPD_FAIL;
-}
-#endif
-
-#undef FCNAME
-#define FCNAME "smpd_fix_up_host_tree"
-void smpd_fix_up_host_tree(smpd_host_node_t *node)
-{
-    smpd_host_node_t *cur, *iter;
-    SMPD_BOOL left_found;
-
-    smpd_enter_fn(FCNAME);
-
-    cur = node;
-    while (cur != NULL)
-    {
-	left_found = SMPD_FALSE;
-	iter = cur->next;
-	while (iter != NULL)
-	{
-	    if (iter->parent == cur->id)
-	    {
-		if (left_found)
-		{
-		    cur->right = iter;
-		    break;
-		}
-		cur->left = iter;
-		left_found = SMPD_TRUE;
-	    }
-	    iter = iter->next;
-	}
-	cur = cur->next;
-    }
-    smpd_exit_fn(FCNAME);
-}
-
-#undef FCNAME
-#define FCNAME "smpd_append_env_option"
-int smpd_append_env_option(char *str, int maxlen, const char *env_name, const char *env_val)
-{
-    int len;
-    
-    smpd_enter_fn(FCNAME);
-    len = (int)strlen(str);
-    if (len > (maxlen-2))
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    str[len] = ' ';
-    str = &str[len+1];
-    maxlen = maxlen - len - 1;
-    if (MPIU_Str_add_string_arg(&str, &maxlen, env_name, env_val) != MPIU_STR_SUCCESS)
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    str--;
-    *str = '\0'; /* trim the extra space at the end */
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_get_hostname"
-int smpd_get_hostname(char *host, int length)
-{
-#ifdef HAVE_WINDOWS_H
-    DWORD len = length;
-    smpd_enter_fn(FCNAME);
-    /*if (!GetComputerName(host, &len))*/
-    if (!GetComputerNameEx(ComputerNameDnsFullyQualified, host, &len))
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-#else
-    smpd_enter_fn(FCNAME);
-    if (gethostname(host, length))
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-#endif
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_get_pwd_from_file"
-int smpd_get_pwd_from_file(char *file_name)
-{
-    char line[1024];
-    FILE *fin;
-
-    smpd_enter_fn(FCNAME);
-
-    /* open the file */
-    fin = fopen(file_name, "r");
-    if (fin == NULL)
-    {
-	printf("Error, unable to open account file '%s'\n", file_name);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    /* read the account */
-    if (!fgets(line, 1024, fin))
-    {
-	printf("Error, unable to read the account in '%s'\n", file_name);
-	fclose(fin);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    /* strip off the newline characters */
-    while (strlen(line) && (line[strlen(line)-1] == '\r' || line[strlen(line)-1] == '\n'))
-	line[strlen(line)-1] = '\0';
-    if (strlen(line) == 0)
-    {
-	printf("Error, first line in password file must be the account name. (%s)\n", file_name);
-	fclose(fin);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    /* save the account */
-    strcpy(smpd_process.UserAccount, line);
-
-    /* read the password */
-    if (!fgets(line, 1024, fin))
-    {
-	printf("Error, unable to read the password in '%s'\n", file_name);
-	fclose(fin);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    /* strip off the newline characters */
-    while (strlen(line) && (line[strlen(line)-1] == '\r' || line[strlen(line)-1] == '\n'))
-	line[strlen(line)-1] = '\0';
-
-    /* save the password */
-    if (strlen(line))
-	strcpy(smpd_process.UserPassword, line);
-    else
-	smpd_process.UserPassword[0] = '\0';
-
-    fclose(fin);
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_get_next_hostname"
-int smpd_get_next_hostname(char *host, char *alt_host)
-{
-    smpd_enter_fn(FCNAME);
-    if (smpd_process.s_host_list == NULL)
-    {
-	if (smpd_process.cur_default_host)
-	{
-	    if (smpd_process.cur_default_iproc >= smpd_process.cur_default_host->nproc)
-	    {
-		smpd_process.cur_default_host = smpd_process.cur_default_host->next;
-		smpd_process.cur_default_iproc = 0;
-		if (smpd_process.cur_default_host == NULL) /* This should never happen because the hosts are in a ring */
-		{
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-	    }
-	    strcpy(host, smpd_process.cur_default_host->host);
-	    strcpy(alt_host, smpd_process.cur_default_host->alt_host);
-	    smpd_process.cur_default_iproc++;
-	}
-	else
-	{
-	    if (smpd_get_hostname(host, SMPD_MAX_HOST_LENGTH) != 0)
-	    {
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	}
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-    if (smpd_process.s_cur_host == NULL)
-    {
-	smpd_process.s_cur_host = smpd_process.s_host_list;
-	smpd_process.s_cur_count = 0;
-    }
-    strcpy(host, smpd_process.s_cur_host->host);
-    strcpy(alt_host, smpd_process.s_cur_host->alt_host);
-    smpd_process.s_cur_count++;
-    if (smpd_process.s_cur_count >= smpd_process.s_cur_host->nproc)
-    {
-	smpd_process.s_cur_host = smpd_process.s_cur_host->next;
-	smpd_process.s_cur_count = 0;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_parse_extra_machinefile_options"
-int smpd_parse_extra_machinefile_options(const char *line, smpd_host_node_t *node)
-{
-    char *flag, *p;
-
-    smpd_enter_fn(FCNAME);
-    flag = strstr(line, "-ifhn");
-    if (flag != NULL)
-    {
-	p = flag + 5;
-	while (isspace(*p))
-	    p++;
-	MPIU_Strncpy(node->alt_host, p, SMPD_MAX_HOST_LENGTH);
-    }
-
-    flag = strstr(line, "ifhn=");
-    if (flag != NULL)
-    {
-	p = flag + 5;
-	while (isspace(*p))
-	    p++;
-	MPIU_Strncpy(node->alt_host, p, SMPD_MAX_HOST_LENGTH);
-    }
-
-    flag = strstr(line, "-ifip");
-    if (flag != NULL)
-    {
-	p = flag + 5;
-	while (isspace(*p))
-	    p++;
-	MPIU_Strncpy(node->alt_host, p, SMPD_MAX_HOST_LENGTH);
-    }
-
-    flag = strstr(line, "-ifn");
-    if (flag != NULL)
-    {
-	p = flag + 4;
-	while (isspace(*p))
-	    p++;
-	MPIU_Strncpy(node->alt_host, p, SMPD_MAX_HOST_LENGTH);
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_parse_machine_file"
-SMPD_BOOL smpd_parse_machine_file(char *file_name)
-{
-    char line[1024];
-    FILE *fin;
-    smpd_host_node_t *node, *node_iter;
-    char *hostname, *iter;
-    int nproc;
-
-    smpd_enter_fn(FCNAME);
-
-    smpd_process.s_host_list = NULL;
-    smpd_process.s_cur_host = NULL;
-    smpd_process.s_cur_count = 0;
-
-    /* open the file */
-    fin = fopen(file_name, "r");
-    if (fin == NULL)
-    {
-	printf("Error, unable to open machine file '%s'\n", file_name);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FALSE;
-    }
-
-    while (fgets(line, 1024, fin))
-    {
-	/* strip off the newline characters */
-	while (strlen(line) && (line[strlen(line)-1] == '\r' || line[strlen(line)-1] == '\n'))
-	    line[strlen(line)-1] = '\0';
-	hostname = line;
-	/* move over any leading whitespace */
-	while (isspace(*hostname))
-	    hostname++;
-	if (strlen(hostname) != 0 && hostname[0] != '#')
-	{
-	    iter = hostname;
-	    /* move over the hostname and see if there is a number after it */
-	    while ((*iter != '\0') && !isspace(*iter) && (*iter != ':'))
-		iter++;
-	    if (*iter != '\0')
-	    {
-		*iter = '\0';
-		iter++;
-		while (isspace(*iter))
-		    iter++;
-		nproc = 1;
-		if (isdigit(*iter))
-		{
-		    nproc = atoi(iter);
-		    /* move over the number */
-		    while (isdigit(*iter))
-			iter++;
-		    /* move over the space between the number and any other options */
-		    while (isspace(*iter))
-			iter++;
-		}
-		if (nproc < 1)
-		    nproc = 1;
-	    }
-	    else
-	    {
-		nproc = 1;
-	    }
-	    node = (smpd_host_node_t*)MPIU_Malloc(sizeof(smpd_host_node_t));
-	    if (node == NULL)
-	    {
-		smpd_err_printf("unable to allocate memory to parse the machinefile\n");
-		smpd_exit_fn(FCNAME);
-		return SMPD_FALSE;
-	    }
-	    strcpy(node->host, hostname);
-	    node->alt_host[0] = '\0';
-	    node->connected = SMPD_FALSE;
-	    node->connect_cmd_tag = -1;
-	    node->id = -1;
-	    node->parent = -1;
-	    node->nproc = nproc;
-	    node->next = NULL;
-	    node->left = NULL;
-	    node->right = NULL;
-	    smpd_parse_extra_machinefile_options(iter, node);
-	    smpd_add_extended_host_to_default_list(node->host, node->alt_host, node->nproc);
-	    if (smpd_process.s_host_list == NULL)
-		smpd_process.s_host_list = node;
-	    else
-	    {
-		node_iter = smpd_process.s_host_list;
-		while (node_iter->next != NULL)
-		    node_iter = node_iter->next;
-		node_iter->next = node;
-	    }
-	}
-    }
-    if (smpd_process.s_host_list != NULL)
-    {
-	node = smpd_process.s_host_list;
-	while (node)
-	{
-	    smpd_dbg_printf("host = %s, nproc = %d\n", node->host, node->nproc);
-	    node = node->next;
-	}
-	smpd_exit_fn(FCNAME);
-	return SMPD_TRUE;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_FALSE;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_parse_hosts_string"
-int smpd_parse_hosts_string(const char *host_str)
-{
-    char *token, *str;
-    char temp_hostname[256];
-    smpd_host_node_t *node, *node_iter;
-    char *hostname, *iter;
-    int nproc;
-
-    smpd_enter_fn(FCNAME);
-
-    /* FIXME: If these are not NULL should they be freed? */
-    smpd_process.s_host_list = NULL;
-    smpd_process.s_cur_host = NULL;
-    smpd_process.s_cur_count = 0;
-
-    str = MPIU_Strdup(host_str);
-    if (str == NULL)
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_FALSE;
-    }
-
-    token = strtok(str, " \r\n");
-    while (token != NULL)
-    {
-	strcpy(temp_hostname, token);
-	token = strtok(NULL, " \r\n");
-	hostname = temp_hostname;
-	/* move over any leading whitespace */
-	while (isspace(*hostname))
-	    hostname++;
-	if (strlen(hostname) != 0)
-	{
-	    iter = hostname;
-	    /* move over the hostname and see if there is a number after it */
-	    while ((*iter != '\0') && !isspace(*iter) && (*iter != ':'))
-		iter++;
-	    if (*iter != '\0')
-	    {
-		*iter = '\0';
-		iter++;
-		while (isspace(*iter))
-		    iter++;
-		nproc = 1;
-		if (isdigit(*iter))
-		{
-		    nproc = atoi(iter);
-		    /* move over the number */
-		    while (isdigit(*iter))
-			iter++;
-		    /* move over the space between the number and any other options */
-		    while (isspace(*iter))
-			iter++;
-		}
-		if (nproc < 1)
-		    nproc = 1;
-	    }
-	    else
-	    {
-		nproc = 1;
-	    }
-	    node = (smpd_host_node_t*)MPIU_Malloc(sizeof(smpd_host_node_t));
-	    if (node == NULL)
-	    {
-		smpd_err_printf("unable to allocate memory to parse the hosts string <%s>\n", host_str);
-		MPIU_Free(str);
-		smpd_exit_fn(FCNAME);
-		return SMPD_FALSE;
-	    }
-	    strcpy(node->host, hostname);
-	    node->alt_host[0] = '\0';
-	    node->connected = SMPD_FALSE;
-	    node->connect_cmd_tag = -1;
-	    node->id = -1;
-	    node->parent = -1;
-	    node->nproc = nproc;
-	    node->next = NULL;
-	    node->left = NULL;
-	    node->right = NULL;
-	    smpd_add_extended_host_to_default_list(node->host, node->alt_host, node->nproc);
-	    if (smpd_process.s_host_list == NULL)
-		smpd_process.s_host_list = node;
-	    else
-	    {
-		node_iter = smpd_process.s_host_list;
-		while (node_iter->next != NULL)
-		    node_iter = node_iter->next;
-		node_iter->next = node;
-	    }
-	}
-    }
-    MPIU_Free(str);
-    if (smpd_process.s_host_list != NULL)
-    {
-	node = smpd_process.s_host_list;
-	while (node)
-	{
-	    smpd_dbg_printf("host = %s, nproc = %d\n", node->host, node->nproc);
-	    node = node->next;
-	}
-	smpd_exit_fn(FCNAME);
-	return SMPD_TRUE;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_FALSE;
-}
-
-/* Free the global SMPD host list */
-#undef FCNAME
-#define FCNAME "smpd_free_host_list"
-int smpd_free_host_list(void )
-{
-    smpd_host_node_t *pnode;
-
-    while(smpd_process.host_list){
-        pnode = smpd_process.host_list;
-        smpd_process.host_list = smpd_process.host_list->next;
-        MPIU_Free(pnode);
-    }
-    smpd_process.host_list = NULL;
-    /* Reset tree id - mpiexec uses tree id = 0 & all hosts use
-     * tree id >= 1
-     */
-    smpd_process.tree_id = 1;
-    /* mpiexec with id=0 is the root of all hosts */
-    smpd_process.tree_parent = 0;
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_get_host_id"
-int smpd_get_host_id(char *host, int *id_ptr)
-{
-    smpd_host_node_t *node;
-    int bit, mask, temp;
-
-    smpd_enter_fn(FCNAME);
-
-    /* look for the host in the list */
-    node = smpd_process.host_list;
-    while (node)
-    {
-	if (strcmp(node->host, host) == 0)
-	{
-	    /* return the id */
-	    *id_ptr = node->id;
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_SUCCESS;
-	}
-	if (node->next == NULL)
-	    break;
-	node = node->next;
-    }
-
-    /* allocate a new node */
-    if (node != NULL)
-    {
-	node->next = (smpd_host_node_t *)MPIU_Malloc(sizeof(smpd_host_node_t));
-	node = node->next;
-    }
-    else
-    {
-	node = (smpd_host_node_t *)MPIU_Malloc(sizeof(smpd_host_node_t));
-	smpd_process.host_list = node;
-    }
-    if (node == NULL)
-    {
-	smpd_err_printf("malloc failed to allocate a host node structure\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    strcpy(node->host, host);
-    node->alt_host[0] = '\0';
-    node->parent = smpd_process.tree_parent;
-    node->id = smpd_process.tree_id;
-    node->connected = SMPD_FALSE;
-    node->connect_cmd_tag = -1;
-    node->nproc = -1;
-    node->next = NULL;
-    node->left = NULL;
-    node->right = NULL;
-
-    /* move to the next id and parent */
-    smpd_process.tree_id++;
-
-    temp = smpd_process.tree_id >> 2;
-    bit = 1;
-    while (temp)
-    {
-	bit <<= 1;
-	temp >>= 1;
-    }
-    mask = bit - 1;
-    smpd_process.tree_parent = bit | (smpd_process.tree_id & mask);
-
-    /* return the id */
-    *id_ptr = node->id;
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_get_next_host"
-int smpd_get_next_host(smpd_host_node_t **host_node_pptr, smpd_launch_node_t *launch_node)
-{
-    int result;
-    char host[SMPD_MAX_HOST_LENGTH];
-    char alt_host[SMPD_MAX_HOST_LENGTH];
-    smpd_host_node_t *host_node_ptr;
-
-    smpd_enter_fn(FCNAME);
-
-    if (host_node_pptr == NULL)
-    {
-	smpd_err_printf("invalid host_node_pptr argument.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    if (*host_node_pptr == NULL)
-    {
-	result = smpd_get_next_hostname(host, alt_host);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to get the next available host name\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	result = smpd_get_host_id(host, &launch_node->host_id);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to get a id for host %s\n", host);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	MPIU_Strncpy(launch_node->hostname, host, SMPD_MAX_HOST_LENGTH);
-	MPIU_Strncpy(launch_node->alt_hostname, alt_host, SMPD_MAX_HOST_LENGTH);
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-
-    host_node_ptr = *host_node_pptr;
-    if (host_node_ptr->nproc == 0)
-    {
-	(*host_node_pptr) = (*host_node_pptr)->next;
-	MPIU_Free(host_node_ptr);
-	host_node_ptr = *host_node_pptr;
-	if (host_node_ptr == NULL)
-	{
-	    smpd_err_printf("no more hosts in the list.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-    }
-    result = smpd_get_host_id(host_node_ptr->host, &launch_node->host_id);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to get a id for host %s\n", host_node_ptr->host);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    MPIU_Strncpy(launch_node->hostname, host_node_ptr->host, SMPD_MAX_HOST_LENGTH);
-    MPIU_Strncpy(launch_node->alt_hostname, host_node_ptr->alt_host, SMPD_MAX_HOST_LENGTH);
-    host_node_ptr->nproc--;
-    if (host_node_ptr->nproc == 0)
-    {
-	(*host_node_pptr) = (*host_node_pptr)->next;
-	MPIU_Free(host_node_ptr);
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_get_argcv_from_file"
-SMPD_BOOL smpd_get_argcv_from_file(FILE *fin, int *argcp, char ***argvp)
-{
-    static char line[SMPD_MAX_LINE_LENGTH];
-    static char line_out[SMPD_MAX_LINE_LENGTH];
-    static char *argv[SMPD_MAX_ARGC];
-    char *iter_line, *iter_out, *last_position;
-    int index;
-    int num_remaining;
-
-    smpd_enter_fn(FCNAME);
-
-    argv[0] = "bogus.exe";
-    while (fgets(line, SMPD_MAX_LINE_LENGTH, fin))
-    {
-	/* first strip off the \r\n at the end of the line */
-	if (line[0] != '\0')
-	{
-	    iter_line = &line[strlen(line)-1];
-	    while ((*iter_line == '\r' || *iter_line == '\n') && (iter_line >= line))
-	    {
-		*iter_line = '\0';
-		iter_line--;
-	    }
-	}
-
-	iter_out = line_out;
-	line_out[0] = '\0';
-	iter_line = line;
-	index = 1;
-	num_remaining = SMPD_MAX_LINE_LENGTH;
-
-	while (iter_line != NULL && (strlen(iter_line) > 0))
-	{
-	    last_position = iter_line;
-	    if (MPIU_Str_get_string(&iter_line, iter_out, num_remaining) == MPIU_STR_SUCCESS)
-	    {
-		if (last_position == iter_line)
-		{
-		    /* no string parsed */
-		    break;
-		}
-		argv[index] = iter_out;
-		index++;
-		if (index == SMPD_MAX_ARGC)
-		{
-		    argv[SMPD_MAX_ARGC-1] = NULL;
-		    break;
-		}
-		num_remaining = num_remaining - (int)strlen(iter_out) - 1;
-		iter_out = &iter_out[strlen(iter_out)+1];
-	    }
-	    else
-	    {
-		break;
-	    }
-	}
-
-	if (index != 1)
-	{
-	    if (index < SMPD_MAX_ARGC)
-		argv[index] = NULL;
-	    *argcp = index;
-	    *argvp = argv;
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_TRUE;
-	}
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_FALSE;
-}
-
-#undef FCNAME
-#define FCNAME "next_launch_node"
-static smpd_launch_node_t *next_launch_node(smpd_launch_node_t *node, int id)
-{
-    smpd_enter_fn(FCNAME);
-    while (node)
-    {
-	if (node->host_id == id)
-	{
-	    smpd_exit_fn(FCNAME);
-	    return node;
-	}
-	node = node->next;
-    }
-    smpd_exit_fn(FCNAME);
-    return NULL;
-}
-
-#undef FCNAME
-#define FCNAME "prev_launch_node"
-static smpd_launch_node_t *prev_launch_node(smpd_launch_node_t *node, int id)
-{
-    smpd_enter_fn(FCNAME);
-    while (node)
-    {
-	if (node->host_id == id)
-	{
-	    smpd_exit_fn(FCNAME);
-	    return node;
-	}
-	node = node->prev;
-    }
-    smpd_exit_fn(FCNAME);
-    return NULL;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_create_cliques"
-int smpd_create_cliques(smpd_launch_node_t *list)
-{
-    smpd_launch_node_t *iter, *cur_node;
-    int cur_iproc, printed_iproc;
-    char *cur_str;
-
-    smpd_enter_fn(FCNAME);
-
-    if (list == NULL)
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-
-    if (list->iproc == 0)
-    {
-	/* in order */
-	cur_node = list;
-	while (cur_node)
-	{
-	    /* point to the current structures */
-	    printed_iproc = cur_iproc = cur_node->iproc;
-	    cur_str = cur_node->clique;
-	    cur_str += sprintf(cur_str, "%d", cur_iproc);
-	    /* add the ranks of all other nodes with the same id */
-	    iter = next_launch_node(cur_node->next, cur_node->host_id);
-	    while (iter)
-	    {
-		if (iter->iproc == cur_iproc + 1)
-		{
-		    cur_iproc = iter->iproc;
-		    iter = next_launch_node(iter->next, iter->host_id);
-		    if (iter == NULL)
-			cur_str += sprintf(cur_str, "..%d", cur_iproc);
-		}
-		else
-		{
-		    if (printed_iproc == cur_iproc)
-		    {
-			cur_str += sprintf(cur_str, ",%d", iter->iproc);
-		    }
-		    else
-		    {
-			cur_str += sprintf(cur_str, "..%d,%d", cur_iproc, iter->iproc);
-		    }
-		    printed_iproc = cur_iproc = iter->iproc;
-		    iter = next_launch_node(iter->next, iter->host_id);
-		}
-	    }
-	    /* copy the clique string to all the nodes with the same id */
-	    iter = next_launch_node(cur_node->next, cur_node->host_id);
-	    while (iter)
-	    {
-		strcpy(iter->clique, cur_node->clique);
-		iter = next_launch_node(iter->next, iter->host_id);
-	    }
-	    /* move to the next node that doesn't have a clique string yet */
-	    cur_node = cur_node->next;
-	    while (cur_node && cur_node->clique[0] != '\0')
-		cur_node = cur_node->next;
-	}
-    }
-    else
-    {
-	/* reverse order */
-	cur_node = list;
-	/* go to the end of the list */
-	while (cur_node->next)
-	    cur_node = cur_node->next;
-	while (cur_node)
-	{
-	    /* point to the current structures */
-	    printed_iproc = cur_iproc = cur_node->iproc;
-	    cur_str = cur_node->clique;
-	    cur_str += sprintf(cur_str, "%d", cur_iproc);
-	    /* add the ranks of all other nodes with the same id */
-	    iter = prev_launch_node(cur_node->prev, cur_node->host_id);
-	    while (iter)
-	    {
-		if (iter->iproc == cur_iproc + 1)
-		{
-		    cur_iproc = iter->iproc;
-		    iter = prev_launch_node(iter->prev, iter->host_id);
-		    if (iter == NULL)
-			cur_str += sprintf(cur_str, "..%d", cur_iproc);
-		}
-		else
-		{
-		    if (printed_iproc == cur_iproc)
-		    {
-			cur_str += sprintf(cur_str, ",%d", iter->iproc);
-		    }
-		    else
-		    {
-			cur_str += sprintf(cur_str, "..%d,%d", cur_iproc, iter->iproc);
-		    }
-		    printed_iproc = cur_iproc = iter->iproc;
-		    iter = prev_launch_node(iter->prev, iter->host_id);
-		}
-	    }
-	    /* copy the clique string to all the nodes with the same id */
-	    iter = prev_launch_node(cur_node->prev, cur_node->host_id);
-	    while (iter)
-	    {
-		strcpy(iter->clique, cur_node->clique);
-		iter = prev_launch_node(iter->prev, iter->host_id);
-	    }
-	    /* move to the next node that doesn't have a clique string yet */
-	    cur_node = cur_node->prev;
-	    while (cur_node && cur_node->clique[0] != '\0')
-		cur_node = cur_node->prev;
-	}
-    }
-    /*
-    iter = list;
-    while (iter)
-    {
-	printf("clique: <%s>\n", iter->clique);
-	iter = iter->next;
-    }
-    */
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
diff --git a/src/pm/smpd/smpd_hpc_js.h b/src/pm/smpd/smpd_hpc_js.h
deleted file mode 100644
index 14eb1dc..0000000
--- a/src/pm/smpd/smpd_hpc_js.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-#ifndef SMPD_HPC_JS_H_INCLUDED
-#define SMPD_HPC_JS_H_INCLUDED
-
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-
-/* The Microsoft.Hpc.Scheduler.tlb and Microsoft.Hpc.Scheduler.Properties.tlb type
-    libraries are included in the Microsoft HPC Pack 2008 SDK. The type libraries are
-    located in the "Microsoft HPC Pack 2008 SDK\Lib\i386" or \amd64 folder. Include the rename 
-    attributes to avoid name collisions.
-*/
-#import <Microsoft.Hpc.Scheduler.tlb> named_guids no_namespace raw_interfaces_only \
-    rename("SetEnvironmentVariable","SetHpcEnvironmentVariable") \
-    rename("AddJob", "AddHpcJob")
-#import <Microsoft.Hpc.Scheduler.Properties.tlb> named_guids no_namespace raw_interfaces_only 
-
-#include "smpd.h"
-
-typedef struct smpd_hpc_js_ctxt_{
-    IScheduler* pscheduler;
-    IStringCollection *pnode_names;
-} *smpd_hpc_js_ctxt_t;
-
-#define SMPDU_HPC_JS_CTXT_IS_VALID(ctxt) ((ctxt) && ((ctxt)->pscheduler))
-
-/* Func prototypes */
-int smpd_hpc_js_init(smpd_hpc_js_ctxt_t *pctxt);
-int smpd_hpc_js_finalize(smpd_hpc_js_ctxt_t *pctxt);
-int smpd_hpc_js_create_job(smpd_hpc_js_ctxt_t ctxt, smpd_launch_node_t *head, ISchedulerJob **pp_job);
-int smpd_hpc_js_submit_job(smpd_hpc_js_ctxt_t ctxt, ISchedulerJob *pjob);
-
-#endif /* SMPD_HPC_JS_H_INCLUDED */
diff --git a/src/pm/smpd/smpd_hpc_js_bs.cpp b/src/pm/smpd/smpd_hpc_js_bs.cpp
deleted file mode 100644
index cef4fc1..0000000
--- a/src/pm/smpd/smpd_hpc_js_bs.cpp
+++ /dev/null
@@ -1,56 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-/* SMPD MS HPC JOB Scheduler bootstrap server */
-#include "smpd_hpc_js.h"
-
-#undef FCNAME
-#define FCNAME "smpd_hpc_js_bs_init"
-int smpd_hpc_js_bs_init(smpd_hpc_js_handle_t hnd)
-{
-    smpd_enter_fn(FCNAME);
-    /* DO NOTHING */
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_hpc_js_bs_finalize"
-int smpd_hpc_js_bs_finalize(smpd_hpc_js_handle_t hnd)
-{
-    smpd_enter_fn(FCNAME);
-    /* DO NOTHING */
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_hpc_js_bs_launch_procs"
-int smpd_hpc_js_bs_launch_procs(smpd_hpc_js_handle_t hnd, smpd_launch_node_t *head)
-{
-    int result;
-    smpd_hpc_js_ctxt_t ctxt = (smpd_hpc_js_ctxt_t )hnd;
-    ISchedulerJob *pjob;
-
-    smpd_enter_fn(FCNAME);
-    result = smpd_hpc_js_create_job(ctxt, head, &pjob);
-    if(result != SMPD_SUCCESS){
-        smpd_err_printf("ERROR: Unable to create job\n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-    
-    result = smpd_hpc_js_submit_job(ctxt, pjob);
-    if(result != SMPD_SUCCESS){
-        smpd_err_printf("ERROR: Unable to create job\n");
-        pjob->Release();
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-
-    pjob->Release();
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
diff --git a/src/pm/smpd/smpd_hpc_js_exports.h b/src/pm/smpd/smpd_hpc_js_exports.h
deleted file mode 100644
index 5b77291..0000000
--- a/src/pm/smpd/smpd_hpc_js_exports.h
+++ /dev/null
@@ -1,12 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-#ifndef SMPD_HPC_JS_EXPORTS_H_INCLUDED
-#define SMPD_HPC_JS_EXPORTS_H_INCLUDED
-
-/* The MS HPC job scheduler opaque user handle */
-typedef void * smpd_hpc_js_handle_t;
-
-#endif /* SMPD_HPC_JS_EXPORTS_H_INCLUDED */
diff --git a/src/pm/smpd/smpd_hpc_js_rmk.cpp b/src/pm/smpd/smpd_hpc_js_rmk.cpp
deleted file mode 100644
index 118cd73..0000000
--- a/src/pm/smpd/smpd_hpc_js_rmk.cpp
+++ /dev/null
@@ -1,90 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-/* SMPD MS HPC JOB Scheduler Resource management kernel */
-/* Make sure that we don't include the opaque defns that are exported */
-#include "smpd_hpc_js.h"
-
-#undef FCNAME
-#define FCNAME "smpd_hpc_js_rmk_init"
-int smpd_hpc_js_rmk_init(smpd_hpc_js_handle_t *phnd)
-{
-    int result;
-    smpd_hpc_js_ctxt_t *pctxt = (smpd_hpc_js_ctxt_t *)phnd;
-    smpd_enter_fn(FCNAME);
-
-    result = smpd_hpc_js_init(pctxt);
-    if(result != SMPD_SUCCESS){
-        smpd_err_printf("ERROR: Unable to initialize hpc job scheduler\n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_hpc_js_rmk_finalize"
-int smpd_hpc_js_rmk_finalize(smpd_hpc_js_handle_t *phnd)
-{
-    int result;
-    smpd_hpc_js_ctxt_t *pctxt = (smpd_hpc_js_ctxt_t *)phnd;
-    smpd_enter_fn(FCNAME);
-    result = smpd_hpc_js_finalize(pctxt);
-    if(result != SMPD_SUCCESS){
-        smpd_err_printf("ERROR: Unable to finalize hpc job scheduler\n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_hpc_js_rmk_alloc_nodes"
-int smpd_hpc_js_rmk_alloc_nodes(smpd_hpc_js_handle_t hnd, smpd_launch_node_t *head)
-{
-    HRESULT hr;
-    smpd_hpc_js_ctxt_t ctxt = (smpd_hpc_js_ctxt_t )hnd;
-
-    hr = (ctxt->pscheduler)->CreateStringCollection(&(ctxt->pnode_names));
-    if(FAILED(hr)){
-        smpd_err_printf("ERROR: Unable to create node string coll, 0x%x\n", hr);
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-
-    /* Lazy allocation */
-    while(head){
-        wchar_t hostnamew[SMPD_MAX_HOST_LENGTH];
-        mbstowcs(hostnamew, head->hostname, SMPD_MAX_HOST_LENGTH);
-        {
-            long num_items=0;
-            smpd_dbg_printf("Node string collection has (%d) items\n", (ctxt->pnode_names)->get_Count(&num_items));
-        }
-        hr = (ctxt->pnode_names)->Add(_bstr_t(hostnamew));
-        if(FAILED(hr)){
-            /* FIXME: We don't use the node collection right now */
-            smpd_dbg_printf("ERROR: Unable to add hostname (%s) to node coll, 0x%x\n", head->hostname, hr);
-        }
-        head = head->next;
-    }
-
-    smpd_enter_fn(FCNAME);
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-/* FIXME: Implement the query func */
-#undef FCNAME
-#define FCNAME "smpd_hpc_js_rmk_query_node_list"
-int smpd_hpc_js_rmk_query_node_list(smpd_hpc_js_handle_t hnd, smpd_host_node_t **head)
-{
-    smpd_enter_fn(FCNAME);
-    SMPDU_Assert(0);
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
diff --git a/src/pm/smpd/smpd_hpc_js_util.cpp b/src/pm/smpd/smpd_hpc_js_util.cpp
deleted file mode 100644
index 24565f5..0000000
--- a/src/pm/smpd/smpd_hpc_js_util.cpp
+++ /dev/null
@@ -1,286 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-/* SMPD MS HPC JOB Scheduler utils */
-#include "smpd_hpc_js.h"
-
-#undef FCNAME
-#define FCNAME "smpd_hpc_js_connect_to_head_node"
-int smpd_hpc_js_connect_to_head_node(smpd_hpc_js_ctxt_t ctxt, smpd_host_node_t **head_node)
-{
-    HRESULT hr;
-
-    smpd_enter_fn(FCNAME);
-    if(!SMPDU_HPC_JS_CTXT_IS_VALID(ctxt)){
-        smpd_err_printf("ERROR: Invalid handle to hpc job scheduler\n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-    /* FIXME: Currently we ignore the head node passed. Ideally
-     * we should use AD to find the head node and connect to it.
-     * We just connect to the localhost now
-     */
-    hr = (ctxt->pscheduler)->Connect(_bstr_t(L"localhost"));
-    if(FAILED(hr)){
-        smpd_err_printf("ERROR: Unable to connect to the head node of the cluster, 0x%x\n", hr);
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_hpc_js_init"
-int smpd_hpc_js_init(smpd_hpc_js_ctxt_t *pctxt)
-{
-    HRESULT hr;
-    int result;
-
-    smpd_enter_fn(FCNAME);
-
-    if(pctxt == NULL){
-        smpd_err_printf("ERROR: Invalid pointer to js handle\n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-
-    /* Alloc memory for scheduler object */
-    *pctxt = (smpd_hpc_js_ctxt_t )MPIU_Malloc(sizeof(smpd_hpc_js_ctxt_));
-    if(*pctxt == NULL){
-        smpd_err_printf("ERROR: Unable to allocate memory for js handle\n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-
-    (*pctxt)->pscheduler = NULL;
-    (*pctxt)->pnode_names = NULL;
-
-    CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);
-
-    /* Get an instance of the Scheduler object */
-    hr = CoCreateInstance( __uuidof(Scheduler),
-                           NULL,
-                           CLSCTX_INPROC_SERVER,
-                           __uuidof(IScheduler),
-                           reinterpret_cast<void **>(&((*pctxt)->pscheduler)));
-
-    CoUninitialize();
-
-    if (FAILED(hr)){
-        smpd_err_printf("ERROR: CoCreateInstance(IScheduler) failed, 0x%x\n", hr);
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-
-    /* Connect to the head node */
-    result = smpd_hpc_js_connect_to_head_node(*pctxt, NULL);
-    if(result != SMPD_SUCCESS){
-        smpd_err_printf("Unable to connect to head node \n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_hpc_js_finalize"
-int smpd_hpc_js_finalize(smpd_hpc_js_ctxt_t *pctxt)
-{
-    int result;
-    smpd_enter_fn(FCNAME);
-
-    if(pctxt == NULL){
-        smpd_err_printf("ERROR: Invalid pointer to js ctxt\n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-
-    if(*pctxt == NULL){
-        smpd_dbg_printf("Null js handle\n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_SUCCESS;
-    }
-
-    /* Release the job scheduler object */
-    if((*pctxt)->pscheduler){
-        ((*pctxt)->pscheduler)->Release();
-        (*pctxt)->pscheduler = NULL;
-    }
-
-    /* Free the job scheduler handle */
-    MPIU_Free(*pctxt);
-    *pctxt = NULL;
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-
-#undef FCNAME
-#define FCNAME "smpd_hpc_js_task_setenv"
-int smpd_hpc_js_task_setenv(ISchedulerTask *ptask, char *proc_encoded_env)
-{
-    char name[SMPD_MAX_ENV_LENGTH], equals[3], value[SMPD_MAX_ENV_LENGTH];
-    wchar_t namew[SMPD_MAX_ENV_LENGTH], valuew[SMPD_MAX_ENV_LENGTH];
-    HRESULT hr;
-
-    smpd_enter_fn(FCNAME);
-    if((ptask == NULL) || (proc_encoded_env == NULL)){
-        smpd_err_printf("Invalid ptr to task or proc environment\n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-
-    for (;;){
-        name[0] = '\0';
-        equals[0] = '\0';
-        value[0] = '\0';
-        if (MPIU_Str_get_string(&proc_encoded_env, name, SMPD_MAX_ENV_LENGTH) != MPIU_STR_SUCCESS)
-            break;
-        if (name[0] == '\0')
-            break;
-        if (MPIU_Str_get_string(&proc_encoded_env, equals, 3) != MPIU_STR_SUCCESS)
-            break;
-        if (equals[0] == '\0')
-            break;
-        if (MPIU_Str_get_string(&proc_encoded_env, value, SMPD_MAX_ENV_LENGTH) != MPIU_STR_SUCCESS)
-            break;
-        smpd_dbg_printf("setting environment variable: <%s> = <%s>\n", name, value);
-        mbstowcs(namew, name, SMPD_MAX_ENV_LENGTH);
-        mbstowcs(valuew, value, SMPD_MAX_ENV_LENGTH);
-        hr = ptask->SetHpcEnvironmentVariable(_bstr_t(namew), _bstr_t(valuew));
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_hpc_js_create_job"
-int smpd_hpc_js_create_job(smpd_hpc_js_ctxt_t ctxt, smpd_launch_node_t *head, ISchedulerJob **pp_job)
-{
-    int result;
-    HRESULT hr;
-    ISchedulerJob *pjob;
-
-    smpd_enter_fn(FCNAME);
-    if(!SMPDU_HPC_JS_CTXT_IS_VALID(ctxt)){
-        smpd_err_printf("ERROR: Invalid handle to hpc job scheduler\n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-    if(head == NULL){
-        smpd_err_printf("ERROR: Invalid list of launch nodes\n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-    if(pp_job == NULL){
-        smpd_err_printf("ERROR: Invalid ptr to ptr to job object\n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-    
-    hr = (ctxt->pscheduler)->CreateJob(pp_job);
-    if(FAILED(hr)){
-        smpd_err_printf("ERROR: Creating job failed, 0x%x\n", hr);
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-    
-    pjob = *pp_job;
-
-    /* Set the properties of the job */
-    hr = pjob->put_Name(_bstr_t(L"MPICH_JOB"));
-    if(FAILED(hr)){
-        smpd_dbg_printf("Unable to set the name of the job\n");
-    }
-
-    while(head){
-        /* FIXME: We are not releasing these tasks allocated here */
-        ISchedulerTask *ptask = NULL;
-        wchar_t exe_namew[SMPD_MAX_EXE_LENGTH], wdir[SMPD_MAX_DIR_LENGTH];
-        wchar_t filename[SMPD_MAX_EXE_LENGTH];
-
-        hr = pjob->CreateTask(&ptask);
-        if(FAILED(hr)){
-            smpd_err_printf("ERROR: Creating task failed, 0x%x\n", hr);
-            smpd_exit_fn(FCNAME);
-            return SMPD_FAIL;
-        }
-
-        result = smpd_hpc_js_task_setenv(ptask, head->env_data);
-        if(result != SMPD_SUCCESS){
-            smpd_err_printf("Unable to add env variable to task\n");
-            smpd_exit_fn(FCNAME);
-            return SMPD_FAIL;
-        }
-        mbstowcs(exe_namew, head->exe, SMPD_MAX_EXE_LENGTH);
-        hr = ptask->put_CommandLine(_bstr_t(exe_namew));
-        if(FAILED(hr)){
-            smpd_err_printf("ERROR: Adding command to task failed, 0x%x\n", hr);
-            smpd_exit_fn(FCNAME);
-            return SMPD_FAIL;
-        }
-
-        /* Set the task properties */
-        mbstowcs(wdir, head->dir, SMPD_MAX_DIR_LENGTH);
-        hr = ptask->put_WorkDirectory(_bstr_t(wdir));
-        if(FAILED(hr)){
-            smpd_err_printf("ERROR: Unable to set the working directory for job\n");
-        }
-
-        _snwprintf_s(filename, SMPD_MAX_EXE_LENGTH, SMPD_MAX_EXE_LENGTH - 1, L"stdout_mpich_%s_%d_%d.txt", exe_namew, head->iproc, head->nproc);
-        hr = ptask->put_StdOutFilePath(_bstr_t(filename));
-        if(FAILED(hr)){
-            smpd_err_printf("ERROR: Unable to set the stdout file path\n");
-        }
-
-        _snwprintf_s(filename, SMPD_MAX_EXE_LENGTH, SMPD_MAX_EXE_LENGTH - 1, L"stderr_mpich_%s_%d_%d.txt", exe_namew, head->iproc, head->nproc);
-        hr = ptask->put_StdErrFilePath(_bstr_t(filename));
-        if(FAILED(hr)){
-            smpd_err_printf("ERROR: Unable to set the stderr file path\n");
-        }
-
-        hr = pjob->AddTask(ptask);
-        if(FAILED(hr)){
-            smpd_err_printf("ERROR: Adding task to job failed, 0x%x\n", hr);
-            smpd_exit_fn(FCNAME);
-            return SMPD_FAIL;
-        }
-        head = head->next;
-    }
-
-    /* Set the number of cores required for the job */
-    /* FIXME: We are not using the node collection right now */
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_hpc_js_submit_job"
-int smpd_hpc_js_submit_job(smpd_hpc_js_ctxt_t ctxt, ISchedulerJob *pjob)
-{
-    int result;
-    HRESULT hr;
-
-    smpd_enter_fn(FCNAME);
-    if(!SMPDU_HPC_JS_CTXT_IS_VALID(ctxt)){
-        smpd_err_printf("ERROR: Invalid handle to hpc job scheduler\n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-    hr = (ctxt->pscheduler)->SubmitJob(pjob, NULL, NULL);
-    if(FAILED(hr)){
-        smpd_err_printf("ERROR: Submitting job failed, 0x%x\n", hr);
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
diff --git a/src/pm/smpd/smpd_implthread.h b/src/pm/smpd/smpd_implthread.h
deleted file mode 100644
index 32f9a46..0000000
--- a/src/pm/smpd/smpd_implthread.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-/* This header file contains utils for SMPD to access the SMPD util functions 
- *  *correctly*
- */
-/* FIXME: SMPD internally calls the utils defined for the SMPD device 
- * eg: SMPDU_Sock_wait() -- Remove this dependency by copying the required
- * socket code to smpd
- */
-#include "mpiimpl.h"
-#include "mpiimplthread.h"
-
-/* Macros to be used before/after calling any SMPD util funcs, 
- * eg: SMPDU_Sock_wait().
- * Since SMPD is single threaded we do not need extra functionalities
- * provided by the SMPD_CS_ENTER() macros
- */
-#if !defined(MPICH_IS_THREADED)
-    #define SMPD_CS_ENTER()
-    #define SMPD_CS_EXIT()
-#else
-    #define SMPD_CS_ENTER() \
-	SMPD_Thread_mutex_lock(&MPIR_ThreadInfo.global_mutex)
-    #define SMPD_CS_EXIT()  \
-	SMPD_Thread_mutex_unlock(&MPIR_ThreadInfo.global_mutex)
-#endif
diff --git a/src/pm/smpd/smpd_iov.h b/src/pm/smpd/smpd_iov.h
deleted file mode 100644
index 20a0622..0000000
--- a/src/pm/smpd/smpd_iov.h
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef SMPD_IOV_H_INCLUDED
-#define SMPD_IOV_H_INCLUDED
-
-#include "mpichconf.h"
-/* IOVs */
-/* The basic channel interface uses IOVs */
-#define SMPD_IOV_BUF_CAST void *
-#ifdef HAVE_WINDOWS_H
-#include <winsock2.h>
-#define SMPD_IOV         WSABUF
-#define SMPD_IOV_LEN     len
-#define SMPD_IOV_BUF     buf
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h> /* macs need sys/types.h before uio.h can be included */
-#endif
-#ifdef HAVE_SYS_UIO_H
-#include <sys/uio.h>
-#endif
-#define SMPD_IOV         struct iovec
-#define SMPD_IOV_LEN     iov_len
-#define SMPD_IOV_BUF     iov_base
-#endif
-/* FIXME: How is IOV_LIMIT chosen? */
-#define SMPD_IOV_LIMIT   16
-#endif
diff --git a/src/pm/smpd/smpd_job.c b/src/pm/smpd/smpd_job.c
deleted file mode 100644
index ce3551a..0000000
--- a/src/pm/smpd/smpd_job.c
+++ /dev/null
@@ -1,275 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-#include "smpd.h"
-
-typedef struct smpd_job_key_list_t
-{
-    char key[SMPD_MAX_NAME_LENGTH];
-    char username[SMPD_MAX_ACCOUNT_LENGTH];
-    char domain[SMPD_MAX_ACCOUNT_LENGTH];
-    char full_domain[SMPD_MAX_ACCOUNT_LENGTH];
-    HANDLE user_handle;
-    HANDLE job;
-    struct smpd_job_key_list_t *next;
-} smpd_job_key_list_t;
-
-static smpd_job_key_list_t *list = NULL;
-
-#undef FCNAME
-#define FCNAME "job_key_exists"
-static SMPD_BOOL job_key_exists(const char *key)
-{
-    smpd_job_key_list_t *iter;
-
-    smpd_enter_fn(FCNAME);
-
-    iter = list;
-    while (iter)
-    {
-	if (strcmp(iter->key, key) == 0)
-	{
-	    /* key matches */
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_TRUE;
-	}
-	iter = iter->next;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_FALSE;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_add_job_key"
-int smpd_add_job_key(const char *key, const char *username, const char *domain, const char *full_domain)
-{
-    int error;
-    smpd_job_key_list_t *node;
-
-    smpd_enter_fn(FCNAME);
-
-    if (job_key_exists(key/*, username, domain, full_domain*/))
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    node = (smpd_job_key_list_t*)MPIU_Malloc(sizeof(smpd_job_key_list_t));
-    if (node == NULL)
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    strcpy(node->key, key);
-    node->domain[0] = '\0';
-    node->full_domain[0] = '\0';
-    if (domain == NULL && full_domain == NULL)
-    {
-	smpd_parse_account_domain(username, node->username, node->domain);
-	node->full_domain[0] = '\0';
-    }
-    else
-    {
-	strcpy(node->username, username);
-    }
-    if (domain != NULL)
-	strcpy(node->domain, domain);
-    if (full_domain != NULL)
-	strcpy(node->full_domain, full_domain);
-    node->user_handle = INVALID_HANDLE_VALUE;
-    node->job = CreateJobObject(NULL, NULL);
-    if (node->job == NULL)
-    {
-	error = GetLastError();
-	smpd_err_printf("CreateJobObject failed: %d\n", error);
-	MPIU_Free(node);
-	smpd_exit_fn(FCNAME);
-	return error;
-    }
-    node->next = list;
-    list = node;
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_add_job_key"
-int smpd_add_job_key_and_handle(const char *key, const char *username, const char *domain, const char *full_domain, HANDLE hUser)
-{
-    int error;
-    smpd_job_key_list_t *node;
-
-    smpd_enter_fn(FCNAME);
-
-    if (job_key_exists(key/*, username, domain, full_domain*/))
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    node = (smpd_job_key_list_t*)MPIU_Malloc(sizeof(smpd_job_key_list_t));
-    if (node == NULL)
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    strcpy(node->key, key);
-    node->domain[0] = '\0';
-    node->full_domain[0] = '\0';
-    if (domain == NULL && full_domain == NULL)
-    {
-	smpd_parse_account_domain(username, node->username, node->domain);
-	node->full_domain[0] = '\0';
-    }
-    else
-    {
-	strcpy(node->username, username);
-    }
-    if (domain != NULL)
-	strcpy(node->domain, domain);
-    if (full_domain != NULL)
-	strcpy(node->full_domain, full_domain);
-    node->user_handle = hUser;
-    node->job = CreateJobObject(NULL, NULL);
-    if (node->job == NULL)
-    {
-	error = GetLastError();
-	smpd_err_printf("CreateJobObject failed: %d\n", error);
-	MPIU_Free(node);
-	smpd_exit_fn(FCNAME);
-	return error;
-    }
-    node->next = list;
-    list = node;
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_remove_job_key"
-int smpd_remove_job_key(const char *key)
-{
-    smpd_job_key_list_t *iter, *trailer;
-
-    smpd_enter_fn(FCNAME);
-
-    iter = trailer = list;
-    while (iter)
-    {
-	if (strcmp(iter->key, key) == 0)
-	{
-	    if (iter == list)
-	    {
-		list = list->next;
-	    }
-	    else
-	    {
-		trailer->next = iter->next;
-	    }
-	    if (iter->user_handle != INVALID_HANDLE_VALUE)
-		CloseHandle(iter->user_handle);
-	    if (iter->job != NULL && iter->job != INVALID_HANDLE_VALUE)
-	    {
-		TerminateJobObject(iter->job, (UINT)-1);
-		CloseHandle(iter->job);
-	    }
-	    MPIU_Free(iter);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_SUCCESS;
-	}
-	if (trailer != iter)
-	    trailer = trailer->next;
-	iter = iter->next;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_FAIL;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_associate_job_key"
-int smpd_associate_job_key(const char *key, const char *username, const char *domain, const char *full_domain, HANDLE user_handle)
-{
-    smpd_job_key_list_t *iter;
-
-    smpd_enter_fn(FCNAME);
-
-    iter = list;
-    while (iter)
-    {
-	if (strcmp(iter->key, key) == 0)
-	{
-	    /* key matches */
-	    if (strcmp(iter->username, username) == 0)
-	    {
-		/* username matches */
-		if ((domain != NULL && stricmp(domain, iter->domain) == 0) ||                /* domain matches */
-		    (full_domain != NULL && stricmp(full_domain, iter->full_domain) == 0) || /* full domain name matches */
-		    (iter->domain[0] == '\0' && iter->full_domain[0] == '\0'))               /* no domain to match */
-		{
-		    /* domain matches */
-		    if (iter->user_handle == INVALID_HANDLE_VALUE)
-		    {
-			/* handle not already set */
-			smpd_dbg_printf("associated user token: %s,%p\n", username, user_handle);
-			iter->user_handle = user_handle;
-			smpd_exit_fn(FCNAME);
-			return SMPD_SUCCESS;
-		    }
-		}
-	    }
-	}
-	iter = iter->next;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_FAIL;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_lookup_job_key"
-int smpd_lookup_job_key(const char *key, const char *username, HANDLE *user_handle, HANDLE *job_handle)
-{
-    smpd_job_key_list_t *iter;
-    char account[SMPD_MAX_ACCOUNT_LENGTH];
-    char domain[SMPD_MAX_ACCOUNT_LENGTH];
-
-    smpd_enter_fn(FCNAME);
-
-    smpd_parse_account_domain(username, account, domain);
-
-    iter = list;
-    while (iter)
-    {
-	if (strcmp(iter->key, key) == 0)
-	{
-	    /* key matches */
-	    if (stricmp(iter->username, account) == 0)
-	    {
-		/* username matches */
-		if ((stricmp(domain, iter->domain) == 0) ||
-		    (stricmp(domain, iter->full_domain) == 0) ||
-		    (iter->domain[0] == '\0' && iter->full_domain[0] == '\0'))
-		{
-		    /* domain matches */
-		    if (iter->user_handle != INVALID_HANDLE_VALUE)
-		    {
-			*user_handle = iter->user_handle;
-			*job_handle = iter->job;
-			smpd_exit_fn(FCNAME);
-			return SMPD_SUCCESS;
-		    }
-		}
-	    }
-	}
-	iter = iter->next;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_FAIL;
-}
diff --git a/src/pm/smpd/smpd_launch_process.c b/src/pm/smpd/smpd_launch_process.c
deleted file mode 100644
index e915ccc..0000000
--- a/src/pm/smpd/smpd_launch_process.c
+++ /dev/null
@@ -1,2475 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-#include "smpd.h"
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-/* This is needed for umask */
-#include <sys/stat.h>
-#endif
-#include <stdlib.h>
-#ifdef HAVE_ERRNO_H
-#include <errno.h>
-#endif
-#ifdef HAVE_STRING_H
-#include <string.h>
-#endif
-#ifdef HAVE_SIGNAL_H
-#include <signal.h>
-#endif
-
-#ifdef HAVE_WINDOWS_H
-
-#define MAX_ERROR_LENGTH 512
-
-#undef FCNAME
-#define FCNAME "smpd_clear_process_registry"
-int smpd_clear_process_registry()
-{
-    HKEY tkey;
-    DWORD dwLen, result;
-    int i;
-    DWORD dwNumSubKeys, dwMaxSubKeyLen;
-    char pid_str[256];
-    char err_msg[MAX_ERROR_LENGTH] = "";
-
-    smpd_enter_fn(FCNAME);
-
-    result = RegOpenKeyEx(HKEY_LOCAL_MACHINE, SMPD_REGISTRY_KEY "\\process", 0, KEY_ALL_ACCESS, &tkey);
-    if (result != ERROR_SUCCESS)
-    {
-	if (result != ERROR_PATH_NOT_FOUND)
-	{
-	    smpd_err_printf("Unable to open the " SMPD_REGISTRY_KEY "\\process registry key, error %d\n", result);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	return SMPD_SUCCESS;
-    }
-
-    result = RegQueryInfoKey(tkey, NULL, NULL, NULL, &dwNumSubKeys, &dwMaxSubKeyLen, NULL, NULL, NULL, NULL, NULL, NULL);
-    if (result != ERROR_SUCCESS)
-    {
-	RegCloseKey(tkey);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    if (dwMaxSubKeyLen > 256)
-    {
-	smpd_err_printf("Error: Invalid process subkeys, max length is too large: %d\n", dwMaxSubKeyLen);
-	RegCloseKey(tkey);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    if (dwNumSubKeys == 0)
-    {
-	result = RegCloseKey(tkey);
-	if (result != ERROR_SUCCESS)
-	{
-	    smpd_translate_win_error(result, err_msg, MAX_ERROR_LENGTH, NULL);
-	    smpd_err_printf("Error: RegCloseKey(HKEY_LOCAL_MACHINE\\" SMPD_REGISTRY_KEY "\\process) failed, %s\n", err_msg);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	result = RegDeleteKey(HKEY_LOCAL_MACHINE, SMPD_REGISTRY_KEY "\\process");
-	if (result != ERROR_SUCCESS)
-	{
-	    smpd_translate_win_error(result, err_msg, MAX_ERROR_LENGTH, NULL);
-	    smpd_err_printf("Error: Unable to remove the HKEY_LOCAL_MACHINE\\" SMPD_REGISTRY_KEY "\\process registry key, %s\n", err_msg);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-    /* count backwards so keys can be removed */
-    for (i=dwNumSubKeys-1; i>=0; i--)
-    {
-	dwLen = 256;
-	result = RegEnumKeyEx(tkey, i, pid_str, &dwLen, NULL, NULL, NULL, NULL);
-	if (result != ERROR_SUCCESS)
-	{
-	    smpd_err_printf("Error: Unable to enumerate the %d subkey in the " SMPD_REGISTRY_KEY "\\process registry key\n", i);
-	    RegCloseKey(tkey);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	result = RegDeleteKey(tkey, pid_str);
-	if (result != ERROR_SUCCESS)
-	{
-	    smpd_translate_win_error(result, err_msg, MAX_ERROR_LENGTH, NULL);
-	    smpd_err_printf("Error: RegDeleteKey(HKEY_LOCAL_MACHINE\\" SMPD_REGISTRY_KEY "\\process\\%s) failed, %s\n", pid_str, err_msg);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-    }
-    result = RegCloseKey(tkey);
-    if (result != ERROR_SUCCESS)
-    {
-	smpd_translate_win_error(result, err_msg, MAX_ERROR_LENGTH, NULL);
-	smpd_err_printf("Error: RegCloseKey(HKEY_LOCAL_MACHINE\\" SMPD_REGISTRY_KEY ") failed, %s\n", err_msg);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = RegDeleteKey(HKEY_LOCAL_MACHINE, SMPD_REGISTRY_KEY "\\process");
-    if (result != ERROR_SUCCESS)
-    {
-	smpd_translate_win_error(result, err_msg, MAX_ERROR_LENGTH, NULL);
-	smpd_err_printf("Error: Unable to remove the HKEY_LOCAL_MACHINE\\" SMPD_REGISTRY_KEY "\\process registry key, %s\n", err_msg);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_validate_process_registry"
-int smpd_validate_process_registry()
-{
-    int error;
-    HKEY tkey;
-    DWORD dwLen, result;
-    int i;
-    DWORD dwNumSubKeys, dwMaxSubKeyLen;
-    char pid_str[100];
-    int pid;
-    HANDLE hTemp;
-    char err_msg[MAX_ERROR_LENGTH] = "";
-
-    smpd_enter_fn(FCNAME);
-
-    result = RegOpenKeyEx(HKEY_LOCAL_MACHINE, SMPD_REGISTRY_KEY "\\process", 0, KEY_ALL_ACCESS, &tkey);
-    if (result != ERROR_SUCCESS)
-    {
-	if (result != ERROR_PATH_NOT_FOUND)
-	{
-	    smpd_translate_win_error(result, err_msg, MAX_ERROR_LENGTH, NULL);
-	    smpd_err_printf("Unable to open the smpd\\process registry key, error %d, %s\n", result, err_msg);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	return SMPD_SUCCESS;
-    }
-
-    result = RegQueryInfoKey(tkey, NULL, NULL, NULL, &dwNumSubKeys, &dwMaxSubKeyLen, NULL, NULL, NULL, NULL, NULL, NULL);
-    if (result != ERROR_SUCCESS)
-    {
-	RegCloseKey(tkey);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    if (dwMaxSubKeyLen > 100)
-    {
-	smpd_err_printf("Error: Invalid process subkeys, max length is too large: %d\n", dwMaxSubKeyLen);
-	RegCloseKey(tkey);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    if (dwNumSubKeys == 0)
-    {
-	RegCloseKey(tkey);
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-    /* count backwards so keys can be removed */
-    for (i=dwNumSubKeys-1; i>=0; i--)
-    {
-	dwLen = 100;
-	result = RegEnumKeyEx(tkey, i, pid_str, &dwLen, NULL, NULL, NULL, NULL);
-	if (result != ERROR_SUCCESS)
-	{
-	    smpd_translate_win_error(result, err_msg, MAX_ERROR_LENGTH, NULL);
-	    smpd_err_printf("Error: Unable to enumerate the %d subkey in the smpd\\process registry key, %s\n", i, err_msg);
-	    RegCloseKey(tkey);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	pid = atoi(pid_str);
-	printf("pid = %d\n", pid);fflush(stdout);
-	hTemp = OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, pid);
-	if (hTemp == NULL)
-	{
-	    error = GetLastError();
-	    if (error == ERROR_INVALID_PARAMETER)
-	    {
-		RegDeleteKey(tkey, pid_str);
-	    }
-	    /*
-	    else
-	    {
-		printf("error = %d\n", error);
-	    }
-	    */
-	}
-	else
-	{
-	    CloseHandle(hTemp);
-	}
-    }
-    result = RegCloseKey(tkey);
-    if (result != ERROR_SUCCESS)
-    {
-	smpd_translate_win_error(result, err_msg, MAX_ERROR_LENGTH, NULL);
-	smpd_err_printf("Error: RegCloseKey(HKEY_LOCAL_MACHINE\\" SMPD_REGISTRY_KEY "\\process) failed, %s\n", err_msg);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_process_to_registry"
-int smpd_process_to_registry(smpd_process_t *process, char *actual_exe)
-{
-    HKEY tkey;
-    DWORD len, result;
-    char name[1024];
-    char err_msg[MAX_ERROR_LENGTH] = "";
-
-    smpd_enter_fn(FCNAME);
-
-    if (process == NULL)
-    {
-	smpd_dbg_printf("NULL process passed to smpd_process_to_registry.\n");
-	return SMPD_FAIL;
-    }
-
-    len = snprintf(name, 1024, SMPD_REGISTRY_KEY "\\process\\%d", process->pid);
-    if (len < 0 || len > 1023)
-    {
-	smpd_dbg_printf("unable to create a string of the registry key.\n");
-	return SMPD_FAIL;
-    }
-
-    result = RegCreateKeyEx(HKEY_LOCAL_MACHINE, name,
-	0, NULL, REG_OPTION_VOLATILE, KEY_ALL_ACCESS, NULL, &tkey, NULL);
-    if (result != ERROR_SUCCESS)
-    {
-	smpd_translate_win_error(result, err_msg, MAX_ERROR_LENGTH, NULL);
-	smpd_err_printf("Unable to open the HKEY_LOCAL_MACHINE\\%s registry key, error %d, %s\n", name, result, err_msg);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    len = (DWORD)(strlen(actual_exe)+1);
-    result = RegSetValueEx(tkey, "exe", 0, REG_SZ, (const BYTE *)actual_exe, len);
-    if (result != ERROR_SUCCESS)
-    {
-	smpd_translate_win_error(result, err_msg, MAX_ERROR_LENGTH, NULL);
-	smpd_err_printf("Unable to write the process registry value 'exe:%s', error %d, %s\n", process->exe, result, err_msg);
-	RegCloseKey(tkey);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    result = RegCloseKey(tkey);
-    if (result != ERROR_SUCCESS)
-    {
-	smpd_translate_win_error(result, err_msg, MAX_ERROR_LENGTH, NULL);
-	smpd_err_printf("Error: RegCloseKey(HKEY_LOCAL_MACHINE\\" SMPD_REGISTRY_KEY "\\process\\%d) failed, %s\n", process->pid, err_msg);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_process_from_registry"
-int smpd_process_from_registry(smpd_process_t *process)
-{
-    DWORD len, result;
-    char name[1024];
-    char err_msg[MAX_ERROR_LENGTH] = "";
-
-    smpd_enter_fn(FCNAME);
-
-    if (process == NULL)
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    len = snprintf(name, 1024, SMPD_REGISTRY_KEY "\\process\\%d", process->pid);
-    if (len < 0 || len > 1023)
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    result = RegDeleteKey(HKEY_LOCAL_MACHINE, name);
-    if (result != ERROR_SUCCESS)
-    {
-	if (result == ERROR_FILE_NOT_FOUND || result == ERROR_PATH_NOT_FOUND)
-	{
-	    /* Key already deleted, return success */
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_SUCCESS;
-	}
-	smpd_translate_win_error(result, err_msg, MAX_ERROR_LENGTH, NULL);
-	smpd_err_printf("Unable to delete the HKEY_LOCAL_MACHINE\\%s registry key, error %d\n", name, result, err_msg);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_get_user_handle"
-int smpd_get_user_handle(char *account, char *domain, char *password, HANDLE *handle_ptr)
-{
-    HANDLE hUser;
-    int error;
-    int num_tries = 3;
-
-    smpd_enter_fn(FCNAME);
-
-    if (domain)
-    {
-	smpd_dbg_printf("LogonUser(%s\\%s)\n", domain, account);
-    }
-    else
-    {
-	smpd_dbg_printf("LogonUser(%s)\n", account);
-    }
-
-    /* logon the user */
-    while (!LogonUser(
-	account,
-	domain,
-	password,
-	LOGON32_LOGON_INTERACTIVE,
-	LOGON32_PROVIDER_DEFAULT,
-	&hUser))
-    {
-	error = GetLastError();
-	if (error == ERROR_NO_LOGON_SERVERS)
-	{
-	    if (num_tries)
-		Sleep(250);
-	    else
-	    {
-		*handle_ptr = INVALID_HANDLE_VALUE;
-		smpd_exit_fn(FCNAME);
-		return error;
-	    }
-	    num_tries--;
-	}
-	else
-	{
-	    *handle_ptr = INVALID_HANDLE_VALUE;
-	    smpd_exit_fn(FCNAME);
-	    return error;
-	}
-    }
-
-    *handle_ptr = hUser;
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_get_user_name"
-int smpd_get_user_name(char *account, char *domain, char *full_domain)
-{
-    DWORD len;
-    char name[SMPD_MAX_ACCOUNT_LENGTH];
-    char *separator;
-    size_t i;
-
-    *account = '\0';
-    if (domain != NULL)
-	*domain = '\0';
-    if (full_domain != NULL)
-	*full_domain = '\0';
-
-    len = 100;
-    if (GetUserNameEx(NameSamCompatible, name, &len))
-    {
-	for (i=0; i<strlen(name); i++)
-	{
-	    name[i] = (char)(tolower(name[i]));
-	}
-	separator = strchr(name, '\\');
-	if (separator)
-	{
-	    *separator = '\0';
-	    separator++;
-	}
-	if (domain != NULL)
-	    strcpy(domain, name);
-	strcpy(account, separator);
-    }
-
-    if (full_domain != NULL)
-    {
-	len = 100;
-	if (GetUserNameEx(NameDnsDomain, name, &len))
-	{
-	    for (i=0; i<strlen(name); i++)
-	    {
-		name[i] = (char)(tolower(name[i]));
-	    }
-	    separator = strchr(name, '\\');
-	    if (separator)
-	    {
-		*separator = '\0';
-		strcpy(full_domain, name);
-	    }
-	}
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "SetEnvironmentVariables"
-static void SetEnvironmentVariables(char *bEnv)
-{
-    char name[SMPD_MAX_ENV_LENGTH], equals[3], value[SMPD_MAX_ENV_LENGTH];
-
-    smpd_enter_fn(FCNAME);
-    for (;;)
-    {
-	name[0] = '\0';
-	equals[0] = '\0';
-	value[0] = '\0';
-	if (MPIU_Str_get_string(&bEnv, name, SMPD_MAX_ENV_LENGTH) != MPIU_STR_SUCCESS)
-	    break;
-	if (name[0] == '\0')
-	    break;
-	if (MPIU_Str_get_string(&bEnv, equals, 3) != MPIU_STR_SUCCESS)
-	    break;
-	if (equals[0] == '\0')
-	    break;
-	if (MPIU_Str_get_string(&bEnv, value, SMPD_MAX_ENV_LENGTH) != MPIU_STR_SUCCESS)
-	    break;
-	smpd_dbg_printf("setting environment variable: <%s> = <%s>\n", name, value);
-	SetEnvironmentVariable(name, value);
-    }
-    smpd_exit_fn(FCNAME);
-}
-
-#undef FCNAME
-#define FCNAME "RemoveEnvironmentVariables"
-static void RemoveEnvironmentVariables(char *bEnv)
-{
-    char name[SMPD_MAX_ENV_LENGTH], equals[3], value[SMPD_MAX_ENV_LENGTH];
-
-    smpd_enter_fn(FCNAME);
-    for (;;)
-    {
-	name[0] = '\0';
-	equals[0] = '\0';
-	value[0] = '\0';
-	if (MPIU_Str_get_string(&bEnv, name, SMPD_MAX_ENV_LENGTH) != MPIU_STR_SUCCESS)
-	    break;
-	if (name[0] == '\0')
-	    break;
-	if (MPIU_Str_get_string(&bEnv, equals, 3) != MPIU_STR_SUCCESS)
-	    break;
-	if (equals[0] == '\0')
-	    break;
-	if (MPIU_Str_get_string(&bEnv, value, SMPD_MAX_ENV_LENGTH) != MPIU_STR_SUCCESS)
-	    break;
-	/*smpd_dbg_printf("removing environment variable <%s>\n", name);*/
-	SetEnvironmentVariable(name, NULL);
-    }
-    smpd_exit_fn(FCNAME);
-}
-
-#undef FCNAME
-#define FCNAME "smpd_priority_class_to_win_class"
-int smpd_priority_class_to_win_class(int *priorityClass)
-{
-    smpd_enter_fn(FCNAME);
-    switch (*priorityClass)
-    {
-    case 0:
-	*priorityClass = IDLE_PRIORITY_CLASS;
-	break;
-    case 1:
-	*priorityClass = BELOW_NORMAL_PRIORITY_CLASS;
-	break;
-    case 2:
-	*priorityClass = NORMAL_PRIORITY_CLASS;
-	break;
-    case 3:
-	*priorityClass = ABOVE_NORMAL_PRIORITY_CLASS;
-	break;
-    case 4:
-	*priorityClass = HIGH_PRIORITY_CLASS;
-	break;
-    default:
-	*priorityClass = NORMAL_PRIORITY_CLASS;
-	break;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_priority_to_win_priority"
-int smpd_priority_to_win_priority(int *priority)
-{
-    smpd_enter_fn(FCNAME);
-    switch (*priority)
-    {
-    case 0:
-	*priority = THREAD_PRIORITY_IDLE;
-	break;
-    case 1:
-	*priority = THREAD_PRIORITY_LOWEST;
-	break;
-    case 2:
-	*priority = THREAD_PRIORITY_BELOW_NORMAL;
-	break;
-    case 3:
-	*priority = THREAD_PRIORITY_NORMAL;
-	break;
-    case 4:
-	*priority = THREAD_PRIORITY_ABOVE_NORMAL;
-	break;
-    case 5:
-	*priority = THREAD_PRIORITY_HIGHEST;
-	break;
-    default:
-	*priority = THREAD_PRIORITY_NORMAL;
-	break;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-/* Windows code */
-
-typedef struct smpd_piothread_arg_t
-{
-    HANDLE hIn;
-    SOCKET hOut;
-    int pid;
-} smpd_piothread_arg_t;
-
-typedef struct smpd_pinthread_arg_t
-{
-    SOCKET hIn;
-    HANDLE hOut;
-    int pid;
-} smpd_pinthread_arg_t;
-
-#undef FCNAME
-#define FCNAME "smpd_easy_send"
-static int smpd_easy_send(SOCKET sock, char *buffer, int length)
-{
-    int error;
-    int num_sent, num_left;
-
-    smpd_exit_fn(FCNAME);
-    num_left = length;
-    while (num_left)
-    {
-	while ((num_sent = send(sock, buffer, num_left, 0)) == SOCKET_ERROR)
-	{
-	    error = WSAGetLastError();
-	    if (error == WSAEWOULDBLOCK)
-	    {
-		Sleep(0);
-		continue;
-	    }
-	    if (error == WSAENOBUFS)
-	    {
-		/* If there is no buffer space available then split the buffer in half and send each piece separately.*/
-		if (smpd_easy_send(sock, buffer, num_left/2) == SOCKET_ERROR)
-		{
-		    smpd_exit_fn(FCNAME);
-		    return SOCKET_ERROR;
-		}
-		if (smpd_easy_send(sock, buffer+(num_left/2), num_left - (num_left/2)) == SOCKET_ERROR)
-		{
-		    smpd_exit_fn(FCNAME);
-		    return SOCKET_ERROR;
-		}
-		smpd_exit_fn(FCNAME);
-		return length;
-	    }
-	    WSASetLastError(error);
-	    smpd_exit_fn(FCNAME);
-	    return SOCKET_ERROR;
-	}
-	num_left = num_left - num_sent;
-	buffer = buffer + num_sent;
-    }
-    smpd_exit_fn(FCNAME);
-    return length;
-}
-
-int smpd_piothread(smpd_piothread_arg_t *p)
-{
-    char buffer[8192];
-    DWORD num_read;
-    HANDLE hIn;
-    SOCKET hOut;
-    DWORD error;
-    char bogus_char;
-    int pid;
-    double t1, t2;
-
-    hIn = p->hIn;
-    hOut = p->hOut;
-    pid = p->pid;
-    MPIU_Free(p);
-    p = NULL;
-
-    smpd_dbg_printf("*** entering smpd_piothread pid:%d sock:%d ***\n", pid, hOut);
-    for (;;)
-    {
-	num_read = 0;
-	if (!ReadFile(hIn, buffer, 8192, &num_read, NULL))
-	{
-	    error = GetLastError();
-	    /* If there was an error but some bytes were read, send those bytes before exiting */
-	    if (num_read > 0)
-	    {
-		if (smpd_easy_send(hOut, buffer, num_read) == SOCKET_ERROR)
-		{
-		    smpd_dbg_printf("smpd_easy_send of %d bytes failed.\n", num_read);
-		    break;
-		}
-	    }
-	    smpd_dbg_printf("ReadFile failed, error %d\n", error);
-	    break;
-	}
-	if (num_read < 1)
-	{
-	    smpd_dbg_printf("ReadFile returned %d bytes\n", num_read);
-	    break;
-	}
-	/*smpd_dbg_printf("*** smpd_piothread read %d bytes ***\n", num_read);*/
-	if (smpd_easy_send(hOut, buffer, num_read) == SOCKET_ERROR)
-	{
-	    smpd_dbg_printf("smpd_easy_send of %d bytes failed.\n", num_read);
-	    break;
-	}
-	/*smpd_dbg_printf("*** smpd_piothread wrote %d bytes ***\n", num_read);*/
-    }
-    smpd_dbg_printf("*** smpd_piothread finishing pid:%d ***\n", pid);
-    /*
-    FlushFileBuffers((HANDLE)hOut);
-    if (shutdown(hOut, SD_BOTH) == SOCKET_ERROR)
-    {
-	smpd_err_printf("shutdown failed, sock %d, error %d\n", hOut, WSAGetLastError());
-    }
-    if (closesocket(hOut) == SOCKET_ERROR)
-    {
-	smpd_err_printf("closesocket failed, sock %d, error %d\n", hOut, WSAGetLastError());
-    }
-    */
-    if (shutdown(hOut, SD_SEND) == SOCKET_ERROR)
-    {
-	smpd_err_printf("shutdown failed, sock %d, error %d\n", hOut, WSAGetLastError());
-    }
-    t1 = PMPI_Wtime();
-    recv(hOut, &bogus_char, 1, 0);
-    if (closesocket(hOut) == SOCKET_ERROR)
-    {
-	smpd_err_printf("closesocket failed, sock %d, error %d\n", hOut, WSAGetLastError());
-    }
-    t2 = PMPI_Wtime();
-    smpd_dbg_printf("closing output socket took %.3f seconds\n", t2-t1);
-    CloseHandle(hIn);
-    /*smpd_dbg_printf("*** exiting smpd_piothread ***\n");*/
-    return 0;
-}
-
-/* one line at a time version */
-int smpd_pinthread(smpd_pinthread_arg_t *p)
-{
-    char str [SMPD_MAX_CMD_LENGTH];
-    int index;
-    DWORD num_written;
-    int num_read;
-    SOCKET hIn;
-    HANDLE hOut;
-    int pid;
-    /*int i;*/
-    /*
-    char bogus_char;
-    double t1, t2;
-    */
-
-    hIn = p->hIn;
-    hOut = p->hOut;
-    pid = p->pid;
-    MPIU_Free(p);
-    p = NULL;
-
-    smpd_dbg_printf("*** entering smpd_pinthread pid:%d sock:%d ***\n", pid, hIn);
-    index = 0;
-    for (;;)
-    {
-	num_read = recv(hIn, &str[index], 1, 0);
-	if (num_read == SOCKET_ERROR || num_read == 0)
-	{
-	    if (num_read == SOCKET_ERROR && WSAGetLastError() == WSAEWOULDBLOCK)
-	    {
-		u_long optval = (u_long)TRUE;
-		ioctlsocket(hIn, FIONBIO, &optval);
-		continue;
-	    }
-	    if (index > 0)
-	    {
-		/* write any buffered data before exiting */
-		if (!WriteFile(hOut, str, index, &num_written, NULL))
-		{
-		    smpd_dbg_printf("WriteFile failed, error %d\n", GetLastError());
-		    break;
-		}
-	    }
-	    if (num_read != 0)
-	    {
-		smpd_dbg_printf("recv from stdin socket failed, error %d.\n", WSAGetLastError());
-	    }
-	    break;
-	}
-	if (str[index] == '\n' || index == SMPD_MAX_CMD_LENGTH-1)
-	{
-	    smpd_dbg_printf("writing %d bytes to the process's stdin\n", index+1);
-	    if (!WriteFile(hOut, str, index+1, &num_written, NULL))
-	    {
-		smpd_dbg_printf("WriteFile failed, error %d\n", GetLastError());
-		break;
-	    }
-	    /*
-	    smpd_dbg_printf("wrote: ");
-	    for (i=0; i<=index; i++)
-	    {
-		smpd_dbg_printf("(%d)'%c'", (int)str[i], str[i]);
-	    }
-	    smpd_dbg_printf("\n");
-	    */
-	    index = 0;
-	}
-	else
-	{
-	    smpd_dbg_printf("read character(%d)'%c'\n", (int)str[index], str[index]);
-	    index++;
-	}
-    }
-    smpd_dbg_printf("*** smpd_pinthread finishing pid:%d ***\n", pid);
-    FlushFileBuffers(hOut);
-    if (shutdown(hIn, SD_BOTH) == SOCKET_ERROR)
-    {
-	smpd_err_printf("shutdown failed, sock %d, error %d\n", hIn, WSAGetLastError());
-    }
-    if (closesocket(hIn) == SOCKET_ERROR)
-    {
-	smpd_err_printf("closesocket failed, sock %d, error %d\n", hIn, WSAGetLastError());
-    }
-    /*
-    if (shutdown(hIn, SD_SEND) == SOCKET_ERROR)
-    {
-	smpd_err_printf("shutdown failed, sock %d, error %d\n", hIn, WSAGetLastError());
-    }
-    t1 = PMPI_Wtime();
-    recv(hIn, &bogus_char, 1, 0);
-    if (closesocket(hIn) == SOCKET_ERROR)
-    {
-	smpd_err_printf("closesocket failed, sock %d, error %d\n", hIn, WSAGetLastError());
-    }
-    t2 = PMPI_Wtime();
-    smpd_dbg_printf("closing input socket took %.3f seconds\n", t2-t1);
-    */
-    CloseHandle(hOut);
-    /*smpd_dbg_printf("*** exiting smpd_pinthread ***\n");*/
-    return 0;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_launch_process"
-int smpd_launch_process(smpd_process_t *process, int priorityClass, int priority, int dbg, SMPDU_Sock_set_t set)
-{
-    HANDLE hStdin = INVALID_HANDLE_VALUE, hStdout = INVALID_HANDLE_VALUE, hStderr = INVALID_HANDLE_VALUE;
-    SOCKET hSockStdinR = INVALID_SOCKET, hSockStdinW = INVALID_SOCKET;
-    SOCKET hSockStdoutR = INVALID_SOCKET, hSockStdoutW = INVALID_SOCKET;
-    SOCKET hSockStderrR = INVALID_SOCKET, hSockStderrW = INVALID_SOCKET;
-    SOCKET hSockPmiR = INVALID_SOCKET, hSockPmiW = INVALID_SOCKET;
-    HANDLE hPipeStdinR = NULL, hPipeStdinW = NULL;
-    HANDLE hPipeStdoutR = NULL, hPipeStdoutW = NULL;
-    HANDLE hPipeStderrR = NULL, hPipeStderrW = NULL;
-    HANDLE hIn = INVALID_HANDLE_VALUE, hOut = INVALID_HANDLE_VALUE, hErr = INVALID_HANDLE_VALUE;
-    STARTUPINFO saInfo;
-    PROCESS_INFORMATION psInfo = { 0 };
-    void *pEnv=NULL;
-    char tSavedPath[MAX_PATH] = ".";
-    DWORD launch_flag = 0;
-    int nError = 0, result = 0;
-    /*unsigned long blocking_flag = 0;*/
-    SMPDU_Sock_t sock_in = SMPDU_SOCK_INVALID_SOCK, sock_out = SMPDU_SOCK_INVALID_SOCK, sock_err = SMPDU_SOCK_INVALID_SOCK, sock_pmi = SMPDU_SOCK_INVALID_SOCK;
-    SECURITY_ATTRIBUTES saAttr;
-    char str[8192], sock_str[20];
-    BOOL bSuccess = TRUE;
-    char *actual_exe, exe_data[SMPD_MAX_EXE_LENGTH];
-    char *args;
-    char temp_exe[SMPD_MAX_EXE_LENGTH];
-    SMPDU_Sock_t sock_pmi_listener;
-    smpd_context_t *listener_context;
-    int listener_port = 0;
-    char host_description[SMPD_MAX_HOST_DESC_LENGTH];
-    char err_msg[MAX_ERROR_LENGTH] = "";
-
-    smpd_enter_fn(FCNAME);
-
-    /* Initialize the psInfo structure in case there is an error an we jump to CLEANUP before psInfo is set */
-    psInfo.hProcess = INVALID_HANDLE_VALUE;
-
-    /* resolve the executable name */
-    if (process->path[0] != '\0')
-    {
-	args = process->exe;
-	result = MPIU_Str_get_string(&args, temp_exe, SMPD_MAX_EXE_LENGTH);
-	if (result != MPIU_STR_SUCCESS)
-	{
-	}
-	smpd_dbg_printf("searching for '%s' in '%s'\n", temp_exe, process->path);
-	if (smpd_search_path(process->path, temp_exe, SMPD_MAX_EXE_LENGTH, exe_data))
-	{
-	    if (args != NULL)
-	    {
-		strncat(exe_data, " ", SMPD_MAX_EXE_LENGTH - strlen(exe_data));
-		strncat(exe_data, args, SMPD_MAX_EXE_LENGTH - strlen(exe_data));
-		exe_data[SMPD_MAX_EXE_LENGTH-1] = '\0';
-	    }
-	    actual_exe = exe_data;
-	}
-	else
-	{
-	    actual_exe = process->exe;
-	}
-    }
-    else
-    {
-	actual_exe = process->exe;
-    }
-
-    smpd_priority_class_to_win_class(&priorityClass);
-    smpd_priority_to_win_priority(&priority);
-
-    /* Save stdin, stdout, and stderr */
-    result = WaitForSingleObject(smpd_process.hLaunchProcessMutex, INFINITE);
-    if (result == WAIT_FAILED)
-    {
-	result = GetLastError();
-	smpd_translate_win_error(result, err_msg, MAX_ERROR_LENGTH, NULL);
-	smpd_err_printf("Error waiting for smpd_process.hLaunchProcessMutex %d, %s\n", result, err_msg);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    hStdin = GetStdHandle(STD_INPUT_HANDLE);
-    hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
-    hStderr = GetStdHandle(STD_ERROR_HANDLE);
-    if (hStdin == INVALID_HANDLE_VALUE || hStdout == INVALID_HANDLE_VALUE  || hStderr == INVALID_HANDLE_VALUE)
-    {
-	nError = GetLastError(); /* This will only be correct if stderr failed */
-	ReleaseMutex(smpd_process.hLaunchProcessMutex);
-	smpd_translate_win_error(nError, err_msg, MAX_ERROR_LENGTH, NULL);
-	smpd_err_printf("GetStdHandle failed, error %d, %s\n", nError, err_msg);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;;
-    }
-
-    /* Create sockets for stdin, stdout, and stderr */
-    nError = smpd_make_socket_loop_choose(&hSockStdinR, SMPD_FALSE, &hSockStdinW, SMPD_TRUE);
-    if (nError)
-    {
-	smpd_err_printf("smpd_make_socket_loop failed, error %d\n", nError);
-	goto CLEANUP;
-    }
-    nError = smpd_make_socket_loop_choose(&hSockStdoutR, SMPD_TRUE, &hSockStdoutW, SMPD_FALSE);
-    if (nError)
-    {
-	smpd_err_printf("smpd_make_socket_loop failed, error %d\n", nError);
-	goto CLEANUP;
-    }
-    nError = smpd_make_socket_loop_choose(&hSockStderrR, SMPD_TRUE, &hSockStderrW, SMPD_FALSE);
-    if (nError)
-    {
-	smpd_err_printf("smpd_make_socket_loop failed, error %d\n", nError);
-	goto CLEANUP;
-    }
-    if (process->pmi != NULL)
-    {
-	if (smpd_process.use_inherited_handles)
-	{
-	    nError = smpd_make_socket_loop(&hSockPmiR, &hSockPmiW);
-	    if (nError)
-	    {
-		smpd_err_printf("smpd_make_socket_loop failed, error %d\n", nError);
-		goto CLEANUP;
-	    }
-	}
-	else
-	{
-	    nError = SMPDU_Sock_listen(set, NULL, &listener_port, &sock_pmi_listener); 
-	    if (nError != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("SMPDU_Sock_listen failed,\nsock error: %s\n", get_sock_error_string(nError));
-		goto CLEANUP;
-	    }
-	    smpd_dbg_printf("pmi listening on port %d\n", listener_port);
-
-	    nError = smpd_create_context(SMPD_CONTEXT_PMI_LISTENER, set, sock_pmi_listener, -1, &listener_context);
-	    if (nError != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to create a context for the pmi listener.\n");
-		goto CLEANUP;
-	    }
-	    nError = SMPDU_Sock_set_user_ptr(sock_pmi_listener, listener_context);
-	    if (nError != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("SMPDU_Sock_set_user_ptr failed,\nsock error: %s\n", get_sock_error_string(nError));
-		goto CLEANUP;
-	    }
-	    listener_context->state = SMPD_PMI_LISTENING;
-	    /* Adding process rank since the interface for SMPDU_Sock_get_host_description changed */
-	    nError = SMPDU_Sock_get_host_description(process->rank, host_description, SMPD_MAX_HOST_DESC_LENGTH);
-	    if (nError != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("SMPDU_Sock_get_host_description failed,\nsock error: %s\n", get_sock_error_string(nError));
-		goto CLEANUP;
-	    }
-	    /* save the listener sock in the slot reserved for the client sock so we can match the listener
-	    to the process structure when the client sock is accepted */
-	    process->pmi->sock = sock_pmi_listener;
-	}
-    }
-
-    saAttr.nLength = sizeof(SECURITY_ATTRIBUTES);
-    saAttr.lpSecurityDescriptor = NULL;
-    saAttr.bInheritHandle = TRUE;
-
-    /* Create the pipes for stdout, stderr */
-    if (!CreatePipe(&hPipeStdinR, &hPipeStdinW, &saAttr, 0))
-    {
-	smpd_err_printf("CreatePipe(stdin) failed, error %d\n", GetLastError());
-	goto CLEANUP;
-    }
-    if (!CreatePipe(&hPipeStdoutR, &hPipeStdoutW, &saAttr, 0))
-    {
-	smpd_err_printf("CreatePipe(stdout) failed, error %d\n", GetLastError());
-	goto CLEANUP;
-    }
-    if (!CreatePipe(&hPipeStderrR, &hPipeStderrW, &saAttr, 0))
-    {
-	smpd_err_printf("CreatePipe(stderr) failed, error %d\n", GetLastError());
-	goto CLEANUP;
-    }
-
-    /* Make the ends of the pipes that this process will use not inheritable */
-    /*
-    if (!DuplicateHandle(GetCurrentProcess(), (HANDLE)hSockStdinW, GetCurrentProcess(), &hIn, 
-	0, FALSE, DUPLICATE_CLOSE_SOURCE | DUPLICATE_SAME_ACCESS))
-    {
-	nError = GetLastError();
-	smpd_err_printf("DuplicateHandle failed, error %d\n", nError);
-	goto CLEANUP;
-    }
-    */
-    if (!DuplicateHandle(GetCurrentProcess(), (HANDLE)hPipeStdinW, GetCurrentProcess(), &hIn, 
-	0, FALSE, DUPLICATE_CLOSE_SOURCE | DUPLICATE_SAME_ACCESS))
-    {
-	nError = GetLastError();
-	smpd_err_printf("DuplicateHandle failed, error %d\n", nError);
-	goto CLEANUP;
-    }
-    /*
-    if (!DuplicateHandle(GetCurrentProcess(), (HANDLE)hSockStdoutR, GetCurrentProcess(), &hOut, 
-	0, FALSE, DUPLICATE_CLOSE_SOURCE | DUPLICATE_SAME_ACCESS))
-    {
-	nError = GetLastError();
-	smpd_err_printf("DuplicateHandle failed, error %d\n", nError);
-	goto CLEANUP;
-    }
-    if (!DuplicateHandle(GetCurrentProcess(), (HANDLE)hSockStderrR, GetCurrentProcess(), &hErr, 
-	0, FALSE, DUPLICATE_CLOSE_SOURCE | DUPLICATE_SAME_ACCESS))
-    {
-	nError = GetLastError();
-	smpd_err_printf("DuplicateHandle failed, error %d\n", nError);
-	goto CLEANUP;
-    }
-    */
-    if (!DuplicateHandle(GetCurrentProcess(), (HANDLE)hPipeStdoutR, GetCurrentProcess(), &hOut, 
-	0, FALSE, DUPLICATE_CLOSE_SOURCE | DUPLICATE_SAME_ACCESS))
-    {
-	nError = GetLastError();
-	smpd_err_printf("DuplicateHandle failed, error %d\n", nError);
-	goto CLEANUP;
-    }
-    if (!DuplicateHandle(GetCurrentProcess(), (HANDLE)hPipeStderrR, GetCurrentProcess(), &hErr, 
-	0, FALSE, DUPLICATE_CLOSE_SOURCE | DUPLICATE_SAME_ACCESS))
-    {
-	nError = GetLastError();
-	smpd_err_printf("DuplicateHandle failed, error %d\n", nError);
-	goto CLEANUP;
-    }
-    if (process->pmi != NULL && smpd_process.use_inherited_handles)
-    {
-	if (!DuplicateHandle(GetCurrentProcess(), (HANDLE)hSockPmiR, GetCurrentProcess(), (LPHANDLE)&hSockPmiR, 
-	    0, FALSE, DUPLICATE_CLOSE_SOURCE | DUPLICATE_SAME_ACCESS))
-	{
-	    nError = GetLastError();
-	    smpd_err_printf("DuplicateHandle failed, error %d\n", nError);
-	    goto CLEANUP;
-	}
-    }
-
-    /* prevent the socket loops from being inherited */
-    if (!DuplicateHandle(GetCurrentProcess(), (HANDLE)hSockStdinR, GetCurrentProcess(), (LPHANDLE)&hSockStdinR, 
-	0, FALSE, DUPLICATE_CLOSE_SOURCE | DUPLICATE_SAME_ACCESS))
-    {
-	nError = GetLastError();
-	smpd_err_printf("DuplicateHandle failed, error %d\n", nError);
-	goto CLEANUP;
-    }
-    if (!DuplicateHandle(GetCurrentProcess(), (HANDLE)hSockStdoutR, GetCurrentProcess(), (LPHANDLE)&hSockStdoutR, 
-	0, FALSE, DUPLICATE_CLOSE_SOURCE | DUPLICATE_SAME_ACCESS))
-    {
-	nError = GetLastError();
-	smpd_err_printf("DuplicateHandle failed, error %d\n", nError);
-	goto CLEANUP;
-    }
-    if (!DuplicateHandle(GetCurrentProcess(), (HANDLE)hSockStderrR, GetCurrentProcess(), (LPHANDLE)&hSockStderrR, 
-	0, FALSE, DUPLICATE_CLOSE_SOURCE | DUPLICATE_SAME_ACCESS))
-    {
-	nError = GetLastError();
-	smpd_err_printf("DuplicateHandle failed, error %d\n", nError);
-	goto CLEANUP;
-    }
-    if (!DuplicateHandle(GetCurrentProcess(), (HANDLE)hSockStdinW, GetCurrentProcess(), (LPHANDLE)&hSockStdinW, 
-	0, FALSE, DUPLICATE_CLOSE_SOURCE | DUPLICATE_SAME_ACCESS))
-    {
-	nError = GetLastError();
-	smpd_err_printf("DuplicateHandle failed, error %d\n", nError);
-	goto CLEANUP;
-    }
-    if (!DuplicateHandle(GetCurrentProcess(), (HANDLE)hSockStdoutW, GetCurrentProcess(), (LPHANDLE)&hSockStdoutW, 
-	0, FALSE, DUPLICATE_CLOSE_SOURCE | DUPLICATE_SAME_ACCESS))
-    {
-	nError = GetLastError();
-	smpd_err_printf("DuplicateHandle failed, error %d\n", nError);
-	goto CLEANUP;
-    }
-    if (!DuplicateHandle(GetCurrentProcess(), (HANDLE)hSockStderrW, GetCurrentProcess(), (LPHANDLE)&hSockStderrW, 
-	0, FALSE, DUPLICATE_CLOSE_SOURCE | DUPLICATE_SAME_ACCESS))
-    {
-	nError = GetLastError();
-	smpd_err_printf("DuplicateHandle failed, error %d\n", nError);
-	goto CLEANUP;
-    }
-
-    /* make the ends used by the spawned process blocking */
-    /*
-    blocking_flag = 0;
-    ioctlsocket(hSockStdinR, FIONBIO, &blocking_flag);
-    */
-    /*
-    blocking_flag = 0;
-    ioctlsocket(hSockStdoutW, FIONBIO, &blocking_flag);
-    blocking_flag = 0;
-    ioctlsocket(hSockStderrW, FIONBIO, &blocking_flag);
-    */
-
-    /* Set stdin, stdout, and stderr to the ends of the pipe the created process will use */
-    /*
-    if (!SetStdHandle(STD_INPUT_HANDLE, (HANDLE)hSockStdinR))
-    {
-	nError = GetLastError();
-	smpd_err_printf("SetStdHandle failed, error %d\n", nError);
-	goto CLEANUP;
-    }
-    */
-    if (!SetStdHandle(STD_INPUT_HANDLE, (HANDLE)hPipeStdinR))
-    {
-	nError = GetLastError();
-	smpd_err_printf("SetStdHandle failed, error %d\n", nError);
-	goto CLEANUP;
-    }
-    /*
-    if (!SetStdHandle(STD_OUTPUT_HANDLE, (HANDLE)hSockStdoutW))
-    {
-	nError = GetLastError();
-	smpd_err_printf("SetStdHandle failed, error %d\n", nError);
-	goto RESTORE_CLEANUP;
-    }
-    if (!SetStdHandle(STD_ERROR_HANDLE, (HANDLE)hSockStderrW))
-    {
-	nError = GetLastError();
-	smpd_err_printf("SetStdHandle failed, error %d\n", nError);
-	goto RESTORE_CLEANUP;
-    }
-    */
-    if (!SetStdHandle(STD_OUTPUT_HANDLE, (HANDLE)hPipeStdoutW))
-    {
-	nError = GetLastError();
-	smpd_err_printf("SetStdHandle failed, error %d\n", nError);
-	goto RESTORE_CLEANUP;
-    }
-    if (!SetStdHandle(STD_ERROR_HANDLE, (HANDLE)hPipeStderrW))
-    {
-	nError = GetLastError();
-	smpd_err_printf("SetStdHandle failed, error %d\n", nError);
-	goto RESTORE_CLEANUP;
-    }
-
-    /* Create the process */
-    memset(&saInfo, 0, sizeof(STARTUPINFO));
-    saInfo.cb = sizeof(STARTUPINFO);
-    /*saInfo.hStdInput = (HANDLE)hSockStdinR;*/
-    saInfo.hStdInput = (HANDLE)hPipeStdinR;
-    /*
-    saInfo.hStdOutput = (HANDLE)hSockStdoutW;
-    saInfo.hStdError = (HANDLE)hSockStderrW;
-    */
-    saInfo.hStdOutput = (HANDLE)hPipeStdoutW;
-    saInfo.hStdError = (HANDLE)hPipeStderrW;
-    saInfo.dwFlags = STARTF_USESTDHANDLES;
-
-    SetEnvironmentVariables(process->env);
-    if (process->pmi != NULL)
-    {
-	sprintf(str, "%d", process->rank);
-	smpd_dbg_printf("env: PMI_RANK=%s\n", str);
-	SetEnvironmentVariable("PMI_RANK", str);
-	sprintf(str, "%d", process->nproc);
-	smpd_dbg_printf("env: PMI_SIZE=%s\n", str);
-	SetEnvironmentVariable("PMI_SIZE", str);
-	sprintf(str, "%s", process->kvs_name);
-	smpd_dbg_printf("env: PMI_KVS=%s\n", str);
-	SetEnvironmentVariable("PMI_KVS", str);
-	sprintf(str, "%s", process->domain_name);
-	smpd_dbg_printf("env: PMI_DOMAIN=%s\n", str);
-	SetEnvironmentVariable("PMI_DOMAIN", str);
-	if (smpd_process.use_inherited_handles)
-	{
-	    smpd_encode_handle(sock_str, (HANDLE)hSockPmiW);
-	    sprintf(str, "%s", sock_str);
-	    smpd_dbg_printf("env: PMI_SMPD_FD=%s\n", str);
-	    SetEnvironmentVariable("PMI_SMPD_FD", str);
-	}
-	else
-	{
-	    smpd_dbg_printf("env: PMI_HOST=%s\n", host_description);
-	    SetEnvironmentVariable("PMI_HOST", host_description);
-	    sprintf(str, "%d", listener_port);
-	    smpd_dbg_printf("env: PMI_PORT=%s\n", str);
-	    SetEnvironmentVariable("PMI_PORT", str);
-	}
-	sprintf(str, "%d", smpd_process.id);
-	smpd_dbg_printf("env: PMI_SMPD_ID=%s\n", str);
-	SetEnvironmentVariable("PMI_SMPD_ID", str);
-	sprintf(str, "%d", process->id);
-	smpd_dbg_printf("env: PMI_SMPD_KEY=%s\n", str);
-	SetEnvironmentVariable("PMI_SMPD_KEY", str);
-	if (process->clique[0] != '\0')
-	{
-	    sprintf(str, "%s", process->clique);
-	    smpd_dbg_printf("env: PMI_CLIQUE=%s\n", str);
-	    SetEnvironmentVariable("PMI_CLIQUE", str);
-	}
-	sprintf(str, "%d", process->spawned);
-	smpd_dbg_printf("env: PMI_SPAWN=%s\n", str);
-	SetEnvironmentVariable("PMI_SPAWN", str);
-	sprintf(str, "%d", process->appnum);
-	smpd_dbg_printf("env: PMI_APPNUM=%s\n", str);
-	SetEnvironmentVariable("PMI_APPNUM", str);
-    }
-    pEnv = GetEnvironmentStrings();
-
-    GetCurrentDirectory(MAX_PATH, tSavedPath);
-    SetCurrentDirectory(process->dir);
-
-    launch_flag = 
-	CREATE_SUSPENDED | /*CREATE_NEW_CONSOLE*/ /*DETACHED_PROCESS*/ CREATE_NO_WINDOW | priorityClass;
-    if (dbg)
-	launch_flag = launch_flag | DEBUG_PROCESS;
-
-    smpd_dbg_printf("CreateProcess(%s)\n", actual_exe);
-    psInfo.hProcess = INVALID_HANDLE_VALUE;
-    if (CreateProcess(
-	NULL,
-	actual_exe,
-	NULL, NULL, TRUE,
-	launch_flag,
-	pEnv,
-	NULL,
-	&saInfo, &psInfo))
-    {
-	SetThreadPriority(psInfo.hThread, priority);
-	process->pid = psInfo.dwProcessId;
-    }
-    else
-    {
-	nError = GetLastError();
-	smpd_err_printf("CreateProcess('%s') failed, error %d\n", process->exe, nError);
-	smpd_translate_win_error(nError, process->err_msg, SMPD_MAX_ERROR_LEN, "CreateProcess(%s) on '%s' failed, error %d - ",
-	    process->exe, smpd_process.host, nError);
-	psInfo.hProcess = INVALID_HANDLE_VALUE;
-	bSuccess = FALSE;
-    }
-
-#ifdef HAVE_WINDOWS_H
-    if(smpd_process.set_affinity)
-    {
-        DWORD_PTR mask;
-        if(process->binding_proc != -1){
-            /* Get affinity mask corresponding to the binding proc */
-            mask = smpd_get_processor_affinity_mask(process->binding_proc);
-        }
-        else{
-            /* Get affinity mask decided by smpd - auto binding */
-            mask = smpd_get_next_process_affinity_mask();
-        }
-        if(mask != NULL){
-            /* FIXME: The return vals of these functions are not checked ! */
-            smpd_dbg_printf("Setting the process/thread affinity (mask=%lu)\n", mask);
-            SetProcessAffinityMask(psInfo.hProcess, mask);
-            SetThreadAffinityMask(psInfo.hThread, mask);
-		}
-        else{
-            smpd_dbg_printf("Unable to set process/thread affinity (mask=%lu)\n", mask);
-        }
-    }
-#endif
-
-    FreeEnvironmentStrings((TCHAR*)pEnv);
-    SetCurrentDirectory(tSavedPath);
-    RemoveEnvironmentVariables(process->env);
-    if (process->pmi != NULL)
-    {
-	SetEnvironmentVariable("PMI_RANK", NULL);
-	SetEnvironmentVariable("PMI_SIZE", NULL);
-	SetEnvironmentVariable("PMI_KVS", NULL);
-	SetEnvironmentVariable("PMI_DOMAIN", NULL);
-	if (smpd_process.use_inherited_handles)
-	{
-	    SetEnvironmentVariable("PMI_SMPD_FD", NULL);
-	}
-	else
-	{
-	    SetEnvironmentVariable("PMI_HOST", NULL);
-	    SetEnvironmentVariable("PMI_PORT", NULL);
-	}
-	SetEnvironmentVariable("PMI_SMPD_ID", NULL);
-	SetEnvironmentVariable("PMI_SMPD_KEY", NULL);
-	SetEnvironmentVariable("PMI_SPAWN", NULL);
-    }
-
-    if (bSuccess)
-    {
-	/* make sock structures out of the sockets */
-	/*
-	nError = SMPDU_Sock_native_to_sock(set, hIn, NULL, &sock_in);
-	if (nError != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("SMPDU_Sock_native_to_sock failed, error %s\n", get_sock_error_string(nError));
-	}
-	*/
-	/*printf("native sock for stdin\n");fflush(stdout);*/
-	nError = SMPDU_Sock_native_to_sock(set, (SMPDU_SOCK_NATIVE_FD)hSockStdinW, NULL, &sock_in);
-	if (nError != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("SMPDU_Sock_native_to_sock failed, error %s\n", get_sock_error_string(nError));
-	}
-	/*printf("native sock for stdout\n");fflush(stdout);*/
-	nError = SMPDU_Sock_native_to_sock(set, (SMPDU_SOCK_NATIVE_FD)hSockStdoutR, NULL, &sock_out);
-	if (nError != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("SMPDU_Sock_native_to_sock failed, error %s\n", get_sock_error_string(nError));
-	}
-	/*printf("native sock for stderr\n");fflush(stdout);*/
-	nError = SMPDU_Sock_native_to_sock(set, (SMPDU_SOCK_NATIVE_FD)hSockStderrR, NULL, &sock_err);
-	if (nError != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("SMPDU_Sock_native_to_sock failed, error %s\n", get_sock_error_string(nError));
-	}
-	if (process->pmi != NULL && smpd_process.use_inherited_handles)
-	{
-	    /*printf("native sock for pmi\n");fflush(stdout);*/
-	    nError = SMPDU_Sock_native_to_sock(set, (SMPDU_SOCK_NATIVE_FD)hSockPmiR, NULL, &sock_pmi);
-	    if (nError != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("SMPDU_Sock_native_to_sock failed, error %s\n", get_sock_error_string(nError));
-	    }
-	}
-
-	process->in->sock = sock_in;
-	process->out->sock = sock_out;
-	process->err->sock = sock_err;
-	if (process->pmi != NULL && smpd_process.use_inherited_handles)
-	    process->pmi->sock = sock_pmi;
-	process->pid = process->in->id = process->out->id = process->err->id = psInfo.dwProcessId;
-	SMPDU_Sock_set_user_ptr(sock_in, process->in);
-	SMPDU_Sock_set_user_ptr(sock_out, process->out);
-	SMPDU_Sock_set_user_ptr(sock_err, process->err);
-	if (process->pmi != NULL && smpd_process.use_inherited_handles)
-	    SMPDU_Sock_set_user_ptr(sock_pmi, process->pmi);
-    }
-    else
-    {
-	/* close all the sockets and handles allocated in this function */
-	/*CloseHandle(hIn);*/
-	CloseHandle((HANDLE)hSockStdinW);
-	CloseHandle((HANDLE)hSockStdoutR);
-	CloseHandle((HANDLE)hSockStderrR);
-	if (process->pmi != NULL && smpd_process.use_inherited_handles)
-	    CloseHandle((HANDLE)hSockPmiR);
-    }
-
-RESTORE_CLEANUP:
-    /* Restore stdin, stdout, stderr */
-    SetStdHandle(STD_INPUT_HANDLE, hStdin);
-    SetStdHandle(STD_OUTPUT_HANDLE, hStdout);
-    SetStdHandle(STD_ERROR_HANDLE, hStderr);
-
-CLEANUP:
-    ReleaseMutex(smpd_process.hLaunchProcessMutex);
-    /*CloseHandle((HANDLE)hSockStdinR);*/
-    CloseHandle((HANDLE)hPipeStdinR);
-    /*
-    CloseHandle((HANDLE)hSockStdoutW);
-    CloseHandle((HANDLE)hSockStderrW);
-    */
-    CloseHandle((HANDLE)hPipeStdoutW);
-    CloseHandle((HANDLE)hPipeStderrW);
-    if (process->pmi != NULL && smpd_process.use_inherited_handles)
-	CloseHandle((HANDLE)hSockPmiW);
-
-    if (psInfo.hProcess != INVALID_HANDLE_VALUE)
-    {
-	HANDLE hThread;
-	smpd_piothread_arg_t *arg_ptr;
-	smpd_pinthread_arg_t *in_arg_ptr;
-
-	in_arg_ptr = (smpd_pinthread_arg_t*)MPIU_Malloc(sizeof(smpd_pinthread_arg_t));
-	in_arg_ptr->hIn = hSockStdinR;
-	in_arg_ptr->hOut = hPipeStdinW;
-	in_arg_ptr->pid = psInfo.dwProcessId;
-	hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)smpd_pinthread, in_arg_ptr, 0, NULL);
-	CloseHandle(hThread);
-	arg_ptr = (smpd_piothread_arg_t*)MPIU_Malloc(sizeof(smpd_piothread_arg_t));
-	arg_ptr->hIn = hOut;
-	arg_ptr->hOut = hSockStdoutW;
-	arg_ptr->pid = psInfo.dwProcessId;
-	hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)smpd_piothread, arg_ptr, 0, NULL);
-	CloseHandle(hThread);
-	arg_ptr = (smpd_piothread_arg_t*)MPIU_Malloc(sizeof(smpd_piothread_arg_t));
-	arg_ptr->hIn = hErr;
-	arg_ptr->hOut = hSockStderrW;
-	arg_ptr->pid = psInfo.dwProcessId;
-	hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)smpd_piothread, arg_ptr, 0, NULL);
-	CloseHandle(hThread);
-
-	if (process->pmi != NULL && smpd_process.use_inherited_handles)
-	    process->context_refcount = 3;
-	else
-	    process->context_refcount = 2;
-	process->out->read_state = SMPD_READING_STDOUT;
-	result = SMPDU_Sock_post_read(sock_out, process->out->read_cmd.cmd, 1, 1, NULL);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("posting first read from stdout context failed, sock error: %s\n",
-		get_sock_error_string(result));
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	process->err->read_state = SMPD_READING_STDERR;
-	result = SMPDU_Sock_post_read(sock_err, process->err->read_cmd.cmd, 1, 1, NULL);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("posting first read from stderr context failed, sock error: %s\n",
-		get_sock_error_string(result));
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	if (process->pmi != NULL && smpd_process.use_inherited_handles)
-	{
-	    result = smpd_post_read_command(process->pmi);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to post a read of the first command on the pmi control channel.\n");
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	}
-	process->wait.hProcess = process->in->wait.hProcess = process->out->wait.hProcess = process->err->wait.hProcess = psInfo.hProcess;
-	process->wait.hThread = process->in->wait.hThread = process->out->wait.hThread = process->err->wait.hThread = psInfo.hThread;
-	smpd_process_to_registry(process, actual_exe);
-	ResumeThread(psInfo.hThread);
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_FAIL;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_parse_account_domain"
-void smpd_parse_account_domain(const char *domain_account, char *account, char *domain)
-{
-    const char *pCh;
-    char *pCh2;
-
-    smpd_enter_fn(FCNAME);
-
-    if ((strchr(domain_account, '\\') == NULL) && (strchr(domain_account, '@') != NULL))
-    {
-	pCh = domain_account;
-	pCh2 = account;
-	while ((*pCh != '@') && (*pCh != '\0'))
-	{
-	    *pCh2 = *pCh;
-	    pCh++;
-	    pCh2++;
-	}
-	*pCh2 = '\0';
-	if (*pCh == '@')
-	{
-	    pCh++;
-	    strcpy(domain, pCh);
-	}
-	else
-	{
-	    domain[0] = '\0';
-	}
-    }
-    else
-    {
-	pCh = domain_account;
-	pCh2 = domain;
-	while ((*pCh != '\\') && (*pCh != '\0'))
-	{
-	    *pCh2 = *pCh;
-	    pCh++;
-	    pCh2++;
-	}
-	if (*pCh == '\\')
-	{
-	    pCh++;
-	    strcpy(account, pCh);
-	    *pCh2 = '\0';
-	}
-	else
-	{
-	    strcpy(account, domain_account);
-	    domain[0] = '\0';
-	}
-    }
-
-    smpd_exit_fn(FCNAME);
-}
-
-#else
-
-/* Unix code */
-
-/*
-static void set_environment_variables(char *bEnv)
-{
-    char name[1024]="", value[8192]="";
-    char *pChar;
-    
-    pChar = name;
-    while (*bEnv != '\0')
-    {
-	if (*bEnv == '=')
-	{
-	    *pChar = '\0';
-	    pChar = value;
-	}
-	else
-	{
-	    if (*bEnv == ';')
-	    {
-		*pChar = '\0';
-		pChar = name;
-		smpd_dbg_printf("env: %s=%s\n", name, value);
-		setenv(name, value, 1);
-	    }
-	    else
-	    {
-		*pChar = *bEnv;
-		pChar++;
-	    }
-	}
-	bEnv++;
-    }
-    *pChar = '\0';
-    if (name[0] != '\0')
-    {
-	smpd_dbg_printf("env: %s=%s\n", name, value);
-	setenv(name, value, 1);
-    }
-}
-*/
-
-#ifdef HAVE_SETENV
-#undef FCNAME
-#define FCNAME "set_environment_variables"
-static void set_environment_variables(char *bEnv)
-{
-    char name[1024], equals[3], value[8192];
-
-    smpd_enter_fn(FCNAME);
-    while (1)
-    {
-	name[0] = '\0';
-	equals[0] = '\0';
-	value[0] = '\0';
-	if (MPIU_Str_get_string(&bEnv, name, 1024) != MPIU_STR_SUCCESS)
-	    break;
-	if (name[0] == '\0')
-	    break;
-	if (MPIU_Str_get_string(&bEnv, equals, 3) != MPIU_STR_SUCCESS)
-	    break;
-	if (equals[0] == '\0')
-	    break;
-	if (MPIU_Str_get_string(&bEnv, value, 8192) != MPIU_STR_SUCCESS)
-	    break;
-	setenv(name, value, 1);
-    }
-    smpd_exit_fn(FCNAME);
-}
-#else
-#undef FCNAME
-#define FCNAME "get_env_size"
-static int get_env_size(char *bEnv, int *count)
-{
-    char name[1024], equals[3], value[8192];
-    int size = 0;
-
-    smpd_enter_fn(FCNAME);
-    while (1)
-    {
-	name[0] = '\0';
-	equals[0] = '\0';
-	value[0] = '\0';
-	if (MPIU_Str_get_string(&bEnv, name, 1024) != MPIU_STR_SUCCESS)
-	    break;
-	if (name[0] == '\0')
-	    break;
-	if (MPIU_Str_get_string(&bEnv, equals, 3) != MPIU_STR_SUCCESS)
-	    break;
-	if (equals[0] == '\0')
-	    break;
-	if (MPIU_Str_get_string(&bEnv, value, 8192) != MPIU_STR_SUCCESS)
-	    break;
-	*count = *count + 1;
-	size = size + strlen(name) + strlen(value) + 2; /* length of 'name=value\0' */
-    }
-    smpd_exit_fn(FCNAME);
-    return size;
-}
-
-#undef FCNAME
-#define FCNAME "add_environment_variables"
-static void add_environment_variables(char *str, char **vars, char *bEnv)
-{
-    char name[1024], equals[3], value[8192];
-    int i = 0;
-
-    smpd_enter_fn(FCNAME);
-    while (1)
-    {
-	name[0] = '\0';
-	equals[0] = '\0';
-	value[0] = '\0';
-	if (MPIU_Str_get_string(&bEnv, name, 1024) != MPIU_STR_SUCCESS)
-	    break;
-	if (name[0] == '\0')
-	    break;
-	if (MPIU_Str_get_string(&bEnv, equals, 3) != MPIU_STR_SUCCESS)
-	    break;
-	if (equals[0] == '\0')
-	    break;
-	if (MPIU_Str_get_string(&bEnv, value, 8192) != MPIU_STR_SUCCESS)
-	    break;
-	vars[i] = str;
-	str += sprintf(str, "%s=%s", name, value) + 1;
-	i++;
-    }
-    smpd_exit_fn(FCNAME);
-}
-#endif
-
-#ifdef USE_PTHREAD_STDIN_REDIRECTION
-static void child_exited(int signo)
-{
-    pid_t pid;
-    int status;
-    smpd_process_t *iter;
-
-    /*
-     * For some reason on the Macs, stdout and stderr are not closed when the
-     * process exits so we can't use the closing of the redirected stdout and
-     * stderr sockets as indications that the process has exited.  So this
-     * signal handler closes the stdout/err redirection socket on a SIGCHLD
-     * signal to simulate that behavior.
-     */
-    if (signo == SIGCHLD)
-    {
-	smpd_dbg_printf("SIGCHLD received\n");
-	for (;;)
-	{
-	    status = 0;
-	    pid = waitpid(-1, &status, WNOHANG);
-	    if (pid <= 0)
-		break;
-
-	    smpd_dbg_printf("SIGCHILD pid = %d\n", pid);
-	    iter = smpd_process.process_list;
-	    {
-		while (iter != NULL)
-		{
-		    if (iter->wait == pid)
-		    {
-			if (WIFEXITED(status))
-			{
-			    iter->exitcode =  WEXITSTATUS(status);
-			}
-			else
-			{
-			    iter->exitcode = -123;
-			}
-			if (iter->out != NULL)
-			{
-			    if (iter->out->read_state == SMPD_READING_STDOUT)
-			    {
-				smpd_dbg_printf("closing stdout redirection\n");
-				iter->out->state = SMPD_CLOSING;
-				SMPDU_Sock_post_close(iter->out->sock);
-			    }
-			    else
-			    {
-				smpd_err_printf("iter->out->read_state = %d\n", iter->out->read_state);
-			    }
-			}
-			if (iter->err != NULL)
-			{
-			    if (iter->err->read_state == SMPD_READING_STDERR)
-			    {
-				smpd_dbg_printf("closing stderr redirection\n");
-				iter->err->state = SMPD_CLOSING;
-				SMPDU_Sock_post_close(iter->err->sock);
-			    }
-			    else
-			    {
-				smpd_err_printf("iter->err->read_state = %d\n", iter->err->read_state);
-			    }
-			}
-			break;
-		    }
-		    iter = iter->next;
-		}
-	    }
-	}
-    }
-    else
-    {
-	smpd_dbg_printf("unexpected signal %d received\n", signo);
-    }
-}
-#endif
-
-#undef FCNAME
-#define FCNAME "smpd_launch_process"
-int smpd_launch_process(smpd_process_t *process, int priorityClass, int priority, int dbg, SMPDU_Sock_set_t set)
-{
-    int result;
-    int stdin_pipe_fds[2], stdout_pipe_fds[2];
-    int  stderr_pipe_fds[2], pmi_pipe_fds[2];
-    int pid;
-    SMPDU_Sock_t sock_in, sock_out, sock_err, sock_pmi;
-    char args[SMPD_MAX_EXE_LENGTH];
-    char *argv[1024];
-    char *token;
-    int i;
-    char str[1024];
-    char *str_iter;
-    int total, num_chars;
-    char *actual_exe, exe_data[SMPD_MAX_EXE_LENGTH];
-    char *temp_str;
-    char temp_exe[SMPD_MAX_EXE_LENGTH];
-    smpd_command_t *cmd_ptr;
-    static char *pPutEnv = NULL;
-    char *pLastEnv, *env_iter;
-    int env_count, env_size;
-    char **pEnvArray;
-
-    smpd_enter_fn(FCNAME);
-
-#ifdef USE_PTHREAD_STDIN_REDIRECTION
-    {
-	/* On the Macs we must use a signal handler to determine when a process
-	 * has exited.  On all other systems we use the closing of stdout and
-	 * stderr to determine that a process has exited.
-	 */
-	static int sighandler_setup = 0;
-	if (!sighandler_setup)
-	{
-	    smpd_dbg_printf("setting child_exited signal handler\n");
-	    smpd_signal(SIGCHLD, child_exited);
-	    sighandler_setup = 1;
-	}
-    }
-#endif
-
-    /* resolve the executable name */
-    if (process->path[0] != '\0')
-    {
-	temp_str = process->exe;
-	result = MPIU_Str_get_string(&temp_str, temp_exe, SMPD_MAX_EXE_LENGTH);
-	if (result != MPIU_STR_SUCCESS)
-	{
-	}
-	smpd_dbg_printf("searching for '%s' in '%s'\n", temp_exe, process->path);
-	if (smpd_search_path(process->path, temp_exe, SMPD_MAX_EXE_LENGTH, exe_data))
-	{
-	    smpd_dbg_printf("found: '%s'\n", exe_data);
-	    if (strstr(exe_data, " "))
-	    {
-		smpd_err_printf("Currently unable to handle paths with spaces in them.\n");
-	    }
-	    if (temp_str != NULL)
-	    {
-		strncat(exe_data, " ", SMPD_MAX_EXE_LENGTH - strlen(exe_data));
-		strncat(exe_data, temp_str, SMPD_MAX_EXE_LENGTH - strlen(exe_data));
-		exe_data[SMPD_MAX_EXE_LENGTH-1] = '\0';
-	    }
-	    actual_exe = exe_data;
-	}
-	else
-	{
-	    actual_exe = process->exe;
-	}
-    }
-    else
-    {
-	actual_exe = process->exe;
-    }
-    
-    /* create argv from the command */
-    i = 0;
-    total = 0;
-    /*str_iter = process->exe;*/
-    str_iter = actual_exe;
-    while (str_iter && i<1024)
-    {
-	result = MPIU_Str_get_string(&str_iter, &args[total],
-				   SMPD_MAX_EXE_LENGTH - total);
-	argv[i] = &args[total];
-	i++;
-	total += strlen(&args[total])+1; /* move over the null termination */
-    }
-    argv[i] = NULL;
-
-    /* create pipes for redirecting I/O */
-    /*
-    pipe(stdin_pipe_fds);
-    pipe(stdout_pipe_fds);
-    pipe(stderr_pipe_fds);
-    */
-    socketpair(AF_UNIX, SOCK_STREAM, 0, stdin_pipe_fds);
-    socketpair(AF_UNIX, SOCK_STREAM, 0, stdout_pipe_fds);
-    socketpair(AF_UNIX, SOCK_STREAM, 0, stderr_pipe_fds);
-    if (process->pmi != NULL)
-    {
-	socketpair(AF_UNIX, SOCK_STREAM, 0, pmi_pipe_fds);
-    }
-
-    pid = fork();
-    if (pid < 0)
-    {
-	smpd_err_printf("fork failed - error %d.\n", errno);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    if (pid == 0)
-    {
-	/* child process */
-	smpd_dbg_printf("client is alive and about to exec '%s'\n", argv[0]);
-
-#ifdef HAVE_SETENV
-	if (process->pmi != NULL)
-	{
-	    sprintf(str, "%d", process->rank);
-	    smpd_dbg_printf("env: PMI_RANK=%s\n", str);
-	    setenv("PMI_RANK", str, 1);
-	    sprintf(str, "%d", process->nproc);
-	    smpd_dbg_printf("env: PMI_SIZE=%s\n", str);
-	    setenv("PMI_SIZE", str, 1);
-	    sprintf(str, "%s", process->kvs_name);
-	    smpd_dbg_printf("env: PMI_KVS=%s\n", str);
-	    setenv("PMI_KVS", str, 1);
-	    sprintf(str, "%s", process->domain_name);
-	    smpd_dbg_printf("env: PMI_DOMAIN=%s\n", str);
-	    setenv("PMI_DOMAIN", str, 1);
-	    sprintf(str, "%d", pmi_pipe_fds[1]);
-	    smpd_dbg_printf("env: PMI_SMPD_FD=%s\n", str);
-	    setenv("PMI_SMPD_FD", str, 1);
-	    sprintf(str, "%d", smpd_process.id);
-	    smpd_dbg_printf("env: PMI_SMPD_ID=%s\n", str);
-	    setenv("PMI_SMPD_ID", str, 1);
-	    sprintf(str, "%d", process->id);
-	    smpd_dbg_printf("env: PMI_SMPD_KEY=%s\n", str);
-	    setenv("PMI_SMPD_KEY", str, 1);
-	    sprintf(str, "%d", process->spawned);
-	    smpd_dbg_printf("env: PMI_SPAWN=%s\n", str);
-	    setenv("PMI_SPAWN", str, 1);
-	    sprintf(str, "%d", process->appnum);
-	    smpd_dbg_printf("env: PMI_APPNUM=%s\n", str);
-	    setenv("PMI_APPNUM", str, 1);
-	    sprintf(str, "%s", process->clique);
-	    smpd_dbg_printf("env: PMI_CLIQUE=%s\n", str);
-	    setenv("PMI_CLIQUE", str, 1);
-	}
-	set_environment_variables(process->env);
-#else
-	pLastEnv = pPutEnv;
-	env_count = 0;
-	env_size = get_env_size(process->env, &env_count) + 1024;
-	env_count += 10;
-	pPutEnv = (char*)MPIU_Malloc(env_size * sizeof(char));
-	pEnvArray = (char**)MPIU_Malloc(env_count * sizeof(char*));
-	env_iter = pPutEnv;
-	pEnvArray[0] = env_iter;
-	env_iter += sprintf(env_iter, "PMI_RANK=%d", process->rank) + 1;
-	pEnvArray[1] = env_iter;
-	env_iter += sprintf(env_iter, "PMI_SIZE=%d", process->nproc) + 1;
-	pEnvArray[2] = env_iter;
-	env_iter += sprintf(env_iter, "PMI_KVS=%s", process->kvs_name) + 1;
-	pEnvArray[3] = env_iter;
-	env_iter += sprintf(env_iter, "PMI_DOMAIN=%s", process->domain_name) + 1;
-	pEnvArray[4] = env_iter;
-	env_iter += sprintf(env_iter, "PMI_SMPD_FD=%d", pmi_pipe_fds[1]) + 1;
-	pEnvArray[5] = env_iter;
-	env_iter += sprintf(env_iter, "PMI_SMPD_ID=%d", smpd_process.id) + 1;
-	pEnvArray[6] = env_iter;
-	env_iter += sprintf(env_iter, "PMI_SMPD_KEY=%d", process->id) + 1;
-	pEnvArray[7] = env_iter;
-	env_iter += sprintf(env_iter, "PMI_SPAWN=%d", process->spawned) + 1;
-	pEnvArray[8] = env_iter;
-	env_iter += sprintf(env_iter, "PMI_APPNUM=%d", process->appnum) + 1;
-	pEnvArray[9] = env_iter;
-	env_iter += sprintf(env_iter, "PMI_CLIQUE=%s", process->clique) + 1;
-	add_environment_variables(env_iter, &pEnvArray[10], process->env);
-	for (i=0; i<env_count; i++)
-	{
-	    result = putenv(pEnvArray[i]);
-	    if (result != 0)
-	    {
-		smpd_err_printf("putenv failed: %d\n", errno);
-	    }
-	}
-	if (pLastEnv != NULL)
-	    MPIU_Free(pLastEnv);
-#endif
-	result = dup2(stdin_pipe_fds[0], 0);   /* dup a new stdin */
-	if (result == -1)
-	{
-	    smpd_err_printf("dup2 stdin failed: %d\n", errno);
-	}
-	close(stdin_pipe_fds[0]);
-	close(stdin_pipe_fds[1]);
-
-	result = dup2(stdout_pipe_fds[1], 1);  /* dup a new stdout */
-	if (result == -1)
-	{
-	    smpd_err_printf("dup2 stdout failed: %d\n", errno);
-	}
-	close(stdout_pipe_fds[0]);
-	close(stdout_pipe_fds[1]);
-
-	result = dup2(stderr_pipe_fds[1], 2);  /* dup a new stderr */
-	if (result == -1)
-	{
-	    smpd_err_printf("dup2 stderr failed: %d\n", errno);
-	}
-	close(stderr_pipe_fds[0]);
-	close(stderr_pipe_fds[1]);
-
-	if (process->pmi != NULL)
-	{
-	    close(pmi_pipe_fds[0]); /* close the other end */
-	}
-
-	/* change the working directory */
-	result = -1;
-	if (process->dir[0] != '\0')
-	    result = chdir( process->dir );
-	if (result < 0)
-	    chdir( getenv( "HOME" ) );
-
-	/* reset the file mode creation mask */
-	umask(0);
-
-	result = execvp( argv[0], argv );
-
-	result = errno;
-	{
-	    char myhostname[SMPD_MAX_HOST_LENGTH];
-	    smpd_get_hostname(myhostname, SMPD_MAX_HOST_LENGTH);
-	    snprintf(process->err_msg, SMPD_MAX_ERROR_LEN, "Unable to exec '%s' on %s.  Error %d - %s\n", process->exe, myhostname, result, strerror(result));
-	    /*sprintf(process->err_msg, "Error %d - %s", result, strerror(result));*/
-	}
-
-	if (process->pmi != NULL)
-	{
-	    /* create the abort command */
-	    result = smpd_create_command("abort", smpd_process.id, 0, SMPD_FALSE, &cmd_ptr);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to create an abort command in response to failed launch command: '%s'\n", process->exe);
-		exit(-1);
-	    }
-	    /* launch process should provide a reason for the error, for now just return FAIL */
-	    result = smpd_add_command_arg(cmd_ptr, "result", SMPD_FAIL_STR);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to add the result field to the result command in response to launch command: '%s'\n", process->exe);
-		exit(-1);
-	    }
-	    if (process->err_msg[0] != '\0')
-	    {
-		result = smpd_add_command_arg(cmd_ptr, "error", process->err_msg);
-		if (result != SMPD_SUCCESS)
-		{
-		    smpd_err_printf("unable to add the error field to the abort command in response to failed launch command: '%s'\n", process->exe);
-		    exit(-1);
-		}
-	    }
-
-	    /* send the result back */
-	    smpd_package_command(cmd_ptr);
-	    result = write(pmi_pipe_fds[1], cmd_ptr->cmd_hdr_str, SMPD_CMD_HDR_LENGTH);
-	    if (result != SMPD_CMD_HDR_LENGTH)
-	    {
-		smpd_err_printf("unable to write the abort command header in response to failed launch command: '%s'\n", process->exe);
-		exit(-1);
-	    }
-	    result = write(pmi_pipe_fds[1], cmd_ptr->cmd, cmd_ptr->length);
-	    if (result != cmd_ptr->length)
-	    {
-		smpd_err_printf("unable to write the abort command in response to failed launch command: '%s'\n", process->exe);
-		exit(-1);
-	    }
-
-	    /* send a closed message on the pmi socket? */
-	}
-
-	exit(result);
-    }
-
-    /* parent process */
-    process->pid = pid;
-    close(stdin_pipe_fds[0]);
-    close(stdout_pipe_fds[1]);
-    close(stderr_pipe_fds[1]);
-    if (process->pmi != NULL)
-    {
-	close(pmi_pipe_fds[1]);
-    }
-
-    /* make sock structures out of the sockets */
-    result = SMPDU_Sock_native_to_sock(set, stdin_pipe_fds[1], NULL, &sock_in);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("SMPDU_Sock_native_to_sock failed, error %s\n", get_sock_error_string(result));
-    }
-    result = SMPDU_Sock_native_to_sock(set, stdout_pipe_fds[0], NULL, &sock_out);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("SMPDU_Sock_native_to_sock failed, error %s\n", get_sock_error_string(result));
-    }
-    result = SMPDU_Sock_native_to_sock(set, stderr_pipe_fds[0], NULL, &sock_err);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("SMPDU_Sock_native_to_sock failed, error %s\n", get_sock_error_string(result));
-    }
-    if (process->pmi != NULL)
-    {
-	result = SMPDU_Sock_native_to_sock(set, pmi_pipe_fds[0], NULL, &sock_pmi);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("SMPDU_Sock_native_to_sock failed, error %s\n", get_sock_error_string(result));
-	}
-    }
-    process->in->sock = sock_in;
-    process->out->sock = sock_out;
-    process->err->sock = sock_err;
-    if (process->pmi != NULL)
-    {
-	process->pmi->sock = sock_pmi;
-    }
-    process->pid = process->in->id = process->out->id = process->err->id = pid;
-    result = SMPDU_Sock_set_user_ptr(sock_in, process->in);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("SMPDU_Sock_set_user_ptr failed, error %s\n", get_sock_error_string(result));
-    }
-    result = SMPDU_Sock_set_user_ptr(sock_out, process->out);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("SMPDU_Sock_set_user_ptr failed, error %s\n", get_sock_error_string(result));
-    }
-    result = SMPDU_Sock_set_user_ptr(sock_err, process->err);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("SMPDU_Sock_set_user_ptr failed, error %s\n", get_sock_error_string(result));
-    }
-    if (process->pmi != NULL)
-    {
-	result = SMPDU_Sock_set_user_ptr(sock_pmi, process->pmi);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("SMPDU_Sock_set_user_ptr failed, error %s\n", get_sock_error_string(result));
-	}
-    }
-
-    process->context_refcount = (process->pmi != NULL) ? 3 : 2;
-    process->out->read_state = SMPD_READING_STDOUT;
-    result = SMPDU_Sock_post_read(sock_out, process->out->read_cmd.cmd, 1, 1, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("posting first read from stdout context failed, sock error: %s\n",
-	    get_sock_error_string(result));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    process->err->read_state = SMPD_READING_STDERR;
-    result = SMPDU_Sock_post_read(sock_err, process->err->read_cmd.cmd, 1, 1, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("posting first read from stderr context failed, sock error: %s\n",
-	    get_sock_error_string(result));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    if (process->pmi != NULL)
-    {
-	result = smpd_post_read_command(process->pmi);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a read of the first command on the pmi control context.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-    }
-    process->wait = process->in->wait = process->out->wait = process->err->wait = pid;
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#endif
-
-#undef FCNAME
-#define FCNAME "smpd_wait_process"
-int smpd_wait_process(smpd_pwait_t wait, int *exit_code_ptr)
-{
-#ifdef HAVE_WINDOWS_H
-    int result;
-    DWORD exit_code;
-
-    smpd_enter_fn(FCNAME);
-
-    if (wait.hProcess == INVALID_HANDLE_VALUE || wait.hProcess == NULL)
-    {
-	smpd_dbg_printf("No process to wait for.\n");
-	*exit_code_ptr = -1;
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-    if (WaitForSingleObject(wait.hProcess, INFINITE) != WAIT_OBJECT_0)
-    {
-	smpd_err_printf("WaitForSingleObject failed, error %d\n", GetLastError());
-	*exit_code_ptr = -1;
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = GetExitCodeProcess(wait.hProcess, &exit_code);
-    if (!result)
-    {
-	smpd_err_printf("GetExitCodeProcess failed, error %d\n", GetLastError());
-	*exit_code_ptr = -1;
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    CloseHandle(wait.hProcess);
-    CloseHandle(wait.hThread);
-
-    *exit_code_ptr = exit_code;
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-#else
-    int status;
-    smpd_pwait_t result;
-    smpd_enter_fn(FCNAME);
-
-    smpd_dbg_printf("waiting for process %d\n", wait);
-    result = -1;
-    while (result == -1)
-    {
-	result = waitpid(wait, &status, WUNTRACED);
-	if (result == -1)
-	{
-	    switch (errno)
-	    {
-	    case EINTR:
-		break;
-	    case ECHILD:
-#ifdef USE_PTHREAD_STDIN_REDIRECTION
-		/* On the Macs where stdout/err redirection hangs a SIGCHLD 
-		 * handler has been set up so ignore ECHILD errors.
-		 */
-#else
-		smpd_err_printf("waitpid(%d) returned ECHILD\n", wait);
-		*exit_code_ptr = -10;
-#endif
-		smpd_exit_fn(FCNAME);
-		return SMPD_SUCCESS;
-		break;
-	    case EINVAL:
-		smpd_err_printf("waitpid(%d) returned EINVAL\n", wait);
-		*exit_code_ptr = -11;
-		smpd_exit_fn(FCNAME);
-		return SMPD_SUCCESS;
-		break;
-	    default:
-		smpd_err_printf("waitpid(%d) returned %d\n", wait, errno);
-		*exit_code_ptr = -12;
-		smpd_exit_fn(FCNAME);
-		return SMPD_SUCCESS;
-		break;
-	    }
-	}
-    }
-    if (WIFEXITED(status))
-    {
-	*exit_code_ptr =  WEXITSTATUS(status);
-    }
-    else
-    {
-	smpd_err_printf("WIFEXITED(%d) failed, setting exit code to -1\n", wait);
-	*exit_code_ptr = -1;
-	if (WIFSIGNALED(status))
-	{
-	    *exit_code_ptr = -2;
-	}
-	if (WIFSTOPPED(status))
-	{
-	    *exit_code_ptr = -3;
-	}
-#ifdef WCOREDUMP
-	if (WCOREDUMP(status))
-	{
-	    *exit_code_ptr = -4;
-	}
-#endif
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-#endif
-}
-
-#define SMPD_MAX_SUSPEND_RETRY_COUNT 4
-
-#undef FCNAME
-#define FCNAME "smpd_suspend_process"
-int smpd_suspend_process(smpd_process_t *process)
-{
-#ifdef HAVE_WINDOWS_H
-    int result = SMPD_SUCCESS;
-    int retry_cnt = 0;
-    smpd_enter_fn(FCNAME);
-
-    do{
-        if (SuspendThread(process->wait.hThread) == -1){
-            int exit_code;
-
-            /* Check if the thread is still active */
-            if(!GetExitCodeThread(process->wait.hThread, &exit_code)){
-                smpd_err_printf("Getting exit code for thread failed\n");
-                break;
-            }
-            else{
-                if(exit_code != STILL_ACTIVE){
-                    smpd_err_printf("The thread to be suspended is no longer active, exit_code = %d\n", exit_code);
-                    break;
-                }
-                else{
-                    smpd_err_printf("The thread is active but cannot be suspended\n");
-                }
-            }
-
-	        result = GetLastError();
-	        smpd_err_printf("SuspendThread failed[%d times] with error %d for process %d:%s:'%s'\n",
-	            retry_cnt, result, process->rank, process->kvs_name, process->exe);
-        }
-        else{
-            break;
-        }
-
-        /* Ignore error and proceed if we fail to suspend */
-        result = SMPD_SUCCESS;
-        retry_cnt++;
-    }while(retry_cnt < SMPD_MAX_SUSPEND_RETRY_COUNT);
-
-    smpd_exit_fn(FCNAME);
-    /* Ignore error */
-    return SMPD_SUCCESS;
-#else
-    smpd_enter_fn(FCNAME);
-
-    smpd_dbg_printf("stopping process %d\n", process->wait);
-    kill(process->wait, SIGSTOP);
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-#endif
-}
-
-#ifdef HAVE_WINDOWS_H
-static BOOL SafeTerminateProcess(HANDLE hProcess, UINT uExitCode)
-{
-    DWORD dwTID, dwCode, dwErr = 0;
-    HANDLE hProcessDup = INVALID_HANDLE_VALUE;
-    HANDLE hRT = NULL;
-    HINSTANCE hKernel = GetModuleHandle("Kernel32");
-    BOOL bSuccess = FALSE;
-
-    BOOL bDup = DuplicateHandle(GetCurrentProcess(),
-	hProcess,
-	GetCurrentProcess(),
-	&hProcessDup,
-	PROCESS_ALL_ACCESS,
-	FALSE,
-	0);
-
-    if (GetExitCodeProcess((bDup) ? hProcessDup : hProcess, &dwCode) &&
-	(dwCode == STILL_ACTIVE))
-    {
-	FARPROC pfnExitProc;
-
-	pfnExitProc = GetProcAddress(hKernel, "ExitProcess");
-
-	if (pfnExitProc)
-	{
-	    hRT = CreateRemoteThread((bDup) ? hProcessDup : hProcess,
-		NULL,
-		0,
-		/*
-		This relies on the probability that Kernel32.dll is mapped to the same place on all processes
-		If it gets relocated, this function will produce spurious results
-		*/
-		(LPTHREAD_START_ROUTINE)pfnExitProc,
-		UintToPtr(uExitCode)/*(LPVOID)uExitCode*/, 0, &dwTID);
-	}
-	
-	if (hRT == NULL)
-	    dwErr = GetLastError();
-    }
-    else
-    {
-	dwErr = ERROR_PROCESS_ABORTED;
-    }
-
-    if (hRT)
-    {
-	if (WaitForSingleObject((bDup) ? hProcessDup : hProcess, 30000) == WAIT_OBJECT_0)
-	    bSuccess = TRUE;
-	else
-	{
-	    dwErr = ERROR_TIMEOUT;
-	    bSuccess = FALSE;
-	}
-	CloseHandle(hRT);
-    }
-
-    if (bDup)
-	CloseHandle(hProcessDup);
-
-    if (!bSuccess)
-	SetLastError(dwErr);
-
-    return bSuccess;
-}
-#endif
-
-#undef FCNAME
-#define FCNAME "smpd_kill_process"
-int smpd_kill_process(smpd_process_t *process, int exit_code)
-{
-    int result = SMPD_SUCCESS;
-#ifdef HAVE_WINDOWS_H
-    smpd_enter_fn(FCNAME);
-
-    smpd_process_from_registry(process);
-    if (!SafeTerminateProcess(process->wait.hProcess, exit_code)){
-        smpd_err_printf("unable terminate process safely. exit_code = %d\n", exit_code);
-	    if (GetLastError() != ERROR_PROCESS_ABORTED){
-            if(!TerminateProcess(process->wait.hProcess, exit_code)){
-                if (GetLastError() != ERROR_PROCESS_ABORTED){
-                    result = SMPD_FAIL;
-                }
-            }
-	    }
-    }
-    smpd_exit_fn(FCNAME);
-    return result;
-#else
-    int status;
-    smpd_enter_fn(FCNAME);
-
-    smpd_dbg_printf("killing process %d\n", process->wait);
-    if(kill(process->wait, /*SIGTERM*/SIGKILL) == -1){
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-#endif
-}
-
-#undef FCNAME
-#define FCNAME "smpd_kill_all_processes"
-int smpd_kill_all_processes(void)
-{
-    smpd_process_t *iter;
-
-    smpd_enter_fn(FCNAME);
-
-    if (smpd_process.local_root)
-    {
-	/* the mpiexec process should not kill the smpd manager that it created for the -localroot option */
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-
-    if (smpd_process.rsh_mpiexec)
-    {
-	int i;
-	int count = 0;
-	iter = smpd_process.process_list;
-	while (iter)
-	{
-	    count++;
-	    iter = iter->next;
-	}
-	if (count > 0)
-	{
-	    smpd_pwait_t *wait_array;
-	    wait_array = (smpd_pwait_t*)MPIU_Malloc(sizeof(smpd_pwait_t) * count);
-	    for (i=0, iter = smpd_process.process_list; i<count; i++)
-	    {
-		wait_array[i] = iter->wait;
-		iter = iter->next;
-	    }
-	    for (i=0; i<count; i++)
-	    {
-#ifdef HAVE_WINDOWS_H
-		if (!SafeTerminateProcess(wait_array[i].hProcess, 123))
-		{
-		    if (GetLastError() != ERROR_PROCESS_ABORTED)
-		    {
-			TerminateProcess(wait_array[i].hProcess, 255);
-		    }
-		}
-#else
-		kill(wait_array[i], /*SIGTERM*/SIGKILL);
-#endif
-	    }
-	}
-    }
-    else
-    {
-	iter = smpd_process.process_list;
-	while (iter)
-	{
-#ifdef HAVE_WINDOWS_H
-	    /*DWORD dwProcessId;*/
-	    smpd_process_from_registry(iter);
-	    /* For some reason break signals don't work on processes created by smpd_launch_process
-	    printf("ctrl-c process: %s\n", iter->exe);fflush(stdout);
-	    dwProcessId = GetProcessId(iter->wait.hProcess);
-	    GenerateConsoleCtrlEvent(CTRL_C_EVENT, dwProcessId);
-	    if (WaitForSingleObject(iter->wait.hProcess, 1000) != WAIT_OBJECT_0)
-	    {
-	    printf("breaking process: %s\n", iter->exe);fflush(stdout);
-	    GenerateConsoleCtrlEvent(CTRL_BREAK_EVENT, dwProcessId);
-	    if (WaitForSingleObject(iter->wait.hProcess, 1000) != WAIT_OBJECT_0)
-	    {
-	    */
-	    if (!SafeTerminateProcess(iter->wait.hProcess, 123))
-	    {
-		if (GetLastError() != ERROR_PROCESS_ABORTED)
-		{
-		    TerminateProcess(iter->wait.hProcess, 255);
-		}
-	    }
-	    /*
-	    }
-	    }
-	    */
-#else
-	    kill(iter->wait, /*SIGTERM*/SIGKILL);
-#endif
-	    iter = iter->next;
-	}
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_exit"
-int smpd_exit(int exitcode)
-{
-    smpd_enter_fn(FCNAME);
-    smpd_kill_all_processes();
-#ifdef HAVE_WINDOWS_H
-    smpd_finalize_drive_maps();
-#endif
-    smpd_finalize_printf();
-    PMPI_Finalize();
-    /* If we're exiting due to a user abort, use the exit code supplied by the abort call */
-    if (smpd_process.use_abort_exit_code)
-	exitcode = smpd_process.abort_exit_code;
-#ifdef HAVE_WINDOWS_H
-    if (smpd_process.hCloseStdinThreadEvent)
-    {
-	CloseHandle(smpd_process.hCloseStdinThreadEvent);
-    }
-    /* This is necessary because exit() can deadlock flushing file buffers while the stdin thread is running */
-    ExitProcess(exitcode);
-#else
-    exit(exitcode);
-    smpd_exit_fn(FCNAME);
-    return SMPD_FAIL;
-#endif
-}
diff --git a/src/pm/smpd/smpd_mapdrive.c b/src/pm/smpd/smpd_mapdrive.c
deleted file mode 100644
index 16d9dec..0000000
--- a/src/pm/smpd/smpd_mapdrive.c
+++ /dev/null
@@ -1,695 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-
-#include "smpd.h"
-
-static SMPD_BOOL UnmapDrive(char *pszDrive, char *pszError, int maxerrlength);
-static SMPD_BOOL MapDrive(char *pszDrive, char *pszShare, char *pszAccount, char *pszPassword, char *pszError, int maxerrlength);
-
-typedef struct DriveMapStruct
-{
-    int nRefCount;
-    char pszDrive[10];
-    char pszShare[MAX_PATH];
-    SMPD_BOOL bUnmap;
-    struct DriveMapStruct *pNext;
-} DriveMapStruct;
-
-DriveMapStruct * allocate_DriveMapStruct()
-{
-    DriveMapStruct *p;
-    p = (DriveMapStruct*)MPIU_Malloc(sizeof(DriveMapStruct));
-    if (p == NULL)
-	return NULL;
-    p->nRefCount = 1;
-    p->pszDrive[0] = '\0';
-    p->pNext = NULL;
-    p->bUnmap = SMPD_TRUE;
-    return p;
-}
-
-static DriveMapStruct *g_pDriveList = NULL;
-
-static SMPD_BOOL AlreadyMapped(char *pszDrive, char *pszShare, SMPD_BOOL *pMatched)
-{
-    DriveMapStruct *p;
-    if (g_pDriveList == NULL)
-	return SMPD_FALSE;
-    p = g_pDriveList;
-    while (p)
-    {
-	if (pszDrive[0] == p->pszDrive[0])
-	{
-	    if ((stricmp(pszShare, p->pszShare) == 0))
-	    {
-		p->nRefCount++;
-		*pMatched = SMPD_TRUE;
-	    }
-	    else
-		*pMatched = SMPD_FALSE;
-	    return SMPD_TRUE;
-	}
-	p = p->pNext;
-    }
-    return SMPD_FALSE;
-}
-
-static SMPD_BOOL CompareHosts(char *pszHost1, char *pszHost2)
-{
-    unsigned long ip1, ip2;
-    struct hostent *pH;
-
-    pH = gethostbyname(pszHost1);
-    if (pH == NULL)
-	return SMPD_FALSE;
-
-    ip1 = *(unsigned long*)(pH->h_addr_list[0]);
-
-    pH = gethostbyname(pszHost2);
-    if (pH == NULL)
-	return SMPD_FALSE;
-
-    ip2 = *(unsigned long*)(pH->h_addr_list[0]);
-
-    return (ip1 == ip2);
-}
-
-static BOOL EnumerateDisksFunc(LPNETRESOURCE lpnr, DWORD dwScope, DWORD dwType, char *pszDrive, char *pszShare, SMPD_BOOL *pbFound, SMPD_BOOL *pbMatched)
-{
-    DWORD dwResult, dwResultEnum;
-    HANDLE hEnum;
-    DWORD cbBuffer = 16384;      /* 16K is a good size */
-    DWORD cEntries = (DWORD)-1;         /* enumerate all possible entries */
-    LPNETRESOURCE lpnrLocal;     /* pointer to enumerated structures */
-    DWORD i;
-
-    dwResult = WNetOpenEnum(
-	dwScope,
-	dwType,
-	0,        /* enumerate all resources */
-	lpnr,     /* NULL first time the function is called */
-	&hEnum);  /* handle to the resource */
-
-    if (dwResult != NO_ERROR)
-	return FALSE;
-
-    lpnrLocal = (LPNETRESOURCE) GlobalAlloc(GPTR, cbBuffer);
-
-    do
-    {  
-	ZeroMemory(lpnrLocal, cbBuffer);
-	dwResultEnum = WNetEnumResource(
-	    hEnum,      /* resource handle */
-	    &cEntries,  /* defined locally as -1 */
-	    lpnrLocal,  /* LPNETRESOURCE */
-	    &cbBuffer); /* buffer size */
-	/* If the call succeeds, loop through the structures. */
-	if (dwResultEnum == NO_ERROR)
-	{
-	    for(i = 0; i < cEntries; i++)
-	    {
-		if (lpnrLocal[i].lpLocalName && lpnrLocal[i].lpRemoteName)
-		{
-		    if (toupper(*lpnrLocal[i].lpLocalName) == *pszDrive)
-		    {
-			*pbFound = SMPD_TRUE;
-			if ((stricmp(lpnrLocal[i].lpRemoteName, pszShare) == 0))
-			{
-			    *pbMatched = SMPD_TRUE;
-			}
-			else
-			{
-			    char *pPath1, *pPath2;
-			    pPath1 = strstr(&lpnrLocal[i].lpRemoteName[2], "\\");
-			    if (pPath1 != NULL)
-			    {
-				pPath1++; /* advance over the \ character */
-				pPath2 = strstr(&pszShare[2], "\\");
-				if (pPath2 != NULL)
-				{
-				    pPath2++; /* advance over the \ character */
-				    if (stricmp(pPath1, pPath2) == 0)
-				    {
-					char pszHost1[50], pszHost2[50];
-					int nLength1, nLength2;
-					nLength1 = (int)(pPath1 - &lpnrLocal[i].lpRemoteName[2] - 1);
-					nLength2 = (int)(pPath2 - &pszShare[2] - 1);
-					strncpy(pszHost1, &lpnrLocal[i].lpRemoteName[2], nLength1);
-					strncpy(pszHost2, &pszShare[2], nLength2);
-					pszHost1[nLength1] = '\0';
-					pszHost2[nLength2] = '\0';
-					if (CompareHosts(pszHost1, pszHost2))
-					    *pbMatched = SMPD_TRUE;
-				    }
-				}
-			    }
-			}
-		    }
-		}
-
-		/* If the NETRESOURCE structure represents a container resource,  */
-		/*  call the EnumerateDisksFunc function recursively. */
-		if (RESOURCEUSAGE_CONTAINER == (lpnrLocal[i].dwUsage & RESOURCEUSAGE_CONTAINER))
-		    EnumerateDisksFunc(&lpnrLocal[i], dwScope, dwType, pszDrive, pszShare, pbFound, pbMatched);
-	    }
-	}
-	else if (dwResultEnum != ERROR_NO_MORE_ITEMS)
-	{
-	    break;
-	}
-    } while(dwResultEnum != ERROR_NO_MORE_ITEMS);
-
-    GlobalFree((HGLOBAL)lpnrLocal);
-
-    dwResult = WNetCloseEnum(hEnum);
-
-    if (dwResult != NO_ERROR)
-	return FALSE;
-
-    return TRUE;
-}
-
-static SMPD_BOOL MatchesExistingMapping(char *pszDrive, char *pszShare)
-{
-    SMPD_BOOL bFound = SMPD_FALSE;
-    SMPD_BOOL bMatched = SMPD_FALSE;
-    char ch;
-
-    if (pszDrive == NULL || pszShare == NULL)
-	return SMPD_FALSE;
-
-    ch = (char)(toupper(*pszDrive));
-    EnumerateDisksFunc(NULL, RESOURCE_CONNECTED, RESOURCETYPE_DISK, &ch, pszShare, &bFound, &bMatched);
-    if (bMatched)
-	return SMPD_TRUE;
-    EnumerateDisksFunc(NULL, RESOURCE_REMEMBERED, RESOURCETYPE_DISK, &ch, pszShare, &bFound, &bMatched);
-    if (bMatched)
-	return SMPD_TRUE;
-
-    /* If it was not found, assume that it matches */
-    return !bFound;
-}
-
-static void RemoveDriveStruct(char *pszDrive)
-{
-    DriveMapStruct *p, *pTrailer;
-
-    pTrailer = p = g_pDriveList;
-    while (p)
-    {
-	if (p->pszDrive[0] == pszDrive[0])
-	{
-	    p->nRefCount--;
-	    if (p->nRefCount == 0)
-	    {
-		if (pTrailer != p)
-		    pTrailer->pNext = p->pNext;
-		if (g_pDriveList == p)
-		    g_pDriveList = g_pDriveList->pNext;
-		MPIU_Free(p);
-	    }
-	    return;
-	}
-	if (pTrailer != p)
-	    pTrailer = pTrailer->pNext;
-	p = p->pNext;
-    }
-}
-
-#undef FCNAME
-#define FCNAME "smpd_finalize_drive_maps"
-void smpd_finalize_drive_maps()
-{
-    char err_msg[256];
-    char temp[MAX_PATH+2];
-
-    smpd_enter_fn(FCNAME);
-    while (g_pDriveList)
-    {
-	snprintf(temp, MAX_PATH+2, "%c:%s", g_pDriveList->pszDrive[0], g_pDriveList->pszShare);
-	if (!UnmapDrive(temp, err_msg, 256))
-	    break;
-    }
-    while (g_pDriveList)
-    {
-	RemoveDriveStruct(g_pDriveList->pszDrive);
-    }
-    smpd_exit_fn(FCNAME);
-}
-
-static SMPD_BOOL ParseDriveShareAccountPassword(char *str, char *pszDrive, char *pszShare, char *pszAccount, char *pszPassword)
-{
-    pszDrive[0] = str[0];
-    pszDrive[1] = ':';
-    pszDrive[2] = '\0';
-    while (*str != '\\')
-	str++;
-    if (strstr(str, ":"))
-    {
-	while (*str != ':')
-	    *pszShare++ = *str++;
-	*pszShare = '\0';
-	str++;
-	if (!strstr(str, ":"))
-	    return SMPD_FALSE;
-	while (*str != ':')
-	    *pszAccount++ = *str++;
-	*pszAccount = '\0';
-	str++;
-	strcpy(pszPassword, str);
-    }
-    else
-    {
-	strcpy(pszShare, str);
-	*pszAccount = '\0';
-    }
-    return SMPD_TRUE;
-}
-
-#ifdef HAVE_WINDOWS_H
-/* There can be atmost 26 logical drives -- currently limiting to 20*/
-#define SMPD_LOGICALDRVNUM_MAX      20
-/* Each drive letter occupies 3 TCHARs -- "A:\" */
-#define SMPD_LOGICALDRVLEN_MAX      3
-/* Each drive string is of the form "%s0x0" - 1 delim */
-#define SMPD_LOGICALDRVDELIM_MAX    1
-#define SMPD_LOGICALDRVSTR_NODELIM_MAX      \
-    (SMPD_LOGICALDRVNUM_MAX * (SMPD_LOGICALDRVLEN_MAX * sizeof(TCHAR)))
-#define SMPD_LOGICALDRVSTR_MAX      \
-    (SMPD_LOGICALDRVSTR_NODELIM_MAX + SMPD_LOGICALDRVDELIM_MAX * SMPD_LOGICALDRVNUM_MAX * sizeof(TCHAR))
-/* Each map string is of the form "%s%s;" - 1 delims */
-#define SMPD_MAPLISTDELIM_MAX       1
-/* Network drv name \\compname\share -- is currently limited to 100 TCHARS */
-#define SMPD_MAPNETWORKDRVSTR_MAX   100
-/* Map list item = "%s%s;" - A:\\compname\share; */
-#define SMPD_MAPLISTITEM_MAX    \
-    (SMPD_LOGICALDRVLEN_MAX * sizeof(TCHAR) + SMPD_MAPLISTDELIM_MAX + SMPD_MAPNETWORKDRVSTR_MAX)
-    
-#define SMPD_MAPLISTSTR_MAX (SMPD_MAPLISTITEM_MAX * SMPD_LOGICALDRVNUM_MAX)
-
-#undef FCNAME
-#define FCNAME "smpd_get_network_drives"
-int smpd_get_network_drives(char *pMapList, int mapListLen){
-    DWORD retVal, mapNetworkDrvLen;
-    int mapListCurLen = 0;
-    UINT drvType;
-    LPTSTR pDrv, pNetDrv;
-    /* TODO : Allocate these large arrays in heap */
-    TCHAR logicalDrvs[SMPD_LOGICALDRVSTR_MAX], mapNetworkDrv[SMPD_MAPNETWORKDRVSTR_MAX];
-    smpd_enter_fn(FCNAME);
-    if(mapListLen <= SMPD_MAPLISTSTR_MAX){
-        mapListCurLen = mapListLen;
-    }
-    else{
-   		smpd_err_printf("Error: Not enough mem for mapping network drive\n");
-		smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-    if(retVal = GetLogicalDriveStrings(SMPD_LOGICALDRVSTR_MAX, logicalDrvs)){
-        /* logicalDrvs = "A:\[0x0]C:\[0x0]X:\[0x0][0x0]" */
-        pDrv = logicalDrvs;
-        while(*pDrv){
-            drvType = GetDriveType(pDrv);
-            pNetDrv = pDrv;
-            /* Increment pDrv before any changes to the contents */
-            pDrv += (_tcslen(pDrv) + sizeof(TCHAR));
-            switch(drvType){
-            /* Network mapped drive */
-            case DRIVE_REMOTE:
-                /* Convert "A:\[0x0]" to "A:[0x0][0x0]" */  
-                pNetDrv[_tcslen(pNetDrv) - sizeof(TCHAR)] = _T('\0');
-                mapNetworkDrvLen=SMPD_MAPNETWORKDRVSTR_MAX;
-                if((retVal  = WNetGetConnection(pNetDrv, mapNetworkDrv, &mapNetworkDrvLen)) 
-                            == NO_ERROR){
-                    if((mapNetworkDrvLen <= SMPD_MAPNETWORKDRVSTR_MAX) 
-                            && (mapListCurLen >= SMPD_MAPLISTITEM_MAX)){
-                        int len=0;    
-                        len = MPIU_Snprintf(pMapList, SMPD_MAPLISTITEM_MAX,
-                        "%s%s;",pNetDrv, mapNetworkDrv);
-                        pMapList += len;
-                        mapListCurLen -= len;
-                    }else{
-                   	smpd_err_printf("Error: Not enough space for copying result (%s) of WNetGetConnection(%s, ...)\n",
-                                        mapNetworkDrv, pNetDrv);
-	    	            smpd_exit_fn(FCNAME);
-                        return SMPD_FAIL;
-                    }
-                }else{
-               	    smpd_err_printf("Error: WNetGetConnection(%s, ...) failed\n", pNetDrv);
-		            smpd_exit_fn(FCNAME);
-                    return SMPD_FAIL;
-                }
-                break;
-            default:  
-                break;
-            }
-        }
-    }else{
-   		smpd_err_printf("Error: Could not access mapped drives, GetLogicalDriveStrings() failed (errcode=%d)\n", retVal);
-		smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-#endif
-
-#undef FCNAME
-#define FCNAME "smpd_map_user_drives"
-SMPD_BOOL smpd_map_user_drives(char *pszMap, char *pszAccount, char *pszPassword, char *pszError, int maxerrlength)
-{
-    char pszDrive[3];
-    char pszShare[MAX_PATH];
-    char ipszAccount[SMPD_MAX_ACCOUNT_LENGTH];
-    char ipszPassword[SMPD_MAX_PASSWORD_LENGTH];
-    char *token;
-    char *temp = MPIU_Strdup(pszMap);
-    SMPD_BOOL retVal = SMPD_TRUE;
-
-    smpd_enter_fn(FCNAME);
-
-    token = strtok(temp, ";\n");
-    if (token == NULL)
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_TRUE;
-    }
-    while (token != NULL)
-    {
-	ipszAccount[0] = '\0';
-	if (ParseDriveShareAccountPassword(token, pszDrive, pszShare, ipszAccount, ipszPassword))
-	{
-	    if (ipszAccount[0]  != '\0')
-	    {
-		if (!MapDrive(pszDrive, pszShare, ipszAccount, ipszPassword, pszError, maxerrlength))
-		{
-		    smpd_err_printf("MapUserDrives: MapDrive(%s, %s, %s, ... ) failed, %s\n", pszDrive, pszShare, ipszAccount, pszError);
-            retVal = SMPD_FALSE;
-            /*    
-		    MPIU_Free(temp);
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FALSE;
-            */
-		}
-	    }
-	    else
-	    {
-		if (!MapDrive(pszDrive, pszShare, pszAccount, pszPassword, pszError, maxerrlength))
-		{
-		    smpd_err_printf("MapUserDrives: MapDrive(%s, %s, %s, ... ) failed, %s\n", pszDrive, pszShare, pszAccount, pszError);
-            retVal = SMPD_FALSE;
-            /*
-		    MPIU_Free(temp);
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FALSE;
-            */
-		}
-	    }
-	}
-	token = strtok(NULL, ";\n");
-    }
-    MPIU_Free(temp);
-
-    smpd_exit_fn(FCNAME);
-    return retVal;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_unmap_user_drives"
-SMPD_BOOL smpd_unmap_user_drives(char *pszMap)
-{
-    char pszError[256];
-    char pszDrive[3];
-    char pszShare[MAX_PATH];
-    char pszAccount[SMPD_MAX_ACCOUNT_LENGTH];
-    char pszPassword[SMPD_MAX_PASSWORD_LENGTH];
-    char *temp = MPIU_Strdup(pszMap);
-    char *token;
-
-    smpd_enter_fn(FCNAME);
-
-    token = strtok(temp, ";\n");
-    if (token == NULL)
-    {
-	MPIU_Free(temp);
-	smpd_exit_fn(FCNAME);
-	return SMPD_TRUE;
-    }
-    while (token != NULL)
-    {
-	if (ParseDriveShareAccountPassword(token, pszDrive, pszShare, pszAccount, pszPassword))
-	{
-	    if (!UnmapDrive(pszDrive, pszError, 256))
-	    {
-		MPIU_Free(temp);
-		smpd_exit_fn(FCNAME);
-		return SMPD_FALSE;
-	    }
-	}
-	token = strtok(NULL, ";\n");
-    }
-    MPIU_Free(temp);
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_FALSE;
-}
-
-static SMPD_BOOL MapDrive(char *pszDrive, char *pszShare, char *pszAccount, char *pszPassword, char *pszError, int maxerrlength)
-{
-    char pszDriveLetter[3];
-    DWORD dwResult;
-    char pszName[1024];
-    char pszProvider[256];
-    NETRESOURCE net;
-    SMPD_BOOL bMatched;
-
-    if (pszDrive == NULL)
-    {
-	MPIU_Strncpy(pszError, "Invalid drive string\n", maxerrlength);
-	return SMPD_FALSE;
-    }
-    pszDriveLetter[0] = pszDrive[0];
-    pszDriveLetter[1] = ':';
-    pszDriveLetter[2] = '\0';
-
-    memset(&net, 0, sizeof(NETRESOURCE));
-    net.lpLocalName = pszDriveLetter;
-    net.lpRemoteName = pszShare;
-    net.dwType = RESOURCETYPE_DISK;
-    net.lpProvider = NULL;
-
-    if (AlreadyMapped(pszDriveLetter, pszShare, &bMatched))
-    {
-	if (bMatched)
-	    return SMPD_TRUE;
-	snprintf(pszError, maxerrlength,"Drive %s already mapped.\n", pszDrive);
-	smpd_err_printf("MapDrive failed, drive is already mapped\n");
-	return SMPD_FALSE;
-    }
-
-    if (pszAccount != NULL)
-    {
-	if (*pszAccount == '\0')
-	{
-	    /* Change empty username to NULL pointer to work with WNetAddConnection2. */
-	    pszAccount = NULL;
-	    pszPassword = NULL;
-	}
-    }
-
-    dwResult = WNetAddConnection2(&net, pszPassword, pszAccount, CONNECT_REDIRECT);
-
-    if (dwResult == NO_ERROR)
-    {
-	DriveMapStruct *p = allocate_DriveMapStruct();
-	if (p == NULL)
-	{
-        MPIU_Strncpy(pszError, "unable to allocate a drive map structure.\n", maxerrlength);
-	    smpd_err_printf("unable to allocate a drive map structure.\n");
-	    return SMPD_FALSE;
-	}
-	strcpy(p->pszDrive, pszDriveLetter);
-	MPIU_Strncpy(p->pszShare, pszShare, MAX_PATH);
-	p->pNext = g_pDriveList;
-	g_pDriveList = p;
-	return SMPD_TRUE;
-    }
-
-    switch (dwResult)
-    {
-    case ERROR_ACCESS_DENIED:
-	snprintf(pszError, maxerrlength, "Access to the network resource (%s) was denied.\n", pszShare);
-	break;
-    case ERROR_ALREADY_ASSIGNED:
-	if (MatchesExistingMapping(pszDriveLetter, pszShare))
-	{
-	    DriveMapStruct *p = allocate_DriveMapStruct();
-	    strcpy(p->pszDrive, pszDriveLetter);
-	    MPIU_Strncpy(p->pszShare, pszShare, MAX_PATH);
-	    p->bUnmap = SMPD_FALSE; /* don't unmap this drive since it was mapped outside mpd */
-	    p->pNext = g_pDriveList;
-	    g_pDriveList = p;
-	    return SMPD_TRUE;
-	}
-	else
-	{
-	    snprintf(pszError, maxerrlength, "The local device '%s' is already connected to a network resource.\n", pszDriveLetter);
-	}
-	break;
-    case ERROR_BAD_DEV_TYPE:
-	snprintf(pszError, maxerrlength, "The type of local device and the type of network resource (%s) do not match.\n", pszShare);
-	break;
-    case ERROR_BAD_DEVICE:
-	snprintf(pszError, maxerrlength, "The value '%s' is invalid.", pszDriveLetter);
-	break;
-    case ERROR_BAD_NET_NAME:
-	snprintf(pszError, maxerrlength,"The value '%s' is not acceptable to any network resource provider because the resource name is invalid, or because the named resource cannot be located.", pszShare);
-	break;
-    case ERROR_BAD_PROFILE:
-	snprintf(pszError, maxerrlength, "Unable to map %s. The user profile is in an incorrect format.\n", pszShare);
-	break;
-    case ERROR_BAD_PROVIDER:
-    snprintf(pszError, maxerrlength, "Unable to map %s. The value specified by the lpProvider member does not match any provider.\n", pszShare);
-	break;
-    case ERROR_BUSY:
-    snprintf(pszError, maxerrlength, "Unable to map %s. The router or provider is busy, possibly initializing. The caller should retry.\n", pszShare);
-	break;
-    case ERROR_CANCELLED:
-    snprintf(pszError, maxerrlength, "Unable to map %s. The attempt to make the connection was canceled by the user through a dialog box from one of the network resource providers, or by a called resource.\n", pszShare);
-	break;
-    case ERROR_CANNOT_OPEN_PROFILE:
-    snprintf(pszError, maxerrlength, "Unable to map %s. The system is unable to open the user profile to process persistent connections.\n", pszShare);
-	break;
-    case ERROR_DEVICE_ALREADY_REMEMBERED:
-	if (MatchesExistingMapping(pszDriveLetter, pszShare))
-	{
-	    DriveMapStruct *p = allocate_DriveMapStruct();
-	    strcpy(p->pszDrive, pszDriveLetter);
-	    MPIU_Strncpy(p->pszShare, pszShare, MAX_PATH);
-	    p->bUnmap = SMPD_FALSE; /* don't unmap this drive since it was mapped outside mpd */
-	    p->pNext = g_pDriveList;
-	    g_pDriveList = p;
-	    return SMPD_TRUE;
-	}
-	else
-	{
-	    snprintf(pszError, maxerrlength,"An entry for the device '%s' is already in the user profile.\n", pszDriveLetter);
-	}
-	break;
-    case ERROR_EXTENDED_ERROR:
-	if (WNetGetLastError(&dwResult, pszName, 1024, pszProvider, 256) == NO_ERROR)
-	{
-	    snprintf(pszError, maxerrlength,"'%s' returned this error: %d, %s", pszProvider, dwResult, pszName);
-	}
-	else
-	{
-	    snprintf(pszError, maxerrlength, "Unable to map %s. A network-specific error occurred.\n", pszShare);
-	}
-	break;
-    case ERROR_INVALID_PASSWORD:
-    snprintf(pszError, maxerrlength, "Unable to map %s. The specified password is invalid.\n", pszShare);
-	break;
-    case ERROR_NO_NET_OR_BAD_PATH:
-    snprintf(pszError, maxerrlength, "Unable to map %s. The operation could not be completed, either because a network component is not started, or because the specified resource name is not recognized.\n", pszShare);
-	break;
-    case ERROR_NO_NETWORK:
-    snprintf(pszError, maxerrlength, "Unable to map %s. The network is unavailable.\n", pszShare);
-	break;
-    default:
-	smpd_translate_win_error(dwResult, pszError, maxerrlength, NULL);
-    snprintf(pszError, maxerrlength, "Unable to map %s. (error %d)\n", pszShare, dwResult);
-	break;
-    }
-
-    smpd_err_printf("MapDrive failed, error: %s\n", pszError);
-    return SMPD_FALSE;
-}
-
-static SMPD_BOOL UnmapDrive(char *pszDrive, char *pszError, int maxerrlength)
-{
-    char pszName[1024];
-    char pszProvider[256];
-    char pszDriveLetter[3];
-    DWORD dwResult;
-    DriveMapStruct *p = g_pDriveList;
-
-    if (pszDrive == NULL)
-    {
-	return SMPD_FALSE;
-    }
-    pszDriveLetter[0] = pszDrive[0];
-    pszDriveLetter[1] = ':';
-    pszDriveLetter[2] = '\0';
-
-    while (p)
-    {
-	if (p->pszDrive[0] == pszDrive[0])
-	{
-	    if (p->nRefCount > 1)
-	    {
-		p->nRefCount--;
-		return SMPD_TRUE;
-	    }
-	    break;
-	}
-	p = p->pNext;
-    }
-
-	if(p == NULL){
-        return SMPD_FALSE;
-    }
-
-    if (p->bUnmap)
-    {
-	dwResult = WNetCancelConnection2(pszDriveLetter, 
-	    CONNECT_UPDATE_PROFILE, /* This option makes sure that the connection is not re-established at the next user logon */
-	    TRUE);
-    }
-    else
-    {
-	dwResult = NO_ERROR;
-    }
-
-    if (dwResult == NO_ERROR)
-    {
-	RemoveDriveStruct(pszDriveLetter);
-	return SMPD_TRUE;
-    }
-
-    switch (dwResult)
-    {
-    case ERROR_BAD_PROFILE:
-	strcpy(pszError, "The user profile is in an incorrect format.");
-	break;
-    case ERROR_CANNOT_OPEN_PROFILE:
-	strcpy(pszError, "The system is unable to open the user profile to process persistent connections.");
-	break;
-    case ERROR_DEVICE_IN_USE:
-	strcpy(pszError, "The device is in use by an active process and cannot be disconnected.");
-	break;
-    case ERROR_EXTENDED_ERROR:
-	if (WNetGetLastError(&dwResult, pszName, 1024, pszProvider, 256) == NO_ERROR)
-	{
-	    sprintf(pszError, "'%s' returned this error: %d, %s", pszProvider, dwResult, pszName);
-	}
-	else
-	{
-	    strcpy(pszError, "A network-specific error occurred.");
-	}
-	break;
-    case ERROR_NOT_CONNECTED:
-	sprintf(pszError, "'%s' is not a redirected device, or the system is not currently connected to '%s'.", pszDriveLetter, pszDriveLetter);
-	break;
-    case ERROR_OPEN_FILES:
-	strcpy(pszError, "There are open files, the drive cannot be disconnected.");
-	break;
-    default:
-	smpd_translate_win_error(dwResult, pszError, maxerrlength, NULL);
-	break;
-    }
-
-    return SMPD_FALSE;
-}
diff --git a/src/pm/smpd/smpd_printf.c b/src/pm/smpd/smpd_printf.c
deleted file mode 100644
index 037046f..0000000
--- a/src/pm/smpd/smpd_printf.c
+++ /dev/null
@@ -1,780 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-
-#include "smpd.h"
-#include <stdio.h>
-#ifdef HAVE_STDARG_H
-#include <stdarg.h>
-#endif
-#ifdef HAVE_STRING_H
-#include <string.h>
-#endif
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-
-#define SMPD_MAX_INDENT 20
-static char indent[SMPD_MAX_INDENT+1] = "";
-static int cur_indent = 0;
-
-#ifdef HAVE_WINDOWS_H
-void smpd_translate_win_error(int error, char *msg, int maxlen, char *prepend, ...)
-{
-    HLOCAL str;
-    int num_bytes;
-    int len;
-    va_list list;
-
-    num_bytes = FormatMessage(
-	FORMAT_MESSAGE_FROM_SYSTEM |
-	FORMAT_MESSAGE_ALLOCATE_BUFFER,
-	0,
-	error,
-	MAKELANGID( LANG_NEUTRAL, SUBLANG_DEFAULT ),
-	(LPTSTR) &str,
-	0,0);
-    if (prepend == NULL)
-	memcpy(msg, str, min(maxlen, num_bytes+1));
-    else
-    {
-	va_start(list, prepend);
-	len = vsnprintf(msg, maxlen, prepend, list);
-	va_end(list);
-	msg += len;
-	maxlen -= len;
-	snprintf(msg, maxlen, "%s", str);
-    }
-    LocalFree(str);
-}
-#endif
-
-char * get_sock_error_string(int error)
-{
-    static char str[1024];
-
-    if (error == SMPD_SUCCESS){
-	    return "operation completed successfully";
-    }
-    else{
-        /* FIXME : For now ... translate correctly later */
-        MPIU_Snprintf(str, 1024, "Error = %d\n", error);
-        return str;
-    }
-
-    /* str[0] = '\0'; */
-    /*
-    SMPDR_Err_get_string(error, str, 1024, SMPDU_Sock_get_error_class_string);
-    */
-    /* smpd_translate_win_error(error, str, 1024, "(error =", error, ") "); */
-    /*
-    SMPDR_Err_get_string_ext(error, str, 1024, SMPDU_Sock_get_error_class_string);
-    if (SMPDR_Err_print_stack_flag)
-    {
-	char *str2;
-	int len;
-	strcat(str, "\n");
-	len = (int)strlen(str);
-	str2 = str + len;
-	SMPDR_Err_print_stack_string_ext(error, str2, 1024-len, SMPDU_Sock_get_error_class_string);
-    }
-    */
-
-    /* return str; */
-}
-
-char * smpd_get_context_str(smpd_context_t *context)
-{
-    if (context == NULL)
-	return "null";
-    switch (context->type)
-    {
-    case SMPD_CONTEXT_INVALID:
-	return "invalid";
-    case SMPD_CONTEXT_STDIN:
-	return "stdin";
-    case SMPD_CONTEXT_MPIEXEC_STDIN:
-	return "mpi_stdin";
-    case SMPD_CONTEXT_MPIEXEC_STDIN_RSH:
-	return "mpi_stdin_rsh";
-    case SMPD_CONTEXT_STDOUT:
-	return "stdout";
-    case SMPD_CONTEXT_STDOUT_RSH:
-	return "stdout_rsh";
-    case SMPD_CONTEXT_STDERR:
-	return "stderr";
-    case SMPD_CONTEXT_STDERR_RSH:
-	return "stderr_rsh";
-    case SMPD_CONTEXT_PARENT:
-	return "parent";
-    case SMPD_CONTEXT_LEFT_CHILD:
-	return "left";
-    case SMPD_CONTEXT_RIGHT_CHILD:
-	return "right";
-    case SMPD_CONTEXT_CHILD:
-	return "child";
-    case SMPD_CONTEXT_LISTENER:
-	return "listener";
-    case SMPD_CONTEXT_PMI_LISTENER:
-    return "PMI_LISTENER";
-    case SMPD_CONTEXT_SMPD:
-	return "smpd";
-    case SMPD_CONTEXT_PMI:
-	return "pmi";
-    case SMPD_CONTEXT_TIMEOUT:
-	return "timeout";
-    case SMPD_CONTEXT_MPIEXEC_ABORT:
-	return "MPIEXEC_ABORT";
-    case SMPD_CONTEXT_SINGLETON_INIT_CLIENT:
-    return "SINGLETON_INIT_CLIENT";
-    case SMPD_CONTEXT_SINGLETON_INIT_MPIEXEC:
-    return "SINGLETON_INIT_MPIEXEC";
-    case SMPD_CONTEXT_UNDETERMINED:
-	return "undetermined";
-    case SMPD_CONTEXT_FREED:
-	return "freed";
-    }
-    return "unknown";
-}
-
-int smpd_init_printf(void)
-{
-    char * envstr;
-    static int initialized = 0;
-    char str[1024];
-    int len;
-
-    if (initialized)
-	return 0;
-    initialized = 1;
-
-    smpd_process.dbg_state = SMPD_DBG_STATE_ERROUT;
-
-    envstr = getenv("SMPD_DBG_OUTPUT");
-    if (envstr != NULL)
-    {
-	if (strstr(envstr, "stdout"))
-	    smpd_process.dbg_state |= SMPD_DBG_STATE_STDOUT;
-	if (strstr(envstr, "log"))
-	    smpd_process.dbg_state |= SMPD_DBG_STATE_LOGFILE;
-	if (strstr(envstr, "rank"))
-	    smpd_process.dbg_state |= SMPD_DBG_STATE_PREPEND_RANK;
-	if (strstr(envstr, "trace"))
-	    smpd_process.dbg_state |= SMPD_DBG_STATE_TRACE;
-	if (strstr(envstr, "all"))
-	    smpd_process.dbg_state = SMPD_DBG_STATE_ALL;
-    }
-
-    if (smpd_option_on("log"))
-	smpd_process.dbg_state |= SMPD_DBG_STATE_LOGFILE;
-    if (smpd_option_on("prepend_rank"))
-	smpd_process.dbg_state |= SMPD_DBG_STATE_PREPEND_RANK;
-    if (smpd_option_on("trace"))
-	smpd_process.dbg_state |= SMPD_DBG_STATE_TRACE;
-
-    if (smpd_process.dbg_state & SMPD_DBG_STATE_LOGFILE)
-    {
-	envstr = getenv("SMPD_DBG_LOG_FILENAME");
-	if (envstr)
-	{
-	    strcpy(smpd_process.dbg_filename, envstr);
-	}
-	else
-	{
-	    if (smpd_get_smpd_data("logfile", smpd_process.dbg_filename, SMPD_MAX_FILENAME) != SMPD_SUCCESS)
-	    {
-		smpd_process.dbg_state ^= SMPD_DBG_STATE_LOGFILE;
-	    }
-	}
-	if (smpd_get_smpd_data("max_logfile_size", str, 1024) == SMPD_SUCCESS)
-	{
-	    smpd_process.dbg_file_size = atoi(str);
-	}
-	envstr = getenv("SMPD_MAX_LOG_FILE_SIZE");
-	if (envstr)
-	{
-	    len = atoi(envstr);
-	    if (len > 0)
-	    {
-		smpd_process.dbg_file_size = atoi(envstr);
-	    }
-	}
-    }
-
-#ifdef HAVE_WINDOWS_H
-    if (!smpd_process.bOutputInitialized)
-    {
-	smpd_process.hOutputMutex = CreateMutex(NULL, FALSE, SMPD_OUTPUT_MUTEX_NAME);
-	smpd_process.bOutputInitialized = TRUE;
-    }
-#endif
-    return SMPD_SUCCESS;
-}
-
-int smpd_finalize_printf()
-{
-    fflush(stdout);
-    fflush(stderr);
-    return SMPD_SUCCESS;
-}
-
-void smpd_clean_output(char *str)
-{
-    char *temp_str;
-
-    temp_str = strstr(str, "password");
-    while (temp_str != NULL)
-    {
-	smpd_hide_string_arg(temp_str, "password");
-	temp_str = strstr(temp_str+1, "password");
-    }
-
-    temp_str = strstr(str, "pwd");
-    while (temp_str != NULL)
-    {
-	smpd_hide_string_arg(temp_str, "pwd");
-	temp_str = strstr(temp_str+1, "pwd");
-    }
-
-    temp_str = strstr(str, "phrase");
-    while (temp_str != NULL)
-    {
-	smpd_hide_string_arg(temp_str, "phrase");
-	temp_str = strstr(temp_str+1, "phrase");
-    }
-}
-
-static int read_file(FILE *fin, void *buffer, int length)
-{
-    int num_read, total = 0;
-    char *buf = buffer;
-
-    while (length > 0)
-    {
-	num_read = (int)fread(buf, sizeof(char), (size_t)length, fin);
-	if (num_read < 1)
-	{
-	    return total;
-	}
-	length = length - num_read;
-	buf = buf + num_read;
-	total = total + num_read;
-    }
-    return total;
-}
-
-static int write_file(FILE *fout, void *buffer, int length)
-{
-    int num_written, total = 0;
-    char *buf = buffer;
-
-    while (length > 0)
-    {
-	num_written = (int)fwrite(buf, sizeof(char), (size_t)length, fout);
-	if (num_written < 1)
-	{
-	    return total;
-	}
-	length = length - num_written;
-	buf = buf + num_written;
-	total = total + num_written;
-    }
-    return total;
-}
-
-void smpd_trim_logfile()
-{
-    /* Do nothing until I can figure out why the trim code isn't working */
-}
-
-#if 0
-void smpd_trim_logfile_new()
-{
-    static int count = 0;
-    FILE *fout;
-    long size;
-    int num_read, num_written;
-    char *buffer, *buffer_orig;
-    char copy_cmd[4096];
-    int docopy = 0;
-    static copy_number = 0;
-    int a, b;
-
-    /* check every 1000 iterations */
-    if (count++ % 1000)
-	return;
-
-    fout = fopen(smpd_process.dbg_filename, "rb");
-    if (fout == NULL)
-    {
-	/*printf("unable to open the smpd log file\n");*/
-	return;
-    }
-    setvbuf(fout, NULL, _IONBF, 0);
-    fseek(fout, 0, SEEK_END);
-    size = ftell(fout);
-    if (size > smpd_process.dbg_file_size)
-    {
-	if (copy_number == 0)
-	{
-	    srand(smpd_getpid());
-	    copy_number = rand();
-	}
-	sprintf(copy_cmd, "copy %s %s.%d.old", smpd_process.dbg_filename, smpd_process.dbg_filename, copy_number);
-	system(copy_cmd);
-	buffer = buffer_orig = MPIU_Malloc(size);
-	if (buffer != NULL)
-	{
-	    fseek(fout, 0, SEEK_SET);
-	    num_read = read_file(fout, buffer, size);
-	    if (num_read == size)
-	    {
-		fclose(fout);
-		fout = fopen(smpd_process.dbg_filename, "rb");
-		if (fout == NULL)
-		{
-		}
-		setvbuf(fout, NULL, _IONBF, 0);
-		fseek(fout, -4, SEEK_END);
-		fread(&a, 1, 4, fout);
-		fclose(fout);
-		if (a != *(int*)&buffer[size-4])
-		{
-		    FILE *ferr = fopen("c:\\temp\\smpd.err", "a+");
-		    fprintf(ferr, "last 4 bytes not equal, a: %x != %x", a, *(int*)&buffer[size-4]);
-		    fclose(ferr);
-		}
-		fout = fopen(smpd_process.dbg_filename, "wb");
-		if (fout != NULL)
-		{
-		    buffer = buffer + size - (smpd_process.dbg_file_size / 2);
-		    size = smpd_process.dbg_file_size / 2;
-		    num_written = write_file(fout, buffer, size);
-		    docopy = 1;
-		    if (num_written != size)
-		    {
-			FILE *ferr = fopen("c:\\temp\\smpd.err", "a+");
-			fprintf(ferr, "wrote %d instead of %d bytes to the smpd log file.\n", num_written, size);
-			fclose(ferr);
-		    }
-		    /*
-		    else
-		    {
-			printf("wrote %d bytes to the smpd log file.\n", num_written);
-			fflush(stdout);
-		    }
-		    */
-		    fclose(fout);
-		    fout = fopen(smpd_process.dbg_filename, "rb");
-		    if (fout == NULL)
-		    {
-		    }
-		    setvbuf(fout, NULL, _IONBF, 0);
-		    fseek(fout, -4, SEEK_END);
-		    fread(&b, 1, 4, fout);
-		    fclose(fout);
-		    if (b != *(int*)&buffer[size-4])
-		    {
-			FILE *ferr = fopen("c:\\temp\\smpd.err", "a+");
-			fprintf(ferr, "last 4 bytes not equal, b: %x != %x", b, *(int*)&buffer[size-4]);
-			fclose(ferr);
-		    }
-		}
-		/*
-		else
-		{
-		    printf("unable to truncate the smpd log file.\n");
-		    fflush(stdout);
-		}
-		*/
-	    }
-	    /*
-	    else
-	    {
-		printf("read %d instead of %d bytes from the smpd log file.\n", num_read, size);
-		fflush(stdout);
-	    }
-	    */
-	    MPIU_Free(buffer_orig);
-	}
-	/*
-	else
-	{
-	    printf("malloc failed to allocate %d bytes.\n", smpd_process.dbg_file_size / 2);
-	    fflush(stdout);
-	}
-	*/
-    }
-    /*
-    else
-    {
-	printf("smpd file size: %d\n", size);
-	fflush(stdout);
-    }
-    */
-    fclose(fout);
-    if (docopy)
-    {
-	sprintf(copy_cmd, "copy %s %s.%d.new", smpd_process.dbg_filename, smpd_process.dbg_filename, copy_number);
-	system(copy_cmd);
-	copy_number++;
-    }
-}
-
-void smpd_trim_logfile_old()
-{
-    static int count = 0;
-    FILE *fout;
-    long size;
-    int num_read, num_written;
-    int new_size;
-    char *buffer;
-    char copy_cmd[4096];
-    int docopy = 0;
-    static copy_number = 0;
-    int a, b;
-
-    /* check every 1000 iterations */
-    if (count++ % 1000)
-	return;
-
-    fout = fopen(smpd_process.dbg_filename, "rb");
-    if (fout == NULL)
-    {
-	/*printf("unable to open the smpd log file\n");*/
-	return;
-    }
-    fseek(fout, 0, SEEK_END);
-    size = ftell(fout);
-    if (size > smpd_process.dbg_file_size)
-    {
-	if (copy_number == 0)
-	{
-	    srand(smpd_getpid());
-	    copy_number = rand();
-	}
-	sprintf(copy_cmd, "copy %s %s.%d.old", smpd_process.dbg_filename, smpd_process.dbg_filename, copy_number);
-	system(copy_cmd);
-	new_size = smpd_process.dbg_file_size / 2;
-	buffer = MPIU_Malloc(new_size);
-	if (buffer != NULL)
-	{
-	    fseek(fout, - (long)new_size, SEEK_END);
-	    num_read = read_file(fout, buffer, new_size);
-	    if (num_read == new_size)
-	    {
-		fclose(fout);
-		fout = fopen(smpd_process.dbg_filename, "rb");
-		fseek(fout, -4, SEEK_END);
-		fread(&a, 1, 4, fout);
-		fclose(fout);
-		if (a != *(int*)&buffer[new_size-4])
-		{
-		    FILE *ferr = fopen("c:\\temp\\smpd.err", "a+");
-		    fprintf(ferr, "last 4 bytes not equal, a: %x != %x", a, *(int*)&buffer[new_size-4]);
-		    fclose(ferr);
-		}
-		fout = fopen(smpd_process.dbg_filename, "wb");
-		if (fout != NULL)
-		{
-		    num_written = write_file(fout, buffer, new_size);
-		    docopy = 1;
-		    if (num_written != new_size)
-		    {
-			FILE *ferr = fopen("c:\\temp\\smpd.err", "a+");
-			fprintf(ferr, "wrote %d instead of %d bytes to the smpd log file.\n", num_written, new_size);
-			fclose(ferr);
-		    }
-		    /*
-		    else
-		    {
-			printf("wrote %d bytes to the smpd log file.\n", num_written);
-			fflush(stdout);
-		    }
-		    */
-		    fclose(fout);
-		    fout = fopen(smpd_process.dbg_filename, "rb");
-		    fseek(fout, -4, SEEK_END);
-		    fread(&b, 1, 4, fout);
-		    fclose(fout);
-		    if (b != *(int*)&buffer[new_size-4])
-		    {
-			FILE *ferr = fopen("c:\\temp\\smpd.err", "a+");
-			fprintf(ferr, "last 4 bytes not equal, b: %x != %x", b, *(int*)&buffer[new_size-4]);
-			fclose(ferr);
-		    }
-		}
-		/*
-		else
-		{
-		    printf("unable to truncate the smpd log file.\n");
-		    fflush(stdout);
-		}
-		*/
-	    }
-	    /*
-	    else
-	    {
-		printf("read %d instead of %d bytes from the smpd log file.\n", num_read, new_size);
-		fflush(stdout);
-	    }
-	    */
-	    MPIU_Free(buffer);
-	}
-	/*
-	else
-	{
-	    printf("malloc failed to allocate %d bytes.\n", smpd_process.dbg_file_size / 2);
-	    fflush(stdout);
-	}
-	*/
-    }
-    /*
-    else
-    {
-	printf("smpd file size: %d\n", size);
-	fflush(stdout);
-    }
-    */
-    fclose(fout);
-    if (docopy)
-    {
-	sprintf(copy_cmd, "copy %s %s.%d.new", smpd_process.dbg_filename, smpd_process.dbg_filename, copy_number);
-	system(copy_cmd);
-	copy_number++;
-    }
-}
-#endif
-
-#ifdef HAVE_WINDOWS_H
-int smpd_tprintf_templ(smpd_printf_fp_t fp, TCHAR *str, ...){
-    char *str_mb = NULL;
-    int len = 0;
-    int result = 0;
-    va_list args;
-
-    len = _tcslen(str) * sizeof(TCHAR) + 1;
-    str_mb = (char *)MPIU_Malloc(len);
-    if(str_mb == NULL){
-        smpd_err_printf("Unable to allocate memory for temp buffer\n");
-        return 0;
-    }
-    SMPDU_TCSTOMBS(str_mb, str, len);
-
-    va_start(args, str);
-    fp(str_mb, args);
-    va_end(args);
-
-    MPIU_Free(str_mb);
-
-    return result;
-}
-#endif 
-
-int smpd_err_printf(char *str, ...)
-{
-    va_list list;
-    char *indent_str;
-    char *cur_str;
-    int num_bytes;
-
-    if (smpd_process.id == -1)
-	smpd_init_printf();
-
-    if (!(smpd_process.dbg_state & (SMPD_DBG_STATE_ERROUT | SMPD_DBG_STATE_LOGFILE)))
-	return 0;
-
-#ifdef HAVE_WINDOWS_H
-    if (!smpd_process.bOutputInitialized)
-    {
-	smpd_process.hOutputMutex = CreateMutex(NULL, FALSE, SMPD_OUTPUT_MUTEX_NAME);
-	smpd_process.bOutputInitialized = TRUE;
-    }
-    WaitForSingleObject(smpd_process.hOutputMutex, INFINITE);
-#endif
-
-    /* write the formatted string to a global buffer */
-
-    if (smpd_process.dbg_state & SMPD_DBG_STATE_TRACE)
-	indent_str = indent;
-    else
-	indent_str = "";
-
-    num_bytes = 0;
-    if (smpd_process.dbg_state & SMPD_DBG_STATE_PREPEND_RANK)
-    {
-	/* prepend output with the process tree node id */
-	num_bytes = snprintf(smpd_process.printf_buffer, SMPD_MAX_DBG_PRINTF_LENGTH, "[%02d:%d]%sERROR:", smpd_process.id, smpd_getpid(), indent_str);
-    }
-    else
-    {
-	num_bytes = snprintf(smpd_process.printf_buffer, SMPD_MAX_DBG_PRINTF_LENGTH, "%s", indent_str);
-    }
-    cur_str = &smpd_process.printf_buffer[num_bytes];
-
-    va_start(list, str);
-    num_bytes += vsnprintf(cur_str, SMPD_MAX_DBG_PRINTF_LENGTH - num_bytes, str, list);
-    va_end(list);
-
-    /* strip protected fields - passwords, etc */
-    smpd_clean_output(smpd_process.printf_buffer);
-
-    if (smpd_process.dbg_state & SMPD_DBG_STATE_ERROUT)
-    {
-	/* use stdout instead of stderr so that ordering will be consistent with dbg messages */
-	printf("%s", smpd_process.printf_buffer);
-	fflush(stdout);
-    }
-    if ((smpd_process.dbg_state & SMPD_DBG_STATE_LOGFILE) && (smpd_process.dbg_filename[0] != '\0'))
-    {
-	FILE *fout;
-	smpd_trim_logfile();
-	fout = fopen(smpd_process.dbg_filename, "a+");
-	if (fout == NULL)
-	{
-	    smpd_process.dbg_state ^= SMPD_DBG_STATE_LOGFILE;
-	}
-	else
-	{
-	    setvbuf(fout, NULL, _IONBF, 0);
-	    fprintf(fout, "%s", smpd_process.printf_buffer);
-	    fclose(fout);
-	}
-    }
-    
-
-#ifdef HAVE_WINDOWS_H
-    ReleaseMutex(smpd_process.hOutputMutex);
-#endif
-    return num_bytes;
-}
-
-int smpd_dbg_printf(char *str, ...)
-{
-    va_list list;
-    char *indent_str;
-    char *cur_str;
-    int num_bytes;
-
-    if (smpd_process.id == -1)
-	smpd_init_printf();
-
-    if (!(smpd_process.dbg_state & (SMPD_DBG_STATE_STDOUT | SMPD_DBG_STATE_LOGFILE)))
-	return 0;
-
-#ifdef HAVE_WINDOWS_H
-    if (!smpd_process.bOutputInitialized)
-    {
-	smpd_process.hOutputMutex = CreateMutex(NULL, FALSE, SMPD_OUTPUT_MUTEX_NAME);
-	smpd_process.bOutputInitialized = TRUE;
-    }
-    WaitForSingleObject(smpd_process.hOutputMutex, INFINITE);
-#endif
-
-    /* write the formatted string to a global buffer */
-
-    if (smpd_process.dbg_state & SMPD_DBG_STATE_TRACE)
-	indent_str = indent;
-    else
-	indent_str = "";
-
-    num_bytes = 0;
-    if (smpd_process.dbg_state & SMPD_DBG_STATE_PREPEND_RANK)
-    {
-	/* prepend output with the process tree node id */
-	num_bytes = snprintf(smpd_process.printf_buffer, SMPD_MAX_DBG_PRINTF_LENGTH, "[%02d:%d]%s", smpd_process.id, smpd_getpid(), indent_str);
-    }
-    else
-    {
-	num_bytes = snprintf(smpd_process.printf_buffer, SMPD_MAX_DBG_PRINTF_LENGTH, "%s", indent_str);
-    }
-    cur_str = &smpd_process.printf_buffer[num_bytes];
-
-    va_start(list, str);
-    num_bytes += vsnprintf(cur_str, SMPD_MAX_DBG_PRINTF_LENGTH - num_bytes, str, list);
-    va_end(list);
-
-    /* strip protected fields - passwords, etc */
-    smpd_clean_output(smpd_process.printf_buffer);
-
-    if (smpd_process.dbg_state & SMPD_DBG_STATE_STDOUT)
-    {
-	printf("%s", smpd_process.printf_buffer);
-	fflush(stdout);
-    }
-    if ((smpd_process.dbg_state & SMPD_DBG_STATE_LOGFILE) && (smpd_process.dbg_filename[0] != '\0'))
-    {
-	FILE *fout = NULL;
-	smpd_trim_logfile();
-	fout = fopen(smpd_process.dbg_filename, "a+");
-	if (fout == NULL)
-	{
-	    /*smpd_process.dbg_state ^= SMPD_DBG_STATE_LOGFILE;*/
-	}
-	else
-	{
-	    setvbuf(fout, NULL, _IONBF, 0);
-	    fprintf(fout, "%s", smpd_process.printf_buffer);
-	    fclose(fout);
-	}
-    }
-    
-
-#ifdef HAVE_WINDOWS_H
-    ReleaseMutex(smpd_process.hOutputMutex);
-#endif
-    return num_bytes;
-}
-
-int smpd_enter_fn(char *fcname)
-{
-    if (smpd_process.dbg_state & SMPD_DBG_STATE_TRACE)
-    {
-	smpd_dbg_printf("\\%s\n", fcname);
-    }
-    if (cur_indent >= 0 && cur_indent < SMPD_MAX_INDENT)
-    {
-	indent[cur_indent] = '.';
-	indent[cur_indent+1] = '\0';
-    }
-    cur_indent++;
-    return SMPD_SUCCESS;
-}
-
-int smpd_exit_fn(char *fcname)
-{
-    if (cur_indent > 0 && cur_indent < SMPD_MAX_INDENT)
-    {
-	indent[cur_indent-1] = '\0';
-    }
-    cur_indent--;
-    if (smpd_process.dbg_state & SMPD_DBG_STATE_TRACE)
-    {
-	smpd_dbg_printf("/%s\n", fcname);
-    }
-    return SMPD_SUCCESS;
-}
-
-SMPD_BOOL smpd_snprintf_update(char **str_pptr, int *len_ptr, char *str_format, ...)
-{
-    va_list list;
-    int n;
-
-    va_start(list, str_format);
-    n = vsnprintf(*str_pptr, *len_ptr, str_format, list);
-    va_end(list);
-
-    if (n < 0)
-    {
-	(*str_pptr)[(*len_ptr)-1] = '\0';
-	*len_ptr = 0;
-	return SMPD_FALSE;
-    }
-
-    (*str_pptr )= &(*str_pptr)[n];
-    *len_ptr = (*len_ptr) - n;
-
-    return SMPD_TRUE;
-}
diff --git a/src/pm/smpd/smpd_read_write.c b/src/pm/smpd/smpd_read_write.c
deleted file mode 100644
index 8ba865c..0000000
--- a/src/pm/smpd/smpd_read_write.c
+++ /dev/null
@@ -1,339 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-
-#include "smpd.h"
-
-static char hexchar(int x)
-{
-    switch (x)
-    {
-    case 0: return '0';
-    case 1: return '1';
-    case 2: return '2';
-    case 3: return '3';
-    case 4: return '4';
-    case 5: return '5';
-    case 6: return '6';
-    case 7: return '7';
-    case 8: return '8';
-    case 9: return '9';
-    case 10: return 'A';
-    case 11: return 'B';
-    case 12: return 'C';
-    case 13: return 'D';
-    case 14: return 'E';
-    case 15: return 'F';
-    }
-    return '0';
-}
-
-static char charhex(char c)
-{
-    switch (c)
-    {
-    case '0': return 0;
-    case '1': return 1;
-    case '2': return 2;
-    case '3': return 3;
-    case '4': return 4;
-    case '5': return 5;
-    case '6': return 6;
-    case '7': return 7;
-    case '8': return 8;
-    case '9': return 9;
-    case 'A': return 10;
-    case 'B': return 11;
-    case 'C': return 12;
-    case 'D': return 13;
-    case 'E': return 14;
-    case 'F': return 15;
-    case 'a': return 10;
-    case 'b': return 11;
-    case 'c': return 12;
-    case 'd': return 13;
-    case 'e': return 14;
-    case 'f': return 15;
-    }
-    return 0;
-}
-
-static void char_to_hex(char ch, char *hex)
-{
-    *hex = hexchar((ch>>4) & 0xF);
-    hex++;
-    *hex = hexchar(ch & 0xF);
-}
-
-static char hex_to_char(const char *hex)
-{
-    unsigned char ch;
-    ch = charhex(*hex) << 4;
-    hex++;
-    ch = ch | charhex(*hex);
-    return (char)ch;
-}
-
-int smpd_encode_buffer(char *dest, int dest_length, const char *src, int src_length, int *num_encoded)
-{
-    int n = 0;
-    while (src_length && (dest_length > 2))
-    {
-	char_to_hex(*src, dest);
-	src++;
-	dest += 2;
-	src_length--;
-	dest_length -= 2;
-	n++;
-    }
-    *dest = '\0';
-    *num_encoded = n;
-    return SMPD_SUCCESS;
-}
-
-int smpd_decode_buffer(const char *str, char *dest, int length, int *num_decoded)
-{
-    int n = 0;
-
-    if (length < 1)
-    {
-	return SMPD_FAIL;
-    }
-
-    while (*str != '\0' && length)
-    {
-	*dest = hex_to_char(str);
-	str += 2;
-	dest++;
-	length--;
-	n++;
-    }
-    *num_decoded = n;
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_read"
-int smpd_read(SMPDU_Sock_t sock, void *buf, SMPDU_Sock_size_t len)
-{
-    int result;
-    SMPDU_Sock_size_t num_read;
-
-    smpd_enter_fn(FCNAME);
-
-    smpd_dbg_printf("reading %d bytes from sock %d\n", len, SMPDU_Sock_get_sock_id(sock));
-
-    while (len)
-    {
-	/* aggressively write */
-	result = SMPDU_Sock_read(sock, buf, len, &num_read);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("Unable to read %d bytes,\nsock error: %s\n", len, get_sock_error_string(result));
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	if (num_read == len)
-	{
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_SUCCESS;
-	}
-
-	if (num_read == 0)
-	{
-#ifdef HAVE_WINDOWS_H
-	    Sleep(1);
-#elif defined(HAVE_USLEEP)
-	    usleep(1000);
-#endif
-	}
-	else
-	{
-	    buf = (char*)buf + num_read;
-	    len -= num_read;
-	}
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_write"
-int smpd_write(SMPDU_Sock_t sock, void *buf, SMPDU_Sock_size_t len)
-{
-    int result;
-    SMPDU_Sock_size_t num_written;
-
-    smpd_enter_fn(FCNAME);
-
-    smpd_dbg_printf("writing %d bytes to sock %d\n", len, SMPDU_Sock_get_sock_id(sock));
-
-    while (len)
-    {
-	/* aggressively write */
-	result = SMPDU_Sock_write(sock, buf, len, &num_written);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("Unable to write %d bytes,\nsock error: %s\n",
-			    len, get_sock_error_string(result));
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	if (num_written == len)
-	{
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_SUCCESS;
-	}
-
-	if (num_written == 0)
-	{
-	    smpd_dbg_printf("0 bytes written.\n");
-#ifdef HAVE_WINDOWS_H
-	    Sleep(1);
-#elif defined(HAVE_USLEEP)
-	    usleep(1000);
-#endif
-	}
-	else
-	{
-	    smpd_dbg_printf("wrote %d bytes\n", num_written);
-	    buf = (char*)buf + num_written;
-	    len -= num_written;
-	}
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_write_string"
-int smpd_write_string(SMPDU_Sock_t sock, char *str)
-{
-    int result;
-    SMPDU_Sock_size_t len, num_written;
-
-    smpd_enter_fn(FCNAME);
-
-    smpd_dbg_printf("writing string on sock %d: \"%s\"\n", SMPDU_Sock_get_sock_id(sock), str);
-
-    len = (SMPDU_Size_t)strlen(str)+1;
-
-    while (len)
-    {
-	/* aggressively write string */
-	result = SMPDU_Sock_write(sock, str, len, &num_written);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("Unable to write string of length %d,\nsock error: %s\n", len, get_sock_error_string(result));
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	if (num_written == len)
-	{
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_SUCCESS;
-	}
-
-	/* post a write for whatever is left of the string */
-	str += num_written;
-	len -= num_written;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-static int read_string(SMPDU_Sock_t sock, char *str, int maxlen)
-{
-    char ch;
-    int result;
-    SMPDU_Sock_size_t num_bytes;
-    int total = 0;
-
-    if (maxlen < 1)
-	return 0;
-    result = SMPDU_Sock_read(sock, &ch, 1, &num_bytes);
-    while (result == SMPD_SUCCESS)
-    {
-	if (num_bytes == 0)
-	    return total;
-	total++;
-	*str = ch;
-	str++;
-	if (ch == '\0' || total >= maxlen)
-	    return total;
-	result = SMPDU_Sock_read(sock, &ch, 1, &num_bytes);
-    }
-    smpd_err_printf("Unable to read a string,\nsock error: %s\n", get_sock_error_string(result));
-    return -1;
-}
-
-static int chew_up_string(SMPDU_Sock_t sock)
-{
-    char ch;
-    int result;
-
-    result = smpd_read_string(sock, &ch, 1);
-    while (result == SMPD_SUCCESS)
-    {
-	if (ch == '\0')
-	    return SMPD_SUCCESS;
-	result = smpd_read_string(sock, &ch, 1);
-    }
-    smpd_err_printf("Unable to read a string,\nsock error: %s\n", get_sock_error_string(result));
-    return SMPD_FAIL;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_read_string"
-int smpd_read_string(SMPDU_Sock_t sock, char *str, int maxlen)
-{
-    int num_bytes;
-    char *str_orig;
-
-    smpd_enter_fn(FCNAME);
-
-    str_orig = str;
-
-    if (maxlen == 0)
-    {
-	smpd_dbg_printf("zero length read string request on sock %d\n", SMPDU_Sock_get_sock_id(sock));
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-
-    for (;;)
-    {
-	num_bytes = read_string(sock, str, maxlen);
-	if (num_bytes == -1)
-	{
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	if (num_bytes > 0 && str[num_bytes-1] == '\0')
-	{
-	    smpd_dbg_printf("received string on sock %d: \"%s\"\n", SMPDU_Sock_get_sock_id(sock), str_orig);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_SUCCESS;
-	}
-	if (num_bytes == maxlen)
-	{
-	    /* received truncated string */
-	    str[num_bytes-1] = '\0';
-	    chew_up_string(sock);
-	    smpd_dbg_printf("received truncated string on sock %d: \"%s\"\n", SMPDU_Sock_get_sock_id(sock), str_orig);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_SUCCESS;
-	}
-	str += num_bytes;
-	maxlen -= num_bytes;
-    }
-    /*
-    smpd_exit_fn(FCNAME);
-    return SMPD_FAIL;
-    */
-}
diff --git a/src/pm/smpd/smpd_register.c b/src/pm/smpd/smpd_register.c
deleted file mode 100644
index e1317db..0000000
--- a/src/pm/smpd/smpd_register.c
+++ /dev/null
@@ -1,765 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
-*  (C) 2001 by Argonne National Laboratory.
-*      See COPYRIGHT in top-level directory.
-*/
-
-#include "smpd.h"
-#include <wincrypt.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-#define MAX_ERR_LENGTH 512
-
-#undef FCNAME
-#define FCNAME "smpd_get_all_key_names"
-static int smpd_get_all_key_names(smpd_data_t **data)
-{
-    HKEY tkey;
-    DWORD result;
-    LONG enum_result;
-    char name[SMPD_MAX_NAME_LENGTH];
-    DWORD name_length, index;
-    smpd_data_t *list, *item;
-    char err_msg[MAX_ERR_LENGTH];
-
-    smpd_enter_fn(FCNAME);
-
-    if (data == NULL)
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    result = RegOpenKeyEx(HKEY_CURRENT_USER, MPICH_REGISTRY_KEY,
-	0, 
-	KEY_READ,
-	&tkey);
-    if (result != ERROR_SUCCESS)
-    {
-	/* No key therefore no settings */
-	*data = NULL;
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-
-    list = NULL;
-    index = 0;
-    name_length = SMPD_MAX_NAME_LENGTH;
-    enum_result = RegEnumValue(tkey, index, name, &name_length, NULL, NULL, NULL, NULL);
-    while (enum_result == ERROR_SUCCESS)
-    {
-	item = (smpd_data_t*)MPIU_Malloc(sizeof(smpd_data_t));
-	if (item == NULL)
-	{
-	    *data = NULL;
-	    RegCloseKey(tkey);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	memcpy(item->name, name, SMPD_MAX_NAME_LENGTH);
-	item->value[0] = '\0';
-	item->next = list;
-	list = item;
-	index++;
-	name_length = SMPD_MAX_NAME_LENGTH;
-	enum_result = RegEnumValue(tkey, index, name, &name_length, NULL, NULL, NULL, NULL);
-    }
-    result = RegCloseKey(tkey);
-    if (result != ERROR_SUCCESS)
-    {
-	smpd_translate_win_error(result, err_msg, MAX_ERR_LENGTH, "Unable to close the HKEY_CURRENT_USER\\" MPICH_REGISTRY_KEY " registry key, error %d: ", result);
-	smpd_err_printf("%s\n", err_msg);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    *data = list;
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_delete_current_password_registry_entry"
-SMPD_BOOL smpd_delete_current_password_registry_entry(int index)
-{
-    int nError;
-    HKEY hRegKey = NULL;
-    DWORD dwNumValues;
-    char key_name[256] = "smpdAccount";
-    char key_pwd[256] = "smpdPassword";
-
-    smpd_enter_fn(FCNAME);
-
-    if (index > 0)
-    {
-	sprintf(key_name, "smpdAccount%d", index);
-	sprintf(key_pwd, "smpdPassword%d", index);
-    }
-
-    if (index >= 0)
-    {
-	nError = RegOpenKeyEx(HKEY_CURRENT_USER, MPICH_REGISTRY_KEY, 0, KEY_ALL_ACCESS, &hRegKey);
-	if (nError != ERROR_SUCCESS && nError != ERROR_PATH_NOT_FOUND && nError != ERROR_FILE_NOT_FOUND)
-	{
-	    smpd_err_printf("DeleteCurrentPasswordRegistryEntry:RegOpenKeyEx(...) failed, error: %d\n", nError);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FALSE;
-	}
-
-	nError = RegDeleteValue(hRegKey, key_pwd);
-	if (nError != ERROR_SUCCESS && nError != ERROR_FILE_NOT_FOUND)
-	{
-	    smpd_err_printf("DeleteCurrentPasswordRegistryEntry:RegDeleteValue(password) failed, error: %d\n", nError);
-	    RegCloseKey(hRegKey);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FALSE;
-	}
-
-	nError = RegDeleteValue(hRegKey, key_name);
-	if (nError != ERROR_SUCCESS && nError != ERROR_FILE_NOT_FOUND)
-	{
-	    smpd_err_printf("DeleteCurrentPasswordRegistryEntry:RegDeleteValue(account) failed, error: %d\n", nError);
-	    RegCloseKey(hRegKey);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FALSE;
-	}
-    }
-    else
-    {
-	/* find all keys named smpdAccount%d and smpdPassword%d and delete them */
-	smpd_data_t *data;
-
-	if (smpd_get_all_key_names(&data) == SMPD_SUCCESS)
-	{
-	    smpd_data_t *iter = data;
-
-	    nError = RegOpenKeyEx(HKEY_CURRENT_USER, MPICH_REGISTRY_KEY, 0, KEY_ALL_ACCESS, &hRegKey);
-	    if (nError != ERROR_SUCCESS && nError != ERROR_PATH_NOT_FOUND && nError != ERROR_FILE_NOT_FOUND)
-	    {
-		smpd_err_printf("DeleteCurrentPasswordRegistryEntry:RegOpenKeyEx(...) failed, error: %d\n", nError);
-		smpd_exit_fn(FCNAME);
-		return SMPD_FALSE;
-	    }
-
-	    while (iter != NULL)
-	    {
-		if ((strncmp(iter->name, "smpdAccount", 11) == 0) || (strncmp(iter->name, "smpdPassword", 12) == 0))
-		{
-		    nError = RegDeleteValue(hRegKey, iter->name);
-		    if (nError != ERROR_SUCCESS && nError != ERROR_FILE_NOT_FOUND)
-		    {
-			smpd_err_printf("DeleteCurrentPasswordRegistryEntry:RegDeleteValue(%s) failed, error: %d\n", iter->name, nError);
-			RegCloseKey(hRegKey);
-			smpd_exit_fn(FCNAME);
-			return SMPD_FALSE;
-		    }
-		}
-		iter = iter->next;
-	    }
-	    while (data != NULL)
-	    {
-		iter = data;
-		data = data->next;
-		MPIU_Free(iter);
-	    }
-	}
-    }
-
-    if (RegQueryInfoKey(hRegKey, NULL, NULL, NULL, NULL, NULL, NULL, &dwNumValues, NULL, NULL, NULL, NULL) != ERROR_SUCCESS)
-    {
-	RegCloseKey(hRegKey);
-	RegDeleteKey(HKEY_CURRENT_USER, MPICH_REGISTRY_KEY);
-    }
-    else
-    {
-	RegCloseKey(hRegKey);
-	if (dwNumValues == 0)
-	    RegDeleteKey(HKEY_CURRENT_USER, MPICH_REGISTRY_KEY);
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_TRUE;
-}
-
-/* This function encrypts szAccount & szPassword and saves it into filename */
-#undef FCNAME
-#define FCNAME "smpd_save_cred_to_file"
-SMPD_BOOL smpd_save_cred_to_file(const char *filename, const char *szAccount, const char *szPassword)
-{
-    SMPD_BOOL bResult = SMPD_TRUE;
-    FILE *fp = NULL; errno_t ret_errno;
-    DATA_BLOB cred_blob, safe_blob;
-    char err_msg[SMPD_MAX_ERR_MSG_LENGTH];
-
-    smpd_enter_fn(FCNAME);
-
-    if((filename == NULL) || (strlen(filename) <=0 )){
-        smpd_err_printf("Invalid registry filename \n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FALSE;
-    }
-    if((szAccount == NULL) || (szPassword == NULL) || (strlen(szAccount) <= 0) || (strlen(szPassword) <=0)){
-        smpd_err_printf("Invalid user credentials \n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FALSE;
-    }
-    /* Open the file */
-    ret_errno = fopen_s(&fp, filename, "w+b");
-    if(ret_errno != 0){
-        smpd_err_printf("Opening registry file failed, %s(%d)\n", strerror(ret_errno), ret_errno);
-        smpd_exit_fn(FCNAME);
-        return SMPD_FALSE;
-    }
-
-    /* Encrypt account name */
-    cred_blob.cbData = (DWORD )strlen(szAccount) + 1;
-    cred_blob.pbData = (BYTE *)szAccount;
-    if(!CryptProtectData(&cred_blob, L"MPICH User Credentials", NULL, NULL, NULL, CRYPTPROTECT_UI_FORBIDDEN, &safe_blob)){
-        int err_num = GetLastError();
-        smpd_translate_win_error(GetLastError(), err_msg, SMPD_MAX_ERR_MSG_LENGTH, "CryptProtectData() failed, errno = %d, ", err_num);
-        smpd_err_printf("%s\n", err_msg);
-        fclose(fp);
-        smpd_exit_fn(FCNAME);
-        return SMPD_FALSE;
-    }
-
-    /* Store account name len */
-    if(fprintf_s(fp, "%d\n", safe_blob.cbData) <= 0){
-        smpd_err_printf("Error writing account len to registry file\n");
-        fclose(fp);
-        LocalFree(safe_blob.pbData);
-        smpd_exit_fn(FCNAME);
-        return SMPD_FALSE;
-    }
-    
-    /* Store the account name*/
-    if(fwrite(safe_blob.pbData, 1, safe_blob.cbData, fp) < 0){
-        smpd_err_printf("Error writing account to registry file\n");
-        fclose(fp);
-        LocalFree(safe_blob.pbData);
-        smpd_exit_fn(FCNAME);
-        return SMPD_FALSE;
-    }
-    LocalFree(safe_blob.pbData);
-
-    /* Encrypt password */
-    cred_blob.cbData = (DWORD )strlen(szPassword) + 1;
-    cred_blob.pbData = (BYTE *)szPassword;
-    if(!CryptProtectData(&cred_blob, L"MPICH User Credentials", NULL, NULL, NULL, CRYPTPROTECT_UI_FORBIDDEN, &safe_blob)){
-        int err_num = GetLastError();
-        smpd_translate_win_error(GetLastError(), err_msg, SMPD_MAX_ERR_MSG_LENGTH, "CryptProtectData() failed, errno = %d, ", err_num);
-        smpd_err_printf("%s\n", err_msg);
-        fclose(fp);
-        smpd_exit_fn(FCNAME);
-        return SMPD_FALSE;
-    }
-
-    /* Store password len */
-    if(fprintf_s(fp, "%d\n", safe_blob.cbData) <= 0){
-        smpd_err_printf("Error writing password len to registry file\n");
-        fclose(fp);
-        LocalFree(safe_blob.pbData);
-        smpd_exit_fn(FCNAME);
-        return SMPD_FALSE;
-    }
-
-    /* Store the password*/
-    if(fwrite(safe_blob.pbData, 1, safe_blob.cbData, fp) < 0){
-        smpd_err_printf("Error writing password to registry file\n");
-        fclose(fp);
-        LocalFree(safe_blob.pbData);
-        smpd_exit_fn(FCNAME);
-        return SMPD_FALSE;
-    }
-    LocalFree(safe_blob.pbData);
-
-    fclose(fp);
-    smpd_exit_fn(FCNAME);
-    return bResult;
-}
-
-/* This function reads encrypted szAccount & szPassword from filename */
-#undef FCNAME
-#define FCNAME "smpd_read_cred_from_file"
-SMPD_BOOL smpd_read_cred_from_file(const char *filename, char *szAccount, int acc_len, char *szPassword, int pass_len)
-{
-    SMPD_BOOL bResult = SMPD_TRUE;
-    void *en_str=NULL;
-    char en_len[SMPD_MAX_INT_LENGTH+1];
-    FILE *fp = NULL; errno_t ret_errno;
-    DATA_BLOB cred_blob, safe_blob;
-    char err_msg[SMPD_MAX_ERR_MSG_LENGTH];
-
-    smpd_enter_fn(FCNAME);
-
-    if((filename == NULL) || (strlen(filename) <=0 )){
-        smpd_err_printf("Invalid registry filename \n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FALSE;
-    }
-    if((szAccount == NULL) || (szPassword == NULL) || (acc_len <= 0) || (pass_len <=0)){
-        smpd_err_printf("Invalid args for user credentials \n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FALSE;
-    }
-    /* Open the file */
-    ret_errno = fopen_s(&fp, filename, "r+b");
-    if(ret_errno != 0){
-        smpd_err_printf("Opening registry file failed, %s(%d)\n", strerror(ret_errno), ret_errno);
-        smpd_exit_fn(FCNAME);
-        return SMPD_FALSE;
-    }
-
-    /* Read the account name len */
-    if(fgets(en_len, SMPD_MAX_INT_LENGTH, fp) == NULL){
-        smpd_err_printf("Error reading account length from registry file\n");
-        fclose(fp);
-        smpd_exit_fn(FCNAME);
-        return SMPD_FALSE;
-    }
-
-    safe_blob.cbData = (DWORD )atoi(en_len);
-    if((safe_blob.cbData <= 0) || (safe_blob.cbData > INT_MAX)){
-        smpd_err_printf("Invalid account length read from registry file\n");
-        fclose(fp);
-        smpd_exit_fn(FCNAME);
-        return SMPD_FALSE;
-    }
-
-    en_str = (void *)MPIU_Malloc(safe_blob.cbData);
-    if(en_str == NULL){
-        smpd_err_printf("Unable to allocate memory for reading account name\n");
-        fclose(fp);
-        smpd_exit_fn(FCNAME);
-        return SMPD_FALSE;
-    }
-
-    /* Read the account name */
-    if(fread_s(en_str, safe_blob.cbData, 1, safe_blob.cbData, fp) <= 0){
-        smpd_err_printf("Unable to read the account name from registry file\n");
-        fclose(fp);
-        MPIU_Free(en_str);
-        smpd_exit_fn(FCNAME);
-        return SMPD_FALSE;
-    }
-
-    /* Decrypt account name */
-    safe_blob.pbData = (BYTE *)en_str;
-
-    if(!CryptUnprotectData(&safe_blob, NULL, NULL, NULL, NULL, CRYPTPROTECT_UI_FORBIDDEN, &cred_blob)){
-        int err_num = GetLastError();
-        smpd_translate_win_error(GetLastError(), err_msg, SMPD_MAX_ERR_MSG_LENGTH, "CryptUnprotectData() failed, errno = %d, ", err_num);
-        smpd_err_printf("%s\n", err_msg);
-        fclose(fp);
-        MPIU_Free(en_str);
-        smpd_exit_fn(FCNAME);
-        return SMPD_FALSE;
-    }
-
-    MPIU_Strncpy(szAccount, cred_blob.pbData, acc_len);
-    LocalFree(cred_blob.pbData);
-    MPIU_Free(en_str);
-    en_str = NULL;
-
-    /* Read the password len */
-    if(fgets(en_len, SMPD_MAX_INT_LENGTH, fp) == NULL){
-        smpd_err_printf("Error reading password length from registry file\n");
-        fclose(fp);
-        smpd_exit_fn(FCNAME);
-        return SMPD_FALSE;
-    }
-
-    safe_blob.cbData = (DWORD )atoi(en_len);
-    if((safe_blob.cbData <= 0) || (safe_blob.cbData > INT_MAX)){
-        smpd_err_printf("Invalid password length read from registry file\n");
-        fclose(fp);
-        smpd_exit_fn(FCNAME);
-        return SMPD_FALSE;
-    }
-
-    en_str = (char *)MPIU_Malloc(safe_blob.cbData);
-    if(en_str == NULL){
-        smpd_err_printf("Unable to allocate memory for reading password\n");
-        fclose(fp);
-        smpd_exit_fn(FCNAME);
-        return SMPD_FALSE;
-    }
-
-    /* Read the password */
-    if(fread_s(en_str, safe_blob.cbData, 1, safe_blob.cbData, fp) <= 0){
-        smpd_err_printf("Unable to read the password from registry file\n");
-        fclose(fp);
-        MPIU_Free(en_str);
-        smpd_exit_fn(FCNAME);
-        return SMPD_FALSE;
-    }
-
-    /* Decrypt password */
-    safe_blob.pbData = (BYTE *)en_str;
-
-    if(!CryptUnprotectData(&safe_blob, NULL, NULL, NULL, NULL, CRYPTPROTECT_UI_FORBIDDEN, &cred_blob)){
-        int err_num = GetLastError();
-        smpd_translate_win_error(GetLastError(), err_msg, SMPD_MAX_ERR_MSG_LENGTH, "CryptUnprotectData() failed, errno = %d, ", err_num);
-        smpd_err_printf("%s\n", err_msg);
-        fclose(fp);
-        MPIU_Free(en_str);
-        smpd_exit_fn(FCNAME);
-        return SMPD_FALSE;
-    }
-
-    MPIU_Strncpy(szPassword, cred_blob.pbData, pass_len);
-    LocalFree(cred_blob.pbData);
-    MPIU_Free(en_str);
-
-    fclose(fp);
-    smpd_exit_fn(FCNAME);
-    return bResult;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_save_password_to_registry"
-SMPD_BOOL smpd_save_password_to_registry(int index, const char *szAccount, const char *szPassword, SMPD_BOOL persistent)
-{
-    int nError;
-    SMPD_BOOL bResult = SMPD_TRUE;
-    HKEY hRegKey = NULL;
-    DATA_BLOB password_blob, blob;
-    char key_name[256] = "smpdAccount";
-    char key_pwd[256] = "smpdPassword";
-    char err_msg[MAX_ERR_LENGTH];
-
-    smpd_enter_fn(FCNAME);
-
-    if (persistent)
-    {
-	if (RegCreateKeyEx(HKEY_CURRENT_USER, MPICH_REGISTRY_KEY,
-	    0, 
-	    NULL, 
-	    REG_OPTION_NON_VOLATILE,
-	    KEY_ALL_ACCESS, 
-	    NULL,
-	    &hRegKey, 
-	    NULL) != ERROR_SUCCESS) 
-	{
-	    nError = GetLastError();
-	    smpd_err_printf("SavePasswordToRegistry:RegCreateKeyEx(...) failed, error: %d\n", nError);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FALSE;
-	}
-    }
-    else
-    {
-	/* delete the key if it exists */
-	RegDeleteKey(HKEY_CURRENT_USER, MPICH_REGISTRY_KEY);
-	/* create the key with the volatile option */
-	if (RegCreateKeyEx(HKEY_CURRENT_USER, MPICH_REGISTRY_KEY,
-	    0, 
-	    NULL, 
-	    REG_OPTION_VOLATILE,
-	    KEY_ALL_ACCESS, 
-	    NULL,
-	    &hRegKey, 
-	    NULL) != ERROR_SUCCESS) 
-	{
-	    nError = GetLastError();
-	    smpd_err_printf("SavePasswordToRegistry:RegDeleteKey(...) failed, error: %d\n", nError);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FALSE;
-	}
-    }
-
-    if (index > 0)
-    {
-	sprintf(key_name, "smpdAccount%d", index);
-	sprintf(key_pwd, "smpdPassword%d", index);
-    }
-
-    /* Store the account name*/
-    if (RegSetValueEx(hRegKey, key_name, 0, REG_SZ, (BYTE*)szAccount, (DWORD)strlen(szAccount)+1) != ERROR_SUCCESS)
-    {
-	nError = GetLastError();
-	smpd_err_printf("SavePasswordToRegistry:RegSetValueEx(...) failed, error: %d\n", nError);
-	RegCloseKey(hRegKey);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FALSE;
-    }
-
-    password_blob.cbData = (DWORD)strlen(szPassword)+1; /* store the NULL termination */
-    password_blob.pbData = (BYTE*)szPassword;
-    if (CryptProtectData(&password_blob, L"MPICH User Credentials", NULL, NULL, NULL, CRYPTPROTECT_UI_FORBIDDEN, &blob))
-    {
-	/* Write data to registry.*/
-	if (RegSetValueEx(hRegKey, key_pwd, 0, REG_BINARY, blob.pbData, blob.cbData) != ERROR_SUCCESS)
-	{
-	    nError = GetLastError();
-	    smpd_err_printf("SavePasswordToRegistry:RegSetValueEx(...) failed, error: %d\n", nError);
-	    bResult = SMPD_FALSE;
-	}
-	LocalFree(blob.pbData);
-    }
-    else
-    {
-	nError = GetLastError();
-	smpd_err_printf("SavePasswordToRegistry:CryptProtectData(...) failed, error: %d\n", nError);
-	bResult = SMPD_FALSE;
-    }
-
-    nError = RegCloseKey(hRegKey);
-    if (nError != ERROR_SUCCESS)
-    {
-	smpd_translate_win_error(nError, err_msg, MAX_ERR_LENGTH, "Unable to close the HKEY_CURRENT_USER\\" MPICH_REGISTRY_KEY " registry key, error %d: ", nError);
-	smpd_err_printf("%s\n", err_msg);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FALSE;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return bResult;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_read_password_from_registry"
-SMPD_BOOL smpd_read_password_from_registry(int index, char *szAccount, char *szPassword) 
-{
-    int nError;
-    SMPD_BOOL bResult = SMPD_TRUE;
-    HKEY hRegKey = NULL;
-    DWORD dwType;
-    DATA_BLOB password_blob, blob;
-    char key_name[256] = "smpdAccount";
-    char key_pwd[256] = "smpdPassword";
-    char err_msg[MAX_ERR_LENGTH];
-
-    smpd_enter_fn(FCNAME);
-
-    if (index > 0)
-    {
-	sprintf(key_name, "smpdAccount%d", index);
-	sprintf(key_pwd, "smpdPassword%d", index);
-    }
-
-    if (RegOpenKeyEx(HKEY_CURRENT_USER, MPICH_REGISTRY_KEY, 0, KEY_QUERY_VALUE, &hRegKey) == ERROR_SUCCESS) 
-    {
-	DWORD dwLength = SMPD_MAX_PASSWORD_LENGTH;
-	*szAccount = '\0';
-	if (RegQueryValueEx(hRegKey, key_name, NULL, NULL, (BYTE*)szAccount, &dwLength) != ERROR_SUCCESS)
-	{
-	    nError = GetLastError();
-	    /*smpd_err_printf("ReadPasswordFromRegistry:RegQueryValueEx(...) failed, error: %d\n", nError);*/
-	    RegCloseKey(hRegKey);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FALSE;
-	}
-	if (strlen(szAccount) < 1)
-	{
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FALSE;
-	}
-
-	dwType = REG_BINARY;
-	if (RegQueryValueEx(hRegKey, key_pwd, NULL, &dwType, NULL, &dwLength) == ERROR_SUCCESS)
-	{
-	    blob.cbData = dwLength;
-	    blob.pbData = MPIU_Malloc(dwLength);
-	    if (RegQueryValueEx(hRegKey, key_pwd, NULL, &dwType, (BYTE*)blob.pbData, &dwLength) == ERROR_SUCCESS)
-	    {
-		if (CryptUnprotectData(&blob, NULL, NULL, NULL, NULL, CRYPTPROTECT_UI_FORBIDDEN, &password_blob))
-		{
-		    strcpy(szPassword, (const char *)(password_blob.pbData));
-		    LocalFree(password_blob.pbData);
-		}
-		else
-		{
-		    nError = GetLastError();
-		    /*smpd_err_printf("ReadPasswordFromRegistry:CryptUnprotectData(...) failed, error: %d\n", nError);*/
-		    bResult = SMPD_FALSE;
-		}
-	    }
-	    else
-	    {
-		nError = GetLastError();
-		/*smpd_err_printf("ReadPasswordFromRegistry:RegQueryValueEx(...) failed, error: %d\n", nError);*/
-		bResult = SMPD_FALSE;
-	    }
-	    MPIU_Free(blob.pbData);
-	}
-	else
-	{
-	    nError = GetLastError();
-	    /*smpd_err_printf("ReadPasswordFromRegistry:RegQueryValueEx(...) failed, error: %d\n", nError);*/
-	    bResult = SMPD_FALSE;
-	}
-	nError = RegCloseKey(hRegKey);
-	if (nError != ERROR_SUCCESS)
-	{
-	    smpd_translate_win_error(nError, err_msg, MAX_ERR_LENGTH, "Unable to close the HKEY_CURRENT_USER\\" MPICH_REGISTRY_KEY " registry key, error %d: ", nError);
-	    smpd_err_printf("%s\n", err_msg);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FALSE;
-	}
-    }
-    else
-    {
-	nError = GetLastError();
-	/*smpd_err_printf("ReadPasswordFromRegistry:RegOpenKeyEx(...) failed, error: %d\n", nError);*/
-	bResult = SMPD_FALSE;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return bResult;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_cache_password"
-int smpd_cache_password(const char *account, const char *password)
-{
-    int nError;
-    char szEncodedPassword[SMPD_MAX_PASSWORD_LENGTH*2+1];
-    HKEY hRegKey = NULL;
-    int num_bytes;
-    DWORD len;
-    char err_msg[MAX_ERR_LENGTH];
-
-    smpd_enter_fn(FCNAME);
-
-    if (smpd_option_on("nocache"))
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-
-    RegDeleteKey(HKEY_CURRENT_USER, SMPD_REGISTRY_CACHE_KEY);
-    if (RegCreateKeyEx(HKEY_CURRENT_USER, SMPD_REGISTRY_CACHE_KEY,
-	0, 
-	NULL, 
-	REG_OPTION_VOLATILE,
-	KEY_ALL_ACCESS, 
-	NULL,
-	&hRegKey, 
-	NULL) != ERROR_SUCCESS) 
-    {
-	nError = GetLastError();
-	/*smpd_err_printf("CachePassword:RegDeleteKey(...) failed, error: %d\n", nError);*/
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    /* Store the account name*/
-    len = (DWORD)strlen(account)+1;
-    nError = RegSetValueEx(hRegKey, "smpda", 0, REG_SZ, (BYTE*)account, len);
-    if (nError != ERROR_SUCCESS)
-    {
-	/*smpd_err_printf("CachePassword:RegSetValueEx(%s) failed, error: %d\n", g_pszAccount, nError);*/
-	RegCloseKey(hRegKey);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    /* encode the password*/
-    smpd_encode_buffer(szEncodedPassword, SMPD_MAX_PASSWORD_LENGTH*2, password, (int)strlen(password)+1, &num_bytes);
-    szEncodedPassword[num_bytes*2] = '\0';
-    /*smpd_dbg_printf("szEncodedPassword = '%s'\n", szEncodedPassword);*/
-
-    /* Store the encoded password*/
-    nError = RegSetValueEx(hRegKey, "smpdp", 0, REG_SZ, (BYTE*)szEncodedPassword, num_bytes*2);
-    if (nError != ERROR_SUCCESS)
-    {
-	/*smpd_err_printf("CachePassword:RegSetValueEx(...) failed, error: %d\n", nError);*/
-	RegCloseKey(hRegKey);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    nError = RegCloseKey(hRegKey);
-    if (nError != ERROR_SUCCESS)
-    {
-	smpd_translate_win_error(nError, err_msg, MAX_ERR_LENGTH, "Unable to close the HKEY_CURRENT_USER\\" SMPD_REGISTRY_CACHE_KEY " registry key, error %d: ", nError);
-	smpd_err_printf("%s\n", err_msg);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_get_cached_password"
-SMPD_BOOL smpd_get_cached_password(char *account, char *password)
-{
-    int nError;
-    char szAccount[SMPD_MAX_ACCOUNT_LENGTH];
-    char szPassword[SMPD_MAX_PASSWORD_LENGTH*2];
-    HKEY hRegKey = NULL;
-    DWORD dwLength;
-    int num_bytes;
-    char err_msg[MAX_ERR_LENGTH];
-
-    smpd_enter_fn(FCNAME);
-
-    if (RegOpenKeyEx(HKEY_CURRENT_USER, SMPD_REGISTRY_CACHE_KEY, 0, KEY_QUERY_VALUE, &hRegKey) == ERROR_SUCCESS) 
-    {
-	*szAccount = '\0';
-	dwLength = SMPD_MAX_ACCOUNT_LENGTH;
-	if ((nError = RegQueryValueEx(
-	    hRegKey, 
-	    "smpda", NULL, 
-	    NULL, 
-	    (BYTE*)szAccount, 
-	    &dwLength))!=ERROR_SUCCESS)
-	{
-	    /*smpd_err_printf("ReadPasswordFromRegistry:RegQueryValueEx(...) failed, error: %d\n", nError);*/
-	    RegCloseKey(hRegKey);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FALSE;
-	}
-	if (strlen(szAccount) < 1)
-	{
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FALSE;
-	}
-
-	*szPassword = '\0';
-	dwLength = SMPD_MAX_PASSWORD_LENGTH*2;
-	if ((nError = RegQueryValueEx(
-	    hRegKey, 
-	    "smpdp", NULL, 
-	    NULL, 
-	    (BYTE*)szPassword, 
-	    &dwLength))!=ERROR_SUCCESS)
-	{
-	    /*smpd_err_printf("ReadPasswordFromRegistry:RegQueryValueEx(...) failed, error: %d\n", nError);*/
-	    RegCloseKey(hRegKey);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FALSE;
-	}
-
-	nError = RegCloseKey(hRegKey);
-	if (nError != ERROR_SUCCESS)
-	{
-	    smpd_translate_win_error(nError, err_msg, MAX_ERR_LENGTH, "Unable to close the HKEY_CURRENT_USER\\" SMPD_REGISTRY_CACHE_KEY " registry key, error %d: ", nError);
-	    smpd_err_printf("%s\n", err_msg);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FALSE;
-	}
-
-	strcpy(account, szAccount);
-	smpd_decode_buffer(szPassword, password, SMPD_MAX_PASSWORD_LENGTH, &num_bytes);
-	smpd_exit_fn(FCNAME);
-	return SMPD_TRUE;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_FALSE;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_delete_cached_password"
-int smpd_delete_cached_password()
-{
-    smpd_enter_fn(FCNAME);
-    RegDeleteKey(HKEY_CURRENT_USER, SMPD_REGISTRY_CACHE_KEY);
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
diff --git a/src/pm/smpd/smpd_restart.c b/src/pm/smpd/smpd_restart.c
deleted file mode 100644
index 3e45e58..0000000
--- a/src/pm/smpd/smpd_restart.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-
-#include <stdio.h>
-#include "smpd.h"
-
-int smpd_restart()
-{
-#ifdef HAVE_WINDOWS_H
-    int error;
-    char szExe[1024];
-    char pszStr[2048];
-    STARTUPINFO sInfo;
-    PROCESS_INFORMATION pInfo;
-
-    if (!GetModuleFileName(NULL, szExe, 1024))
-    {
-	smpd_translate_win_error(GetLastError(), pszStr, 2048, "GetModuleFileName failed.\nError: ");
-	return SMPD_FAIL;
-    }
-
-    /* Warning: This function can raise an exception */
-    GetStartupInfo(&sInfo);
-
-    snprintf(pszStr, 2048, "\"%s\" -restart", szExe);
-
-    if (!CreateProcess(NULL, 
-	    pszStr,
-	    NULL, NULL, FALSE, 
-	    DETACHED_PROCESS,
-	    NULL, NULL, 
-	    &sInfo, &pInfo))
-    {
-	error = GetLastError();
-	printf("CreateProcess failed for '%s'\n", pszStr);
-	smpd_translate_win_error(error, pszStr, 2048, "Error: ");
-	return SMPD_FAIL;
-    }
-    CloseHandle(pInfo.hProcess);
-    CloseHandle(pInfo.hThread);
-#else
-    /* close all fd's */
-    /* exec a new smpd? */
-#endif
-    return SMPD_SUCCESS;
-}
diff --git a/src/pm/smpd/smpd_service.c b/src/pm/smpd/smpd_service.c
deleted file mode 100644
index 2e6786c..0000000
--- a/src/pm/smpd/smpd_service.c
+++ /dev/null
@@ -1,745 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-
-#include <winsock2.h>
-#include <windows.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <tchar.h>
-#include "smpd_service.h"
-#include <ntsecapi.h>
-
-VOID WINAPI smpd_service_ctrl(DWORD dwCtrlCode);
-static LPTSTR smpd_get_last_error_text( LPTSTR lpszBuf, DWORD dwSize );
-
-/*
-  FUNCTION: smpd_service_main
-
-  PURPOSE: To perform actual initialization of the service
-
-  PARAMETERS:
-    dwArgc   - number of command line arguments
-    lpszArgv - array of command line arguments
-
-  RETURN VALUE:
-    none
-
-  COMMENTS:
-    This routine performs the service initialization and then calls
-    the user defined smpd_entry_point() routine to perform majority
-    of the work.
-*/
-void smpd_service_main(int argc, char *argv[])
-{
-    SMPD_UNREFERENCED_ARG(argc);
-    SMPD_UNREFERENCED_ARG(argv);
-
-    /* register our service control handler: */
-    smpd_process.sshStatusHandle = RegisterServiceCtrlHandler( TEXT(SMPD_SERVICE_NAME), smpd_service_ctrl);
-    
-    if (!smpd_process.sshStatusHandle)
-	return;
-    
-    /* SERVICE_STATUS members that don't change in example */
-    smpd_process.ssStatus.dwServiceType = SERVICE_WIN32_OWN_PROCESS;
-    smpd_process.ssStatus.dwServiceSpecificExitCode = 0;
-
-    /* report the status to the service control manager. */
-    if (!smpd_report_status_to_sc_mgr(SERVICE_START_PENDING, NO_ERROR, 3000))
-    {
-	smpd_report_status_to_sc_mgr(SERVICE_STOPPED, NO_ERROR, 0);
-	return;
-    }
-
-    smpd_entry_point();
-    smpd_clear_process_registry();
-
-    /* try to report the stopped status to the service control manager. */
-    if (smpd_process.sshStatusHandle)
-    {
-	smpd_report_status_to_sc_mgr(SERVICE_STOPPED, 0, 0);
-    }
-}
-
-
-
-/*
-  FUNCTION: smpd_service_ctrl
-
-  PURPOSE: This function is called by the SCM whenever
-           ControlService() is called on this service.
-
-  PARAMETERS:
-    dwCtrlCode - type of control requested
-
-  RETURN VALUE:
-    none
-
-  COMMENTS:
-*/
-VOID WINAPI smpd_service_ctrl(DWORD dwCtrlCode)
-{
-    /* Handle the requested control code. */
-    switch(dwCtrlCode)
-    {
-    case SERVICE_CONTROL_CONTINUE:
-	/* Notifies a paused service that it should resume. */
-	smpd_process.ssStatus.dwCurrentState = SERVICE_RUNNING;
-	break;
-    case SERVICE_CONTROL_INTERROGATE:
-	/* Notifies a service that it should report its current status information to the service control manager. */
-	break;
-    case SERVICE_CONTROL_NETBINDADD:
-	/* Notifies a network service that there is a new component for binding. The service should bind to the new component. */
-	break;
-    case SERVICE_CONTROL_NETBINDDISABLE:
-	/* Notifies a network service that one of its bindings has been disabled. The service should reread its binding information and remove the binding. */
-	break;
-    case SERVICE_CONTROL_NETBINDENABLE:
-	/* Notifies a network service that a disabled binding has been enabled. The service should reread its binding information and add the new binding. */
-	break;
-    case SERVICE_CONTROL_NETBINDREMOVE:
-	/* Notifies a network service that a component for binding has been removed. The service should reread its binding information and unbind from the removed component. */
-	break;
-    case SERVICE_CONTROL_PARAMCHANGE:
-	/* Notifies a service that its startup parameters have changed. The service should reread its startup parameters. */
-	break;
-    case SERVICE_CONTROL_PAUSE:
-	/* Notifies a service that it should pause. */
-	smpd_process.ssStatus.dwCurrentState = SERVICE_PAUSE_PENDING;
-	break;
-    case SERVICE_CONTROL_SHUTDOWN:
-	/* Notifies a service that the system is shutting down so the service can perform cleanup tasks. */
-	break;
-    case SERVICE_CONTROL_STOP:
-	/* Stop the service. */
-	smpd_process.ssStatus.dwCurrentState = SERVICE_STOP_PENDING;
-	smpd_service_stop();
-	break;
-    default:
-	/* invalid control code */
-	break;
-	
-    }
-    smpd_report_status_to_sc_mgr(smpd_process.ssStatus.dwCurrentState, NO_ERROR, 0);
-}
-
-
-
-/*
-  FUNCTION: smpd_report_status_to_sc_mgr()
-
-  PURPOSE: Sets the current status of the service and
-           reports it to the Service Control Manager
-
-  PARAMETERS:
-    dwCurrentState - the state of the service
-    dwWin32ExitCode - error code to report
-    dwWaitHint - worst case estimate to next checkpoint
-
-  RETURN VALUE:
-    TRUE  - success
-    FALSE - failure
-
-  COMMENTS:
-*/
-SMPD_BOOL smpd_report_status_to_sc_mgr(DWORD dwCurrentState, DWORD dwWin32ExitCode, DWORD dwWaitHint)
-{
-    static DWORD dwCheckPoint = 1;
-    SMPD_BOOL fResult = SMPD_TRUE;
-
-    if (dwCurrentState == SERVICE_START_PENDING)
-	smpd_process.ssStatus.dwControlsAccepted = 0;
-    else
-	smpd_process.ssStatus.dwControlsAccepted = SERVICE_ACCEPT_STOP;
-
-    smpd_process.ssStatus.dwCurrentState = dwCurrentState;
-    smpd_process.ssStatus.dwWin32ExitCode = dwWin32ExitCode;
-    smpd_process.ssStatus.dwWaitHint = dwWaitHint;
-
-    if ( ( dwCurrentState == SERVICE_RUNNING ) || ( dwCurrentState == SERVICE_STOPPED ) )
-	smpd_process.ssStatus.dwCheckPoint = 0;
-    else
-	smpd_process.ssStatus.dwCheckPoint = dwCheckPoint++;
-
-    /* Report the status of the service to the service control manager. */
-    fResult = SetServiceStatus( smpd_process.sshStatusHandle, &smpd_process.ssStatus);
-    if (!fResult)
-    {
-	smpd_add_error_to_message_log(TEXT("SetServiceStatus"));
-    }
-    return fResult;
-}
-
-
-
-/*
-  FUNCTION: smpd_add_error_to_message_log(char *msg)
-
-  PURPOSE: Allows any thread to log an error message
-
-  PARAMETERS:
-    lpszMsg - text for message
-
-  RETURN VALUE:
-    none
-
-  COMMENTS:
-*/
-void smpd_add_error_to_message_log(char *msg)
-{
-    TCHAR   szMsg[256];
-    HANDLE  hEventSource;
-    LPTSTR  lpszStrings[2];
-    DWORD dwErr;
-
-    dwErr = GetLastError();
-
-    /* Use event logging to log the error. */
-    hEventSource = RegisterEventSource(NULL, TEXT(SMPD_SERVICE_NAME));
-
-    _stprintf(szMsg, TEXT("%s error: %d"), TEXT(SMPD_SERVICE_NAME), dwErr);
-    lpszStrings[0] = szMsg;
-    lpszStrings[1] = msg;
-
-    if (hEventSource != NULL) {
-	ReportEvent(hEventSource, /* handle of event source */
-	    EVENTLOG_ERROR_TYPE,  /* event type */
-	    0,                    /* event category */
-	    0,                    /* event ID */
-	    NULL,                 /* current user's SID */
-	    2,                    /* strings in lpszStrings */
-	    0,                    /* no bytes of raw data */
-	    (LPCTSTR*)lpszStrings,/* array of error strings */
-	    NULL);                /* no raw data */
-
-	(VOID) DeregisterEventSource(hEventSource);
-    }
-}
-
-/*
-  FUNCTION: smpd_setup_service_restart( SC_HANDLE schService )
-
-  PURPOSE: Setup the service to automatically restart if it has been down for 5 minutes
-
-  PARAMETERS:
-    schService - service handle
-
-  RETURN VALUE:
-    BOOL
-
-  COMMENTS:
-    code provided by Bradley, Peter C. (MIS/CFD) [bradlepc at pweh.com]
-*/
-static BOOL smpd_setup_service_restart( SC_HANDLE schService )
-{
-    SC_ACTION	actionList[3];
-    SERVICE_FAILURE_ACTIONS schActionOptions;
-    SERVICE_DESCRIPTION ds;
-    HMODULE hModule;
-    BOOL ( WINAPI * ChangeServiceConfig2_fn)(SC_HANDLE hService, DWORD dwInfoLevel, LPVOID lpInfo);
-
-    hModule = GetModuleHandle("Advapi32");
-    if (hModule == NULL)
-	return FALSE;
-
-    ChangeServiceConfig2_fn = (BOOL ( WINAPI *)(SC_HANDLE, DWORD, LPVOID))GetProcAddress(hModule, "ChangeServiceConfig2A");
-    if (ChangeServiceConfig2_fn == NULL)
-	return FALSE;
-
-    /* Add a description string */
-    ds.lpDescription = "Process manager service for MPICH applications";
-    ChangeServiceConfig2_fn(schService, SERVICE_CONFIG_DESCRIPTION, &ds);
-
-    /* The actions in this array are performed in order each time the service fails 
-       within the specified reset period.
-       This array attempts to restart mpd twice and then allow it to stay dead.
-    */
-    actionList[0].Type = SC_ACTION_RESTART;
-    actionList[0].Delay = 0;
-    actionList[1].Type = SC_ACTION_RESTART;
-    actionList[1].Delay = 0;
-    actionList[2].Type = SC_ACTION_NONE;
-    actionList[2].Delay = 0;
-
-    schActionOptions.dwResetPeriod = (DWORD) 300;  /* 5 minute reset */
-    schActionOptions.lpRebootMsg = NULL;
-    schActionOptions.lpCommand = NULL;
-    schActionOptions.cActions = (DWORD) (sizeof actionList / sizeof actionList[0]);
-    schActionOptions.lpsaActions = actionList;
-
-    return ChangeServiceConfig2_fn(schService, SERVICE_CONFIG_FAILURE_ACTIONS, &schActionOptions);
-}
-
-
-/* Useful if we decide that smpd should not be installed on a domain controller */
-BOOL Is_DomainController()
-{
-   OSVERSIONINFOEX osvi;
-   DWORDLONG dwlConditionMask = 0;
- 
-   /* Initialize the OSVERSIONINFOEX structure. */
-   ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX));
-   osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
-   osvi.dwMajorVersion = 5;
-   osvi.wProductType = VER_NT_DOMAIN_CONTROLLER;
- 
-   /* Initialize the condition mask. */
-   VER_SET_CONDITION(dwlConditionMask, VER_MAJORVERSION, VER_GREATER_EQUAL);
-   VER_SET_CONDITION(dwlConditionMask, VER_PRODUCT_TYPE, VER_EQUAL);
- 
-   /* Perform the test. */
-   return VerifyVersionInfo(&osvi, VER_MAJORVERSION | VER_PRODUCT_TYPE, dwlConditionMask);
-}
-
-/*
-  FUNCTION: smpd_install_service()
-
-  PURPOSE: Installs the service
-
-  PARAMETERS:
-    none
-
-  RETURN VALUE:
-    none
-
-  COMMENTS:
-*/
-
-/* FIXME: Remove hardcoded values -- eg: Length of error Mesg, 256*/
-
-#define SMPD_MAX_FILENAME_DECORATION (2 * sizeof(TCHAR))
-#define SMPD_MAX_FILENAME_QUOTED (SMPD_MAX_FILENAME + SMPD_MAX_FILENAME_DECORATION)
-void smpd_install_service(SMPD_BOOL interact, SMPD_BOOL bSetupRestart, SMPD_BOOL bSetupScp)
-{
-    SC_HANDLE   schService;
-    SC_HANDLE   schSCManager;
-    TCHAR szErr[256];
-    TCHAR szPathQuoted[SMPD_MAX_FILENAME_QUOTED];
-    LPTSTR pszPathQuoted;
-    
-    pszPathQuoted = szPathQuoted;
-    /* The smpd module file name has to be quoted before passing to CreateService() --- refer MSDN doc for 
-     * CreateService() 
-     */
-    _stprintf(pszPathQuoted, TEXT("\""));
-    if ( GetModuleFileName( NULL, pszPathQuoted+1, SMPD_MAX_FILENAME ) == 0 )
-    {
-        _tprintf(TEXT("Unable to install %s.\n%s\n"), TEXT(SMPD_SERVICE_DISPLAY_NAME), smpd_get_last_error_text(szErr, 256));
-	fflush(stdout);
-        return;
-    }
-    
-    _stprintf(pszPathQuoted + _tcslen(pszPathQuoted), TEXT("\""));
-
-    schSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
-    if ( schSCManager )
-    {
-	DWORD type = SERVICE_WIN32_OWN_PROCESS;
-	if (interact)
-	    type = type | SERVICE_INTERACTIVE_PROCESS;
-        schService = CreateService(
-            schSCManager,               /* SCManager database */
-            TEXT(SMPD_SERVICE_NAME),        /* name of service */
-            TEXT(SMPD_SERVICE_DISPLAY_NAME), /* name to display */
-            SERVICE_ALL_ACCESS,         /* desired access */
-	    type,
-	    SERVICE_AUTO_START,
-            /*SERVICE_ERROR_NORMAL,*/       /* error control type */
-	    SERVICE_ERROR_IGNORE,
-            szPathQuoted,                /* service's binary */
-            NULL,                       /* no load ordering group */
-            NULL,                       /* no tag identifier */
-            TEXT(""),                   /* dependencies */
-            NULL,                       /* LocalSystem account if account==NULL */
-            NULL);
-	
-        if ( schService )
-        {
-	    if (bSetupRestart)
-		smpd_setup_service_restart( schService );
-
-	    if (bSetupScp)
-	    {
-		smpd_register_spn(NULL, NULL, NULL);
-	    }
-
-	    /* Start the service */
-	    if (StartService(schService, 0, NULL))
-		_tprintf(TEXT("%s installed.\n"), TEXT(SMPD_SERVICE_DISPLAY_NAME) );
-	    else
-		_tprintf(TEXT("%s installed, but failed to start:\n%s.\n"), TEXT(SMPD_SERVICE_DISPLAY_NAME), smpd_get_last_error_text(szErr, 256) );
-	    fflush(stdout);
-            CloseServiceHandle(schService);
-        }
-        else
-        {
-            _tprintf(TEXT("CreateService failed:\n%s\n"), smpd_get_last_error_text(szErr, 256));
-	    fflush(stdout);
-        }
-	
-        CloseServiceHandle(schSCManager);
-    }
-    else
-    {
-        _tprintf(TEXT("OpenSCManager failed:\n%s\n"), smpd_get_last_error_text(szErr,256));
-	fflush(stdout);
-    }
-}
-
-
-
-/*
-  FUNCTION: smpd_remove_service(BOOL bErrorOnNotInstalled)
-
-  PURPOSE: Stops and removes the service
-
-  PARAMETERS:
-    none
-
-  RETURN VALUE:
-    none
-
-  COMMENTS:
-*/
-SMPD_BOOL smpd_remove_service(SMPD_BOOL bErrorOnNotInstalled)
-{
-    SMPD_BOOL   bRetVal = SMPD_FALSE;
-    SC_HANDLE   schService;
-    SC_HANDLE   schSCManager;
-    TCHAR       szErr[256];
-
-    schSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS );
-    if ( schSCManager )
-    {
-        schService = OpenService(schSCManager, TEXT(SMPD_SERVICE_NAME), SERVICE_ALL_ACCESS);
-
-	if (schService)
-        {
-            /* try to stop the service */
-            if ( ControlService( schService, SERVICE_CONTROL_STOP, &smpd_process.ssStatus ) )
-            {
-		_tprintf(TEXT("Stopping %s."), TEXT(SMPD_SERVICE_DISPLAY_NAME));
-		fflush(stdout);
-                Sleep( 1000 );
-		
-                while( QueryServiceStatus( schService, &smpd_process.ssStatus ) )
-                {
-                    if ( smpd_process.ssStatus.dwCurrentState == SERVICE_STOP_PENDING )
-                    {
-			_tprintf(TEXT("."));
-			fflush(stdout);
-                        Sleep( 250 );
-                    }
-                    else
-                        break;
-                }
-		
-                if ( smpd_process.ssStatus.dwCurrentState == SERVICE_STOPPED )
-		{
-                    _tprintf(TEXT("\n%s stopped.\n"), TEXT(SMPD_SERVICE_DISPLAY_NAME) );
-		    fflush(stdout);
-		}
-                else
-		{
-                    _tprintf(TEXT("\n%s failed to stop.\n"), TEXT(SMPD_SERVICE_DISPLAY_NAME) );
-		    fflush(stdout);
-		}
-		
-            }
-	    
-	    /* Delete the registry entries for the service. */
-	    RegDeleteKey(HKEY_LOCAL_MACHINE, "SOFTWARE\\MPICH\\SMPD");
-
-	    /* now remove the service */
-            if (DeleteService(schService))
-	    {
-                _tprintf(TEXT("%s removed.\n"), TEXT(SMPD_SERVICE_DISPLAY_NAME) );
-		fflush(stdout);
-		bRetVal = SMPD_TRUE;
-	    }
-            else
-	    {
-                _tprintf(TEXT("DeleteService failed:\n%s\n"), smpd_get_last_error_text(szErr,256));
-		fflush(stdout);
-	    }
-
-	    CloseServiceHandle(schService);
-        }
-        else
-	{
-	    if (bErrorOnNotInstalled)
-	    {
-		_tprintf(TEXT("OpenService failed:\n%s\n"), smpd_get_last_error_text(szErr,256));
-		fflush(stdout);
-	    }
-	    else
-	    {
-		bRetVal = SMPD_TRUE;
-	    }
-	}
-
-	CloseServiceHandle(schSCManager);
-    }
-    else
-    {
-        _tprintf(TEXT("OpenSCManager failed:\n%s\n"), smpd_get_last_error_text(szErr,256));
-	fflush(stdout);
-    }
-    return bRetVal;
-}
-
-/*
-  FUNCTION: smpd_stop_service()
-
-  PURPOSE: Stops the service
-
-  PARAMETERS:
-    none
-
-  RETURN VALUE:
-    none
-
-  COMMENTS:
-*/
-void smpd_stop_service()
-{
-    SC_HANDLE   schService;
-    SC_HANDLE   schSCManager;
-    TCHAR szErr[256];
-    
-    schSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
-    if ( schSCManager )
-    {
-        schService = OpenService(schSCManager, TEXT(SMPD_SERVICE_NAME), SERVICE_ALL_ACCESS);
-
-	if (schService)
-        {
-            /* try to stop the service */
-            if ( ControlService( schService, SERVICE_CONTROL_STOP, &smpd_process.ssStatus ) )
-            {
-                _tprintf(TEXT("Stopping %s."), TEXT(SMPD_SERVICE_DISPLAY_NAME));
-		fflush(stdout);
-                Sleep( 1000 );
-		
-                while( QueryServiceStatus( schService, &smpd_process.ssStatus ) )
-                {
-                    if ( smpd_process.ssStatus.dwCurrentState == SERVICE_STOP_PENDING )
-                    {
-                        _tprintf(TEXT("."));
-			fflush(stdout);
-                        Sleep( 250 );
-                    }
-                    else
-                        break;
-                }
-
-		if ( smpd_process.ssStatus.dwCurrentState == SERVICE_STOPPED )
-		{
-                    _tprintf(TEXT("\n%s stopped.\n"), TEXT(SMPD_SERVICE_DISPLAY_NAME) );
-		    fflush(stdout);
-		}
-                else
-		{
-                    _tprintf(TEXT("\n%s failed to stop.\n"), TEXT(SMPD_SERVICE_DISPLAY_NAME) );
-		    fflush(stdout);
-		}
-		
-            }
-	    
-            CloseServiceHandle(schService);
-        }
-        else
-	{
-            _tprintf(TEXT("OpenService failed:\n%s\n"), smpd_get_last_error_text(szErr,256));
-	    fflush(stdout);
-	}
-	
-        CloseServiceHandle(schSCManager);
-    }
-    else
-    {
-        _tprintf(TEXT("OpenSCManager failed:\n%s\n"), smpd_get_last_error_text(szErr,256));
-	fflush(stdout);
-    }
-}
-
-/*
-  FUNCTION: smpd_start_service()
-
-  PURPOSE: Starts the service
-
-  PARAMETERS:
-    none
-
-  RETURN VALUE:
-    none
-
-  COMMENTS:
-*/
-void smpd_start_service()
-{
-    SC_HANDLE   schService;
-    SC_HANDLE   schSCManager;
-    TCHAR szErr[256];
-
-    schSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
-    if ( schSCManager )
-    {
-        schService = OpenService(schSCManager, TEXT(SMPD_SERVICE_NAME), SERVICE_ALL_ACCESS);
-
-        if ( schService )
-        {
-	    /* Start the service */
-	    if (StartService(schService, 0, NULL))
-	    {
-		_tprintf(TEXT("%s started.\n"), TEXT(SMPD_SERVICE_DISPLAY_NAME) );
-		fflush(stdout);
-	    }
-	    else
-	    {
-		_tprintf(TEXT("%s failed to start.\n%s.\n"), TEXT(SMPD_SERVICE_DISPLAY_NAME), smpd_get_last_error_text(szErr, 256) );
-		fflush(stdout);
-	    }
-            CloseServiceHandle(schService);
-        }
-        else
-        {
-            _tprintf(TEXT("OpenService failed:\n%s\n"), smpd_get_last_error_text(szErr,256));
-	    fflush(stdout);
-        }
-	
-        CloseServiceHandle(schSCManager);
-    }
-    else
-    {
-        _tprintf(TEXT("OpenSCManager failed:\n%s\n"), smpd_get_last_error_text(szErr,256));
-	fflush(stdout);
-    }
-}
-
-/*
-  FUNCTION: smpd_get_last_error_text
-
-  PURPOSE: copies error message text to string
-
-  PARAMETERS:
-    lpszBuf - destination buffer
-    dwSize - size of buffer
-
-  RETURN VALUE:
-    destination buffer
-
-  COMMENTS:
-*/
-static LPTSTR smpd_get_last_error_text( LPTSTR lpszBuf, DWORD dwSize )
-{
-    DWORD dwRet;
-    LPTSTR lpszTemp = NULL;
-    
-    dwRet = FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM |FORMAT_MESSAGE_ARGUMENT_ARRAY,
-	NULL,
-	GetLastError(),
-	LANG_NEUTRAL,
-	(LPTSTR)&lpszTemp,
-	0,
-	NULL );
-    
-    /* supplied buffer is not long enough */
-    if ( !dwRet || ( (long)dwSize < (long)dwRet+14 ) )
-        lpszBuf[0] = TEXT('\0');
-    else
-    {
-        lpszTemp[lstrlen(lpszTemp)-2] = TEXT('\0');  /* remove cr and newline character */
-        _stprintf( lpszBuf, TEXT("%s (error %d)"), lpszTemp, GetLastError() );
-    }
-    
-    if ( lpszTemp )
-        LocalFree((HLOCAL) lpszTemp );
-    
-    return lpszBuf;
-}
-
-/* A bomb thread can be used to guarantee that the service will exit when a stop command is processed */
-void smpd_bomb_thread()
-{
-    if (WaitForSingleObject(smpd_process.hBombDiffuseEvent, (DWORD)10000) == WAIT_TIMEOUT)
-    {
-	smpd_dbg_printf("smpd_bomb_thread timed out, exiting.\n");
-	ExitProcess((UINT)-1);
-    }
-}
-
-/*
-  FUNCTION: smpd_service_stop
-
-  PURPOSE: Stops the service
-
-  PARAMETERS:
-    none
-
-  RETURN VALUE:
-    none
-
-  COMMENTS:
-    If a ServiceStop procedure is going to
-    take longer than 3 seconds to execute,
-    it should spawn a thread to execute the
-    stop code, and return.  Otherwise, the
-    ServiceControlManager will believe that
-    the service has stopped responding.
-*/    
-void smpd_service_stop()
-{
-    SMPDU_Sock_set_t set;
-    SMPDU_Sock_t sock;
-    SMPDU_Sock_event_t event;
-    char host[SMPD_MAX_HOST_LENGTH];
-    int iter;
-    DWORD dwThreadID;
-    int result;
-
-    for (iter=0; iter<10; iter++)
-    {
-	smpd_process.hBombThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)smpd_bomb_thread, NULL, 0, &dwThreadID);
-	if (smpd_process.hBombThread != NULL)
-	    break;
-	Sleep(250);
-    }
-
-    /* stop the main thread */
-    smpd_process.service_stop = SMPD_TRUE;
-    smpd_get_hostname(host, SMPD_MAX_HOST_LENGTH);
-    result = SMPDU_Sock_create_set(&set);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("SMPDU_Sock_create_set failed,\nsock error: %s\n", get_sock_error_string(result));
-	SetEvent(smpd_process.hBombDiffuseEvent);
-	WaitForSingleObject(smpd_process.hBombThread, (DWORD)3000);
-	CloseHandle(smpd_process.hBombThread);
-	ExitProcess((UINT)-1);
-    }
-    result = SMPDU_Sock_post_connect(set, NULL, host, smpd_process.port, &sock);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("Unable to connect to '%s:%d',\nsock error: %s\n",
-	    smpd_process.host_list->host, smpd_process.port, get_sock_error_string(result));
-	SetEvent(smpd_process.hBombDiffuseEvent);
-	WaitForSingleObject(smpd_process.hBombThread, (DWORD)3000);
-	CloseHandle(smpd_process.hBombThread);
-	ExitProcess((UINT)-1);
-    }
-    result = SMPDU_Sock_wait(set, SMPDU_SOCK_INFINITE_TIME, &event);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("Unable to connect to '%s:%d',\nsock error: %s\n",
-	    smpd_process.host_list->host, smpd_process.port, get_sock_error_string(result));
-	SetEvent(smpd_process.hBombDiffuseEvent);
-	WaitForSingleObject(smpd_process.hBombThread, (DWORD)3000);
-	CloseHandle(smpd_process.hBombThread);
-	ExitProcess((UINT)-1);
-    }
-}
diff --git a/src/pm/smpd/smpd_service.h b/src/pm/smpd/smpd_service.h
deleted file mode 100644
index a1e52e8..0000000
--- a/src/pm/smpd/smpd_service.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-
-#ifndef SMPD_SERVICE_H
-#define SMPD_SERVICE_H
-
-#include "smpd.h"
-
-/* name of the service */
-#define SMPD_SERVICE_NAME         "mpich_smpd"
-#define SMPD_SERVICE_NAMEW       L"mpich_smpd"
-/* displayed name of the service */
-#define SMPD_SERVICE_DISPLAY_NAME   "MPICH Process Manager, Argonne National Lab"
-#define SMPD_SERVICE_DISPLAY_NAMEW L"MPICH Process Manager, Argonne National Lab"
-/* guid to represent the service */
-#define SMPD_SERVICE_GUID   "5722fe5f-cf46-4594-af7c-0997ca2e9d72"
-#define SMPD_SERVICE_GUIDW L"5722fe5f-cf46-4594-af7c-0997ca2e9d72"
-/* guid to represent the service vendor */
-#define SMPD_SERVICE_VENDOR_GUID   "c08206aa-590e-41f4-b8ce-ddffe8132b9a"
-#define SMPD_SERVICE_VENDOR_GUIDW L"c08206aa-590e-41f4-b8ce-ddffe8132b9a"
-/* vendor */
-#define SMPD_PRODUCT_VENDOR   "Argonne National Lab"
-#define SMPD_PRODUCT_VENDORW L"Argonne National Lab"
-/* product */
-#define SMPD_PRODUCT   "smpd"
-#define SMPD_PRODUCTW L"smpd"
-/* registry key */
-#define SMPD_SERVICE_REGISTRY_KEY "Software\\MPICH\\SMPD"
-
-void smpd_install_service(SMPD_BOOL interact, SMPD_BOOL bSetupRestart, SMPD_BOOL bSetupScp);
-SMPD_BOOL smpd_remove_service(SMPD_BOOL bErrorOnNotInstalled);
-void smpd_stop_service();
-void smpd_start_service();
-void smpd_service_main(int argc, char *argv[]);
-void smpd_service_stop();
-void smpd_add_error_to_message_log(char *msg);
-SMPD_BOOL smpd_report_status_to_sc_mgr(DWORD dwCurrentState, DWORD dwWin32ExitCode, DWORD dwWaitHint);
-
-#endif
diff --git a/src/pm/smpd/smpd_session.c b/src/pm/smpd/smpd_session.c
deleted file mode 100644
index 0075397..0000000
--- a/src/pm/smpd/smpd_session.c
+++ /dev/null
@@ -1,573 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-
-#include "smpd.h"
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SIGNAL_H
-#include <signal.h>
-#endif
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h> /* getenv */
-#endif
-#ifdef HAVE_STRING_H
-#include <string.h> /* strrchr */
-#endif
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#ifndef HAVE_WINDOWS_H
-static int exists(char *filename)
-{
-    struct stat file_stat;
-
-    if ((stat(filename, &file_stat) < 0) || !(S_ISREG(file_stat.st_mode)))
-    {
-	return 0; /* no such file, or not a regular file */
-    }
-    return 1;
-}
-#endif
-
-#undef FCNAME
-#define FCNAME "smpd_get_full_path_name"
-SMPD_BOOL smpd_get_full_path_name(const char *exe, int maxlen, char *exe_path, char **namepart)
-{
-#ifdef HAVE_WINDOWS_H
-    DWORD dwResult;
-    DWORD dwLength;
-    int len;
-    char buffer[SMPD_MAX_EXE_LENGTH];
-    char info_buffer[sizeof(REMOTE_NAME_INFO) + SMPD_MAX_EXE_LENGTH];
-    REMOTE_NAME_INFO *info = (REMOTE_NAME_INFO*)info_buffer;
-    char *filename;
-    char temp_name[SMPD_MAX_EXE_LENGTH];
-    char *temp_exe = NULL;
-
-    smpd_enter_fn(FCNAME);
-
-    /* handle the common case of unix programmers specifying executable like this: ./foo */
-    if (strlen(exe) > 2)
-    {
-	if (exe[0] == '.' && exe[1] == '/')
-	{
-	    temp_exe = MPIU_Strdup(exe);
-	    temp_exe[1] = '\\';
-	    exe = temp_exe;
-	}
-	smpd_dbg_printf("fixing up exe name: '%s' -> '%s'\n", exe, temp_exe);
-    }
-
-    /* make a full path out of the name provided */
-    len = GetFullPathName(exe, maxlen, exe_path, namepart);
-    if (temp_exe != NULL)
-    {
-	MPIU_Free(temp_exe);
-	temp_exe = NULL;
-    }
-    if (len == 0 || len > maxlen)
-    {
-	smpd_err_printf("buffer provided too short for path: %d provided, %d needed\n", maxlen, len);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FALSE;
-    }
-    *(*namepart - 1) = '\0'; /* separate the path from the executable */
-    
-    /* Verify file exists.  If it doesn't search the path for exe */
-    if ((len = SearchPath(exe_path, *namepart, NULL, SMPD_MAX_EXE_LENGTH, buffer, &filename)) == 0)
-    {
-	if ((len = SearchPath(exe_path, *namepart, ".exe", SMPD_MAX_EXE_LENGTH, buffer, &filename)) == 0)
-	{
-	    /* search the default path for an exact match */
-	    if ((len = SearchPath(NULL, *namepart, NULL, SMPD_MAX_EXE_LENGTH, buffer, &filename)) == 0)
-	    {
-		/* search the default path for a match + .exe */
-		if ((len = SearchPath(NULL, *namepart, ".exe", SMPD_MAX_EXE_LENGTH, buffer, &filename)) == 0)
-		{
-		    smpd_dbg_printf("path not found. leaving as is in case the path exists on the remote machine.\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_TRUE;
-		}
-	    }
-	    if (len > SMPD_MAX_EXE_LENGTH || len > maxlen)
-	    {
-		smpd_err_printf("buffer provided too short for path: %d provided, %d needed\n", maxlen, len);
-		smpd_exit_fn(FCNAME);
-		return SMPD_FALSE;
-	    }
-	    *(filename - 1) = '\0'; /* separate the file name */
-	    /* copy the path */
-	    strcpy(exe_path, buffer);
-	    *namepart = &exe_path[strlen(exe_path)+1];
-	    /* copy the filename */
-	    strcpy(*namepart, filename);
-	}
-    }
-    if (len > maxlen)
-    {
-	smpd_err_printf("buffer provided too short for path: %d provided, %d needed\n", maxlen, len);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FALSE;
-    }
-
-    /* save the filename */
-    strcpy(temp_name, *namepart);
-
-    /* convert the path to its UNC equivalent to avoid need to map a drive */
-    dwLength = sizeof(REMOTE_NAME_INFO)+SMPD_MAX_EXE_LENGTH;
-    info->lpConnectionName = NULL;
-    info->lpRemainingPath = NULL;
-    info->lpUniversalName = NULL;
-    dwResult = WNetGetUniversalName(exe_path, REMOTE_NAME_INFO_LEVEL, info, &dwLength);
-    if (dwResult == NO_ERROR)
-    {
-	if ((int)(strlen(info->lpUniversalName) + strlen(temp_name) + 2) > maxlen)
-	{
-	    smpd_err_printf("buffer provided too short for path: %d provided, %d needed\n",
-		maxlen, strlen(info->lpUniversalName) + strlen(temp_name) + 2);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FALSE;
-	}
-	strcpy(exe_path, info->lpUniversalName);
-	*namepart = &exe_path[strlen(exe_path)+1];
-	strcpy(*namepart, temp_name);
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_TRUE;
-#else
-    char *path = NULL;
-    char temp_str[SMPD_MAX_EXE_LENGTH] = "./";
-
-    smpd_enter_fn(FCNAME);
-
-    getcwd(temp_str, SMPD_MAX_EXE_LENGTH);
-
-    if (temp_str[strlen(temp_str)-1] != '/')
-	strcat(temp_str, "/");
-
-    /* start with whatever they give you tacked on to the cwd */
-    snprintf(exe_path, maxlen, "%s%s", temp_str, exe);
-    if (exists(exe_path))
-    {
-	*namepart = strrchr(exe_path, '/');
-	**namepart = '\0'; /* separate the path from the executable */
-	*namepart = *namepart + 1;
-	smpd_exit_fn(FCNAME);
-	return SMPD_TRUE;
-    }
-    *namepart = strrchr(exe_path, '/');
-    **namepart = '\0'; /* separate the path from the executable */
-    *namepart = *namepart + 1;
-
-    /* add searching of the path and verifying file exists */
-    path = getenv("PATH");
-    strcpy(temp_str, *namepart);
-    if (smpd_search_path(path, temp_str, maxlen, exe_path))
-    {
-	*namepart = strrchr(exe_path, '/');
-	**namepart = '\0';
-	*namepart = *namepart + 1;
-	smpd_exit_fn(FCNAME);
-	return SMPD_TRUE;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_FALSE;
-#endif
-}
-
-#undef FCNAME
-#define FCNAME "smpd_search_path"
-SMPD_BOOL smpd_search_path(const char *smpd_path, const char *exe, int maxlen, char *str)
-{
-#ifdef HAVE_WINDOWS_H
-    char *filepart;
-    char *path_spec, *smpd_path2 = NULL, exe_path[SMPD_MAX_EXE_LENGTH];
-    size_t len_pre, len_spec, len_post;
-    HMODULE hModule;
-
-    smpd_enter_fn(FCNAME);
-
-    path_spec = strstr(smpd_path, SMPD_PATH_SPEC);
-    if (path_spec != NULL)
-    {
-	if (smpd_process.pszExe[0] == '\0')
-	{
-	    hModule = GetModuleHandle(NULL);
-	    if (!GetModuleFileName(hModule, smpd_process.pszExe, SMPD_MAX_EXE_LENGTH)) 
-	    {
-		strcpy(smpd_process.pszExe, ".\\smpd.exe");
-	    }
-	}
-	smpd_path2 = strrchr(smpd_process.pszExe, '\\');
-	if (smpd_path2 == NULL)
-	{
-	    exe_path[0] = '\0';
-	}
-	else
-	{
-	    memcpy(exe_path, smpd_process.pszExe, smpd_path2 - smpd_process.pszExe);
-	    exe_path[smpd_path2 - smpd_process.pszExe] = '\0';
-	}
-	len_pre = path_spec - smpd_path;
-	len_spec = strlen(exe_path);
-	len_post = strlen(path_spec + strlen(SMPD_PATH_SPEC));
-	smpd_path2 = (char *)MPIU_Malloc((len_pre + len_spec + len_post + 1) * sizeof(char));
-	if (len_pre)
-	{
-	    memcpy(smpd_path2, smpd_path, len_pre);
-	}
-	memcpy(smpd_path2 + len_pre, exe_path, len_spec);
-	strcpy(smpd_path2 + len_pre + len_spec, path_spec + strlen(SMPD_PATH_SPEC));
-	smpd_dbg_printf("changed path(%s) to (%s)\n", smpd_path, smpd_path2);
-	smpd_path = smpd_path2;
-    }
-
-    /* search for exactly what's specified */
-    if (SearchPath(smpd_path, exe, NULL, maxlen, str, &filepart) == 0)
-    {
-	/* search for file + .exe */
-	if (SearchPath(smpd_path, exe, ".exe", maxlen, str, &filepart) == 0)
-	{
-	    /* search the default path */
-	    if (SearchPath(NULL, exe, NULL, maxlen, str, &filepart) == 0)
-	    {
-		/* search the default path + .exe */
-		if (SearchPath(NULL, exe, ".exe", maxlen, str, &filepart) == 0)
-		{
-		    if (smpd_path2 != NULL)
-		    {
-			MPIU_Free(smpd_path2);
-		    }
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FALSE;
-		}
-	    }
-	}
-    }
-    if (smpd_path2 != NULL)
-    {
-	MPIU_Free(smpd_path2);
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_TRUE;
-#else
-    char test[SMPD_MAX_EXE_LENGTH];
-    char path[SMPD_MAX_PATH_LENGTH];
-    char *token;
-    int n;
-
-    smpd_enter_fn(FCNAME);
-
-    if (smpd_path == NULL || exe == NULL || maxlen < 1 || str == NULL)
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_FALSE;
-    }
-
-    strncpy(path, smpd_path, SMPD_MAX_PATH_LENGTH);
-    path[SMPD_MAX_PATH_LENGTH - 1] = '\0';
-    token = strtok(path, ";:");
-    while (token)
-    {
-	/* this does not catch the case where SMPD_MAX_EXE_LENGTH is not long enough and the file exists */
-	if (token[strlen(token)-1] != '/')
-	    n = snprintf(test, SMPD_MAX_EXE_LENGTH, "%s/%s", token, exe);
-	else
-	    n = snprintf(test, SMPD_MAX_EXE_LENGTH, "%s%s", token, exe);
-	test[SMPD_MAX_EXE_LENGTH-1] = '\0';
-	if (exists(test))
-	{
-	    if (n < maxlen)
-	    {
-		strcpy(str, test);
-		smpd_exit_fn(FCNAME);
-		return SMPD_TRUE;
-	    }
-	    smpd_err_printf("buffer provided is too small: %d provided, %d needed\n", maxlen, n);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FALSE;
-	}
-	token = strtok(NULL, ";:");
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_FALSE;
-#endif
-}
-
-#ifndef HAVE_WINDOWS_H
-smpd_sig_fn_t *smpd_signal( int signo, smpd_sig_fn_t func )
-{
-    struct sigaction act, oact;
-
-    act.sa_handler = func;
-    sigemptyset( &act.sa_mask );
-    act.sa_flags = 0;
-    if ( signo == SIGALRM )
-    {
-#ifdef  SA_INTERRUPT
-        act.sa_flags |= SA_INTERRUPT;   /* SunOS 4.x */
-#endif
-    }
-    else
-    {
-#ifdef SA_RESTART
-        act.sa_flags |= SA_RESTART;     /* SVR4, 4.4BSD */
-#endif
-    }
-    if ( sigaction( signo,&act, &oact ) < 0 )
-        return ( SIG_ERR );
-    return( oact.sa_handler );
-}
-#endif
-
-#undef FCNAME
-#define FCNAME "smpd_create_process_struct"
-int smpd_create_process_struct(int rank, smpd_process_t **process_ptr)
-{
-    int result;
-    smpd_process_t *p;
-    static int cur_id = 0;
-
-    smpd_enter_fn(FCNAME);
-
-    p = (smpd_process_t*)MPIU_Malloc(sizeof(smpd_process_t));
-    if (p == NULL)
-    {
-	*process_ptr = NULL;
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    p->id = cur_id++; /* MT - If smpd is to be thread safe, this will have to be changed */
-    p->rank = rank;
-    p->binding_proc = -1;
-    p->nproc = 1;
-    p->kvs_name[0] = '\0';
-    p->domain_name[0] = '\0';
-    p->exe[0] = '\0';
-    p->env[0] = '\0';
-    p->dir[0] = '\0';
-    p->path[0] = '\0';
-    p->clique[0] = '\0';
-    p->err_msg[0] = '\0';
-    p->stdin_write_list = NULL;
-    result = smpd_create_context(SMPD_CONTEXT_STDIN, smpd_process.set, SMPDU_SOCK_INVALID_SOCK, -1, &p->in);
-    if (result != SMPD_SUCCESS)
-    {
-	MPIU_Free(p);
-	*process_ptr = NULL;
-	smpd_err_printf("unable to create stdin context.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_create_context(SMPD_CONTEXT_STDOUT, smpd_process.set, SMPDU_SOCK_INVALID_SOCK, -1, &p->out);
-    if (result != SMPD_SUCCESS)
-    {
-	MPIU_Free(p);
-	*process_ptr = NULL;
-	smpd_err_printf("unable to create stdout context.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_create_context(SMPD_CONTEXT_STDERR, smpd_process.set, SMPDU_SOCK_INVALID_SOCK, -1, &p->err);
-    if (result != SMPD_SUCCESS)
-    {
-	MPIU_Free(p);
-	*process_ptr = NULL;
-	smpd_err_printf("unable to create stderr context.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_create_context(SMPD_CONTEXT_PMI, smpd_process.set, SMPDU_SOCK_INVALID_SOCK, -1, &p->pmi);
-    if (result != SMPD_SUCCESS)
-    {
-	MPIU_Free(p);
-	*process_ptr = NULL;
-	smpd_err_printf("unable to create pmi context.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    p->in->rank = rank;
-    p->out->rank = rank;
-    p->err->rank = rank;
-    p->num_valid_contexts = 3;
-    p->context_refcount = 0;
-    p->exitcode = 0;
-    p->in->process = p;
-    p->out->process = p;
-    p->err->process = p;
-    p->pmi->process = p;
-    p->next = NULL;
-    p->spawned = 0;
-    p->local_process = SMPD_TRUE;
-    p->is_singleton_client = SMPD_FALSE;
-    p->map_list = NULL;
-    p->appnum = 0;
-
-    *process_ptr = p;
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_process_to_string"
-SMPD_BOOL smpd_process_to_string(char **str_pptr, int *len_ptr, int indent, smpd_process_t *process)
-{
-    char indent_str[SMPD_MAX_TO_STRING_INDENT+1];
-
-    smpd_enter_fn(FCNAME);
-
-    if (*len_ptr < 1)
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_FALSE;
-    }
-
-    if (indent > SMPD_MAX_TO_STRING_INDENT)
-    {
-	indent = SMPD_MAX_TO_STRING_INDENT;
-    }
-
-    memset(indent_str, ' ', indent);
-    indent_str[indent] = '\0';
-
-    smpd_snprintf_update(str_pptr, len_ptr, "%sid: %d\n", indent_str, process->id);
-    if (*len_ptr < 1) { smpd_exit_fn(FCNAME); return SMPD_FALSE; }
-    smpd_snprintf_update(str_pptr, len_ptr, "%srank: %d\n", indent_str, process->rank);
-    if (*len_ptr < 1) { smpd_exit_fn(FCNAME); return SMPD_FALSE; }
-    smpd_snprintf_update(str_pptr, len_ptr, "%sexe: %s\n", indent_str, process->exe);
-    if (*len_ptr < 1) { smpd_exit_fn(FCNAME); return SMPD_FALSE; }
-    smpd_snprintf_update(str_pptr, len_ptr, "%sdir: %s\n", indent_str, process->dir);
-    if (*len_ptr < 1) { smpd_exit_fn(FCNAME); return SMPD_FALSE; }
-    smpd_snprintf_update(str_pptr, len_ptr, "%senv: %s\n", indent_str, process->env);
-    if (*len_ptr < 1) { smpd_exit_fn(FCNAME); return SMPD_FALSE; }
-    smpd_snprintf_update(str_pptr, len_ptr, "%spath: %s\n", indent_str, process->path);
-    if (*len_ptr < 1) { smpd_exit_fn(FCNAME); return SMPD_FALSE; }
-    smpd_snprintf_update(str_pptr, len_ptr, "%spid: %d\n", indent_str, process->pid);
-    if (*len_ptr < 1) { smpd_exit_fn(FCNAME); return SMPD_FALSE; }
-    smpd_snprintf_update(str_pptr, len_ptr, "%sexitcode: %d\n", indent_str, process->exitcode);
-    if (*len_ptr < 1) { smpd_exit_fn(FCNAME); return SMPD_FALSE; }
-    smpd_snprintf_update(str_pptr, len_ptr, "%scontext_refcount: %s\n", indent_str, process->context_refcount);
-    if (*len_ptr < 1) { smpd_exit_fn(FCNAME); return SMPD_FALSE; }
-    smpd_snprintf_update(str_pptr, len_ptr, "%serr_msg: %s\n", indent_str, process->err_msg);
-    if (*len_ptr < 1) { smpd_exit_fn(FCNAME); return SMPD_FALSE; }
-    smpd_snprintf_update(str_pptr, len_ptr, "%snum_valid_contexts: %d\n", indent_str, process->num_valid_contexts);
-    if (*len_ptr < 1) { smpd_exit_fn(FCNAME); return SMPD_FALSE; }
-    smpd_snprintf_update(str_pptr, len_ptr, "%s in: %p\n", indent_str, process->in);
-    if (*len_ptr < 1) { smpd_exit_fn(FCNAME); return SMPD_FALSE; }
-    smpd_snprintf_update(str_pptr, len_ptr, "%s out: %p\n", indent_str, process->out);
-    if (*len_ptr < 1) { smpd_exit_fn(FCNAME); return SMPD_FALSE; }
-    smpd_snprintf_update(str_pptr, len_ptr, "%s err: %p\n", indent_str, process->err);
-    if (*len_ptr < 1) { smpd_exit_fn(FCNAME); return SMPD_FALSE; }
-    smpd_snprintf_update(str_pptr, len_ptr, "%s pmi: %p\n", indent_str, process->pmi);
-    if (*len_ptr < 1) { smpd_exit_fn(FCNAME); return SMPD_FALSE; }
-    smpd_snprintf_update(str_pptr, len_ptr, "%skvs_name: %s\n", indent_str, process->kvs_name);
-    if (*len_ptr < 1) { smpd_exit_fn(FCNAME); return SMPD_FALSE; }
-    smpd_snprintf_update(str_pptr, len_ptr, "%snproc: %d\n", indent_str, process->nproc);
-    if (*len_ptr < 1) { smpd_exit_fn(FCNAME); return SMPD_FALSE; }
-#ifdef HAVE_WINDOWS_H
-    smpd_snprintf_update(str_pptr, len_ptr, "%swait: %p:%p\n", indent_str, process->wait.hProcess, process->wait.hThread);
-#else
-    smpd_snprintf_update(str_pptr, len_ptr, "%swait: %d\n", indent_str, (int)process->wait);
-#endif
-    if (*len_ptr < 1) { smpd_exit_fn(FCNAME); return SMPD_FALSE; }
-    smpd_snprintf_update(str_pptr, len_ptr, "%snext: %p\n", indent_str, process->next);
-    if (*len_ptr < 1) { smpd_exit_fn(FCNAME); return SMPD_FALSE; } /* this misses the case of an exact fit */
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_TRUE;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_free_process_struct"
-int smpd_free_process_struct(smpd_process_t *process)
-{
-    smpd_enter_fn(FCNAME);
-    if (process == NULL)
-    {
-	smpd_dbg_printf("smpd_free_process_struct passed NULL process pointer.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-    if (process->in)
-	smpd_free_context(process->in);
-    process->in = NULL;
-    if (process->out)
-	smpd_free_context(process->out);
-    process->out = NULL;
-    if (process->err)
-	smpd_free_context(process->err);
-    process->err = NULL;
-    if (process->pmi)
-	smpd_free_context(process->pmi);
-    process->pmi = NULL;
-    process->dir[0] = '\0';
-    process->env[0] = '\0';
-    process->exe[0] = '\0';
-    process->path[0] = '\0';
-    process->pid = -1;
-    process->rank = -1;
-    process->next = NULL;
-    MPIU_Free(process);
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_interpret_session_header"
-int smpd_interpret_session_header(char *str)
-{
-    char temp_str[100];
-
-    smpd_enter_fn(FCNAME);
-
-    smpd_dbg_printf("interpreting session header: \"%s\"\n", str);
-
-    /* get my id */
-    if (MPIU_Str_get_string_arg(str, "id", temp_str, 100) == MPIU_STR_SUCCESS)
-    {
-	smpd_dbg_printf(" id = %s\n", temp_str);
-	smpd_process.id = atoi(temp_str);
-	if (smpd_process.id < 0)
-	{
-	    smpd_err_printf("invalid id passed in session header: %d\n", smpd_process.id);
-	    smpd_process.id = 0;
-	}
-    }
-
-    /* get my parent's id */
-    if (MPIU_Str_get_string_arg(str, "parent", temp_str, 100) == MPIU_STR_SUCCESS)
-    {
-	smpd_dbg_printf(" parent = %s\n", temp_str);
-	smpd_process.parent_id = atoi(temp_str);
-	if (smpd_process.parent_id < 0)
-	{
-	    smpd_err_printf("invalid parent id passed in session header: %d\n", smpd_process.parent_id);
-	    smpd_process.parent_id = -1;
-	}
-    }
-
-    /* get my level */
-    if (MPIU_Str_get_string_arg(str, "level", temp_str, 100) == MPIU_STR_SUCCESS)
-    {
-	smpd_dbg_printf(" level = %s\n", temp_str);
-	smpd_process.level = atoi(temp_str);
-	if (smpd_process.level < 0)
-	{
-	    smpd_err_printf("invalid session level passed in session header: %d\n", smpd_process.level);
-	    smpd_process.level = 0;
-	}
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
diff --git a/src/pm/smpd/smpd_start_mgr.c b/src/pm/smpd/smpd_start_mgr.c
deleted file mode 100644
index cf4cf7b..0000000
--- a/src/pm/smpd/smpd_start_mgr.c
+++ /dev/null
@@ -1,369 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-
-#include "smpd.h"
-#ifdef HAVE_ERRNO_H
-#include <errno.h>
-#endif
-
-#ifdef HAVE_WINDOWS_H
-
-char *smpd_encode_handle(char *str, HANDLE h)
-{
-    sprintf(str, "%p", h);
-    return str;
-}
-
-HANDLE smpd_decode_handle(char *str)
-{
-    HANDLE p;
-    sscanf(str, "%p", &p);
-    return p;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_start_win_mgr"
-int smpd_start_win_mgr(smpd_context_t *context, SMPD_BOOL use_context_user_handle)
-{
-    int result;
-    char dbg_str[20];
-    char read_handle_str[20], write_handle_str[20];
-    char domainaccount[SMPD_MAX_ACCOUNT_LENGTH], account[SMPD_MAX_ACCOUNT_LENGTH], domain[SMPD_MAX_ACCOUNT_LENGTH];
-    char *pszDomain;
-    char password[SMPD_MAX_PASSWORD_LENGTH];
-    HANDLE user_handle = INVALID_HANDLE_VALUE;
-    HANDLE job = INVALID_HANDLE_VALUE;
-    int num_tries;
-    char cmd[8192];
-    PROCESS_INFORMATION pInfo;
-    STARTUPINFO sInfo;
-    SECURITY_ATTRIBUTES security;
-    HANDLE hRead, hWrite, hReadRemote, hWriteRemote;
-    DWORD num_read, num_written;
-
-    smpd_enter_fn(FCNAME);
-
-    /* initialize to null so in the sspi case garbage isn't sent to the manager */
-    domainaccount[0] = '\0';
-    account[0] = '\0';
-    domain[0] = '\0';
-    password[0] = '\0';
-
-    /* start the manager */
-    security.bInheritHandle = TRUE;
-    security.lpSecurityDescriptor = NULL;
-    security.nLength = sizeof(security);
-    /* create a pipe to send the listening port information through */
-    if (!CreatePipe(&hRead, &hWriteRemote, &security, 0))
-    {
-	smpd_err_printf("CreatePipe failed, error %d\n", GetLastError());
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    /* prevent the local read end of the pipe from being inherited */
-    if (!DuplicateHandle(GetCurrentProcess(), hRead, GetCurrentProcess(), &hRead, 0, FALSE, DUPLICATE_CLOSE_SOURCE | DUPLICATE_SAME_ACCESS))
-    {
-	smpd_err_printf("Unable to duplicate the read end of the pipe, error %d\n", GetLastError());
-	CloseHandle(hRead);
-	CloseHandle(hWriteRemote);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    /* create a pipe to send the account information through */
-    if (!CreatePipe(&hReadRemote, &hWrite, &security, 0))
-    {
-	smpd_err_printf("CreatePipe failed, error %d\n", GetLastError());
-	CloseHandle(hRead);
-	CloseHandle(hWriteRemote);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    /* prevent the local write end of the pipe from being inherited */
-    if (!DuplicateHandle(GetCurrentProcess(), hWrite, GetCurrentProcess(), &hWrite, 0, FALSE, DUPLICATE_CLOSE_SOURCE | DUPLICATE_SAME_ACCESS))
-    {
-	smpd_err_printf("Unable to duplicate the read end of the pipe, error %d\n", GetLastError());
-	CloseHandle(hRead);
-	CloseHandle(hWrite);
-	CloseHandle(hReadRemote);
-	CloseHandle(hWriteRemote);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    /* encode the command line */
-    if (smpd_process.dbg_state == SMPD_DBG_STATE_ALL)
-	strcpy(dbg_str, "-d");
-    else if (smpd_process.dbg_state)
-	snprintf(dbg_str, 20, "-d %d", smpd_process.dbg_state);
-    else
-	dbg_str[0] = '\0';
-    if (smpd_process.port != SMPD_LISTENER_PORT)
-    {
-	snprintf(cmd, 8192, "\"%s\" -p %d %s -mgr -read %s -write %s", smpd_process.pszExe, smpd_process.port, dbg_str,
-	    smpd_encode_handle(read_handle_str, hReadRemote), 
-	    smpd_encode_handle(write_handle_str, hWriteRemote));
-    }
-    else
-    {
-	snprintf(cmd, 8192, "\"%s\" %s -mgr -read %s -write %s", smpd_process.pszExe, dbg_str,
-	    smpd_encode_handle(read_handle_str, hReadRemote), 
-	    smpd_encode_handle(write_handle_str, hWriteRemote));
-    }
-    if (context->connect_to)
-    {
-	smpd_dbg_printf("starting command:%d: %s\n", context->connect_to->id, cmd);
-    }
-    else
-    {
-        smpd_dbg_printf("starting command: %s\n", cmd);
-    }
-    GetStartupInfo(&sInfo);
-    if (smpd_process.bService)
-    {
-	if (use_context_user_handle)
-	{
-	    if (context->sspi_context == NULL)
-	    {
-		smpd_err_printf("use_context_user_handle set to TRUE but sspi_context == NULL\n");
-		CloseHandle(hRead);
-		CloseHandle(hWrite);
-		CloseHandle(hReadRemote);
-		CloseHandle(hWriteRemote);
-		smpd_exit_fn(FCNAME);
-		return SMPD_ERR_INVALID_USER;
-	    }
-	    user_handle = context->sspi_context->user_handle;
-	    job = context->sspi_context->job;
-	}
-	else
-	{
-	    strcpy(domainaccount, context->account);
-	    strcpy(password, context->password);
-	    smpd_parse_account_domain(domainaccount, account, domain);
-	    if (strlen(domain) < 1)
-		pszDomain = NULL;
-	    else
-		pszDomain = domain;
-
-	    result = smpd_get_user_handle(account, pszDomain, password, &user_handle);
-	    if (user_handle == INVALID_HANDLE_VALUE)
-	    {
-		smpd_err_printf("smpd_get_user_handle failed, error %d.\n", result);
-		CloseHandle(hRead);
-		CloseHandle(hWrite);
-		CloseHandle(hReadRemote);
-		CloseHandle(hWriteRemote);
-		smpd_exit_fn(FCNAME);
-		return SMPD_ERR_INVALID_USER;
-	    }
-	}
-
-	result = SMPD_SUCCESS;
-	if (!ImpersonateLoggedOnUser(user_handle))
-	{
-	    result = GetLastError();
-	    smpd_err_printf("ImpersonateLoggedOnUser failed, error %d\n", result);
-	    CloseHandle(hRead);
-	    CloseHandle(hWrite);
-	    CloseHandle(hReadRemote);
-	    CloseHandle(hWriteRemote);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_ERR_INVALID_USER;
-	}
-    }
-
-    num_tries = 4;
-    do
-    {
-	if (smpd_process.bService)
-	{
-	    smpd_dbg_printf("CreateProcessAsUser\n");
-	    result = CreateProcessAsUser(
-		user_handle,
-		NULL, cmd, NULL, NULL, TRUE,
-		CREATE_SUSPENDED,
-		NULL, NULL, &sInfo, &pInfo);
-	}
-	else
-	{
-	    smpd_dbg_printf("CreateProcess\n");
-	    result = CreateProcess(
-		NULL, cmd, NULL, NULL, TRUE,
-		CREATE_SUSPENDED,
-		NULL, NULL, &sInfo, &pInfo);
-	}
-
-	if (result)
-	{
-	    result = SMPD_SUCCESS;
-	    num_tries = 0;
-	}
-	else
-	{
-	    result = GetLastError();
-	    if (result == ERROR_REQ_NOT_ACCEP)
-	    {
-		Sleep(1000);
-		num_tries--;
-		if (num_tries == 0)
-		{
-		    smpd_err_printf("%s failed, error %d - ERROR_REQ_NOT_ACCEP\n", smpd_process.bService ? "CreateProcessAsUser" : "CreateProcess", result);
-		}
-	    }
-	    else
-	    {
-		smpd_err_printf("%s failed, error %d\n", smpd_process.bService ? "CreateProcessAsUser" : "CreateProcess", result);
-		num_tries = 0;
-	    }
-	}
-    } while (num_tries);
-
-    if (job != INVALID_HANDLE_VALUE)
-    {
-	smpd_dbg_printf("assinging smpd manager to job\n");
-	if (!AssignProcessToJobObject(job, pInfo.hProcess))
-	{
-	    smpd_err_printf("AssignProcessToJobObject failed: %d\n", GetLastError());
-	    TerminateProcess(pInfo.hProcess, (UINT)-1);
-	    result = SMPD_FAIL;
-	}
-	else
-	{
-	    ResumeThread(pInfo.hThread);
-	}
-    }
-    else
-    {
-	ResumeThread(pInfo.hThread);
-    }
-
-    if (smpd_process.bService)
-    {
-	RevertToSelf();
-	if (use_context_user_handle && context->sspi_context != NULL)
-	{
-	    if (context->sspi_context->close_handle)
-	    {
-		CloseHandle(context->sspi_context->user_handle);
-		context->sspi_context->user_handle = INVALID_HANDLE_VALUE;
-	    }
-	}
-	else
-	{
-	    CloseHandle(user_handle);
-	}
-    }
-    if (result != SMPD_SUCCESS)
-    {
-	CloseHandle(hRead);
-	CloseHandle(hWrite);
-	CloseHandle(hReadRemote);
-	CloseHandle(hWriteRemote);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    CloseHandle(pInfo.hThread);
-    CloseHandle(pInfo.hProcess);
-    CloseHandle(hReadRemote);
-    CloseHandle(hWriteRemote);
-
-    smpd_dbg_printf("smpd reading the port string from the manager\n");
-    /* read the listener port from the pipe to the manager */
-    if (!ReadFile(hRead, context->port_str, 20, &num_read, NULL))
-    {
-	smpd_err_printf("ReadFile() failed, error %d\n", GetLastError());
-	CloseHandle(hRead);
-	CloseHandle(hWrite);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    CloseHandle(hRead);
-    if (num_read != 20)
-    {
-	smpd_err_printf("parital port string read, %d bytes of 20\n", num_read);
-	CloseHandle(hWrite);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    /* send the account and password to the manager */
-    smpd_dbg_printf("smpd sending the account to the manager\n");
-    if (!WriteFile(hWrite, domainaccount, SMPD_MAX_ACCOUNT_LENGTH, &num_written, NULL))
-    {
-	smpd_err_printf("WriteFile('%s') failed to write the account, error %d\n", domainaccount, GetLastError());
-	CloseHandle(hWrite);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    if (num_written != SMPD_MAX_ACCOUNT_LENGTH)
-    {
-	smpd_err_printf("parital account string written, %d bytes of %d\n", num_written, SMPD_MAX_ACCOUNT_LENGTH);
-	CloseHandle(hWrite);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_dbg_printf("smpd sending the password to the manager\n");
-    if (!WriteFile(hWrite, password, SMPD_MAX_PASSWORD_LENGTH, &num_written, NULL))
-    {
-	smpd_err_printf("WriteFile() failed to write the password, error %d\n", GetLastError());
-	CloseHandle(hWrite);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    if (num_written != SMPD_MAX_PASSWORD_LENGTH)
-    {
-	smpd_err_printf("parital password string written, %d bytes of %d\n", num_written, SMPD_MAX_PASSWORD_LENGTH);
-	CloseHandle(hWrite);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_dbg_printf("smpd sending the smpd passphrase to the manager\n");
-    if (!WriteFile(hWrite, smpd_process.passphrase, SMPD_PASSPHRASE_MAX_LENGTH, &num_written, NULL))
-    {
-	smpd_err_printf("WriteFile() failed to write the passphrase, error %d\n", GetLastError());
-	CloseHandle(hWrite);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    if (num_written != SMPD_PASSPHRASE_MAX_LENGTH)
-    {
-	smpd_err_printf("parital passphrase string written, %d bytes of %d\n", num_written, SMPD_PASSPHRASE_MAX_LENGTH);
-	CloseHandle(hWrite);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_dbg_printf("closing the pipe to the manager\n");
-    CloseHandle(hWrite);
-
-    return SMPD_SUCCESS;
-}
-
-#else /* HAVE_WINDOWS_H */
-
-#undef FCNAME
-#define FCNAME "smpd_start_unx_mgr"
-int smpd_start_unx_mgr(smpd_context_t *context)
-{
-    int result;
-
-    result = fork();
-    if (result == -1)
-    {
-	smpd_err_printf("fork failed, errno %d\n", errno);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    if (result == 0)
-    {
-	/* the child is not the root so clear the flag */
-	smpd_process.root_smpd = SMPD_FALSE;
-	/* the child cannot interact with the user so set these flags accordingly */
-	smpd_process.noprompt = SMPD_TRUE;
-	smpd_process.credentials_prompt = SMPD_FALSE;
-    }
-    return SMPD_SUCCESS;
-}
-
-#endif /* HAVE_WINDOWS_H */
diff --git a/src/pm/smpd/smpd_state_machine.c b/src/pm/smpd/smpd_state_machine.c
deleted file mode 100644
index cfc4eab..0000000
--- a/src/pm/smpd/smpd_state_machine.c
+++ /dev/null
@@ -1,7129 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-
-#include "smpd.h"
-
-#ifdef HAVE_WINDOWS_H
-/*
-static void print_bytes(char *str, int length)
-{
-    int i;
-    printf("%d bytes: '", length);
-    for (i=0; i<length; i++)
-    {
-	if (str[i] > 20)
-	{
-	    printf("%c", str[i]);
-	}
-	else
-	{
-	    printf("(%d)", (int)str[i]);
-	}
-    }
-    printf("'\n");
-    fflush(stdout);
-}
-*/
-void smpd_stdin_thread(SOCKET hWrite)
-{
-    DWORD num_read;
-    char str[SMPD_MAX_CMD_LENGTH];
-    int index;
-    HANDLE h = INVALID_HANDLE_VALUE;
-    DWORD result;
-    char err_msg[256] = "";
-    /*char bogus_char;*/
-
-    smpd_dbg_printf("smpd_stdin_thread started.\n");
-    /* acquire the launch process mutex to avoid grabbing a redirected input handle */
-    result = WaitForSingleObject(smpd_process.hLaunchProcessMutex, INFINITE);
-    if (result == WAIT_FAILED)
-    {
-	result = GetLastError();
-	smpd_translate_win_error(result, err_msg, 256, NULL);
-	smpd_err_printf("smpd_stdin_thread:WaitForSingleObject(hLaunchProcessMutex) failed: Error %d, %s\n", result, err_msg);
-	goto fn_fail;
-    }
-    h = GetStdHandle(STD_INPUT_HANDLE);
-    if (!ReleaseMutex(smpd_process.hLaunchProcessMutex))
-    {
-	result = GetLastError();
-	smpd_translate_win_error(result, err_msg, 256, NULL);
-	smpd_err_printf("smpd_stdin_thread:ReleaseMutex(hLaunchProcessMutex) failed: Error %d, %s\n", result, err_msg);
-	goto fn_fail;
-    }
-    if (h == NULL || h == INVALID_HANDLE_VALUE)
-    {
-	/* Don't print an error in case there is no stdin handle */
-	smpd_dbg_printf("Unable to get the stdin handle.\n");
-	goto fn_fail;
-    }
-    index = 0;
-    for (;;)
-    {
-	/*smpd_dbg_printf("waiting for input from stdin\n");*/
-	num_read = 0;
-	str[index] = '\0';
-	if (ReadFile(h, &str[index], 1, &num_read, NULL))
-	{
-	    if (num_read < 1)
-	    {
-		/* forward any buffered data */
-		if (index > 0)
-		{
-		    if (send(hWrite, str, index, 0) == SOCKET_ERROR)
-		    {
-			result = WSAGetLastError();
-			smpd_translate_win_error(result, err_msg, 256, NULL);
-			smpd_err_printf("unable to forward stdin, send failed, error %d, %s\n", result, err_msg);
-			goto fn_fail;
-		    }
-		}
-		/* ReadFile failed, what do I do? */
-		smpd_dbg_printf("ReadFile failed, closing stdin reader thread.\n");
-		goto fn_fail;
-	    }
-	    /*printf("CHAR(%d)", (int)str[index]);fflush(stdout);*/
-	    if (str[index] == '\n' || index == SMPD_MAX_CMD_LENGTH-1)
-	    {
-		num_read = index + 1;
-		index = 0; /* reset the index back to the beginning of the input buffer */
-		smpd_dbg_printf("forwarding stdin: %d bytes\n", num_read);
-		/*print_bytes(str, num_read);*/
-		if (send(hWrite, str, num_read, 0) == SOCKET_ERROR)
-		{
-		    result = WSAGetLastError();
-		    smpd_translate_win_error(result, err_msg, 256, NULL);
-		    smpd_err_printf("unable to forward stdin, send failed, error %d, %s\n", result, err_msg);
-		    goto fn_fail;
-		}
-	    }
-	    else
-	    {
-		index++;
-	    }
-	}
-	else
-	{
-	    /* forward any buffered data */
-	    if (index > 0)
-	    {
-		if (send(hWrite, str, index, 0) == SOCKET_ERROR)
-		{
-		    result = WSAGetLastError();
-		    smpd_translate_win_error(result, err_msg, 256, NULL);
-		    smpd_err_printf("unable to forward stdin, send failed, error %d, %s\n", result, err_msg);
-		    goto fn_fail;
-		}
-	    }
-	    /* ReadFile failed, what do I do? */
-	    smpd_dbg_printf("ReadFile failed, closing stdin reader thread.\n");
-	    goto fn_fail;
-	}
-    }
-fn_exit:
-    return;
-fn_fail:
-    /* graceful shutdown
-    if (shutdown(hWrite, SD_SEND) == SOCKET_ERROR)
-    {
-	smpd_err_printf("shutdown failed, sock %d, error %d\n", hWrite, WSAGetLastError());
-    }
-    recv(hWrite, &bogus_char, 1, 0);
-    if (closesocket(hWrite) == SOCKET_ERROR)
-    {
-	smpd_err_printf("closesocket failed, sock %d, error %d\n", hWrite, WSAGetLastError());
-    }
-    */
-    if (shutdown(hWrite, SD_BOTH) == SOCKET_ERROR)
-    {
-	smpd_err_printf("shutdown failed, sock %d, error %d\n", hWrite, WSAGetLastError());
-    }
-    if (closesocket(hWrite) == SOCKET_ERROR)
-    {
-	smpd_err_printf("closesocket failed, sock %d, error %d\n", hWrite, WSAGetLastError());
-    }
-    goto fn_exit;
-}
-#else
-#ifdef USE_PTHREAD_STDIN_REDIRECTION
-void *smpd_pthread_stdin_thread(void *p)
-{
-    int read_fd, write_fd;
-    char ch;
-    size_t num_read;
-    fd_set set;
-    int n;
-    /*struct timeval tv;*/
-
-    write_fd = smpd_process.stdin_write;
-    read_fd = fileno(stdin);
-
-    for(;;)
-    {
-	FD_ZERO(&set);
-	FD_SET(read_fd, &set);
-	FD_SET(write_fd, &set);
-
-	/*
-	  tv.tv_sec = -1;
-	  tv.tv_usec = -1;
-	*/
-	n = select(write_fd+1, &set, NULL, NULL, NULL/*&tv*/);
-	if (n<0)
-	{
-	    if (errno = EINTR || errno == 0)
-		continue;
-	    goto fn_exit;
-	}
-
-	if (FD_ISSET(write_fd, &set))
-	{
-	    /* A byte is sent on the write_fd to inform the thread to exit */
-	    read(write_fd, &ch, 1);
-	    goto fn_exit;
-	}
-	if (FD_ISSET(read_fd, &set))
-	{
-	    num_read = read(read_fd, &ch, 1);
-	    if (num_read > 0)
-	    {
-		if (write(write_fd, &ch, 1) != 1)
-		{
-		    smpd_dbg_printf("stdin redirection write failed, error %d\n", errno);
-		    goto fn_exit;
-		}
-	    }
-	    else if (num_read == 0)
-	    {
-		/* Read thread closed, should we exit? */
-		goto fn_exit;
-	    }
-	    else if (num_read == -1)
-	    {
-		/* An error occurred while reading */
-		if (errno != EINTR && errno != 0)
-		{
-		    smpd_err_printf("reading from stdin failed with error %d\n", errno);
-		    goto fn_exit;
-		}
-	    }
-	}
-    }
-fn_exit:
-    close(write_fd);
-    return NULL;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_cancel_stdin_thread"
-int smpd_cancel_stdin_thread()
-{
-    char ch = 0;
-    smpd_enter_fn(FCNAME);
-    /*printf("cancelling stin redirection thread\n");*/
-    if (smpd_process.stdin_thread == NULL)
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-    write(smpd_process.stdin_read, &ch, 1);
-    pthread_join(smpd_process.stdin_thread, NULL);
-    /*pthread_cancel(smpd_process.stdin_thread);*/
-    smpd_process.stdin_thread = NULL;
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#endif
-#endif
-
-#undef FCNAME
-#define FCNAME "smpd_get_state_string"
-const char * smpd_get_state_string(smpd_state_t state)
-{
-    static char unknown_str[100];
-    const char *result;
-
-    smpd_enter_fn(FCNAME);
-    switch (state)
-    {
-    case SMPD_IDLE:                            result = "SMPD_IDLE";                            break;
-    case SMPD_MPIEXEC_CONNECTING_TREE:         result = "SMPD_MPIEXEC_CONNECTING_TREE";         break;
-    case SMPD_MPIEXEC_CONNECTING_SMPD:         result = "SMPD_MPIEXEC_CONNECTING_SMPD";         break;
-    case SMPD_CONNECTING:                      result = "SMPD_CONNECTING";                      break;
-    case SMPD_READING_CHALLENGE_STRING:        result = "SMPD_READING_CHALLENGE_STRING";        break;
-    case SMPD_WRITING_CHALLENGE_RESPONSE:      result = "SMPD_WRITING_CHALLENGE_RESPONSE";      break;
-    case SMPD_READING_CONNECT_RESULT:          result = "SMPD_READING_CONNECT_RESULT";          break;
-    case SMPD_WRITING_CHALLENGE_STRING:        result = "SMPD_WRITING_CHALLENGE_STRING";        break;
-    case SMPD_READING_CHALLENGE_RESPONSE:      result = "SMPD_READING_CHALLENGE_RESPONSE";      break;
-    case SMPD_WRITING_CONNECT_RESULT:          result = "SMPD_WRITING_CONNECT_RESULT";          break;
-    case SMPD_READING_STDIN:                   result = "SMPD_READING_STDIN";                   break;
-    case SMPD_WRITING_DATA_TO_STDIN:           result = "SMPD_WRITING_DATA_TO_STDIN";           break;
-    case SMPD_READING_STDOUT:                  result = "SMPD_READING_STDOUT";                  break;
-    case SMPD_READING_STDERR:                  result = "SMPD_READING_STDERR";                  break;
-    case SMPD_READING_CMD_HEADER:              result = "SMPD_READING_CMD_HEADER";              break;
-    case SMPD_READING_CMD:                     result = "SMPD_READING_CMD";                     break;
-    case SMPD_WRITING_CMD:                     result = "SMPD_WRITING_CMD";                     break;
-    case SMPD_SMPD_LISTENING:                  result = "SMPD_SMPD_LISTENING";                  break;
-    case SMPD_MGR_LISTENING:                   result = "SMPD_MGR_LISTENING";                   break;
-    case SMPD_PMI_LISTENING: 	               result = "SMPD_PMI_LISTENING";                   break;
-    case SMPD_SINGLETON_CLIENT_LISTENING:      result = "SMPD_SINGLETON_CLIENT_LISTENING";      break;
-    case SMPD_SINGLETON_MPIEXEC_CONNECTING:    result = "SMPD_SINGLETON_MPIEXEC_CONNECTING";    break;
-    case SMPD_SINGLETON_READING_PMI_INFO:      result = "SMPD_SINGLETON_READING_PMI_INFO";      break;
-    case SMPD_SINGLETON_WRITING_PMI_INFO:      result = "SMPD_SINGLETON_WRITING_PMI_INFO";      break;
-    case SMPD_SINGLETON_DONE:                  result = "SMPD_SINGLETON_DONE";                  break;
-    case SMPD_PMI_SERVER_LISTENING:            result = "SMPD_PMI_SERVER_LISTENING";            break;
-    case SMPD_READING_SESSION_REQUEST:         result = "SMPD_READING_SESSION_REQUEST";         break;
-    case SMPD_WRITING_SMPD_SESSION_REQUEST:    result = "SMPD_WRITING_SMPD_SESSION_REQUEST";    break;
-    case SMPD_WRITING_PROCESS_SESSION_REQUEST: result = "SMPD_WRITING_PROCESS_SESSION_REQUEST"; break;
-    case SMPD_WRITING_PMI_SESSION_REQUEST:     result = "SMPD_WRITING_PMI_SESSION_REQUEST";     break;
-    case SMPD_WRITING_PWD_REQUEST:             result = "SMPD_WRITING_PWD_REQUEST";             break;
-    case SMPD_WRITING_NO_PWD_REQUEST:          result = "SMPD_WRITING_NO_PWD_REQUEST";          break;
-    case SMPD_READING_PWD_REQUEST:             result = "SMPD_READING_PWD_REQUEST";             break;
-    case SMPD_READING_SMPD_PASSWORD:           result = "SMPD_READING_SMPD_PASSWORD";           break;
-    case SMPD_WRITING_CRED_REQUEST:            result = "SMPD_WRITING_CRED_REQUEST";            break;
-    case SMPD_READING_CRED_ACK:                result = "SMPD_READING_CRED_ACK";                break;
-    case SMPD_WRITING_CRED_ACK_YES:            result = "SMPD_WRITING_CRED_ACK_YES";            break;
-    case SMPD_WRITING_CRED_ACK_NO:             result = "SMPD_WRITING_CRED_ACK_NO";             break;
-    case SMPD_READING_ACCOUNT:                 result = "SMPD_READING_ACCOUNT";                 break;
-    case SMPD_READING_PASSWORD:                result = "SMPD_READING_PASSWORD";                break;
-    case SMPD_WRITING_ACCOUNT:                 result = "SMPD_WRITING_ACCOUNT";                 break;
-    case SMPD_WRITING_PASSWORD:                result = "SMPD_WRITING_PASSWORD";                break;
-    case SMPD_WRITING_NO_CRED_REQUEST:         result = "SMPD_WRITING_NO_CRED_REQUEST";         break;
-    case SMPD_READING_CRED_REQUEST:            result = "SMPD_READING_CRED_REQUEST";            break;
-    case SMPD_WRITING_RECONNECT_REQUEST:       result = "SMPD_WRITING_RECONNECT_REQUEST";       break;
-    case SMPD_WRITING_NO_RECONNECT_REQUEST:    result = "SMPD_WRITING_NO_RECONNECT_REQUEST";    break;
-    case SMPD_READING_RECONNECT_REQUEST:       result = "SMPD_READING_RECONNECT_REQUEST";       break;
-    case SMPD_READING_SESSION_HEADER:          result = "SMPD_READING_SESSION_HEADER";          break;
-    case SMPD_WRITING_SESSION_HEADER:          result = "SMPD_WRITING_SESSION_HEADER";          break;
-    case SMPD_READING_SMPD_RESULT:             result = "SMPD_READING_SMPD_RESULT";             break;
-    case SMPD_READING_PROCESS_RESULT:          result = "SMPD_READING_PROCESS_RESULT";          break;
-    case SMPD_WRITING_SESSION_ACCEPT:          result = "SMPD_WRITING_SESSION_ACCEPT";          break;
-    case SMPD_WRITING_SESSION_REJECT:          result = "SMPD_WRITING_SESSION_REJECT";          break;
-    case SMPD_WRITING_PROCESS_SESSION_ACCEPT:  result = "SMPD_WRITING_PROCESS_SESSION_REJECT";  break;
-    case SMPD_WRITING_PROCESS_SESSION_REJECT:  result = "SMPD_WRITING_PROCESS_SESSION_REJECT";  break;
-    case SMPD_RECONNECTING:                    result = "SMPD_RECONNECTING";                    break;
-    case SMPD_EXITING:                         result = "SMPD_EXITING";                         break;
-    case SMPD_CLOSING:                         result = "SMPD_CLOSING";                         break;
-    case SMPD_WRITING_SMPD_PASSWORD:           result = "SMPD_WRITING_SMPD_PASSWORD";           break;
-    case SMPD_READING_SSPI_HEADER:             result = "SMPD_READING_SSPI_HEADER";             break;
-    case SMPD_READING_SSPI_BUFFER:             result = "SMPD_READING_SSPI_BUFFER";             break;
-    case SMPD_WRITING_SSPI_HEADER:             result = "SMPD_WRITING_SSPI_HEADER";             break;
-    case SMPD_WRITING_SSPI_BUFFER:             result = "SMPD_WRITING_SSPI_BUFFER";             break;
-    case SMPD_WRITING_DELEGATE_REQUEST:        result = "SMPD_WRITING_DELEGATE_REQUEST";        break;
-    case SMPD_READING_DELEGATE_REQUEST_RESULT: result = "SMPD_READING_DELEGATE_REQUEST_RESULT"; break;
-    case SMPD_WRITING_IMPERSONATE_RESULT:      result = "SMPD_WRITING_IMPERSONATE_RESULT";      break;
-    case SMPD_WRITING_CRED_ACK_SSPI:           result = "SMPD_WRITING_CRED_ACK_SSPI";           break;
-    case SMPD_READING_CLIENT_SSPI_HEADER:      result = "SMPD_READING_CLIENT_SSPI_HEADER";      break;
-    case SMPD_READING_CLIENT_SSPI_BUFFER:      result = "SMPD_READING_CLIENT_SSPI_BUFFER";      break;
-    case SMPD_WRITING_CLIENT_SSPI_HEADER:      result = "SMPD_WRITING_CLIENT_SSPI_HEADER";      break;
-    case SMPD_WRITING_CLIENT_SSPI_BUFFER:      result = "SMPD_WRITING_CLIENT_SSPI_BUFFER";      break;
-    case SMPD_READING_TIMEOUT:                 result = "SMPD_READING_TIMEOUT";                 break;
-    case SMPD_READING_MPIEXEC_ABORT:           result = "SMPD_READING_MPIEXEC_ABORT";           break;
-    case SMPD_RESTARTING:                      result = "SMPD_RESTARTING";                      break;
-    case SMPD_DONE:                            result = "SMPD_DONE";                            break;
-    case SMPD_CONNECTING_RPMI:                 result = "SMPD_CONNECTING_RPMI";                 break;
-    case SMPD_CONNECTING_PMI:                  result = "SMPD_CONNECTING_PMI";                  break;
-    case SMPD_WRITING_SSPI_REQUEST:            result = "SMPD_WRITING_SSPI_REQUEST";            break;
-    case SMPD_READING_PMI_ID:                  result = "SMPD_READING_PMI_ID";                  break;
-    case SMPD_WRITING_PMI_ID:                  result = "SMPD_WRITING_PMI_ID";                  break;
-    case SMPD_WRITING_DELEGATE_REQUEST_RESULT: result = "SMPD_WRITING_DELEGATE_REQUEST_RESULT"; break;
-    case SMPD_READING_IMPERSONATE_RESULT:      result = "SMPD_READING_IMPERSONATE_RESULT";      break;
-    case SMPD_WRITING_CRED_ACK_SSPI_JOB_KEY:   result = "SMPD_WRITING_CRED_ACK_SSPI_JOB_KEY";   break;
-    case SMPD_WRITING_SSPI_JOB_KEY:            result = "SMPD_WRITING_SSPI_JOB_KEY";            break;
-    case SMPD_READING_SSPI_JOB_KEY:            result = "SMPD_READING_SSPI_JOB_KEY";            break;
-    default:
-	sprintf(unknown_str, "unknown state %d", state);
-	result = unknown_str;
-	break;
-    }
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_verify_version"
-SMPD_BOOL smpd_verify_version(const char *challenge)
-{
-    char version[100];
-    char *space_char;
-
-    /* The first part of the challenge string up to the first space is the smpd version */
-
-    smpd_enter_fn(FCNAME);
-    space_char = strchr(challenge, ' ');
-    if (space_char != NULL && space_char - challenge < 100)
-    {
-	strncpy(version, challenge, space_char - challenge);
-	version[space_char - challenge] = '\0';
-	if (strcmp(version, SMPD_VERSION) == 0)
-	{
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_TRUE;
-	}
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_FALSE;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_reading_challenge_string"
-int smpd_state_reading_challenge_string(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-    char phrase[SMPD_PASSPHRASE_MAX_LENGTH];
-
-    smpd_enter_fn(FCNAME);
-
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to read the challenge string, %s.\n", get_sock_error_string(event_ptr->error));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_dbg_printf("read challenge string: '%s'\n", context->pszChallengeResponse);
-    context->read_state = SMPD_IDLE;
-
-    /* check to see if we are simply trying to get the version */
-    if (smpd_process.do_console == 1 && smpd_process.builtin_cmd == SMPD_CMD_VERSION)
-    {
-	strtok(context->pszChallengeResponse, " ");
-	printf("%s\n", context->pszChallengeResponse);
-	fflush(stdout);
-	smpd_exit(0);
-    }
-
-    if (smpd_verify_version(context->pszChallengeResponse) == SMPD_TRUE)
-    {
-        smpd_dbg_printf("Verification of smpd version succeeded\n");
-	strcpy(phrase, smpd_process.passphrase);
-	/* crypt the passphrase + the challenge */
-	if (strlen(phrase) + strlen(context->pszChallengeResponse) > SMPD_PASSPHRASE_MAX_LENGTH)
-	{
-	    smpd_err_printf("smpd_client_authenticate: unable to process passphrase - too long.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	strcat(phrase, context->pszChallengeResponse);
-
-	/*smpd_dbg_printf("crypting: %s\n", phrase);*/
-	smpd_hash(phrase, (int)strlen(phrase), context->pszChallengeResponse, SMPD_AUTHENTICATION_STR_LEN);
-	/* save the response to be used as a prefix to the password when encrypting the password */
-	MPIU_Strncpy(smpd_process.encrypt_prefix, context->pszChallengeResponse, SMPD_MAX_PASSWORD_LENGTH);
-    }
-    else
-    {
-        smpd_dbg_printf("Verification of smpd version failed...Sending version failure to PM\n");
-	    strcpy(context->pszChallengeResponse, SMPD_VERSION_FAILURE);
-    }
-
-    /* write the response */
-    /*smpd_dbg_printf("writing response: %s\n", pszStr);*/
-    context->write_state = SMPD_WRITING_CHALLENGE_RESPONSE;
-    result = SMPDU_Sock_post_write(context->sock, context->pszChallengeResponse, SMPD_AUTHENTICATION_STR_LEN, SMPD_AUTHENTICATION_STR_LEN, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a write of the encrypted response string,\nsock error: %s\n",
-	    get_sock_error_string(result));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_writing_challenge_response"
-int smpd_state_writing_challenge_response(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to write the challenge response, %s.\n", get_sock_error_string(event_ptr->error));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_dbg_printf("wrote challenge response: '%s'\n", context->pszChallengeResponse);
-    context->write_state = SMPD_IDLE;
-    context->read_state = SMPD_READING_CONNECT_RESULT;
-    result = SMPDU_Sock_post_read(context->sock, context->pszChallengeResponse, SMPD_AUTHENTICATION_STR_LEN, SMPD_AUTHENTICATION_STR_LEN, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a read for the connect response,\nsock error: %s\n",
-	    get_sock_error_string(result));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_reading_connect_result"
-int smpd_state_reading_connect_result(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to read the connect result, %s.\n", get_sock_error_string(event_ptr->error));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_dbg_printf("read connect result: '%s'\n", context->pszChallengeResponse);
-    context->read_state = SMPD_IDLE;
-    if (strcmp(context->pszChallengeResponse, SMPD_AUTHENTICATION_ACCEPTED_STR))
-    {
-	char post_message[100];
-	/* rejected connection, close */
-	smpd_dbg_printf("connection rejected, server returned - %s\n", context->pszChallengeResponse);
-	context->read_state = SMPD_IDLE;
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to close sock, error:\n%s\n", get_sock_error_string(result));
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-
-	/* connection failed, abort? */
-	/* when does a forming context get assinged it's global place?  At creation?  At connection? */
-	if (strcmp(context->pszChallengeResponse, SMPD_AUTHENTICATION_REJECTED_VERSION_STR) == 0)
-	{
-	    /* Customize the abort message to state that the smpd version did not match */
-	    strcpy(post_message, ", smpd version mismatch");
-	}
-	else
-	{
-	    post_message[0] = '\0';
-	}
-	if (smpd_process.left_context == context)
-	    smpd_process.left_context = NULL;
-	if (smpd_process.do_console && smpd_process.console_host[0] != '\0')
-	    result = smpd_post_abort_command("unable to connect to %s%s", smpd_process.console_host, post_message);
-	else if (context->connect_to && context->connect_to->host[0] != '\0')
-	    result = smpd_post_abort_command("unable to connect to %s%s", context->connect_to->host, post_message);
-	else
-	{
-	    if (context->host[0] != '\0')
-	    {
-		result = smpd_post_abort_command("unable to connect to %s%s", context->host, post_message);
-	    }
-	    else
-	    {
-		result = smpd_post_abort_command("connection to smpd rejected%s", post_message);
-	    }
-	}
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to create the close command to tear down the job tree.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-    }
-    else
-    {
-	context->write_state = SMPD_WRITING_PROCESS_SESSION_REQUEST;
-	context->target = SMPD_TARGET_PROCESS;
-	switch (context->state)
-	{
-	case SMPD_MPIEXEC_CONNECTING_TREE:
-	case SMPD_CONNECTING:
-	    strcpy(context->session, SMPD_PROCESS_SESSION_STR);
-	    break;
-	case SMPD_MPIEXEC_CONNECTING_SMPD:
-	    if (smpd_process.use_process_session)
-	    {
-		strcpy(context->session, SMPD_PROCESS_SESSION_STR);
-	    }
-	    else
-	    {
-		context->target = SMPD_TARGET_SMPD;
-		strcpy(context->session, SMPD_SMPD_SESSION_STR);
-		context->write_state = SMPD_WRITING_SMPD_SESSION_REQUEST;
-	    }
-	    break;
-	case SMPD_CONNECTING_RPMI:
-	    context->target = SMPD_TARGET_PMI;
-	    context->write_state = SMPD_WRITING_PMI_SESSION_REQUEST;
-	    strcpy(context->session, SMPD_PMI_SESSION_STR);
-	    break;
-	default:
-	    strcpy(context->session, SMPD_PROCESS_SESSION_STR);
-	    break;
-	}
-	result = SMPDU_Sock_post_write(context->sock, context->session, SMPD_SESSION_REQUEST_LEN, SMPD_SESSION_REQUEST_LEN, NULL);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a write of the session request '%s',\nsock error: %s\n",
-		context->session, get_sock_error_string(result));
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_writing_challenge_string"
-int smpd_state_writing_challenge_string(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to write the challenge string, %s.\n", get_sock_error_string(event_ptr->error));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	result = (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-    smpd_dbg_printf("wrote challenge string: '%s'\n", context->pszChallengeResponse);
-    context->read_state = SMPD_READING_CHALLENGE_RESPONSE;
-    context->write_state = SMPD_IDLE;
-    result = SMPDU_Sock_post_read(context->sock, context->pszChallengeResponse, SMPD_AUTHENTICATION_STR_LEN, SMPD_AUTHENTICATION_STR_LEN, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("posting a read of the challenge response string failed,\nsock error: %s\n",
-	    get_sock_error_string(result));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	result = (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_reading_challenge_response"
-int smpd_state_reading_challenge_response(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to read the challenge response, %s.\n", get_sock_error_string(event_ptr->error));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    smpd_dbg_printf("read challenge response: '%s'\n", context->pszChallengeResponse);
-    context->read_state = SMPD_IDLE;
-    context->write_state = SMPD_WRITING_CONNECT_RESULT;
-    if (strcmp(context->pszChallengeResponse, SMPD_VERSION_FAILURE) == 0)
-    {
-	strcpy(context->pszChallengeResponse, SMPD_AUTHENTICATION_REJECTED_VERSION_STR);
-    }
-    else if (strcmp(context->pszChallengeResponse, context->pszCrypt) == 0)
-    {
-	strcpy(context->pszChallengeResponse, SMPD_AUTHENTICATION_ACCEPTED_STR);
-    }
-    else
-    {
-	strcpy(context->pszChallengeResponse, SMPD_AUTHENTICATION_REJECTED_STR);
-    }
-    result = SMPDU_Sock_post_write(context->sock, context->pszChallengeResponse, SMPD_AUTHENTICATION_STR_LEN, SMPD_AUTHENTICATION_STR_LEN, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a write of the connect result '%s',\nsock error: %s\n",
-	    context->pszChallengeResponse, get_sock_error_string(result));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_writing_connect_result"
-int smpd_state_writing_connect_result(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to write the connect result, %s.\n", get_sock_error_string(event_ptr->error));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    smpd_dbg_printf("wrote connect result: '%s'\n", context->pszChallengeResponse);
-    context->write_state = SMPD_IDLE;
-    if (strcmp(context->pszChallengeResponse, SMPD_AUTHENTICATION_REJECTED_STR) == 0)
-    {
-	context->state = SMPD_CLOSING;
-	smpd_dbg_printf("connection reject string written, closing sock.\n");
-	result = SMPDU_Sock_post_close(context->sock);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("SMPDU_Sock_post_close failed, error:\n%s\n", get_sock_error_string(result));
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-    context->read_state = SMPD_READING_SESSION_REQUEST;
-    result = SMPDU_Sock_post_read(context->sock, context->session, SMPD_SESSION_REQUEST_LEN, SMPD_SESSION_REQUEST_LEN, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a read for the session header,\nsock error: %s\n", get_sock_error_string(result));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_reading_stdin"
-int smpd_state_reading_stdin(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-    smpd_command_t *cmd_ptr;
-    SMPDU_Sock_size_t num_read;
-    char buffer[SMPD_MAX_CMD_LENGTH];
-    int num_encoded;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	/*smpd_err_printf("unable to read from stdin, %s.\n", get_sock_error_string(event_ptr->error));*/
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_dbg_printf("read from stdin\n");
-    if (context->type == SMPD_CONTEXT_MPIEXEC_STDIN)
-    {
-	smpd_dbg_printf("read from %s\n", smpd_get_context_str(context));
-
-	/* one byte read, attempt to read up to the buffer size */
-	result = SMPDU_Sock_read(context->sock, &context->read_cmd.cmd[1], SMPD_STDIN_PACKET_SIZE-1, &num_read);
-	if (result != SMPD_SUCCESS)
-	{
-	    num_read = 0;
-	    smpd_dbg_printf("SMPDU_Sock_read(%d) failed (%s), assuming %s is closed.\n",
-		SMPDU_Sock_get_sock_id(context->sock), get_sock_error_string(result), smpd_get_context_str(context));
-            smpd_exit_fn(FCNAME);
-            return SMPD_FAIL;
-	}
-	smpd_dbg_printf("%d bytes read from %s\n", num_read+1, smpd_get_context_str(context));
-	smpd_encode_buffer(buffer, SMPD_MAX_CMD_LENGTH, context->read_cmd.cmd, num_read+1, &num_encoded);
-	buffer[num_encoded*2] = '\0';
-	/*smpd_dbg_printf("encoded %d characters: %d '%s'\n", num_encoded, strlen(buffer), buffer);*/
-
-	/* create an stdin command */
-	result = smpd_create_command("stdin", 0, 1 /* input always goes to node 1? */, SMPD_FALSE, &cmd_ptr);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to create an stdin command.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	result = smpd_add_command_arg(cmd_ptr, "data", buffer);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add the data to the stdin command.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-
-	/* send the stdin command */
-	result = smpd_post_write_command(smpd_process.left_context, cmd_ptr);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a write of the stdin command.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-    }
-    else if (context->type == SMPD_CONTEXT_MPIEXEC_STDIN_RSH)
-    {
-	unsigned char *buf;
-	SMPDU_Sock_size_t total, num_written;
-	smpd_dbg_printf("read from %s\n", smpd_get_context_str(context));
-
-	/* one byte read, attempt to read up to the buffer size */
-	result = SMPDU_Sock_read(context->sock, &context->read_cmd.cmd[1], SMPD_STDIN_PACKET_SIZE-1, &num_read);
-	if (result != SMPD_SUCCESS)
-	{
-	    num_read = 0;
-	    smpd_dbg_printf("SMPDU_Sock_read(%d) failed (%s), assuming %s is closed.\n",
-		SMPDU_Sock_get_sock_id(context->sock), get_sock_error_string(result), smpd_get_context_str(context));
-            smpd_exit_fn(FCNAME);
-            return SMPD_FAIL;
-	}
-	smpd_dbg_printf("%d bytes read from %s\n", num_read+1, smpd_get_context_str(context));
-
-	/* write stdin to root rsh process */
-	total = num_read+1;
-	buf = (unsigned char *)context->read_cmd.cmd;
-	while (total > 0)
-	{
-	    result = SMPDU_Sock_write(context->process->in->sock, buf, total, &num_written);
-	    if (result != SMPD_SUCCESS)
-	    {
-		num_read = 0;
-		total = 0;
-		smpd_dbg_printf("SMPDU_Sock_write(%d) failed (%s), assuming %s is closed.\n",
-		    SMPDU_Sock_get_sock_id(context->process->in->sock), get_sock_error_string(result), smpd_get_context_str(context));
-	    }
-	    else
-	    {
-		total = total - num_written;
-		buf = buf + num_written;
-		if (num_written == 0)
-		{
-		    /* FIXME: what does 0 bytes written mean?
-		     * Does it mean that no bytes could be written at that moment
-		     * or does it mean that there is an error on the socket?
-		     */
-		}
-	    }
-	}
-    }
-    else
-    {
-	if (context->read_cmd.stdin_read_offset == SMPD_STDIN_PACKET_SIZE ||
-	    context->read_cmd.cmd[context->read_cmd.stdin_read_offset] == '\n')
-	{
-	    if (context->read_cmd.cmd[context->read_cmd.stdin_read_offset] != '\n')
-		smpd_err_printf("truncated command.\n");
-	    context->read_cmd.cmd[context->read_cmd.stdin_read_offset] = '\0'; /* remove the \n character */
-	    result = smpd_create_command("", -1, -1, SMPD_FALSE, &cmd_ptr);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to create a command structure for the stdin command.\n");
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    result = smpd_init_command(cmd_ptr);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to initialize a command structure for the stdin command.\n");
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    strcpy(cmd_ptr->cmd, context->read_cmd.cmd);
-	    if (MPIU_Str_get_int_arg(cmd_ptr->cmd, "src", &cmd_ptr->src) != MPIU_STR_SUCCESS)
-	    {
-		result = smpd_add_command_int_arg(cmd_ptr, "src", 0);
-		if (result != SMPD_SUCCESS)
-		{
-		    smpd_err_printf("unable to add the default src parameter to the stdin command.\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-	    }
-	    if (MPIU_Str_get_int_arg(cmd_ptr->cmd, "dest", &cmd_ptr->dest) != MPIU_STR_SUCCESS)
-	    {
-		result = smpd_add_command_int_arg(cmd_ptr, "dest", 1);
-		if (result != SMPD_SUCCESS)
-		{
-		    smpd_err_printf("unable to add the default dest parameter to the stdin command.\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-	    }
-	    result = smpd_parse_command(cmd_ptr);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("invalid command read from stdin, ignoring: \"%s\"\n", context->read_cmd.cmd);
-	    }
-	    else
-	    {
-		if (strcmp(cmd_ptr->cmd_str, "connect") == 0)
-		{
-		    if (MPIU_Str_get_int_arg(context->read_cmd.cmd, "tag", &cmd_ptr->tag) != MPIU_STR_SUCCESS)
-		    {
-			smpd_dbg_printf("adding tag %d to connect command.\n", smpd_process.cur_tag);
-			smpd_add_command_int_arg(cmd_ptr, "tag", smpd_process.cur_tag);
-			cmd_ptr->tag = smpd_process.cur_tag;
-			smpd_process.cur_tag++;
-		    }
-		    cmd_ptr->wait = SMPD_TRUE;
-		}
-		if (strcmp(cmd_ptr->cmd_str, "set") == 0 || strcmp(cmd_ptr->cmd_str, "delete") == 0 ||
-		    strcmp(cmd_ptr->cmd_str, "stat") == 0 || strcmp(cmd_ptr->cmd_str, "get") == 0)
-		{
-		    if (MPIU_Str_get_int_arg(context->read_cmd.cmd, "tag", &cmd_ptr->tag) != MPIU_STR_SUCCESS)
-		    {
-			smpd_dbg_printf("adding tag %d to %s command.\n", smpd_process.cur_tag, cmd_ptr->cmd_str);
-			smpd_add_command_int_arg(cmd_ptr, "tag", smpd_process.cur_tag);
-			cmd_ptr->tag = smpd_process.cur_tag;
-			smpd_process.cur_tag++;
-		    }
-		    cmd_ptr->wait = SMPD_TRUE;
-		}
-
-		smpd_dbg_printf("command read from stdin, forwarding to left_child smpd\n");
-		result = smpd_post_write_command(smpd_process.left_context, cmd_ptr);
-		if (result != SMPD_SUCCESS)
-		{
-		    smpd_err_printf("unable to post a write of the command read from stdin: \"%s\"\n", cmd_ptr->cmd);
-		    smpd_free_command(cmd_ptr);
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		smpd_dbg_printf("posted write of command: \"%s\"\n", cmd_ptr->cmd);
-	    }
-	    context->read_cmd.stdin_read_offset = 0;
-	}
-	else
-	{
-	    context->read_cmd.stdin_read_offset++;
-	}
-    }
-    result = SMPDU_Sock_post_read(context->sock, &context->read_cmd.cmd[context->read_cmd.stdin_read_offset], 1, 1, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	/*
-	if (result != SOCK_EOF)
-	{
-	    smpd_dbg_printf("SMPDU_Sock_post_read failed (%s), assuming %s is closed, calling sock_post_close(%d).\n",
-		get_sock_error_string(result), smpd_get_context_str(context), sock_getid(context->sock));
-	}
-	*/
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a close on a broken %s context.\n", smpd_get_context_str(context));
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_smpd_writing_data_to_stdin"
-int smpd_state_smpd_writing_data_to_stdin(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-    smpd_stdin_write_node_t *node;
-
-    smpd_enter_fn(FCNAME);
-
-    SMPD_UNREFERENCED_ARG(event_ptr);
-
-    node = context->process->stdin_write_list;
-    if (node == NULL)
-    {
-	smpd_err_printf("write completed to process stdin context with no write posted in the list.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    smpd_dbg_printf("wrote %d bytes to stdin of rank %d\n", node->length, context->process->rank);
-    MPIU_Free(node->buffer);
-    MPIU_Free(node);
-
-    context->process->stdin_write_list = context->process->stdin_write_list->next;
-    if (context->process->stdin_write_list != NULL)
-    {
-	context->process->in->write_state = SMPD_WRITING_DATA_TO_STDIN;
-	result = SMPDU_Sock_post_write(context->process->in->sock,
-	    node->buffer, node->length, node->length, NULL);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a write of %d bytes to stdin for rank %d\n",
-		node->length, context->process->rank);
-	    smpd_exit_fn(FCNAME);
-	}
-    }
-    else
-    {
-	context->process->in->write_state = SMPD_IDLE;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_reading_stdouterr"
-int smpd_state_reading_stdouterr(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-    smpd_command_t *cmd_ptr;
-    SMPDU_Sock_size_t num_read;
-    char buffer[SMPD_MAX_CMD_LENGTH];
-    int num_encoded;
-    SMPD_BOOL ends_in_cr = SMPD_FALSE;
-
-    smpd_enter_fn(FCNAME);
-    if (context->state == SMPD_CLOSING)
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-    /*
-	if (event_ptr->error != SMPDU_SOCK_ERR_CONN_CLOSED)
-	{
-	    smpd_dbg_printf("reading failed(%s), assuming %s is closed.\n",
-		get_sock_error_string(event_ptr->error), smpd_get_context_str(context));
-	}
-    */
-
-	/* Return an error an then handle_sock_op_read will post a close
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a close on a broken %s context.\n", smpd_get_context_str(context));
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	*/
-
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    smpd_dbg_printf("read from %s\n", smpd_get_context_str(context));
-
-    /* one byte read, attempt to read up to the buffer size */
-    result = SMPDU_Sock_read(context->sock, &context->read_cmd.cmd[1], (SMPD_MAX_STDOUT_LENGTH/2)-2, &num_read);
-    if (result != SMPD_SUCCESS)
-    {
-	num_read = 0;
-	smpd_dbg_printf("SMPDU_Sock_read(%d) failed (%s), assuming %s is closed.\n",
-	    SMPDU_Sock_get_sock_id(context->sock), get_sock_error_string(result), smpd_get_context_str(context));
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-    /* Use num_read instead of num_read-1 because one byte was already read before increasing the buffer length by one */
-    if (context->read_cmd.cmd[num_read] == '\n')
-    {
-	ends_in_cr = SMPD_TRUE;
-    }
-    smpd_dbg_printf("%d bytes read from %s\n", num_read+1, smpd_get_context_str(context));
-    if (context->type == SMPD_CONTEXT_STDOUT_RSH || context->type == SMPD_CONTEXT_STDERR_RSH)
-    {
-	size_t total;
-	size_t num_written;
-	char *buffer;
-
-	total = num_read+1;
-	buffer = context->read_cmd.cmd;
-	while (total > 0)
-	{
-	    num_written = fwrite(buffer, 1, total, context->type == SMPD_CONTEXT_STDOUT_RSH ? stdout : stderr);
-	    if (num_written < 1)
-	    {
-		num_read = 0;
-		total = 0;
-		smpd_err_printf("fwrite failed: error %d\n", ferror(context->type == SMPD_CONTEXT_STDOUT_RSH ? stdout : stderr));
-	    }
-	    else
-	    {
-		total = total - num_written;
-		buffer = buffer + num_written;
-	    }
-	}
-    }
-    else
-    {
-	smpd_encode_buffer(buffer, SMPD_MAX_CMD_LENGTH, context->read_cmd.cmd, num_read+1, &num_encoded);
-	buffer[num_encoded*2] = '\0';
-	/*smpd_dbg_printf("encoded %d characters: %d '%s'\n", num_encoded, strlen(buffer), buffer);*/
-
-	/* create an output command */
-	result = smpd_create_command(
-	    smpd_get_context_str(context),
-	    smpd_process.id, 0 /* output always goes to node 0? */, SMPD_FALSE, &cmd_ptr);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to create an output command.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	result = smpd_add_command_int_arg(cmd_ptr, "rank", context->rank);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add the rank to the %s command.\n", smpd_get_context_str(context));
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-
-	/* Use the context->first_output_stdout/err flag to indicate that this is the first output since
-	 * an end of a line or the very first output of the application.  mpiexec uses this flag when the
-	 * -l option is specified to prefix lines with process information.  This flag only handles end of
-	 * line situations where the end of line is the last entry in the output.  mpiexec handles end of
-	 * line characters in the middle of the output.
-	 */
-	switch (context->type)
-	{
-	case SMPD_CONTEXT_STDOUT:
-	    if (context->first_output_stdout == SMPD_TRUE)
-	    {
-		result = smpd_add_command_int_arg(cmd_ptr, "first", 1);
-	    }
-	    else
-	    {
-		result = smpd_add_command_int_arg(cmd_ptr, "first", 0);
-	    }
-	    context->first_output_stdout = ends_in_cr;
-	    break;
-	case SMPD_CONTEXT_STDERR:
-	    if (context->first_output_stderr == SMPD_TRUE)
-	    {
-		result = smpd_add_command_int_arg(cmd_ptr, "first", 1);
-	    }
-	    else
-	    {
-		result = smpd_add_command_int_arg(cmd_ptr, "first", 0);
-	    }
-	    context->first_output_stderr = ends_in_cr;
-	    break;
-	default:
-	    result = smpd_add_command_int_arg(cmd_ptr, "first", 0);
-	    break;
-	}
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add the first flag to the %s command.\n", smpd_get_context_str(context));
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	result = smpd_add_command_arg(cmd_ptr, "data", buffer);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add the data to the %s command.\n", smpd_get_context_str(context));
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-
-	/* send the stdout command */
-	result = smpd_post_write_command(smpd_process.parent_context, cmd_ptr);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a write of the %s command.\n", smpd_get_context_str(context));
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-    }
-
-    /* post a read for the next byte of data */
-    result = SMPDU_Sock_post_read(context->sock, &context->read_cmd.cmd, 1, 1, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	/*
-	if (result != SOCK_EOF)
-	{
-	    smpd_dbg_printf("SMPDU_Sock_post_read failed (%s), assuming %s is closed, calling sock_post_close(%d).\n",
-		get_sock_error_string(result), smpd_get_context_str(context), SMPDU_Sock_get_sock_id(context->sock));
-	}
-	*/
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a close on a broken %s context.\n", smpd_get_context_str(context));
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_reading_cmd_header"
-int smpd_state_reading_cmd_header(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to read the cmd header on the %s context, %s.\n",
-	    smpd_get_context_str(context), get_sock_error_string(event_ptr->error));
-	if (smpd_process.root_smpd)
-	{
-	    context->state = SMPD_CLOSING;
-	    result = SMPDU_Sock_post_close(context->sock);
-	    smpd_exit_fn(FCNAME);
-	    return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	}
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_dbg_printf("read command header\n");
-    context->read_cmd.length = atoi(context->read_cmd.cmd_hdr_str);
-    if ((context->read_cmd.length < 1) || (context->read_cmd.length > SMPD_MAX_CMD_LENGTH))
-    {
-	smpd_err_printf("unable to read the command, invalid command length: %d\n", context->read_cmd.length);
-	if (smpd_process.root_smpd)
-	{
-	    context->state = SMPD_CLOSING;
-	    result = SMPDU_Sock_post_close(context->sock);
-	    smpd_exit_fn(FCNAME);
-	    return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	}
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_dbg_printf("command header read, posting read for data: %d bytes\n", context->read_cmd.length);
-    context->read_cmd.state = SMPD_CMD_READING_CMD;
-    context->read_state = SMPD_READING_CMD;
-    result = SMPDU_Sock_post_read(context->sock, context->read_cmd.cmd, context->read_cmd.length, context->read_cmd.length, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a read for the command string,\nsock error: %s\n", get_sock_error_string(result));
-	if (smpd_process.root_smpd)
-	{
-	    context->state = SMPD_CLOSING;
-	    result = SMPDU_Sock_post_close(context->sock);
-	    smpd_exit_fn(FCNAME);
-	    return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	}
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_reading_cmd"
-int smpd_state_reading_cmd(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-    smpd_command_t *cmd_ptr;
-    smpd_host_node_t *left, *right, *host_node;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to read the command, %s.\n", get_sock_error_string(event_ptr->error));
-	if (smpd_process.root_smpd)
-	{
-	    context->state = SMPD_CLOSING;
-	    result = SMPDU_Sock_post_close(context->sock);
-	    smpd_exit_fn(FCNAME);
-	    return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	}
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_dbg_printf("read command\n");
-    result = smpd_parse_command(&context->read_cmd);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to parse the read command: \"%s\"\n", context->read_cmd.cmd);
-	if (smpd_process.root_smpd)
-	{
-	    context->state = SMPD_CLOSING;
-	    result = SMPDU_Sock_post_close(context->sock);
-	    smpd_exit_fn(FCNAME);
-	    return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	}
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_dbg_printf("read command: \"%s\"\n", context->read_cmd.cmd);
-    context->read_cmd.state = SMPD_CMD_READY;
-    result = smpd_handle_command(context);
-    if (result == SMPD_SUCCESS)
-    {
-	result = smpd_post_read_command(context);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a read for the next command on %s context.\n", smpd_get_context_str(context));
-	    if (smpd_process.root_smpd)
-	    {
-		context->state = SMPD_CLOSING;
-		result = SMPDU_Sock_post_close(context->sock);
-		smpd_exit_fn(FCNAME);
-		return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	    }
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-    }
-    else if (result == SMPD_CLOSE || result == SMPD_EXITING)
-    {
-	smpd_dbg_printf("not posting read for another command because %s returned\n",
-	    result == SMPD_CLOSE ? "SMPD_CLOSE" : "SMPD_EXITING");
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-    else if (result == SMPD_EXIT)
-    {
-	result = smpd_post_read_command(context);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a read for the next command on %s context.\n", smpd_get_context_str(context));
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-
-	/* The last process has exited, create a close command to tear down the tree */
-	smpd_process.closing = SMPD_TRUE;
-	result = smpd_create_command("close", 0, 1, SMPD_FALSE, &cmd_ptr);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to create the close command to tear down the job tree.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	result = smpd_post_write_command(smpd_process.left_context, cmd_ptr);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a write of the close command to tear down the job tree.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-    }
-    else if (result == SMPD_CONNECTED)
-    {
-	result = smpd_post_read_command(context);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a read for the next command on %s context.\n", smpd_get_context_str(context));
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-
-	/* mark the node as connected */
-	context->connect_to->connected = SMPD_TRUE;
-	left = context->connect_to->left;
-	right = context->connect_to->right;
-
-	while (left != NULL || right != NULL)
-	{
-	    if (left != NULL)
-	    {
-		smpd_dbg_printf("creating connect command for left node\n");
-		host_node = left;
-		left = NULL;
-	    }
-	    else
-	    {
-		smpd_dbg_printf("creating connect command for right node\n");
-		host_node = right;
-		right = NULL;
-	    }
-	    smpd_dbg_printf("creating connect command to '%s'\n", host_node->host);
-	    /* create a connect command to be sent to the parent */
-	    result = smpd_create_command("connect", 0, host_node->parent, SMPD_TRUE, &cmd_ptr);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to create a connect command.\n");
-		smpd_exit_fn(FCNAME);
-		return result;
-	    }
-	    host_node->connect_cmd_tag = cmd_ptr->tag;
-	    result = smpd_add_command_arg(cmd_ptr, "host", host_node->host);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to add the host parameter to the connect command for host %s\n", host_node->host);
-		smpd_exit_fn(FCNAME);
-		return result;
-	    }
-	    result = smpd_add_command_int_arg(cmd_ptr, "id", host_node->id);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to add the id parameter to the connect command for host %s\n", host_node->host);
-		smpd_exit_fn(FCNAME);
-		return result;
-	    }
-	    if (smpd_process.plaintext)
-	    {
-		/* propagate the plaintext option to the manager doing the connect */
-		result = smpd_add_command_arg(cmd_ptr, "plaintext", "yes");
-		if (result != SMPD_SUCCESS)
-		{
-		    smpd_err_printf("unable to add the plaintext parameter to the connect command for host %s\n", host_node->host);
-		    smpd_exit_fn(FCNAME);
-		    return result;
-		}
-	    }
-
-	    /* post a write of the command */
-	    result = smpd_post_write_command(context, cmd_ptr);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to post a write of the connect command.\n");
-		smpd_exit_fn(FCNAME);
-		return result;
-	    }
-	}
-
-	host_node = smpd_process.host_list;
-	while (host_node != NULL)
-	{
-	    if (host_node->connected == SMPD_FALSE)
-	    {
-		smpd_dbg_printf("not connected yet: %s not connected\n", host_node->host);
-		break;
-	    }
-	    host_node = host_node->next;
-	}
-	if (host_node == NULL)
-	{
-	    context->connect_to = NULL;
-	    /* Everyone connected, send the start_dbs command */
-	    /* create the start_dbs command to be sent to the first host */
-	    result = smpd_create_command("start_dbs", 0, 1, SMPD_TRUE, &cmd_ptr);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to create a start_dbs command.\n");
-		smpd_exit_fn(FCNAME);
-		return result;
-	    }
-
-	    if (context->spawn_context)
-	    {
-		smpd_dbg_printf("spawn_context found, adding preput values to the start_dbs command.\n");
-		result = smpd_add_command_int_arg(cmd_ptr, "npreput", context->spawn_context->npreput);
-		if (result != SMPD_SUCCESS)
-		{
-		    smpd_err_printf("unable to add the npreput value to the start_dbs command for a spawn command.\n");
-		    smpd_exit_fn(FCNAME);
-		    return result;
-		}
-
-		result = smpd_add_command_arg(cmd_ptr, "preput", context->spawn_context->preput);
-		if (result != SMPD_SUCCESS)
-		{
-		    smpd_err_printf("unable to add the npreput value to the start_dbs command for a spawn command.\n");
-		    smpd_exit_fn(FCNAME);
-		    return result;
-		}
-	    }
-
-	    /* post a write of the command */
-	    result = smpd_post_write_command(context, cmd_ptr);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to post a write of the start_dbs command.\n");
-		smpd_exit_fn(FCNAME);
-		return result;
-	    }
-	}
-    }
-    else if (result == SMPD_DBS_RETURN)
-    {
-	/*
-	printf("SMPD_DBS_RETURN returned, not posting read for the next command.\n");
-	fflush(stdout);
-	*/
-	smpd_exit_fn(FCNAME);
-	return SMPD_DBS_RETURN;
-    }
-    else if (result == SMPD_ABORT)
-    {
-	result = smpd_post_read_command(context);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a read for the next command on %s context.\n", smpd_get_context_str(context));
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	result = smpd_post_abort_command("");
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post an abort command.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-    }
-    else
-    {
-	smpd_err_printf("unable to handle the command: \"%s\"\n", context->read_cmd.cmd);
-	if (smpd_process.root_smpd)
-	{
-	    context->state = SMPD_CLOSING;
-	    result = SMPDU_Sock_post_close(context->sock);
-	    smpd_exit_fn(FCNAME);
-	    return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	}
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_writing_cmd"
-int smpd_state_writing_cmd(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-    smpd_command_t *cmd_ptr, *cmd_iter;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to write the command, %s.\n", get_sock_error_string(event_ptr->error));
-	if (smpd_process.root_smpd)
-	{
-	    context->state = SMPD_CLOSING;
-	    result = SMPDU_Sock_post_close(context->sock);
-	    smpd_exit_fn(FCNAME);
-	    return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	}
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_dbg_printf("wrote command\n");
-    if (context->write_list == NULL)
-    {
-	smpd_err_printf("data written on a context with no write command posted.\n");
-	if (smpd_process.root_smpd)
-	{
-	    context->state = SMPD_CLOSING;
-	    result = SMPDU_Sock_post_close(context->sock);
-	    smpd_exit_fn(FCNAME);
-	    return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	}
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    context->write_state = SMPD_IDLE;
-    cmd_ptr = context->write_list;
-    context->write_list = context->write_list->next;
-    smpd_dbg_printf("command written to %s: \"%s\"\n", smpd_get_context_str(context), cmd_ptr->cmd);
-    if (strcmp(cmd_ptr->cmd_str, "singinit_info") == 0){
-        /* Written singinit_info ... nothing more to be done... close the socket */
-        context->state = SMPD_SINGLETON_DONE;
-        smpd_free_command(cmd_ptr);
-        result = SMPDU_Sock_post_close(context->sock);
-        if(result != SMPD_SUCCESS){
-            smpd_err_printf("SMPDU_Sock_post_close failed, error = %s\n", get_sock_error_string(result));
-            smpd_exit_fn(FCNAME);
-            return SMPD_FAIL;
-        }
-        smpd_exit_fn(FCNAME);
-        return SMPD_SUCCESS;
-    }
-    else if(strcmp(cmd_ptr->cmd_str, "die") == 0){
-        /* Sent 'die' command to singleton client. Now close pmi */
-        smpd_free_command(cmd_ptr);
-        if(context->process){
-        if(context->process->pmi){
-            smpd_dbg_printf("Closing pmi ...\n");
-            result = SMPDU_Sock_post_close(context->process->pmi->sock);
-            if(result != SMPD_SUCCESS){
-                smpd_err_printf("Unable to post close on pmi sock\n");
-            }
-        }
-        }
-        smpd_exit_fn(FCNAME);
-        return SMPD_SUCCESS;
-    }
-    else if(strcmp(cmd_ptr->cmd_str, "abort_job") == 0){
-        if(smpd_process.is_singleton_client){
-            /* In the case of a singleton client PM will not be able to "kill" it
-            * - so post a read for 'die' cmd
-            */
-            result = smpd_post_read_command(context);
-            if(result != SMPD_SUCCESS){
-                smpd_err_printf("Unable to post a read for 'die' command\n");
-                if(context->process){
-                if(context->process->pmi){
-                    smpd_dbg_printf("Closing pmi ...\n");
-                    result = SMPDU_Sock_post_close(context->process->pmi->sock);
-                    if(result != SMPD_SUCCESS){
-                        smpd_err_printf("Unable to post close on pmi sock\n");
-                    }
-                }
-                }
-                smpd_exit_fn(FCNAME);
-                return SMPD_SUCCESS;
-            }
-        }
-    }
-    else if (strcmp(cmd_ptr->cmd_str, "closed") == 0)
-    {
-	smpd_dbg_printf("closed command written, posting close of the sock.\n");
-	smpd_dbg_printf("SMPDU_Sock_post_close(%d)\n", SMPDU_Sock_get_sock_id(context->sock));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a close of the sock after writing a 'closed' command,\nsock error: %s\n",
-		get_sock_error_string(result));
-	    smpd_free_command(cmd_ptr);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-    }
-    else if (strcmp(cmd_ptr->cmd_str, "down") == 0)
-    {
-	smpd_dbg_printf("down command written, posting a close of the %s context\n", smpd_get_context_str(context));
-	if (smpd_process.builtin_cmd == SMPD_CMD_RESTART)
-	    context->state = SMPD_RESTARTING;
-	else
-	    context->state = SMPD_EXITING;
-	result = SMPDU_Sock_post_close(context->sock);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a close of the sock after writing a 'down' command,\nsock error: %s\n",
-		get_sock_error_string(result));
-	    smpd_free_command(cmd_ptr);
-	    smpd_exit_fn(FCNAME);
-	    smpd_exit(0);
-	}
-	smpd_free_command(cmd_ptr);
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-    else if (strcmp(cmd_ptr->cmd_str, "done") == 0)
-    {
-	smpd_dbg_printf("done command written, posting a close of the %s context\n", smpd_get_context_str(context));
-	context->state = SMPD_DONE;
-	result = SMPDU_Sock_post_close(context->sock);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a close of the sock after writing a 'done' command,\nsock error: %s\n",
-		get_sock_error_string(result));
-	    smpd_free_command(cmd_ptr);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	smpd_free_command(cmd_ptr);
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-
-    if (cmd_ptr->wait)
-    {
-	/* If this command expects a reply, move it to the wait list */
-	smpd_dbg_printf("moving '%s' command to the wait_list.\n", cmd_ptr->cmd_str);
-	if (context->wait_list)
-	{
-	    cmd_iter = context->wait_list;
-	    while (cmd_iter->next)
-		cmd_iter = cmd_iter->next;
-	    cmd_iter->next = cmd_ptr;
-	}
-	else
-	{
-	    context->wait_list = cmd_ptr;
-	}
-	cmd_ptr->next = NULL;
-    }
-    else
-    {
-	/* otherwise free the command immediately. */
-	result = smpd_free_command(cmd_ptr);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to free the written command.\n");
-	    if (smpd_process.root_smpd)
-	    {
-		context->state = SMPD_CLOSING;
-		result = SMPDU_Sock_post_close(context->sock);
-		smpd_exit_fn(FCNAME);
-		return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	    }
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-    }
-
-    cmd_ptr = context->write_list;
-    if (cmd_ptr)
-    {
-	context->write_state = SMPD_WRITING_CMD;
-	cmd_ptr->iov[0].SMPD_IOV_BUF = (SMPD_IOV_BUF_CAST)cmd_ptr->cmd_hdr_str;
-	cmd_ptr->iov[0].SMPD_IOV_LEN = SMPD_CMD_HDR_LENGTH;
-	cmd_ptr->iov[1].SMPD_IOV_BUF = (SMPD_IOV_BUF_CAST)cmd_ptr->cmd;
-	cmd_ptr->iov[1].SMPD_IOV_LEN = cmd_ptr->length;
-	smpd_dbg_printf("smpd_handle_written: posting write(%d bytes) for command: \"%s\"\n",
-	    cmd_ptr->iov[0].SMPD_IOV_LEN + cmd_ptr->iov[1].SMPD_IOV_LEN, cmd_ptr->cmd);
-	result = SMPDU_Sock_post_writev(context->sock, cmd_ptr->iov, 2, NULL);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a write for the next command,\nsock error: %s\n", get_sock_error_string(result));
-	    if (smpd_process.root_smpd)
-	    {
-		context->state = SMPD_CLOSING;
-		result = SMPDU_Sock_post_close(context->sock);
-		smpd_exit_fn(FCNAME);
-		return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	    }
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_smpd_listening"
-int smpd_state_smpd_listening(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr, SMPDU_Sock_set_t set)
-{
-    int result;
-    SMPDU_Sock_t new_sock;
-    smpd_context_t *new_context;
-    char phrase[SMPD_PASSPHRASE_MAX_LENGTH];
-
-    smpd_enter_fn(FCNAME);
-    SMPD_UNREFERENCED_ARG(event_ptr);
-
-    result = SMPDU_Sock_accept(context->sock, set, NULL, &new_sock);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("error accepting socket: %s\n", get_sock_error_string(result));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    if (smpd_process.service_stop)
-    {
-	smpd_process.state = SMPD_EXITING;
-	if (smpd_process.listener_context)
-	{
-	    smpd_process.listener_context->state = SMPD_EXITING;
-	    smpd_dbg_printf("closing the listener (state = %s).\n", smpd_get_state_string(smpd_process.listener_context->state));
-	    result = SMPDU_Sock_post_close(smpd_process.listener_context->sock);
-	    smpd_process.listener_context = NULL;
-	    if (result == SMPD_SUCCESS)
-	    {
-		smpd_exit_fn(FCNAME);
-		return SMPD_SUCCESS;
-	    }
-	    smpd_err_printf("unable to post a close of the listener sock, error:\n%s\n",
-		get_sock_error_string(result));
-	}
-	smpd_free_context(context);
-#ifdef HAVE_WINDOWS_H
-	SetEvent(smpd_process.hBombDiffuseEvent);
-#endif
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-    smpd_dbg_printf("authenticating new connection\n");
-    result = smpd_create_context(SMPD_CONTEXT_UNDETERMINED, set, new_sock, -1, &new_context);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create a context for the newly accepted sock.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = SMPDU_Sock_set_user_ptr(new_sock, new_context);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to set the user pointer on the newly accepted sock, error:\n%s\n",
-	    get_sock_error_string(result));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    strcpy(phrase, smpd_process.passphrase);
-    /* generate the challenge string and the encrypted result */
-    if (smpd_gen_authentication_strings(phrase, new_context->pszChallengeResponse, new_context->pszCrypt) != SMPD_SUCCESS)
-    {
-	smpd_err_printf("failed to generate the authentication strings\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    /*
-    smpd_dbg_printf("gen_authentication_strings:\n passphrase - %s\n pszStr - %s\n pszCrypt - %s\n",
-    phrase, pszStr, pszCrypt);
-    */
-
-    /* write the challenge string*/
-    smpd_dbg_printf("posting a write of the challenge string: %s\n", new_context->pszChallengeResponse);
-    new_context->write_state = SMPD_WRITING_CHALLENGE_STRING;
-    result = SMPDU_Sock_post_write(new_sock, new_context->pszChallengeResponse, SMPD_AUTHENTICATION_STR_LEN, SMPD_AUTHENTICATION_STR_LEN, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	new_context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(new_sock);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("posting write of the challenge string failed\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_pmi_listening"
-int smpd_state_pmi_listening(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr, SMPDU_Sock_set_t set)
-{
-    int result;
-    SMPDU_Sock_t new_sock;
-    smpd_process_t *iter;
-
-    smpd_enter_fn(FCNAME);
-    SMPD_UNREFERENCED_ARG(event_ptr);
-
-    result = SMPDU_Sock_accept(context->sock, set, NULL, &new_sock);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("error accepting socket: %s\n", get_sock_error_string(result));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    context->state = SMPD_CLOSING;
-    result = SMPDU_Sock_post_close(context->sock);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("error closing pmi listener socket: %s\n", get_sock_error_string(result));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    iter = smpd_process.process_list;
-    while (iter)
-    {
-	if (iter->pmi->sock == context->sock)
-	{
-	    /* process structure found for this listener */
-	    iter->pmi->sock = new_sock;
-	    iter->context_refcount++;
-	    result = SMPDU_Sock_set_user_ptr(new_sock, iter->pmi);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to set the user pointer on the newly accepted sock, error:\n%s\n",
-		    get_sock_error_string(result));
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    result = smpd_post_read_command(iter->pmi);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to post a read of a command after accepting a pmi connection.\n");
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_SUCCESS;
-	}
-	iter = iter->next;
-    }
-    result = SMPDU_Sock_post_close(new_sock);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("error closing pmi socket not unassociated with any process: %s\n", get_sock_error_string(result));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_err_printf("accepted a socket on a listener not associated with a process struct.\n");
-    smpd_exit_fn(FCNAME);
-    return SMPD_FAIL;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_pmi_server_listening"
-int smpd_state_pmi_server_listening(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr, SMPDU_Sock_set_t set)
-{
-    int result;
-    SMPDU_Sock_t new_sock;
-    smpd_process_t *process;
-
-    smpd_enter_fn(FCNAME);
-    SMPD_UNREFERENCED_ARG(event_ptr);
-
-    result = SMPDU_Sock_accept(context->sock, set, NULL, &new_sock);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("error accepting socket: %s\n", get_sock_error_string(result));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_create_process_struct(-1, &process);
-    process->next = smpd_process.process_list;
-    smpd_process.process_list = process;
-
-    process->pmi->sock = new_sock;
-    process->context_refcount++;
-    result = SMPDU_Sock_set_user_ptr(new_sock, process->pmi);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to set the user pointer on the newly accepted sock, error:\n%s\n",
-	    get_sock_error_string(result));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_post_read_command(process->pmi);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a read of a command after accepting a pmi connection.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_mgr_listening"
-int smpd_state_mgr_listening(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr, SMPDU_Sock_set_t set)
-{
-    int result;
-    SMPDU_Sock_t new_sock;
-    smpd_context_t *new_context;
-
-    smpd_enter_fn(FCNAME);
-    SMPD_UNREFERENCED_ARG(event_ptr);
-
-    result = SMPDU_Sock_accept(context->sock, set, NULL, &new_sock);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("error accepting socket: %s\n", get_sock_error_string(result));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_dbg_printf("accepted re-connection\n");
-    result = smpd_create_context(SMPD_CONTEXT_UNDETERMINED, set, new_sock, -1, &new_context);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create a context for the newly accepted sock.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = SMPDU_Sock_set_user_ptr(new_sock, new_context);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to set the user pointer on the newly accepted sock, error:\n%s\n",
-	    get_sock_error_string(result));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    new_context->access = SMPD_ACCESS_USER_PROCESS;
-    new_context->read_state = SMPD_READING_SESSION_HEADER;
-    result = SMPDU_Sock_post_read(new_context->sock, new_context->session_header, SMPD_MAX_SESSION_HEADER_LENGTH, SMPD_MAX_SESSION_HEADER_LENGTH, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a read of the session header,\nsock error: %s\n",
-	    get_sock_error_string(result));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    /* close the listener */
-    smpd_dbg_printf("closing the mgr listener.\n");
-    result = SMPDU_Sock_post_close(context->sock);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a close on the listener sock after accepting the re-connection,\nsock error: %s\n",
-	    get_sock_error_string(result));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_reading_session_request"
-int smpd_state_reading_session_request(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to read the session request, %s.\n", get_sock_error_string(event_ptr->error));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    smpd_dbg_printf("read session request: '%s'\n", context->session);
-    context->read_state = SMPD_IDLE;
-    if (strcmp(context->session, SMPD_SMPD_SESSION_STR) == 0)
-    {
-	context->target = SMPD_TARGET_SMPD;
-	if (smpd_option_on("sspi_protect"))
-	{
-	    strcpy(context->pwd_request, SMPD_SSPI_REQUEST);
-	    context->write_state = SMPD_WRITING_SSPI_REQUEST;
-	}
-	else
-	{
-	    if (smpd_process.bPasswordProtect)
-	    {
-		strcpy(context->pwd_request, SMPD_PWD_REQUEST);
-		context->write_state = SMPD_WRITING_PWD_REQUEST;
-	    }
-	    else
-	    {
-		strcpy(context->pwd_request, SMPD_NO_PWD_REQUEST);
-		context->write_state = SMPD_WRITING_NO_PWD_REQUEST;
-	    }
-	}
-	result = SMPDU_Sock_post_write(context->sock, context->pwd_request, SMPD_MAX_PWD_REQUEST_LENGTH, SMPD_MAX_PWD_REQUEST_LENGTH, NULL);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a write of the pwd request '%s',\nsock error: %s\n",
-		context->pwd_request, get_sock_error_string(result));
-	    context->state = SMPD_CLOSING;
-	    result = SMPDU_Sock_post_close(context->sock);
-	    smpd_exit_fn(FCNAME);
-	    return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	}
-    }
-    else if (strcmp(context->session, SMPD_PROCESS_SESSION_STR) == 0)
-    {
-	context->target = SMPD_TARGET_PROCESS;
-#ifdef HAVE_WINDOWS_H
-	if (smpd_process.bService)
-	{
-	    if (smpd_option_on("jobs_only"))
-	    {
-		strcpy(context->cred_request, SMPD_CRED_REQUEST_JOB);
-	    }
-	    else
-	    {
-		strcpy(context->cred_request, SMPD_CRED_REQUEST);
-	    }
-	    context->write_state = SMPD_WRITING_CRED_REQUEST;
-	}
-	else
-#endif
-	{
-	    context->write_state = SMPD_WRITING_NO_CRED_REQUEST;
-	    strcpy(context->cred_request, SMPD_NO_CRED_REQUEST);
-	}
-	result = SMPDU_Sock_post_write(context->sock, context->cred_request, SMPD_MAX_CRED_REQUEST_LENGTH, SMPD_MAX_CRED_REQUEST_LENGTH, NULL);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a write of the credential request string '%s',\nsock error: %s\n",
-		context->cred_request, get_sock_error_string(result));
-	    context->state = SMPD_CLOSING;
-	    result = SMPDU_Sock_post_close(context->sock);
-	    smpd_exit_fn(FCNAME);
-	    return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	}
-    }
-    else if (strcmp(context->session, SMPD_PMI_SESSION_STR) == 0)
-    {
-	smpd_process_t *process;
-
-	context->target = SMPD_TARGET_PMI;
-
-	/* create a process struct for this pmi connection */
-	smpd_create_process_struct(-1, &process);
-	process->next = smpd_process.process_list;
-	smpd_process.process_list = process;
-
-	/* remove unused contexts */
-	smpd_free_context(process->in);
-	smpd_free_context(process->out);
-	smpd_free_context(process->err);
-
-	/* replace the pmi context with this context */
-	smpd_free_context(process->pmi);
-	process->pmi = context;
-	context->process = process;
-	process->context_refcount++;
-	process->local_process = SMPD_FALSE;
-
-	context->type = SMPD_CONTEXT_PMI;
-
-	/* send the id to be used by the pmi context client to send commands */
-	context->write_state = SMPD_WRITING_PMI_ID;
-	snprintf(context->session, SMPD_SESSION_REQUEST_LEN, "%d", process->id);
-	result = SMPDU_Sock_post_write(context->sock, context->session, SMPD_SESSION_REQUEST_LEN, SMPD_SESSION_REQUEST_LEN, NULL);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a write of the context session id string '%s',\nsock error: %s\n",
-		context->session, get_sock_error_string(result));
-	    context->state = SMPD_CLOSING;
-	    result = SMPDU_Sock_post_close(context->sock);
-	    smpd_exit_fn(FCNAME);
-	    return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	}
-
-	/*
-	result = smpd_post_read_command(context);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a read of a command after accepting a pmi connection.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	*/
-    }
-    else
-    {
-	smpd_err_printf("invalid session request: '%s'\n", context->session);
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_writing_smpd_session_request"
-int smpd_state_writing_smpd_session_request(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to write the session request, %s.\n", get_sock_error_string(event_ptr->error));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_dbg_printf("wrote smpd session request: '%s'\n", context->session);
-    context->write_state = SMPD_IDLE;
-    context->read_state = SMPD_READING_PWD_REQUEST;
-    result = SMPDU_Sock_post_read(context->sock, context->pwd_request, SMPD_MAX_PWD_REQUEST_LENGTH, SMPD_MAX_PWD_REQUEST_LENGTH, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a read of the pwd request,\nsock error: %s\n",
-	    get_sock_error_string(result));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_writing_process_session_request"
-int smpd_state_writing_process_session_request(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to write the process session request, %s.\n", get_sock_error_string(event_ptr->error));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_dbg_printf("wrote process session request: '%s'\n", context->session);
-    context->write_state = SMPD_IDLE;
-    context->read_state = SMPD_READING_CRED_REQUEST;
-    result = SMPDU_Sock_post_read(context->sock, context->cred_request, SMPD_MAX_CRED_REQUEST_LENGTH, SMPD_MAX_CRED_REQUEST_LENGTH, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a read of the cred request,\nsock error: %s\n",
-	    get_sock_error_string(result));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_writing_pmi_session_request"
-int smpd_state_writing_pmi_session_request(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to write the pmi session request, %s.\n", get_sock_error_string(event_ptr->error));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_dbg_printf("wrote pmi session request: '%s'\n", context->session);
-    context->write_state = SMPD_IDLE;
-    context->read_state = SMPD_READING_PMI_ID;
-    result = SMPDU_Sock_post_read(context->sock, context->session, SMPD_SESSION_REQUEST_LEN, SMPD_SESSION_REQUEST_LEN, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a read of the pmi context id,\nsock error: %s\n",
-	    get_sock_error_string(result));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_writing_pwd_request"
-int smpd_state_writing_pwd_request(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to write the pwd request, %s.\n", get_sock_error_string(event_ptr->error));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    smpd_dbg_printf("wrote pwd request: '%s'\n", context->pwd_request);
-    context->write_state = SMPD_IDLE;
-    context->read_state = SMPD_READING_SMPD_PASSWORD;
-    result = SMPDU_Sock_post_read(context->sock, context->password, SMPD_MAX_PASSWORD_LENGTH, SMPD_MAX_PASSWORD_LENGTH, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a read for the smpd password,\nsock error: %s\n",
-	    get_sock_error_string(result));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_writing_no_pwd_request"
-int smpd_state_writing_no_pwd_request(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to write the no pwd request, %s.\n", get_sock_error_string(event_ptr->error));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    smpd_dbg_printf("wrote no pwd request: '%s'\n", context->pwd_request);
-    context->write_state = SMPD_IDLE;
-    context->read_state = SMPD_READING_SESSION_HEADER;
-    result = SMPDU_Sock_post_read(context->sock, context->session_header, SMPD_MAX_SESSION_HEADER_LENGTH, SMPD_MAX_SESSION_HEADER_LENGTH, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a read of the session header,\nsock error: %s\n",
-	    get_sock_error_string(result));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_writing_sspi_request"
-int smpd_state_writing_sspi_request(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to write the sspi request, %s.\n", get_sock_error_string(event_ptr->error));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    smpd_dbg_printf("wrote sspi request: '%s'\n", context->pwd_request);
-    context->write_state = SMPD_IDLE;
-    context->read_state = SMPD_READING_SSPI_HEADER;
-    result = SMPDU_Sock_post_read(context->sock, context->sspi_header, SMPD_SSPI_HEADER_LENGTH, SMPD_SSPI_HEADER_LENGTH, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a read of the sspi header,\nsock error: %s\n", get_sock_error_string(result));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_reading_pwd_request"
-int smpd_state_reading_pwd_request(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-    smpd_sspi_type_t type;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to read the pwd request, %s.\n", get_sock_error_string(event_ptr->error));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_dbg_printf("read pwd request: '%s'\n", context->pwd_request);
-    if (strcmp(context->pwd_request, SMPD_PWD_REQUEST) == 0)
-    {
-	if (smpd_process.builtin_cmd == SMPD_CMD_ADD_JOB)
-	{
-	    /* job keys without passwords cannot be added unless the smpd is sspi protected. */
-	    smpd_err_printf("unable to save a job key because the smpd is not sspi protected.\n");
-	    context->state = SMPD_CLOSING;
-	    result = SMPDU_Sock_post_close(context->sock);
-	    smpd_exit_fn(FCNAME);
-	    result = (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-	/* FIXME: the smpd password needs to be able to be set */
-	strcpy(context->smpd_pwd, SMPD_DEFAULT_PASSWORD);
-	context->write_state = SMPD_WRITING_SMPD_PASSWORD;
-	result = SMPDU_Sock_post_write(context->sock, context->smpd_pwd, SMPD_MAX_PASSWORD_LENGTH, SMPD_MAX_PASSWORD_LENGTH, NULL);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a write of the smpd password,\nsock error: %s\n",
-		get_sock_error_string(result));
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-    if (strcmp(context->pwd_request, SMPD_SSPI_REQUEST) == 0)
-    {
-	smpd_command_t *cmd_ptr;
-	char context_str[20];
-	smpd_context_t *dest_context;
-	result = smpd_command_destination(0, &dest_context);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to get the context necessary to reach node 0\n");
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-	if (smpd_process.builtin_cmd == SMPD_CMD_ASSOCIATE_JOB)
-	    context->sspi_type = SMPD_SSPI_DELEGATE;
-	else
-	    context->sspi_type = SMPD_SSPI_IMPERSONATE;/*SMPD_SSPI_IDENTIFY;*/
-	if (dest_context == NULL)
-	{
-	    /* I am node 0 so handle the command here. */
-	    if (smpd_process.builtin_cmd == SMPD_CMD_ASSOCIATE_JOB)
-		type = SMPD_SSPI_DELEGATE;
-	    else
-		type = SMPD_SSPI_IMPERSONATE;/*SMPD_SSPI_IDENTIFY;*/
-	    smpd_dbg_printf("calling smpd_sspi_init with host=%s and port=%d\n", smpd_process.console_host, smpd_process.port);
-	    result = smpd_sspi_context_init(&context->sspi_context, smpd_process.console_host, smpd_process.port, type);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to initialize an sspi context command.\n");
-		smpd_exit_fn(FCNAME);
-		return result;
-	    }
-	    context->read_state = SMPD_IDLE;
-	    context->write_state = SMPD_WRITING_CLIENT_SSPI_HEADER;
-	    MPIU_Snprintf(context->sspi_header, SMPD_SSPI_HEADER_LENGTH, "%d", context->sspi_context->buffer_length);
-	    result = SMPDU_Sock_post_write(context->sock, context->sspi_header, SMPD_SSPI_HEADER_LENGTH, SMPD_SSPI_HEADER_LENGTH, NULL);
-	    if (result == SMPD_SUCCESS)
-	    {
-		result = SMPD_SUCCESS;
-	    }
-	    else
-	    {
-#ifdef HAVE_WINDOWS_H
-		smpd_process.sec_fn->DeleteSecurityContext(&context->sspi_context->context);
-		smpd_process.sec_fn->FreeCredentialsHandle(&context->sspi_context->credential);
-#endif
-		smpd_err_printf("unable to post a write of the sspi header,\nsock error: %s\n", get_sock_error_string(result));
-		context->state = SMPD_CLOSING;
-		result = SMPDU_Sock_post_close(context->sock);
-		smpd_exit_fn(FCNAME);
-		result = (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	    }
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-
-	context->read_state = SMPD_IDLE;
-	context->write_state = SMPD_IDLE;
-
-	result = smpd_create_sspi_client_context(&context->sspi_context);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to create an sspi_context.\n");
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-	/* create a sspi_init command to be sent to root (mpiexec) */
-	result = smpd_create_command("sspi_init", smpd_process.id, 0, SMPD_TRUE, &cmd_ptr);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to create a sspi_init command.\n");
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-	/* FIXME: Instead of encoding a pointer to the context, add an integer id to the context structure and look up the context
-	* based on this id from a global list of contexts.
-	*/
-	MPIU_Snprintf(context_str, 20, "%p", context);
-	result = smpd_add_command_arg(cmd_ptr, "sspi_context", context_str);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add the context parameter to the sspi_init command for host %s\n", smpd_process.console_host);
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-	result = smpd_add_command_arg(cmd_ptr, "sspi_host", smpd_process.console_host);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add the host parameter to the sspi_init command for host %s\n", smpd_process.console_host);
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-	result = smpd_add_command_int_arg(cmd_ptr, "sspi_port", smpd_process.port);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add the port parameter to the sspi_init command for host %s\n", smpd_process.console_host);
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-
-	/* post a write of the command */
-	result = smpd_post_write_command(dest_context, cmd_ptr);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a write of the sspi_init command.\n");
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-
-    /* no password required case */
-
-    if (smpd_process.builtin_cmd == SMPD_CMD_ADD_JOB)
-    {
-	/* job keys without passwords cannot be added unless the smpd is sspi protected. */
-	smpd_err_printf("unable to save a job key because the smpd is not sspi protected.\n");
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	result = (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-
-    result = smpd_generate_session_header(context->session_header, 1);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to generate a session header.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    context->write_state = SMPD_WRITING_SESSION_HEADER;
-    result = SMPDU_Sock_post_write(context->sock, context->session_header, SMPD_MAX_SESSION_HEADER_LENGTH, SMPD_MAX_SESSION_HEADER_LENGTH, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a send of the session header,\nsock error: %s\n",
-	    get_sock_error_string(result));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_reading_smpd_password"
-int smpd_state_reading_smpd_password(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to read the smpd password, %s.\n", get_sock_error_string(event_ptr->error));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    smpd_dbg_printf("read smpd password, %d bytes\n", strlen(context->password));
-    context->read_state = SMPD_IDLE;
-    if (strcmp(context->password, smpd_process.SMPDPassword) == 0)
-    {
-	context->access = SMPD_ACCESS_ADMIN;
-	strcpy(context->pwd_request, SMPD_AUTHENTICATION_ACCEPTED_STR);
-	context->write_state = SMPD_WRITING_SESSION_ACCEPT;
-	result = SMPDU_Sock_post_write(context->sock, context->pwd_request, SMPD_AUTHENTICATION_REPLY_LENGTH, SMPD_AUTHENTICATION_REPLY_LENGTH, NULL);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a write of the session accepted message,\nsock error: %s\n",
-		get_sock_error_string(result));
-	    context->state = SMPD_CLOSING;
-	    result = SMPDU_Sock_post_close(context->sock);
-	    smpd_exit_fn(FCNAME);
-	    return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	}
-    }
-    else
-    {
-	strcpy(context->pwd_request, SMPD_AUTHENTICATION_REJECTED_STR);
-	context->write_state = SMPD_WRITING_SESSION_REJECT;
-	result = SMPDU_Sock_post_write(context->sock, context->pwd_request, SMPD_AUTHENTICATION_REPLY_LENGTH, SMPD_AUTHENTICATION_REPLY_LENGTH, NULL);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a write of the session rejected message,\nsock error: %s\n",
-		get_sock_error_string(result));
-	    context->state = SMPD_CLOSING;
-	    result = SMPDU_Sock_post_close(context->sock);
-	    smpd_exit_fn(FCNAME);
-	    return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	}
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_writing_cred_request"
-int smpd_state_writing_cred_request(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to write the cred request, %s.\n", get_sock_error_string(event_ptr->error));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    smpd_dbg_printf("wrote cred request: '%s'\n", context->cred_request);
-    context->write_state = SMPD_IDLE;
-    context->read_state = SMPD_READING_CRED_ACK;
-    result = SMPDU_Sock_post_read(context->sock, context->cred_request, SMPD_MAX_CRED_REQUEST_LENGTH, SMPD_MAX_CRED_REQUEST_LENGTH, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a read of the cred ack,\nsock error: %s\n",
-	    get_sock_error_string(result));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_reading_cred_ack"
-int smpd_state_reading_cred_ack(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to read the cred ack, %s.\n", get_sock_error_string(event_ptr->error));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    smpd_dbg_printf("read cred ack: '%s'\n", context->cred_request);
-    context->write_state = SMPD_IDLE;
-    if (smpd_option_on("jobs_only") && strcmp(context->cred_request, SMPD_CRED_ACK_SSPI_JOB_KEY))
-    {
-	/* jobs_only but the client returned something other than SMPD_CRED_ACK_SSPI_JOB_KEY */
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    if (strcmp(context->cred_request, "yes") == 0)
-    {
-	context->read_state = SMPD_READING_ACCOUNT;
-	result = SMPDU_Sock_post_read(context->sock, context->account, SMPD_MAX_ACCOUNT_LENGTH, SMPD_MAX_ACCOUNT_LENGTH, NULL);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a read of the account credential,\nsock error: %s\n",
-		get_sock_error_string(result));
-	    context->state = SMPD_CLOSING;
-	    result = SMPDU_Sock_post_close(context->sock);
-	    smpd_exit_fn(FCNAME);
-	    return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	}
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-    else if ( (strcmp(context->cred_request, SMPD_CRED_ACK_SSPI) == 0) || (strcmp(context->cred_request, SMPD_CRED_ACK_SSPI_JOB_KEY) == 0) )
-    {
-	if (strcmp(context->cred_request, SMPD_CRED_ACK_SSPI_JOB_KEY) == 0)
-	{
-	    context->sspi_type = SMPD_SSPI_IDENTIFY;
-	}
-	else
-	{
-	    context->sspi_type = SMPD_SSPI_DELEGATE;
-	}
-	context->read_state = SMPD_READING_SSPI_HEADER;
-	result = SMPDU_Sock_post_read(context->sock, context->sspi_header, SMPD_SSPI_HEADER_LENGTH, SMPD_SSPI_HEADER_LENGTH, NULL);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a read of the sspi header,\nsock error: %s\n", get_sock_error_string(result));
-	    context->state = SMPD_CLOSING;
-	    result = SMPDU_Sock_post_close(context->sock);
-	    smpd_exit_fn(FCNAME);
-	    return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	}
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-    context->state = SMPD_CLOSING;
-    result = SMPDU_Sock_post_close(context->sock);
-    smpd_exit_fn(FCNAME);
-    return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_reading_sspi_header"
-int smpd_state_reading_sspi_header(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	/* FIXME: Add code to cleanup sspi structures */
-	smpd_err_printf("unable to read the sspi header, %s.\n", get_sock_error_string(event_ptr->error));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    smpd_dbg_printf("read sspi header: '%s'\n", context->sspi_header);
-    if (context->sspi_context == NULL)
-    {
-	result = smpd_create_sspi_client_context(&context->sspi_context);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-    }
-    context->sspi_context->buffer_length = atoi(context->sspi_header);
-    if (context->sspi_context->buffer_length < 1)
-    {
-	/* FIXME: Add code to cleanup sspi structures */
-	smpd_err_printf("invalid sspi buffer length %d\n", context->sspi_context->buffer_length);
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    if (context->sspi_context->buffer != NULL)
-    {
-	MPIU_Free(context->sspi_context->buffer);
-    }
-    context->sspi_context->buffer = MPIU_Malloc(context->sspi_context->buffer_length);
-    if (context->sspi_context->buffer == NULL)
-    {
-	/* FIXME: Add code to cleanup sspi structures */
-	smpd_err_printf("unable to allocate a sspi buffer of length %d\n", context->sspi_context->buffer_length);
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    context->read_state = SMPD_READING_SSPI_BUFFER;
-    result = SMPDU_Sock_post_read(context->sock, context->sspi_context->buffer, context->sspi_context->buffer_length, context->sspi_context->buffer_length, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	/* FIXME: Add code to cleanup sspi structures */
-	smpd_err_printf("unable to post a read of the sspi buffer,\nsock error: %s\n",
-	    get_sock_error_string(result));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_reading_sspi_buffer"
-int smpd_state_reading_sspi_buffer(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-#ifdef HAVE_WINDOWS_H
-    int result;
-    char err_msg[256];
-    SECURITY_STATUS sec_result, sec_result_copy;
-    SecBufferDesc outbound_descriptor, inbound_descriptor;
-    SecBuffer outbound_buffer, inbound_buffer;
-    ULONG attr;
-    TimeStamp ts;
-    SMPD_BOOL first_call = SMPD_FALSE;
-    double t1, t2;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	/* FIXME: Add code to cleanup sspi structures */
-	smpd_err_printf("unable to read the sspi buffer, %s.\n", get_sock_error_string(event_ptr->error));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    smpd_dbg_printf("read sspi buffer\n");
-    /* Initialize the security interface */
-    if (smpd_process.sec_fn == NULL)
-    {
-	smpd_dbg_printf("calling InitSecurityInterface\n");
-	smpd_process.sec_fn = InitSecurityInterface();
-	if (smpd_process.sec_fn == NULL)
-	{
-	    smpd_err_printf("unable to initialize the sspi interface.\n");
-	    context->state = SMPD_CLOSING;
-	    result = SMPDU_Sock_post_close(context->sock);
-	    smpd_exit_fn(FCNAME);
-	    return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	}
-    }
-    /* Query the max token size so the output buffer can be allocated */
-    if (context->sspi_context->max_buffer_size == 0)
-    {
-	PSecPkgInfo info;
-	first_call = SMPD_TRUE;
-	smpd_dbg_printf("calling QuerySecurityPackageInfo\n");
-	sec_result = smpd_process.sec_fn->QuerySecurityPackageInfo(SMPD_SECURITY_PACKAGE, &info);
-	if (sec_result != SEC_E_OK)
-	{
-	    smpd_err_printf("unable to query the security package, error %d.\n", sec_result);
-	    context->state = SMPD_CLOSING;
-	    result = SMPDU_Sock_post_close(context->sock);
-	    smpd_exit_fn(FCNAME);
-	    return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	}
-	smpd_dbg_printf("%s package, %s, with: max %d byte token, capabilities bitmask 0x%x\n",
-	    info->Name, info->Comment, info->cbMaxToken, info->fCapabilities);
-	context->sspi_context->max_buffer_size = max(info->cbMaxToken, SMPD_SSPI_MAX_BUFFER_SIZE);
-	smpd_dbg_printf("calling FreeContextBuffer\n");
-	sec_result = smpd_process.sec_fn->FreeContextBuffer(info);
-	if (sec_result != SEC_E_OK)
-	{
-	    smpd_err_printf("unable to free the security package info buffer, error %d.\n", sec_result);
-	    context->state = SMPD_CLOSING;
-	    result = SMPDU_Sock_post_close(context->sock);
-	    smpd_exit_fn(FCNAME);
-	    return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	}
-    }
-    if (first_call)
-    {
-	smpd_dbg_printf("calling AcquireCredentialsHandle\n");
-	t1 = PMPI_Wtime();
-	sec_result = smpd_process.sec_fn->AcquireCredentialsHandle(NULL, SMPD_SECURITY_PACKAGE, SECPKG_CRED_BOTH/*SECPKG_CRED_INBOUND*/, NULL, NULL, NULL, NULL, &context->sspi_context->credential, &context->sspi_context->expiration_time);
-	t2 = PMPI_Wtime();
-	smpd_dbg_printf("AcquireCredentialsHandle took %0.6f seconds\n", t2-t1);
-	if (sec_result != SEC_E_OK)
-	{
-	    smpd_err_printf("unable to acquire the security package credential, error %d.\n", sec_result);
-	    context->state = SMPD_CLOSING;
-	    result = SMPDU_Sock_post_close(context->sock);
-	    smpd_exit_fn(FCNAME);
-	    return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	}
-    }
-
-    inbound_descriptor.ulVersion = SECBUFFER_VERSION;
-    inbound_descriptor.cBuffers = 1;
-    inbound_descriptor.pBuffers = &inbound_buffer;
-    inbound_buffer.BufferType = SECBUFFER_TOKEN;
-    inbound_buffer.cbBuffer = context->sspi_context->buffer_length;
-    inbound_buffer.pvBuffer = context->sspi_context->buffer;
-
-    outbound_descriptor.ulVersion = SECBUFFER_VERSION;
-    outbound_descriptor.cBuffers = 1;
-    outbound_descriptor.pBuffers = &outbound_buffer;
-    outbound_buffer.BufferType = SECBUFFER_TOKEN;
-    outbound_buffer.cbBuffer = context->sspi_context->max_buffer_size;
-    if (context->sspi_context->out_buffer != NULL)
-    {
-	MPIU_Free(context->sspi_context->out_buffer);
-    }
-    context->sspi_context->out_buffer = MPIU_Malloc(context->sspi_context->max_buffer_size);
-    if (context->sspi_context->out_buffer == NULL)
-    {
-	smpd_err_printf("unable to allocate a sspi buffer of length %d\n", context->sspi_context->max_buffer_size);
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    outbound_buffer.pvBuffer = context->sspi_context->out_buffer;
-    smpd_dbg_printf("inbound buffer %d bytes, outbound %d bytes\n", inbound_buffer.cbBuffer, outbound_buffer.cbBuffer);
-
-    smpd_dbg_printf("calling AcceptSecurityContext\n");
-    t1 = PMPI_Wtime();
-    sec_result = sec_result_copy = smpd_process.sec_fn->AcceptSecurityContext(
-	&context->sspi_context->credential,
-	first_call ? NULL : &context->sspi_context->context,
-	&inbound_descriptor,
-	/*0,*/
-	/*ASC_REQ_MUTUAL_AUTH | ASC_REQ_DELEGATE,*/
-	ASC_REQ_REPLAY_DETECT | ASC_REQ_SEQUENCE_DETECT | ASC_REQ_CONFIDENTIALITY,
-	/*ASC_REQ_REPLAY_DETECT | ASC_REQ_SEQUENCE_DETECT | ASC_REQ_CONFIDENTIALITY | ASC_REQ_MUTUAL_AUTH | ASC_REQ_DELEGATE,*/
-	/*SECURITY_NATIVE_DREP*/ SECURITY_NETWORK_DREP,
-	&context->sspi_context->context,
-	&outbound_descriptor,
-	&attr, &ts);
-    t2 = PMPI_Wtime();
-    smpd_dbg_printf("AcceptSecurityContext took %0.6f seconds\n", t2-t1);
-    switch (sec_result)
-    {
-    case SEC_E_OK:
-	smpd_dbg_printf("SEC_E_OK\n");
-	break;
-    case SEC_I_COMPLETE_NEEDED:
-	smpd_dbg_printf("SEC_I_COMPLETE_NEEDED\n");
-    case SEC_I_COMPLETE_AND_CONTINUE:
-	if (sec_result == SEC_I_COMPLETE_AND_CONTINUE)
-	{
-	    smpd_dbg_printf("SEC_I_COMPLETE_AND_CONTINUE\n");
-	}
-	smpd_dbg_printf("calling CompleteAuthToken\n");
-	sec_result = smpd_process.sec_fn->CompleteAuthToken(&context->sspi_context->context, &outbound_descriptor);
-	if (sec_result != SEC_E_OK)
-	{
-	    smpd_process.sec_fn->DeleteSecurityContext(&context->sspi_context->context);
-	    smpd_process.sec_fn->FreeCredentialsHandle(&context->sspi_context->credential);
-	    smpd_err_printf("CompleteAuthToken failed with error %d\n", sec_result);
-	    context->state = SMPD_CLOSING;
-	    result = SMPDU_Sock_post_close(context->sock);
-	    smpd_exit_fn(FCNAME);
-	    return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	}
-	if (sec_result_copy == SEC_I_COMPLETE_NEEDED)
-	    break;
-    case SEC_I_CONTINUE_NEEDED:
-	if (sec_result_copy == SEC_I_CONTINUE_NEEDED)
-	{
-	    smpd_dbg_printf("SEC_I_CONTINUE_NEEDED\n");
-	}
-	context->read_state = SMPD_IDLE;
-	context->write_state = SMPD_WRITING_SSPI_HEADER;
-	MPIU_Snprintf(context->sspi_header, SMPD_SSPI_HEADER_LENGTH, "%d", outbound_buffer.cbBuffer);
-	context->sspi_context->out_buffer_length = outbound_buffer.cbBuffer;
-	smpd_dbg_printf("continuation buffer of length %d bytes\n", context->sspi_context->out_buffer_length);
-	result = SMPDU_Sock_post_write(context->sock, context->sspi_header, SMPD_SSPI_HEADER_LENGTH, SMPD_SSPI_HEADER_LENGTH, NULL);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_process.sec_fn->DeleteSecurityContext(&context->sspi_context->context);
-	    smpd_process.sec_fn->FreeCredentialsHandle(&context->sspi_context->credential);
-	    smpd_err_printf("unable to post a write of the sspi header,\nsock error: %s\n", get_sock_error_string(result));
-	    context->state = SMPD_CLOSING;
-	    result = SMPDU_Sock_post_close(context->sock);
-	    smpd_exit_fn(FCNAME);
-	    return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	}
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    default:
-	/* error occurred */
-	smpd_translate_win_error(sec_result, err_msg, 256, NULL);
-	smpd_err_printf("AcceptSecurityContext failed with error %d: %s\n", sec_result, err_msg);
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-
-    /* sspi iterations finished, query whether or not to delegate */
-    context->read_state = SMPD_IDLE;
-    context->write_state = SMPD_WRITING_DELEGATE_REQUEST;
-    MPIU_Strncpy(context->sspi_header, "delegate", SMPD_SSPI_HEADER_LENGTH);
-    result = SMPDU_Sock_post_write(context->sock, context->sspi_header, SMPD_SSPI_HEADER_LENGTH, SMPD_SSPI_HEADER_LENGTH, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_process.sec_fn->DeleteSecurityContext(&context->sspi_context->context);
-	smpd_process.sec_fn->FreeCredentialsHandle(&context->sspi_context->credential);
-	smpd_err_printf("unable to post a write of the delegate request,\nsock error: %s\n", get_sock_error_string(result));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-#else
-    smpd_enter_fn(FCNAME);
-    smpd_err_printf("function not implemented.\n");
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-#endif
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_reading_client_sspi_header"
-int smpd_state_reading_client_sspi_header(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	/* FIXME: Add code to cleanup sspi structures */
-	smpd_err_printf("unable to read the sspi header, %s.\n", get_sock_error_string(event_ptr->error));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    smpd_dbg_printf("read client sspi header: '%s'\n", context->sspi_header);
-    if (strcmp(context->sspi_header, "delegate") == 0)
-    {
-	if (context->target == SMPD_TARGET_SMPD)
-	{
-	    switch (context->sspi_type)
-	    {
-	    case SMPD_SSPI_IDENTIFY:
-		strcpy(context->sspi_header, "identify");
-		break;
-	    case SMPD_SSPI_IMPERSONATE:
-		strcpy(context->sspi_header, "no");
-		break;
-	    default:
-		strcpy(context->sspi_header, "yes");
-		break;
-	    }
-	}
-	else
-	{
-	    if (smpd_process.use_sspi_job_key)
-	    {
-		strcpy(context->sspi_header, "key");
-	    }
-	    else
-	    {
-		/* sspi iterations finished, delegation query received */
-		/* send a yes or no reply */
-		strcpy(context->sspi_header, (smpd_process.use_delegation) ? "yes" : "no");
-	    }
-	}
-	context->read_state = SMPD_IDLE;
-	context->write_state = SMPD_WRITING_DELEGATE_REQUEST_RESULT;
-	result = SMPDU_Sock_post_write(context->sock, context->sspi_header, SMPD_SSPI_HEADER_LENGTH, SMPD_SSPI_HEADER_LENGTH, NULL);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a write of the sspi header,\nsock error: %s\n", get_sock_error_string(result));
-	    context->state = SMPD_CLOSING;
-	    result = SMPDU_Sock_post_close(context->sock);
-	    smpd_exit_fn(FCNAME);
-	    return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	}
-    }
-    else
-    {
-	/* sspi iteration buffer length sent, receive the buffer */
-	context->sspi_context->buffer_length = atoi(context->sspi_header);
-	if (context->sspi_context->buffer_length < 1)
-	{
-	    /* FIXME: Add code to cleanup sspi structures */
-	    smpd_err_printf("invalid sspi buffer length %d\n", context->sspi_context->buffer_length);
-	    context->state = SMPD_CLOSING;
-	    result = SMPDU_Sock_post_close(context->sock);
-	    smpd_exit_fn(FCNAME);
-	    return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	}
-	if (context->sspi_context->buffer != NULL)
-	{
-	    MPIU_Free(context->sspi_context->buffer);
-	}
-	context->sspi_context->buffer = MPIU_Malloc(context->sspi_context->buffer_length);
-	if (context->sspi_context->buffer == NULL)
-	{
-	    /* FIXME: Add code to cleanup sspi structures */
-	    smpd_err_printf("unable to allocate a sspi buffer of length %d\n", context->sspi_context->buffer_length);
-	    context->state = SMPD_CLOSING;
-	    result = SMPDU_Sock_post_close(context->sock);
-	    smpd_exit_fn(FCNAME);
-	    return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	}
-	context->read_state = SMPD_READING_CLIENT_SSPI_BUFFER;
-	result = SMPDU_Sock_post_read(context->sock, context->sspi_context->buffer, context->sspi_context->buffer_length, context->sspi_context->buffer_length, NULL);
-	if (result != SMPD_SUCCESS)
-	{
-	    /* FIXME: Add code to cleanup sspi structures */
-	    smpd_err_printf("unable to post a read of the sspi buffer,\nsock error: %s\n",
-		get_sock_error_string(result));
-	    context->state = SMPD_CLOSING;
-	    result = SMPDU_Sock_post_close(context->sock);
-	    smpd_exit_fn(FCNAME);
-	    return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	}
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_reading_client_sspi_buffer"
-int smpd_state_reading_client_sspi_buffer(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-    smpd_command_t *cmd_ptr;
-    char context_str[20];
-    smpd_context_t *dest_context;
-    char *encoded = NULL;
-    int encoded_max_length;
-    int num_encoded;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	/* FIXME: Add code to cleanup sspi structures */
-	smpd_err_printf("unable to read the sspi buffer, %s.\n", get_sock_error_string(event_ptr->error));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    smpd_dbg_printf("read client sspi buffer\n");
-
-    result = smpd_command_destination(0, &dest_context);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to get the context necessary to reach node 0\n");
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-    if (dest_context == NULL)
-    {
-	/* I am node 0 so handle the command here. */
-	result = smpd_sspi_context_iter(context->sspi_context->id, &context->sspi_context->buffer, &context->sspi_context->buffer_length);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to process the sspi iteration buffer\n");
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-	if (context->sspi_context->buffer_length == 0)
-	{
-	    /* FIXME: This assumes that the server knows to post a write of the delegate command because it knows that no buffer will be returned by the iter command */
-	    context->write_state = SMPD_IDLE;
-	    context->read_state = SMPD_READING_CLIENT_SSPI_HEADER;
-	    result = SMPDU_Sock_post_read(context->sock, context->sspi_header, SMPD_SSPI_HEADER_LENGTH, SMPD_SSPI_HEADER_LENGTH, NULL);
-	    if (result != SMPD_SUCCESS)
-	    {
-		/* FIXME: Add code to cleanup sspi structures */
-		smpd_err_printf("unable to post a read of the client sspi header,\nsock error: %s\n", get_sock_error_string(result));
-		context->state = SMPD_CLOSING;
-		result = SMPDU_Sock_post_close(context->sock);
-		smpd_exit_fn(FCNAME);
-		return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	    }
-	}
-	else if (context->sspi_context->buffer_length > 0)
-	{
-	    context->read_state = SMPD_IDLE;
-	    context->write_state = SMPD_WRITING_CLIENT_SSPI_HEADER;
-	    MPIU_Snprintf(context->sspi_header, SMPD_SSPI_HEADER_LENGTH, "%d", context->sspi_context->buffer_length);
-	    result = SMPDU_Sock_post_write(context->sock, context->sspi_header, SMPD_SSPI_HEADER_LENGTH, SMPD_SSPI_HEADER_LENGTH, NULL);
-	    if (result != SMPD_SUCCESS)
-	    {
-#ifdef HAVE_WINDOWS_H
-		smpd_process.sec_fn->DeleteSecurityContext(&context->sspi_context->context);
-		smpd_process.sec_fn->FreeCredentialsHandle(&context->sspi_context->credential);
-#endif
-		smpd_err_printf("unable to post a write of the sspi header,\nsock error: %s\n", get_sock_error_string(result));
-		context->state = SMPD_CLOSING;
-		result = SMPDU_Sock_post_close(context->sock);
-		smpd_exit_fn(FCNAME);
-		return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	    }
-	}
-	else
-	{
-	    smpd_err_printf("invalid buffer length returned: %d\n", context->sspi_context->buffer_length);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-
-    /* create an sspi_iter command and send the sspi buffer to the root */
-    context->read_state = SMPD_IDLE;
-    context->write_state = SMPD_IDLE;
-
-    /* create a sspi_iter command to be sent to root (mpiexec) */
-    result = smpd_create_command("sspi_iter", smpd_process.id, 0, SMPD_TRUE, &cmd_ptr);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create a sspi_iter command.\n");
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-    /* FIXME: Instead of encoding a pointer to the context, add an integer id to the context structure and look up the context
-     * based on this id from a global list of contexts.
-     */
-    MPIU_Snprintf(context_str, 20, "%p", context);
-    result = smpd_add_command_arg(cmd_ptr, "sspi_context", context_str);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the sspi_context parameter to the sspi_iter command for host %s\n", context->connect_to->host);
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-    result = smpd_add_command_int_arg(cmd_ptr, "sspi_id", context->sspi_context->id);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the sspi_id parameter to the sspi_iter command for host %s\n", context->connect_to->host);
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-    encoded_max_length = context->sspi_context->buffer_length * 2 + 10;
-    encoded = (char*)MPIU_Malloc(encoded_max_length);
-    if (encoded == NULL)
-    {
-	smpd_err_printf("unable to allocate a buffer to encode the sspi buffer.\n");
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-    result = smpd_encode_buffer(encoded, encoded_max_length, context->sspi_context->buffer, context->sspi_context->buffer_length, &num_encoded);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to encode the sspi buffer.\n");
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-    if (num_encoded != context->sspi_context->buffer_length)
-    {
-	smpd_err_printf("unable to encode the sspi buffer, only %d bytes of %d encoded.\n", num_encoded, context->sspi_context->buffer_length);
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-    result = smpd_add_command_arg(cmd_ptr, "data", encoded);
-    MPIU_Free(encoded);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the data parameter to the sspi_iter command for host %s\n", context->connect_to->host);
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-
-    /* post a write of the command */
-    result = smpd_post_write_command(dest_context, cmd_ptr);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a write of the sspi_iter command.\n");
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_writing_delegate_request"
-int smpd_state_writing_delegate_request(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-#ifdef HAVE_WINDOWS_H
-	smpd_process.sec_fn->DeleteSecurityContext(&context->sspi_context->context);
-	smpd_process.sec_fn->FreeCredentialsHandle(&context->sspi_context->credential);
-#endif
-	smpd_err_printf("unable to write the delegate request, %s.\n", get_sock_error_string(event_ptr->error));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-
-    context->write_state = SMPD_IDLE;
-    context->read_state = SMPD_READING_DELEGATE_REQUEST_RESULT;
-    result = SMPDU_Sock_post_read(context->sock, context->sspi_header, SMPD_SSPI_HEADER_LENGTH, SMPD_SSPI_HEADER_LENGTH, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-#ifdef HAVE_WINDOWS_H
-	smpd_process.sec_fn->DeleteSecurityContext(&context->sspi_context->context);
-	smpd_process.sec_fn->FreeCredentialsHandle(&context->sspi_context->credential);
-#endif
-	smpd_err_printf("unable to post a read of the delegate request result,\nsock error: %s\n", get_sock_error_string(result));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_reading_delegate_request_result"
-int smpd_state_reading_delegate_request_result(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-#ifdef HAVE_WINDOWS_H
-    int result;
-    char err_msg[256];
-    const char *result_str = SMPD_SUCCESS_STR;
-    SECURITY_STATUS sec_result;
-    HANDLE user_handle;
-    BOOL duplicate_result;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_process.sec_fn->DeleteSecurityContext(&context->sspi_context->context);
-	smpd_process.sec_fn->FreeCredentialsHandle(&context->sspi_context->credential);
-	smpd_err_printf("unable to read the delegate request result, %s.\n", get_sock_error_string(event_ptr->error));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    smpd_dbg_printf("delegate request result: '%s'\n", context->sspi_header);
-
-    if (context->sspi_type == SMPD_SSPI_IDENTIFY || (strcmp(context->sspi_header, "identify") == 0))
-    {
-	context->sspi_type = SMPD_SSPI_IDENTIFY;
-	smpd_dbg_printf("calling ImpersonateSecurityContext\n");
-	sec_result = smpd_process.sec_fn->ImpersonateSecurityContext(&context->sspi_context->context);
-	/* revert must be called before any smpd_dbg_printfs will work */
-	smpd_get_user_name(context->account, context->domain, context->full_domain);
-	if (sec_result == SEC_E_OK)
-	{
-	    smpd_process.sec_fn->RevertSecurityContext(&context->sspi_context->context);
-	    smpd_dbg_printf("impersonated user: '%s'\n", context->account);
-	}
-	else
-	{
-	    smpd_err_printf("ImpersonateSecurityContext failed: %d\n", sec_result);
-	}
-
-	if (strcmp(context->sspi_header, "key") != 0)
-	{
-	    /* Error: identify must be coupled with an sspi job key */
-	    context->read_state = SMPD_IDLE;
-	    context->write_state = SMPD_WRITING_IMPERSONATE_RESULT;
-	    MPIU_Strncpy(context->sspi_header, SMPD_FAIL_STR, SMPD_SSPI_HEADER_LENGTH);
-	    result = SMPDU_Sock_post_write(context->sock, context->sspi_header, SMPD_SSPI_HEADER_LENGTH, SMPD_SSPI_HEADER_LENGTH, NULL);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to post a write of the impersonate result,\nsock error: %s\n", get_sock_error_string(result));
-		context->state = SMPD_CLOSING;
-		result = SMPDU_Sock_post_close(context->sock);
-		smpd_exit_fn(FCNAME);
-		return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	    }
-
-	    smpd_exit_fn(FCNAME);
-	    return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	}
-	context->read_state = SMPD_READING_SSPI_JOB_KEY;
-	result = SMPDU_Sock_post_read(context->sock, context->sspi_job_key, SMPD_SSPI_JOB_KEY_LENGTH, SMPD_SSPI_JOB_KEY_LENGTH, NULL);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a read of the sspi job key,\nsock error: %s\n", get_sock_error_string(result));
-	    context->state = SMPD_CLOSING;
-	    result = SMPDU_Sock_post_close(context->sock);
-	    smpd_exit_fn(FCNAME);
-	    return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	}
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-
-    if (context->target == SMPD_TARGET_SMPD && (strcmp(context->sspi_header, "no") == 0))
-    {
-	context->sspi_type = SMPD_SSPI_IMPERSONATE;
-	sec_result = smpd_process.sec_fn->ImpersonateSecurityContext(&context->sspi_context->context);
-	/* revert must be called before any smpd_dbg_printfs will work */
-	smpd_get_user_name(context->account, context->domain, context->full_domain);
-
-	if (sec_result == SEC_E_OK)
-	{
-	    /* verify local admin */
-	    BOOL b = FALSE;
-	    int error;
-	    SID_IDENTIFIER_AUTHORITY NtAuthority = SECURITY_NT_AUTHORITY;
-	    PSID AdministratorsGroup;
-	    context->access = SMPD_ACCESS_NONE;
-	    result_str = SMPD_FAIL_STR;
-	    if (AllocateAndInitializeSid(
-		&NtAuthority,
-		2,
-		SECURITY_BUILTIN_DOMAIN_RID,
-		DOMAIN_ALIAS_RID_ADMINS,
-		0, 0, 0, 0, 0, 0,
-		&AdministratorsGroup))
-	    {
-		if (CheckTokenMembership(NULL, AdministratorsGroup, &b)) 
-		{
-		    smpd_process.sec_fn->RevertSecurityContext(&context->sspi_context->context);
-		    if (b)
-		    {
-			smpd_dbg_printf("allowing admin access to smpd\n");
-			context->access = SMPD_ACCESS_ADMIN;
-			result_str = SMPD_SUCCESS_STR;
-		    }
-		    else
-		    {
-			smpd_dbg_printf("CheckTokenMembership returned %s is not an administrator, denying admin access to smpd.\n", context->account);
-		    }
-		}
-		else
-		{
-		    error = GetLastError();
-		    smpd_process.sec_fn->RevertSecurityContext(&context->sspi_context->context);
-		    smpd_dbg_printf("CheckTokenMembership returned false, %d, denying admin access to smpd.\n", error);
-		}
-		FreeSid(AdministratorsGroup); 
-	    }
-	    else
-	    {
-		smpd_process.sec_fn->RevertSecurityContext(&context->sspi_context->context);
-		smpd_err_printf("AllocateAndInitializeSid failed: %d\n", GetLastError());
-	    }
-	    smpd_dbg_printf("impersonated user: '%s'\n", context->account);
-	}
-	else
-	{
-	    smpd_err_printf("ImpersonateSecurityContext failed: %d\n", sec_result);
-	    result_str = SMPD_FAIL_STR;
-	}
-	/* Clean up the sspi structures */
-	smpd_process.sec_fn->DeleteSecurityContext(&context->sspi_context->context);
-	smpd_process.sec_fn->FreeCredentialsHandle(&context->sspi_context->credential);
-
-	context->read_state = SMPD_IDLE;
-	context->write_state = SMPD_WRITING_IMPERSONATE_RESULT;
-	MPIU_Strncpy(context->sspi_header, result_str, SMPD_SSPI_HEADER_LENGTH);
-	result = SMPDU_Sock_post_write(context->sock, context->sspi_header, SMPD_SSPI_HEADER_LENGTH, SMPD_SSPI_HEADER_LENGTH, NULL);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a write of the impersonate result,\nsock error: %s\n", get_sock_error_string(result));
-	    context->state = SMPD_CLOSING;
-	    result = SMPDU_Sock_post_close(context->sock);
-	    smpd_exit_fn(FCNAME);
-	    return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	}
-
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-
-    smpd_dbg_printf("calling QuerySecurityContextToken\n");
-    sec_result = smpd_process.sec_fn->QuerySecurityContextToken(&context->sspi_context->context, &context->sspi_context->user_handle);
-    if (sec_result == SEC_E_OK)
-    {
-	/* Create a primary token to be used to start the manager process */
-	if (strcmp(context->sspi_header, "yes") == 0)
-	{
-	    /* full delegation requested */
-	    smpd_dbg_printf("calling DuplicateTokenEx with SecurityDelegation\n");
-	    duplicate_result = DuplicateTokenEx(context->sspi_context->user_handle, MAXIMUM_ALLOWED, NULL, SecurityDelegation, TokenPrimary, &user_handle);
-	    if (context->target == SMPD_TARGET_SMPD)
-	    {
-		/* smpd targets need the user token and the user name */
-		/* so get the user name here */
-		sec_result = smpd_process.sec_fn->ImpersonateSecurityContext(&context->sspi_context->context);
-		smpd_get_user_name(context->account, context->domain, context->full_domain);
-		if (sec_result == SEC_E_OK)
-		{
-		    smpd_process.sec_fn->RevertSecurityContext(&context->sspi_context->context);
-		    smpd_dbg_printf("impersonated user: '%s'\n", context->account);
-		}
-		else
-		{
-		    smpd_err_printf("ImpersonateSecurityContext failed: %d\n", sec_result);
-		    result_str = SMPD_FAIL_STR;
-		}
-	    }
-	}
-	else
-	{
-	    /* impersonate only */
-	    smpd_dbg_printf("calling DuplicateTokenEx with SecurityImpersonation\n");
-	    duplicate_result = DuplicateTokenEx(context->sspi_context->user_handle, MAXIMUM_ALLOWED, NULL, SecurityImpersonation, TokenPrimary, &user_handle);
-	}
-	if (duplicate_result)
-	{
-	    CloseHandle(context->sspi_context->user_handle);
-	    context->sspi_context->user_handle = user_handle;
-	    smpd_dbg_printf("duplicated user token: %p\n", user_handle);
-	}
-	else
-	{
-	    result = GetLastError();
-	    smpd_translate_win_error(result, err_msg, 256, NULL);
-	    smpd_err_printf("DuplicateTokenEx failed: error %d, %s\n", result, err_msg);
-	    CloseHandle(context->sspi_context->user_handle);
-	    result_str = SMPD_FAIL_STR;
-	}
-    }
-    else
-    {
-	result_str = SMPD_FAIL_STR;
-    }
-
-    /* Clean up the sspi structures */
-    smpd_process.sec_fn->DeleteSecurityContext(&context->sspi_context->context);
-    smpd_process.sec_fn->FreeCredentialsHandle(&context->sspi_context->credential);
-
-    context->read_state = SMPD_IDLE;
-    context->write_state = SMPD_WRITING_IMPERSONATE_RESULT;
-    MPIU_Strncpy(context->sspi_header, result_str, SMPD_SSPI_HEADER_LENGTH);
-    result = SMPDU_Sock_post_write(context->sock, context->sspi_header, SMPD_SSPI_HEADER_LENGTH, SMPD_SSPI_HEADER_LENGTH, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a write of the impersonate result,\nsock error: %s\n", get_sock_error_string(result));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-#else
-    smpd_enter_fn(FCNAME);
-    smpd_err_printf("function not implemented.\n");
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-#endif
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_reading_sspi_job_key"
-int smpd_state_reading_sspi_job_key(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-#ifdef HAVE_WINDOWS_H
-    int result;
-    const char *result_str = SMPD_SUCCESS_STR;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_process.sec_fn->DeleteSecurityContext(&context->sspi_context->context);
-	smpd_process.sec_fn->FreeCredentialsHandle(&context->sspi_context->credential);
-	smpd_err_printf("unable to read the delegate request result, %s.\n", get_sock_error_string(event_ptr->error));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    smpd_dbg_printf("job key: '%s'\n", context->sspi_job_key);
-
-    result = smpd_lookup_job_key(context->sspi_job_key, context->account, &context->sspi_context->user_handle, &context->sspi_context->job);
-    if (result == SMPD_SUCCESS)
-    {
-	context->sspi_context->close_handle = SMPD_FALSE;
-    }
-    else
-    {
-	result_str = SMPD_FAIL_STR;
-    }
-
-    /* Clean up the sspi structures */
-    smpd_process.sec_fn->DeleteSecurityContext(&context->sspi_context->context);
-    smpd_process.sec_fn->FreeCredentialsHandle(&context->sspi_context->credential);
-
-    context->read_state = SMPD_IDLE;
-    context->write_state = SMPD_WRITING_IMPERSONATE_RESULT;
-    result = MPIU_Strncpy(context->sspi_header, result_str, SMPD_SSPI_HEADER_LENGTH);
-    result = SMPDU_Sock_post_write(context->sock, context->sspi_header, SMPD_SSPI_HEADER_LENGTH, SMPD_SSPI_HEADER_LENGTH, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a write of the impersonate result,\nsock error: %s\n", get_sock_error_string(result));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-#else
-    smpd_enter_fn(FCNAME);
-    smpd_err_printf("function not implemented.\n");
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-#endif
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_writing_delegate_request_result"
-int smpd_state_writing_delegate_request_result(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to write the delegate request result, %s.\n", get_sock_error_string(event_ptr->error));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-
-    if (smpd_process.use_sspi_job_key)
-    {
-	context->write_state = SMPD_WRITING_SSPI_JOB_KEY;
-	result = SMPDU_Sock_post_write(context->sock, smpd_process.job_key/*context->sspi_job_key*/, SMPD_SSPI_JOB_KEY_LENGTH, SMPD_SSPI_JOB_KEY_LENGTH, NULL);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a write of the sspi job key,\nsock error: %s\n", get_sock_error_string(result));
-	    context->state = SMPD_CLOSING;
-	    result = SMPDU_Sock_post_close(context->sock);
-	    smpd_exit_fn(FCNAME);
-	    return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	}
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-
-    /* read the result */
-    context->write_state = SMPD_IDLE;
-    context->read_state = SMPD_READING_IMPERSONATE_RESULT;
-    result = SMPDU_Sock_post_read(context->sock, context->sspi_header, SMPD_SSPI_HEADER_LENGTH, SMPD_SSPI_HEADER_LENGTH, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a read of the impersonation result,\nsock error: %s\n", get_sock_error_string(result));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_writing_sspi_job_key"
-int smpd_state_writing_sspi_job_key(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to write the delegate request result, %s.\n", get_sock_error_string(event_ptr->error));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-
-    /* read the result */
-    context->write_state = SMPD_IDLE;
-    context->read_state = SMPD_READING_IMPERSONATE_RESULT;
-    result = SMPDU_Sock_post_read(context->sock, context->sspi_header, SMPD_SSPI_HEADER_LENGTH, SMPD_SSPI_HEADER_LENGTH, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a read of the impersonation result,\nsock error: %s\n", get_sock_error_string(result));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_reading_impersonate_result"
-int smpd_state_reading_impersonate_result(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to read the impersonation result, %s.\n", get_sock_error_string(event_ptr->error));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-
-    smpd_dbg_printf("result of impersonation: %s\n", context->sspi_header);
-    if (strcmp(context->sspi_header, SMPD_SUCCESS_STR))
-    {
-	/* impersonation failed */
-	/* close the context */
-	smpd_dbg_printf("impersonation failed.\n");
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	if (smpd_process.left_context == context)
-	    smpd_process.left_context = NULL;
-	/* abort the job */
-	smpd_post_abort_command("Impersonation failed");
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    else
-    {
-	/* impersonation succeeded */
-	if (context->target == SMPD_TARGET_SMPD)
-	{
-	    result = smpd_generate_session_header(context->session_header, 1);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to generate a session header.\n");
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    context->read_state = SMPD_IDLE;
-	    context->write_state = SMPD_WRITING_SESSION_HEADER;
-	    result = SMPDU_Sock_post_write(context->sock, context->session_header, SMPD_MAX_SESSION_HEADER_LENGTH, SMPD_MAX_SESSION_HEADER_LENGTH, NULL);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to post a send of the session header,\nsock error: %s\n",
-		    get_sock_error_string(result));
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	}
-	else
-	{
-	    context->write_state = SMPD_IDLE;
-	    context->read_state = SMPD_READING_RECONNECT_REQUEST;
-	    result = SMPDU_Sock_post_read(context->sock, context->port_str, SMPD_MAX_PORT_STR_LENGTH, SMPD_MAX_PORT_STR_LENGTH, NULL);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to post a read of the re-connect request,\nsock error: %s\n",
-		    get_sock_error_string(result));
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	}
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_writing_impersonate_result"
-int smpd_state_writing_impersonate_result(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to write the impersonation result, %s.\n", get_sock_error_string(event_ptr->error));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-
-    if (strcmp(context->sspi_header, SMPD_SUCCESS_STR))
-    {
-	/* impersonation failed, close the context */
-	context->read_state = SMPD_IDLE;
-	context->write_state = SMPD_IDLE;
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-
-    if (context->target == SMPD_TARGET_SMPD)
-    {
-	switch (context->sspi_type)
-	{
-	case SMPD_SSPI_IDENTIFY:
-	    break;
-	case SMPD_SSPI_IMPERSONATE:
-	    break;
-	default:
-	    context->access = SMPD_ACCESS_USER;
-	    break;
-	}
-	context->write_state = SMPD_IDLE;
-	context->read_state = SMPD_READING_SESSION_HEADER;
-	result = SMPDU_Sock_post_read(context->sock, context->session_header, SMPD_MAX_SESSION_HEADER_LENGTH, SMPD_MAX_SESSION_HEADER_LENGTH, NULL);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a read of the session header,\nsock error: %s\n",
-		get_sock_error_string(result));
-	    context->state = SMPD_CLOSING;
-	    result = SMPDU_Sock_post_close(context->sock);
-	    smpd_exit_fn(FCNAME);
-	    return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	}
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-
-    /* impersonation succeeded, launch the manager process */
-#ifdef HAVE_WINDOWS_H
-    result = smpd_start_win_mgr(context, SMPD_TRUE);
-    if (result != SMPD_SUCCESS)
-    {
-	context->state = SMPD_CLOSING;
-	context->read_state = SMPD_IDLE;
-	context->write_state = SMPD_IDLE;
-	result = SMPDU_Sock_post_close(context->sock);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a close for the sock(%d) from a failed win_mgr, error:\n%s\n",
-		SMPDU_Sock_get_sock_id(context->sock), get_sock_error_string(result));
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-#else
-    /* If the sspi functions were implemented under unix then the fork stuff would go here. */
-#endif
-    /* post a write of the reconnect request */
-    smpd_dbg_printf("smpd writing reconnect request: port %s\n", context->port_str);
-    context->write_state = SMPD_WRITING_RECONNECT_REQUEST;
-    result = SMPDU_Sock_post_write(context->sock, context->port_str, SMPD_MAX_PORT_STR_LENGTH, SMPD_MAX_PORT_STR_LENGTH, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("Unable to post a write of the re-connect port number(%s) back to mpiexec,\nsock error: %s\n",
-	    context->port_str, get_sock_error_string(result));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_writing_sspi_header"
-int smpd_state_writing_sspi_header(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	/* FIXME: Add code to cleanup sspi structures */
-	smpd_err_printf("unable to write the sspi header, %s.\n", get_sock_error_string(event_ptr->error));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-
-    smpd_dbg_printf("wrote sspi header: %s.\n", context->sspi_header);
-
-    context->read_state = SMPD_IDLE;
-    context->write_state = SMPD_WRITING_SSPI_BUFFER;
-    result = SMPDU_Sock_post_write(context->sock, context->sspi_context->out_buffer, context->sspi_context->out_buffer_length, context->sspi_context->out_buffer_length, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	/* FIXME: Add code to cleanup sspi structures */
-	smpd_err_printf("unable to post a write of the sspi buffer,\nsock error: %s\n", get_sock_error_string(result));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_writing_sspi_buffer"
-int smpd_state_writing_sspi_buffer(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	/* FIXME: Add code to cleanup sspi structures */
-	smpd_err_printf("unable to write the sspi buffer, %s.\n", get_sock_error_string(event_ptr->error));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-
-    smpd_dbg_printf("wrote sspi buffer.\n");
-
-    if (context->sspi_context->out_buffer != NULL)
-    {
-	MPIU_Free(context->sspi_context->out_buffer);
-	context->sspi_context->out_buffer = NULL;
-	context->sspi_context->out_buffer_length = 0;
-    }
-    context->write_state = SMPD_IDLE;
-    context->read_state = SMPD_READING_SSPI_HEADER;
-    result = SMPDU_Sock_post_read(context->sock, context->sspi_header, SMPD_SSPI_HEADER_LENGTH, SMPD_SSPI_HEADER_LENGTH, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	/* FIXME: Add code to cleanup sspi structures */
-	smpd_err_printf("unable to post a read of the sspi header,\nsock error: %s\n", get_sock_error_string(result));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_writing_client_sspi_header"
-int smpd_state_writing_client_sspi_header(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	/* FIXME: Add code to cleanup sspi structures */
-	smpd_err_printf("unable to write the client sspi header, %s.\n", get_sock_error_string(event_ptr->error));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-
-    smpd_dbg_printf("wrote client sspi header: %s.\n", context->sspi_header);
-
-    context->read_state = SMPD_IDLE;
-    context->write_state = SMPD_WRITING_CLIENT_SSPI_BUFFER;
-    result = SMPDU_Sock_post_write(context->sock, context->sspi_context->buffer, context->sspi_context->buffer_length, context->sspi_context->buffer_length, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	/* FIXME: Add code to cleanup sspi structures */
-	smpd_err_printf("unable to post a write of the client sspi buffer,\nsock error: %s\n", get_sock_error_string(result));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_writing_client_sspi_buffer"
-int smpd_state_writing_client_sspi_buffer(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	/* FIXME: Add code to cleanup sspi structures */
-	smpd_err_printf("unable to write the client sspi buffer, %s.\n", get_sock_error_string(event_ptr->error));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-
-    smpd_dbg_printf("wrote sspi buffer.\n");
-
-    context->write_state = SMPD_IDLE;
-    context->read_state = SMPD_READING_CLIENT_SSPI_HEADER;
-    result = SMPDU_Sock_post_read(context->sock, context->sspi_header, SMPD_SSPI_HEADER_LENGTH, SMPD_SSPI_HEADER_LENGTH, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	/* FIXME: Add code to cleanup sspi structures */
-	smpd_err_printf("unable to post a read of the client sspi header,\nsock error: %s\n", get_sock_error_string(result));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_writing_cred_ack_sspi"
-int smpd_state_writing_cred_ack_sspi(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-    smpd_command_t *cmd_ptr;
-    char context_str[20];
-    smpd_context_t *dest_context;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to write the cred request sspi ack, %s.\n", get_sock_error_string(event_ptr->error));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-
-    smpd_dbg_printf("wrote cred request sspi ack.\n");
-
-    result = smpd_command_destination(0, &dest_context);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to get the context necessary to reach node 0\n");
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-    if (dest_context == NULL)
-    {
-	/* I am node 0 so handle the command here. */
-	smpd_dbg_printf("calling smpd_sspi_init with host=%s and port=%d\n", context->connect_to->host, smpd_process.port);
-	result = smpd_sspi_context_init(&context->sspi_context, context->connect_to->host, smpd_process.port, SMPD_SSPI_DELEGATE);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to initialize an sspi context command.\n");
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-	context->read_state = SMPD_IDLE;
-	context->write_state = SMPD_WRITING_CLIENT_SSPI_HEADER;
-	MPIU_Snprintf(context->sspi_header, SMPD_SSPI_HEADER_LENGTH, "%d", context->sspi_context->buffer_length);
-	result = SMPDU_Sock_post_write(context->sock, context->sspi_header, SMPD_SSPI_HEADER_LENGTH, SMPD_SSPI_HEADER_LENGTH, NULL);
-	if (result == SMPD_SUCCESS)
-	{
-	    result = SMPD_SUCCESS;
-	}
-	else
-	{
-#ifdef HAVE_WINDOWS_H
-	    smpd_process.sec_fn->DeleteSecurityContext(&context->sspi_context->context);
-	    smpd_process.sec_fn->FreeCredentialsHandle(&context->sspi_context->credential);
-#endif
-	    smpd_err_printf("unable to post a write of the sspi header,\nsock error: %s\n", get_sock_error_string(result));
-	    context->state = SMPD_CLOSING;
-	    result = SMPDU_Sock_post_close(context->sock);
-	    smpd_exit_fn(FCNAME);
-	    result = (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	}
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-
-    context->read_state = SMPD_IDLE;
-    context->write_state = SMPD_IDLE;
-
-    result = smpd_create_sspi_client_context(&context->sspi_context);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create an sspi_context.\n");
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-    /* create a sspi_init command to be sent to root (mpiexec) */
-    result = smpd_create_command("sspi_init", smpd_process.id, 0, SMPD_TRUE, &cmd_ptr);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create a sspi_init command.\n");
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-    /* FIXME: Instead of encoding a pointer to the context, add an integer id to the context structure and look up the context
-     * based on this id from a global list of contexts.
-     */
-    MPIU_Snprintf(context_str, 20, "%p", context);
-    result = smpd_add_command_arg(cmd_ptr, "sspi_context", context_str);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the context parameter to the sspi_init command for host %s\n", context->connect_to->host);
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-    result = smpd_add_command_arg(cmd_ptr, "sspi_host", context->connect_to->host);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the host parameter to the sspi_init command for host %s\n", context->connect_to->host);
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-    result = smpd_add_command_int_arg(cmd_ptr, "sspi_port", smpd_process.port);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the port parameter to the sspi_init command for host %s\n", context->connect_to->host);
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-
-    /* post a write of the command */
-    result = smpd_post_write_command(dest_context, cmd_ptr);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a write of the sspi_init command.\n");
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_writing_cred_ack_sspi_job_key"
-int smpd_state_writing_cred_ack_sspi_job_key(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-    smpd_command_t *cmd_ptr;
-    char context_str[20];
-    smpd_context_t *dest_context;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to write the cred request sspi ack, %s.\n", get_sock_error_string(event_ptr->error));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-
-    smpd_dbg_printf("wrote cred request sspi job key ack.\n");
-
-    result = smpd_command_destination(0, &dest_context);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to get the context necessary to reach node 0\n");
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-    if (dest_context == NULL)
-    {
-	/* I am node 0 so handle the command here. */
-	smpd_dbg_printf("calling smpd_sspi_init with host=%s and port=%d\n", context->connect_to->host, smpd_process.port);
-	result = smpd_sspi_context_init(&context->sspi_context, context->connect_to->host, smpd_process.port, SMPD_SSPI_IDENTIFY);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to initialize an sspi context command.\n");
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-	context->read_state = SMPD_IDLE;
-	context->write_state = SMPD_WRITING_CLIENT_SSPI_HEADER;
-	MPIU_Snprintf(context->sspi_header, SMPD_SSPI_HEADER_LENGTH, "%d", context->sspi_context->buffer_length);
-	result = SMPDU_Sock_post_write(context->sock, context->sspi_header, SMPD_SSPI_HEADER_LENGTH, SMPD_SSPI_HEADER_LENGTH, NULL);
-	if (result == SMPD_SUCCESS)
-	{
-	    result = SMPD_SUCCESS;
-	}
-	else
-	{
-#ifdef HAVE_WINDOWS_H
-	    smpd_process.sec_fn->DeleteSecurityContext(&context->sspi_context->context);
-	    smpd_process.sec_fn->FreeCredentialsHandle(&context->sspi_context->credential);
-#endif
-	    smpd_err_printf("unable to post a write of the sspi header,\nsock error: %s\n", get_sock_error_string(result));
-	    context->state = SMPD_CLOSING;
-	    result = SMPDU_Sock_post_close(context->sock);
-	    smpd_exit_fn(FCNAME);
-	    result = (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	}
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-
-    context->read_state = SMPD_IDLE;
-    context->write_state = SMPD_IDLE;
-
-    result = smpd_create_sspi_client_context(&context->sspi_context);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create an sspi_context.\n");
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-    /* create a sspi_init command to be sent to root (mpiexec) */
-    result = smpd_create_command("sspi_init", smpd_process.id, 0, SMPD_TRUE, &cmd_ptr);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to create a sspi_init command.\n");
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-    /* FIXME: Instead of encoding a pointer to the context, add an integer id to the context structure and look up the context
-     * based on this id from a global list of contexts.
-     */
-    MPIU_Snprintf(context_str, 20, "%p", context);
-    result = smpd_add_command_arg(cmd_ptr, "sspi_context", context_str);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the context parameter to the sspi_init command for host %s\n", context->connect_to->host);
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-    result = smpd_add_command_arg(cmd_ptr, "sspi_host", context->connect_to->host);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the host parameter to the sspi_init command for host %s\n", context->connect_to->host);
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-    result = smpd_add_command_int_arg(cmd_ptr, "sspi_port", smpd_process.port);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to add the port parameter to the sspi_init command for host %s\n", context->connect_to->host);
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-
-    /* post a write of the command */
-    result = smpd_post_write_command(dest_context, cmd_ptr);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a write of the sspi_init command.\n");
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-
-#undef FCNAME
-#define FCNAME "smpd_state_writing_cred_ack_yes"
-int smpd_state_writing_cred_ack_yes(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to write the cred request yes ack, %s.\n", get_sock_error_string(event_ptr->error));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-
-    smpd_dbg_printf("wrote cred request yes ack.\n");
-
-    context->read_state = SMPD_IDLE;
-    context->write_state = SMPD_WRITING_ACCOUNT;
-    result = SMPDU_Sock_post_write(context->sock, context->account, SMPD_MAX_ACCOUNT_LENGTH, SMPD_MAX_ACCOUNT_LENGTH, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a write of the account '%s',\nsock error: %s\n",
-	    context->account, get_sock_error_string(result));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_writing_cred_ack_no"
-int smpd_state_writing_cred_ack_no(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-    char *host_ptr;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to write the cred request no ack, %s.\n", get_sock_error_string(event_ptr->error));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-
-    smpd_dbg_printf("wrote cred request no ack.\n");
-
-    /* insert code here to handle failed connection attempt */
-    smpd_process.left_context = NULL;
-    if (smpd_process.do_console && smpd_process.console_host[0] != '\0')
-	host_ptr = smpd_process.console_host;
-    else if (context->connect_to && context->connect_to->host[0] != '\0')
-	host_ptr = context->connect_to->host;
-    else if (context->host[0] != '\0')
-	host_ptr = context->host;
-    else
-	host_ptr = NULL;
-    if (host_ptr)
-	result = smpd_post_abort_command("Unable to connect to %s", host_ptr);
-    else
-	result = smpd_post_abort_command("connection failed");
-
-    context->read_state = SMPD_IDLE;
-    context->write_state = SMPD_IDLE;
-    context->state = SMPD_CLOSING;
-    result = SMPDU_Sock_post_close(context->sock);
-    smpd_exit_fn(FCNAME);
-    return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_reading_account"
-int smpd_state_reading_account(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to read the account, %s.\n", get_sock_error_string(event_ptr->error));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    smpd_dbg_printf("read account: '%s'\n", context->account);
-    context->read_state = SMPD_READING_PASSWORD;
-    result = SMPDU_Sock_post_read(context->sock, context->encrypted_password, SMPD_MAX_PASSWORD_LENGTH, SMPD_MAX_PASSWORD_LENGTH, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a read of the password credential,\nsock error: %s\n",
-	    get_sock_error_string(result));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_reading_password"
-int smpd_state_reading_password(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-    char *iter;
-    char decrypted[SMPD_MAX_PASSWORD_LENGTH];
-    int length;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to read the password, %s.\n", get_sock_error_string(event_ptr->error));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-
-    /* decrypt the password */
-    length = SMPD_MAX_PASSWORD_LENGTH;
-    result = smpd_decrypt_data(context->encrypted_password+1, (int)strlen(context->encrypted_password+1), decrypted, &length);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to decrypt the password\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    if (length >= 0 && length < SMPD_MAX_PASSWORD_LENGTH)
-    {
-	decrypted[length] = '\0';
-    }
-    else
-    {
-	smpd_err_printf("unable to decrypt the password, invalid length of %d bytes decrypted returned.\n", length);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    /* skip over the entropy prefix */
-    iter = decrypted;
-    while (*iter != ' ' && *iter != '\0')
-	iter++;
-    if (*iter == ' ')
-	iter++;
-    MPIU_Strncpy(context->password, iter, SMPD_MAX_PASSWORD_LENGTH);
-    smpd_dbg_printf("read password, %d bytes\n", strlen(context->password));
-#ifdef HAVE_WINDOWS_H
-    /* launch the manager process */
-    result = smpd_start_win_mgr(context, SMPD_FALSE);
-    if (result == SMPD_SUCCESS)
-    {
-	strcpy(context->pwd_request, SMPD_AUTHENTICATION_ACCEPTED_STR);
-	context->write_state = SMPD_WRITING_PROCESS_SESSION_ACCEPT;
-	result = SMPDU_Sock_post_write(context->sock, context->pwd_request, SMPD_AUTHENTICATION_REPLY_LENGTH, SMPD_AUTHENTICATION_REPLY_LENGTH, NULL);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a write of the process session accepted message,\nsock error: %s\n",
-		get_sock_error_string(result));
-	    context->state = SMPD_CLOSING;
-	    result = SMPDU_Sock_post_close(context->sock);
-	    smpd_exit_fn(FCNAME);
-	    return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	}
-    }
-    else
-    {
-	strcpy(context->pwd_request, SMPD_AUTHENTICATION_REJECTED_STR);
-	context->write_state = SMPD_WRITING_PROCESS_SESSION_REJECT;
-	result = SMPDU_Sock_post_write(context->sock, context->pwd_request, SMPD_AUTHENTICATION_REPLY_LENGTH, SMPD_AUTHENTICATION_REPLY_LENGTH, NULL);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a write of the session rejected message,\nsock error: %s\n",
-		get_sock_error_string(result));
-	    context->state = SMPD_CLOSING;
-	    result = SMPDU_Sock_post_close(context->sock);
-	    smpd_exit_fn(FCNAME);
-	    return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	}
-    }
-#else
-    /* post a write of the noreconnect request */
-    smpd_dbg_printf("smpd writing noreconnect request\n");
-    context->write_state = SMPD_WRITING_NO_RECONNECT_REQUEST;
-    strcpy(context->port_str, SMPD_NO_RECONNECT_PORT_STR);
-    result = SMPDU_Sock_post_write(context->sock, context->port_str, SMPD_MAX_PORT_STR_LENGTH, SMPD_MAX_PORT_STR_LENGTH, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("Unable to post a write of the re-connect port number(%s) back to mpiexec,\nsock error: %s\n",
-	    context->port_str, get_sock_error_string(result));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-#endif
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_writing_account"
-int smpd_state_writing_account(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-    char buffer[SMPD_MAX_PASSWORD_LENGTH];
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to write the account, %s.\n", get_sock_error_string(event_ptr->error));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_dbg_printf("wrote account: '%s'\n", context->account);
-
-    /* encrypt the password and a prefix to introduce variability to the encrypted blob */
-    /* The prefix used is the challenge response string */
-    if (context->encrypted_password[0] == '\0')
-    {
-	context->encrypted_password[0] = SMPD_ENCRYPTED_PREFIX;
-	MPIU_Snprintf(buffer, SMPD_MAX_PASSWORD_LENGTH, "%s %s", smpd_process.encrypt_prefix, context->password);
-	result = smpd_encrypt_data(buffer, (int)strlen(buffer), context->encrypted_password+1, SMPD_MAX_PASSWORD_LENGTH-1);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to encrypt the user password.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-    }
-    context->write_state = SMPD_WRITING_PASSWORD;
-    result = SMPDU_Sock_post_write(context->sock, context->encrypted_password, SMPD_MAX_PASSWORD_LENGTH, SMPD_MAX_PASSWORD_LENGTH, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a write of the password,\nsock error: %s\n",
-	    get_sock_error_string(result));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_writing_password"
-int smpd_state_writing_password(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to write the password, %s.\n", get_sock_error_string(event_ptr->error));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_dbg_printf("wrote password\n");
-    context->read_state = SMPD_READING_PROCESS_RESULT;
-    result = SMPDU_Sock_post_read(context->sock, context->pwd_request, SMPD_AUTHENTICATION_REPLY_LENGTH, SMPD_AUTHENTICATION_REPLY_LENGTH, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a read of the process session result,\nsock error: %s\n",
-	    get_sock_error_string(result));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_writing_no_cred_request"
-int smpd_state_writing_no_cred_request(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to write the no cred request, %s.\n", get_sock_error_string(event_ptr->error));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    smpd_dbg_printf("wrote no cred request: '%s'\n", context->cred_request);
-#ifdef HAVE_WINDOWS_H
-    /* launch the manager process */
-    result = smpd_start_win_mgr(context, SMPD_FALSE);
-    if (result != SMPD_SUCCESS)
-    {
-	context->state = SMPD_CLOSING;
-	context->read_state = SMPD_IDLE;
-	context->write_state = SMPD_IDLE;
-	result = SMPDU_Sock_post_close(context->sock);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a close for the sock(%d) from a failed win_mgr, error:\n%s\n",
-		SMPDU_Sock_get_sock_id(context->sock), get_sock_error_string(result));
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-    /* post a write of the reconnect request */
-    smpd_dbg_printf("smpd writing reconnect request: port %s\n", context->port_str);
-    context->write_state = SMPD_WRITING_RECONNECT_REQUEST;
-    result = SMPDU_Sock_post_write(context->sock, context->port_str, SMPD_MAX_PORT_STR_LENGTH, SMPD_MAX_PORT_STR_LENGTH, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("Unable to post a write of the re-connect port number(%s) back to mpiexec,\nsock error: %s\n",
-	    context->port_str, get_sock_error_string(result));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-#else
-    /* post a write of the noreconnect request */
-    smpd_dbg_printf("smpd writing noreconnect request\n");
-    context->write_state = SMPD_WRITING_NO_RECONNECT_REQUEST;
-    strcpy(context->port_str, SMPD_NO_RECONNECT_PORT_STR);
-    result = SMPDU_Sock_post_write(context->sock, context->port_str, SMPD_MAX_PORT_STR_LENGTH, SMPD_MAX_PORT_STR_LENGTH, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("Unable to post a write of the re-connect port number(%s) back to mpiexec,\nsock error: %s\n",
-	    context->port_str, get_sock_error_string(result));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-#endif
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_reading_cred_request"
-int smpd_state_reading_cred_request(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-    smpd_command_t *cmd_ptr;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to read the cred request, %s.\n", get_sock_error_string(event_ptr->error));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_dbg_printf("read cred request: '%s'\n", context->cred_request);
-    context->read_state = SMPD_IDLE;
-    if (strcmp(context->cred_request, SMPD_CRED_REQUEST) == 0)
-    {
-	if (smpd_process.use_sspi)
-	{
-	    strcpy(context->cred_request, SMPD_CRED_ACK_SSPI);
-	    context->write_state = SMPD_WRITING_CRED_ACK_SSPI;
-	    context->read_state = SMPD_IDLE;
-	    result = SMPDU_Sock_post_write(context->sock, context->cred_request, SMPD_MAX_CRED_REQUEST_LENGTH, SMPD_MAX_CRED_REQUEST_LENGTH, NULL);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to post a write of the cred request sspi ack.\nsock error: %s\n",
-		    get_sock_error_string(result));
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    return SMPD_SUCCESS;
-	}
-
-	if (smpd_process.use_sspi_job_key)
-	{
-	    strcpy(context->cred_request, SMPD_CRED_ACK_SSPI_JOB_KEY);
-	    context->write_state = SMPD_WRITING_CRED_ACK_SSPI_JOB_KEY;
-	    context->read_state = SMPD_IDLE;
-	    result = SMPDU_Sock_post_write(context->sock, context->cred_request, SMPD_MAX_CRED_REQUEST_LENGTH, SMPD_MAX_CRED_REQUEST_LENGTH, NULL);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to post a write of the cred request sspi ack.\nsock error: %s\n",
-		    get_sock_error_string(result));
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    return SMPD_SUCCESS;
-	}
-
-#ifdef HAVE_WINDOWS_H
-	if (smpd_process.UserAccount[0] == '\0')
-	{
-	    if (smpd_process.logon || 
-		(!smpd_get_cached_password(context->account, context->password) &&
-		!smpd_read_password_from_registry(smpd_process.user_index, context->account, context->password)))
-	    {
-		if (smpd_process.id > 0 && smpd_process.parent_context && smpd_process.parent_context->sock != SMPDU_SOCK_INVALID_SOCK)
-		{
-		    result = smpd_create_command("cred_request", smpd_process.id, 0, SMPD_TRUE, &cmd_ptr);
-		    if (result != SMPD_SUCCESS)
-		    {
-			smpd_err_printf("unable to create a command structure for the cred_request command.\n");
-			smpd_exit_fn(FCNAME);
-			return result;
-		    }
-		    result = smpd_add_command_arg(cmd_ptr, "host", context->connect_to->host);
-		    if (result != SMPD_SUCCESS)
-		    {
-			smpd_err_printf("unable to add host=%s to the cred_request command.\n", context->connect_to->host);
-			smpd_exit_fn(FCNAME);
-			return result;
-		    }
-		    cmd_ptr->context = context;
-		    result = smpd_post_write_command(smpd_process.parent_context, cmd_ptr);
-		    if (result != SMPD_SUCCESS)
-		    {
-			smpd_err_printf("unable to post a write of the cred_request command.\n");
-			smpd_exit_fn(FCNAME);
-			return result;
-		    }
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_SUCCESS;
-		}
-		if (smpd_process.id == 0 && smpd_process.credentials_prompt)
-		{
-		    fprintf(stderr, "User credentials needed to launch processes:\n");
-		    smpd_get_account_and_password(context->account, context->password);
-		    smpd_cache_password(context->account, context->password);
-		}
-		else
-		{
-		    /*smpd_post_abort_command("User credentials needed to launch processes.\n");*/
-		    strcpy(context->account, "invalid account");
-		}
-	    }
-	    else if (!smpd_process.logon)
-	    {
-		/* This will re-cache cached passwords but I can't think of a way to determine the difference between
-		a cached and non-cached password retrieval. */
-		/*if (password_read_from_registry)*/
-		smpd_cache_password(context->account, context->password);
-	    }
-	}
-	else
-	{
-	    strcpy(context->account, smpd_process.UserAccount);
-	    strcpy(context->password, smpd_process.UserPassword);
-	}
-#else
-	if (smpd_process.UserAccount[0] == '\0')
-	{
-	    if (smpd_process.id > 0 && smpd_process.parent_context && smpd_process.parent_context->sock != SMPDU_SOCK_INVALID_SOCK)
-	    {
-		result = smpd_create_command("cred_request", smpd_process.id, 0, SMPD_TRUE, &cmd_ptr);
-		if (result != SMPD_SUCCESS)
-		{
-		    smpd_err_printf("unable to create a command structure for the cred_request command.\n");
-		    smpd_exit_fn(FCNAME);
-		    return result;
-		}
-		result = smpd_add_command_arg(cmd_ptr, "host", context->connect_to->host);
-		if (result != SMPD_SUCCESS)
-		{
-		    smpd_err_printf("unable to add host=%s to the cred_request command.\n", context->connect_to->host);
-		    smpd_exit_fn(FCNAME);
-		    return result;
-		}
-		cmd_ptr->context = context;
-		result = smpd_post_write_command(smpd_process.parent_context, cmd_ptr);
-		if (result != SMPD_SUCCESS)
-		{
-		    smpd_err_printf("unable to post a write of the cred_request command.\n");
-		    smpd_exit_fn(FCNAME);
-		    return result;
-		}
-		smpd_exit_fn(FCNAME);
-		return SMPD_SUCCESS;
-	    }
-	    if (smpd_process.credentials_prompt)
-	    {
-		fprintf(stderr, "User credentials needed to launch processes:\n");
-		smpd_get_account_and_password(context->account, context->password);
-	    }
-	    else
-	    {
-		/*smpd_post_abort_command("User credentials needed to launch processes.\n");*/
-		strcpy(context->account, "invalid account");
-	    }
-	}
-	else
-	{
-	    strcpy(context->account, smpd_process.UserAccount);
-	    strcpy(context->password, smpd_process.UserPassword);
-	}
-#endif
-	if (strcmp(context->account, "invalid account") == 0)
-	{
-	    /*smpd_err_printf("Attempting to create a session with an smpd that requires credentials without having obtained any credentials.\n");*/
-	    if (context->connect_to != NULL)
-	    {
-		smpd_err_printf("Credentials required to connect to the process manager on %s.  Please use \"mpiexec -register\" or \"mpiexec -logon ...\" to provide user credentials.\n", context->connect_to->host);
-	    }
-	    else
-	    {
-		smpd_err_printf("Credentials required to connect to the process manager.  Please use \"mpiexec -register\" or \"mpiexec -logon ...\" to provide user credentials.\n");
-	    }
-	    strcpy(context->cred_request, "no");
-	    context->write_state = SMPD_WRITING_CRED_ACK_NO;
-	    context->read_state = SMPD_IDLE;
-	    result = SMPDU_Sock_post_write(context->sock, context->cred_request, SMPD_MAX_CRED_REQUEST_LENGTH, SMPD_MAX_CRED_REQUEST_LENGTH, NULL);
-	    smpd_exit_fn(FCNAME);
-	    return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	}
-	strcpy(context->cred_request, "yes");
-	context->write_state = SMPD_WRITING_CRED_ACK_YES;
-	context->read_state = SMPD_IDLE;
-	result = SMPDU_Sock_post_write(context->sock, context->cred_request, SMPD_MAX_CRED_REQUEST_LENGTH, SMPD_MAX_CRED_REQUEST_LENGTH, NULL);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a write of the cred request yes ack.\nsock error: %s\n",
-		get_sock_error_string(result));
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	return SMPD_SUCCESS;
-    }
-    if (strcmp(context->cred_request, SMPD_CRED_REQUEST_JOB) == 0)
-    {
-	if (smpd_process.use_sspi_job_key)
-	{
-	    strcpy(context->cred_request, SMPD_CRED_ACK_SSPI_JOB_KEY);
-	    context->write_state = SMPD_WRITING_CRED_ACK_SSPI_JOB_KEY;
-	    context->read_state = SMPD_IDLE;
-	    result = SMPDU_Sock_post_write(context->sock, context->cred_request, SMPD_MAX_CRED_REQUEST_LENGTH, SMPD_MAX_CRED_REQUEST_LENGTH, NULL);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to post a write of the cred request sspi ack.\nsock error: %s\n",
-		    get_sock_error_string(result));
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    return SMPD_SUCCESS;
-	}
-	/* smpd requested(requires) a job but no job key specified. */
-	strcpy(context->cred_request, "no");
-	context->write_state = SMPD_WRITING_CRED_ACK_NO;
-	context->read_state = SMPD_IDLE;
-	result = SMPDU_Sock_post_write(context->sock, context->cred_request, SMPD_MAX_CRED_REQUEST_LENGTH, SMPD_MAX_CRED_REQUEST_LENGTH, NULL);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    context->read_state = SMPD_READING_RECONNECT_REQUEST;
-    result = SMPDU_Sock_post_read(context->sock, context->port_str, SMPD_MAX_PORT_STR_LENGTH, SMPD_MAX_PORT_STR_LENGTH, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a read of the re-connect request,\nsock error: %s\n",
-	    get_sock_error_string(result));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_writing_reconnect_request"
-int smpd_state_writing_reconnect_request(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to write the re-connect request, %s.\n", get_sock_error_string(event_ptr->error));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    smpd_dbg_printf("wrote reconnect request: '%s'\n", context->port_str);
-    context->state = SMPD_CLOSING;
-    context->read_state = SMPD_IDLE;
-    context->write_state = SMPD_IDLE;
-    result = SMPDU_Sock_post_close(context->sock);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a close on sock(%d) after reconnect request written, error:\n%s\n",
-	    SMPDU_Sock_get_sock_id(context->sock), get_sock_error_string(result));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_writing_no_reconnect_request"
-int smpd_state_writing_no_reconnect_request(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to write the no re-connect request, %s.\n", get_sock_error_string(event_ptr->error));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    smpd_dbg_printf("wrote no reconnect request: '%s'\n", context->port_str);
-#ifdef HAVE_WINDOWS_H
-    context->read_state = SMPD_READING_SESSION_HEADER;
-    result = SMPDU_Sock_post_read(context->sock, context->session_header, SMPD_MAX_SESSION_HEADER_LENGTH, SMPD_MAX_SESSION_HEADER_LENGTH, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a read for the session header,\nsock error: %s\n",
-	    get_sock_error_string(result));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-#else
-    /* fork the manager process */
-    result = smpd_start_unx_mgr(context);
-    if (result != SMPD_SUCCESS)
-    {
-	context->state = SMPD_CLOSING;
-	context->read_state = SMPD_IDLE;
-	context->write_state = SMPD_IDLE;
-	result = SMPDU_Sock_post_close(context->sock);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a close for the sock(%d) from a failed unx_mgr, error:\n%s\n",
-		SMPDU_Sock_get_sock_id(context->sock), get_sock_error_string(result));
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-    if (smpd_process.root_smpd)
-    {
-	smpd_dbg_printf("root closing sock(%d) after fork.\n", SMPDU_Sock_get_sock_id(context->sock));
-	context->state = SMPD_CLOSING;
-	context->read_state = SMPD_IDLE;
-	context->write_state = SMPD_IDLE;
-	result = SMPDU_Sock_post_close(context->sock);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a close for the sock(%d) from a unx_mgr, error:\n%s\n",
-		SMPDU_Sock_get_sock_id(context->sock), get_sock_error_string(result));
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-    }
-    else
-    {
-	smpd_dbg_printf("child closing listener sock(%d) after fork.\n", SMPDU_Sock_get_sock_id(smpd_process.listener_context->sock));
-	/* close the listener in the child */
-	smpd_process.listener_context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(smpd_process.listener_context->sock);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a close on the listener,\nsock error: %s\n",
-		get_sock_error_string(result));
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	/* post a read of the session header */
-	context->read_state = SMPD_READING_SESSION_HEADER;
-	result = SMPDU_Sock_post_read(context->sock, context->session_header, SMPD_MAX_SESSION_HEADER_LENGTH, SMPD_MAX_SESSION_HEADER_LENGTH, NULL);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a read for the session header,\nsock error: %s\n",
-		get_sock_error_string(result));
-	    context->state = SMPD_CLOSING;
-	    result = SMPDU_Sock_post_close(context->sock);
-	    smpd_exit_fn(FCNAME);
-	    return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	}
-    }
-#endif
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_reading_reconnect_request"
-int smpd_state_reading_reconnect_request(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to read the re-connect request, %s.\n", get_sock_error_string(event_ptr->error));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_dbg_printf("read re-connect request: '%s'\n", context->port_str);
-    if (strcmp(context->port_str, SMPD_NO_RECONNECT_PORT_STR))
-    {
-	int port;
-	smpd_context_t *rc_context;
-
-	smpd_dbg_printf("closing the old socket in the %s context.\n", smpd_get_context_str(context));
-	/* close the old sock */
-	smpd_dbg_printf("SMPDU_Sock_post_close(%d)\n", SMPDU_Sock_get_sock_id(context->sock));
-	/*context->state = SMPD_CLOSING;*/ /* don't set it here, set it later after the state has been copied to the new context */
-	result = SMPDU_Sock_post_close(context->sock);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("SMPDU_Sock_post_close failed,\nsock error: %s\n", get_sock_error_string(result));
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-
-	smpd_dbg_printf("connecting a new socket.\n");
-	/* reconnect */
-	port = atol(context->port_str);
-	if (port < 1)
-	{
-	    smpd_err_printf("Invalid reconnect port read: %d\n", port);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	result = smpd_create_context(context->type, context->set, SMPDU_SOCK_INVALID_SOCK, context->id, &rc_context);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to create a new context for the reconnection.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	rc_context->state = context->state;
-	rc_context->write_state = SMPD_RECONNECTING;
-	context->state = SMPD_CLOSING;
-	rc_context->connect_to = context->connect_to;
-	rc_context->connect_return_id = context->connect_return_id;
-	rc_context->connect_return_tag = context->connect_return_tag;
-	strcpy(rc_context->host, context->host);
-	/* replace the old context with the new */
-	if (rc_context->type == SMPD_CONTEXT_LEFT_CHILD || rc_context->type == SMPD_CONTEXT_CHILD)
-	    smpd_process.left_context = rc_context;
-	if (rc_context->type == SMPD_CONTEXT_RIGHT_CHILD)
-	    smpd_process.right_context = rc_context;
-	smpd_dbg_printf("posting a re-connect to %s:%d in %s context.\n", rc_context->connect_to->host, port, smpd_get_context_str(rc_context));
-	result = SMPDU_Sock_post_connect(rc_context->set, rc_context, rc_context->connect_to->host, port, &rc_context->sock);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("Unable to post a connect to '%s:%d',\nsock error: %s\n",
-		rc_context->connect_to->host, port, get_sock_error_string(result));
-	    if (smpd_post_abort_command("Unable to connect to '%s:%d',\nsock error: %s\n",
-		rc_context->connect_to->host, port, get_sock_error_string(result)) != SMPD_SUCCESS)
-	    {
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	}
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-    result = smpd_generate_session_header(context->session_header, context->connect_to->id);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to generate a session header.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    context->write_state = SMPD_WRITING_SESSION_HEADER;
-    result = SMPDU_Sock_post_write(context->sock, context->session_header, SMPD_MAX_SESSION_HEADER_LENGTH, SMPD_MAX_SESSION_HEADER_LENGTH, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a send of the session header,\nsock error: %s\n",
-	    get_sock_error_string(result));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_reading_session_header"
-int smpd_state_reading_session_header(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to read the session header, %s.\n", get_sock_error_string(event_ptr->error));
-	if (smpd_process.root_smpd)
-	{
-	    context->state = SMPD_CLOSING;
-	    result = SMPDU_Sock_post_close(context->sock);
-	    smpd_exit_fn(FCNAME);
-	    return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	}
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_dbg_printf("read session header: '%s'\n", context->session_header);
-    result = smpd_interpret_session_header(context->session_header);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to interpret the session header: '%s'\n", context->session_header);
-	if (smpd_process.root_smpd)
-	{
-	    context->state = SMPD_CLOSING;
-	    result = SMPDU_Sock_post_close(context->sock);
-	    smpd_exit_fn(FCNAME);
-	    return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	}
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    context->type = SMPD_CONTEXT_PARENT;
-    context->id = smpd_process.parent_id; /* set by smpd_interpret_session_header */
-    if (smpd_process.parent_context && smpd_process.parent_context != context)
-	smpd_err_printf("replacing parent context.\n");
-    smpd_process.parent_context = context;
-    result = smpd_post_read_command(context);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a read for the next command\n");
-	if (smpd_process.root_smpd)
-	{
-	    context->state = SMPD_CLOSING;
-	    result = SMPDU_Sock_post_close(context->sock);
-	    smpd_exit_fn(FCNAME);
-	    return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-	}
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_writing_session_header"
-int smpd_state_writing_session_header(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr, SMPDU_Sock_set_t set)
-{
-    int result;
-    smpd_command_t *cmd_ptr;
-    smpd_context_t *result_context, *context_in;
-    SMPDU_SOCK_NATIVE_FD stdin_fd;
-    SMPDU_Sock_t insock;
-#ifdef HAVE_WINDOWS_H
-    DWORD dwThreadID;
-    SOCKET hWrite;
-#endif
-#ifdef USE_PTHREAD_STDIN_REDIRECTION
-    int fd[2];
-#endif
-    smpd_host_node_t *left, *right, *host_node;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to write the session header, %s.\n", get_sock_error_string(event_ptr->error));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_dbg_printf("wrote session header: '%s'\n", context->session_header);
-    switch (context->state)
-    {
-    case SMPD_MPIEXEC_CONNECTING_TREE:
-	result = smpd_post_read_command(context);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a read for an incoming command.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-
-	/* mark the node as connected */
-	context->connect_to->connected = SMPD_TRUE;
-	left = context->connect_to->left;
-	right = context->connect_to->right;
-
-	while (left != NULL || right != NULL)
-	{
-	    if (left != NULL)
-	    {
-		smpd_dbg_printf("creating connect command for left node\n");
-		host_node = left;
-		left = NULL;
-	    }
-	    else
-	    {
-		smpd_dbg_printf("creating connect command for right node\n");
-		host_node = right;
-		right = NULL;
-	    }
-	    smpd_dbg_printf("creating connect command to '%s'\n", host_node->host);
-	    /* create a connect command to be sent to the parent */
-	    result = smpd_create_command("connect", 0, host_node->parent, SMPD_TRUE, &cmd_ptr);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to create a connect command.\n");
-		smpd_exit_fn(FCNAME);
-		return result;
-	    }
-	    host_node->connect_cmd_tag = cmd_ptr->tag;
-	    result = smpd_add_command_arg(cmd_ptr, "host", host_node->host);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to add the host parameter to the connect command for host %s\n", host_node->host);
-		smpd_exit_fn(FCNAME);
-		return result;
-	    }
-	    result = smpd_add_command_int_arg(cmd_ptr, "id", host_node->id);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to add the id parameter to the connect command for host %s\n", host_node->host);
-		smpd_exit_fn(FCNAME);
-		return result;
-	    }
-	    if (smpd_process.plaintext)
-	    {
-		/* propagate the plaintext option to the manager doing the connect */
-		result = smpd_add_command_arg(cmd_ptr, "plaintext", "yes");
-		if (result != SMPD_SUCCESS)
-		{
-		    smpd_err_printf("unable to add the plaintext parameter to the connect command for host %s\n", host_node->host);
-		    smpd_exit_fn(FCNAME);
-		    return result;
-		}
-	    }
-
-	    /* post a write of the command */
-	    result = smpd_post_write_command(context, cmd_ptr);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to post a write of the connect command.\n");
-		smpd_exit_fn(FCNAME);
-		return result;
-	    }
-	}
-
-	host_node = smpd_process.host_list;
-	while (host_node != NULL)
-	{
-	    if (host_node->connected == SMPD_FALSE)
-	    {
-		smpd_dbg_printf("not connected yet: %s not connected\n", host_node->host);
-		break;
-	    }
-	    host_node = host_node->next;
-	}
-	if (host_node == NULL)
-	{
-	    /* Everyone connected, send the start_dbs command */
-	    /* create the start_dbs command to be sent to the first host */
-	    result = smpd_create_command("start_dbs", 0, 1, SMPD_TRUE, &cmd_ptr);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to create a start_dbs command.\n");
-		smpd_exit_fn(FCNAME);
-		return result;
-	    }
-
-	    if (context->spawn_context)
-	    {
-		smpd_dbg_printf("spawn_context found, adding preput values to the start_dbs command.\n");
-		result = smpd_add_command_int_arg(cmd_ptr, "npreput", context->spawn_context->npreput);
-		if (result != SMPD_SUCCESS)
-		{
-		    smpd_err_printf("unable to add the npreput value to the start_dbs command for a spawn command.\n");
-		    smpd_exit_fn(FCNAME);
-		    return result;
-		}
-
-		result = smpd_add_command_arg(cmd_ptr, "preput", context->spawn_context->preput);
-		if (result != SMPD_SUCCESS)
-		{
-		    smpd_err_printf("unable to add the npreput value to the start_dbs command for a spawn command.\n");
-		    smpd_exit_fn(FCNAME);
-		    return result;
-		}
-	    }
-
-	    /* post a write of the command */
-	    result = smpd_post_write_command(context, cmd_ptr);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to post a write of the start_dbs command.\n");
-		smpd_exit_fn(FCNAME);
-		return result;
-	    }
-	}
-	break;
-    case SMPD_CONNECTING:
-	/* post a read of the next command on the newly connected context */
-	result = smpd_post_read_command(context);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a read for an incoming command.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	/* send the successful result command back to the connector */
-	result = smpd_create_command("result", smpd_process.id, context->connect_return_id, SMPD_FALSE, &cmd_ptr);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to create a result command.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	result = smpd_add_command_int_arg(cmd_ptr, "cmd_tag", context->connect_return_tag);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add the tag to the result command.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	result = smpd_add_command_arg(cmd_ptr, "cmd_orig", "connect");
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add cmd_orig to the result command for a connect command\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	result = smpd_add_command_arg(cmd_ptr, "result", SMPD_SUCCESS_STR);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to add the result string to the result command.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	smpd_command_destination(context->connect_return_id, &result_context);
-	smpd_dbg_printf("sending result command: \"%s\"\n", cmd_ptr->cmd);
-	result = smpd_post_write_command(result_context, cmd_ptr);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a write of the result command to the %s context.\n", smpd_get_context_str(result_context));
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	break;
-    case SMPD_MPIEXEC_CONNECTING_SMPD:
-	/* post a read for a possible incoming command */
-	result = smpd_post_read_command(context);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a read for an incoming command from the smpd on '%s', error:\n%s\n",
-		context->host, get_sock_error_string(result));
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-
-	/* check to see if this is a shutdown session */
-	if (smpd_process.builtin_cmd == SMPD_CMD_SHUTDOWN)
-	{
-	    result = smpd_create_command("shutdown", 0, 1, SMPD_FALSE, &cmd_ptr);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to create a shutdown command.\n");
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    result = smpd_post_write_command(context, cmd_ptr);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to post a write of the shutdown command on the %s context.\n",
-		    smpd_get_context_str(context));
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    break;
-	}
-
-	/* check to see if this is a restart session */
-	if (smpd_process.builtin_cmd == SMPD_CMD_RESTART)
-	{
-	    result = smpd_create_command("restart", 0, 1, SMPD_FALSE, &cmd_ptr);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to create a restart command.\n");
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    result = smpd_post_write_command(context, cmd_ptr);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to post a write of the restart command on the %s context.\n",
-		    smpd_get_context_str(context));
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    break;
-	}
-
-	/* check to see if this is a validate session */
-	if (smpd_process.builtin_cmd == SMPD_CMD_VALIDATE)
-	{
-	    result = smpd_create_command("validate", 0, 1, SMPD_TRUE, &cmd_ptr);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to create a validate command.\n");
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    result = smpd_add_command_arg(cmd_ptr, "account", smpd_process.UserAccount);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to add the account(%s) to the validate command.\n", smpd_process.UserAccount);
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    result = smpd_encrypt_data(smpd_process.UserPassword, (int)strlen(smpd_process.UserPassword)+1, context->encrypted_password, SMPD_MAX_PASSWORD_LENGTH);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to encrypt the password for the validate command.\n");
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    result = smpd_add_command_arg(cmd_ptr, "password", context->encrypted_password);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to add the password to the validate command.\n");
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    result = smpd_post_write_command(context, cmd_ptr);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to post a write of the validate command on the %s context.\n",
-		    smpd_get_context_str(context));
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    break;
-	}
-
-	/* check to see if this is a set session */
-	if (smpd_process.builtin_cmd == SMPD_CMD_SET)
-	{
-	    result = smpd_create_command("set", 0, 1, SMPD_TRUE, &cmd_ptr);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to create a set command.\n");
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    result = smpd_add_command_arg(cmd_ptr, "key", smpd_process.key);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to add the key(%s) to the set command.\n", smpd_process.key);
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    result = smpd_add_command_arg(cmd_ptr, "value", smpd_process.val);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to add the value(%s) to the set command.\n", smpd_process.val);
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    result = smpd_post_write_command(context, cmd_ptr);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to post a write of the set command on the %s context.\n",
-		    smpd_get_context_str(context));
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    break;
-	}
-
-	/* check to see if this is a status session */
-	if (smpd_process.builtin_cmd == SMPD_CMD_DO_STATUS)
-	{
-	    result = smpd_create_command("status", 0, 1, SMPD_TRUE, &cmd_ptr);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to create a status command.\n");
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    result = smpd_post_write_command(context, cmd_ptr);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to post a write of the status command on the %s context.\n",
-		    smpd_get_context_str(context));
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    break;
-	}
-
-	/* check to see if this is an add_job session */
-	if (smpd_process.builtin_cmd == SMPD_CMD_ADD_JOB)
-	{
-	    result = smpd_create_command("add_job", 0, 1, SMPD_TRUE, &cmd_ptr);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to create an add_job command.\n");
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    result = smpd_add_command_arg(cmd_ptr, "key", smpd_process.job_key); /*context->sspi_job_key ??? */
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to add the job key(%s) to the add_job command.\n", smpd_process.job_key);
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    result = smpd_add_command_arg(cmd_ptr, "username", smpd_process.job_key_account);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to add the job key(%s) to the add_job command.\n", smpd_process.job_key);
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    result = smpd_post_write_command(context, cmd_ptr);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to post a write of the add_job command on the %s context.\n",
-		    smpd_get_context_str(context));
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    break;
-	}
-
-	/* check to see if this is an add_job_and_password session */
-	if (smpd_process.builtin_cmd == SMPD_CMD_ADD_JOB_AND_PASSWORD)
-	{
-	    char buffer[SMPD_MAX_PASSWORD_LENGTH];
-	    result = smpd_create_command("add_job_and_password", 0, 1, SMPD_TRUE, &cmd_ptr);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to create an add_job_and_password command.\n");
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    result = smpd_add_command_arg(cmd_ptr, "key", smpd_process.job_key); /*context->sspi_job_key ??? */
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to add the job key(%s) to the add_job_and_password command.\n", smpd_process.job_key);
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    result = smpd_add_command_arg(cmd_ptr, "username", smpd_process.job_key_account);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to add the job account(%s) to the add_job_and_password command.\n", smpd_process.job_key_account);
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    result = smpd_encrypt_data(smpd_process.job_key_password, (int)strlen(smpd_process.job_key_password), buffer, SMPD_MAX_PASSWORD_LENGTH);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to encrypt the job password.\n");
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    result = smpd_add_command_arg(cmd_ptr, "password", buffer);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to add the job password to the add_job_and_password command.\n");
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    result = smpd_post_write_command(context, cmd_ptr);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to post a write of the add_job_and_password command on the %s context.\n",
-		    smpd_get_context_str(context));
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    break;
-	}
-
-	/* check to see if this is an remove_job session */
-	if (smpd_process.builtin_cmd == SMPD_CMD_REMOVE_JOB)
-	{
-	    result = smpd_create_command("remove_job", 0, 1, SMPD_TRUE, &cmd_ptr);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to create a remove_job command.\n");
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    result = smpd_add_command_arg(cmd_ptr, "key", smpd_process.job_key); /*context->sspi_job_key ??? */
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to add the job key(%s) to the remove_job command.\n", smpd_process.job_key);
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    result = smpd_post_write_command(context, cmd_ptr);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to post a write of the remove_job command on the %s context.\n",
-		    smpd_get_context_str(context));
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    break;
-	}
-
-	/* check to see if this is an associate_job session */
-	if (smpd_process.builtin_cmd == SMPD_CMD_ASSOCIATE_JOB)
-	{
-	    result = smpd_create_command("associate_job", 0, 1, SMPD_TRUE, &cmd_ptr);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to create an associate_job command.\n");
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    result = smpd_add_command_arg(cmd_ptr, "key", smpd_process.job_key); /*context->sspi_job_key ??? */
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to add the job key(%s) to the associate_job command.\n", smpd_process.job_key);
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    result = smpd_post_write_command(context, cmd_ptr);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to post a write of the associate_job command on the %s context.\n",
-		    smpd_get_context_str(context));
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    break;
-	}
-
-	/* get a handle to stdin */
-#ifdef HAVE_WINDOWS_H
-	result = smpd_make_socket_loop((SOCKET*)&stdin_fd, &hWrite);
-	if (result)
-	{
-	    smpd_err_printf("Unable to make a local socket loop to forward stdin.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-#elif defined(USE_PTHREAD_STDIN_REDIRECTION)
-	socketpair(AF_UNIX, SOCK_STREAM, 0, fd);
-	smpd_process.stdin_read = fd[0];
-	smpd_process.stdin_write = fd[1];
-	stdin_fd = fd[0];
-#else
-	stdin_fd = fileno(stdin);
-#endif
-
-	/* convert the native handle to a sock */
-	/*printf("stdin native sock %d\n", stdin_fd);fflush(stdout);*/
-	result = SMPDU_Sock_native_to_sock(context->set, stdin_fd, NULL, &insock);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to create a sock from stdin,\nsock error: %s\n", get_sock_error_string(result));
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	/* create a context for reading from stdin */
-	result = smpd_create_context(SMPD_CONTEXT_STDIN, set, insock, -1, &context_in);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to create a context for stdin.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	SMPDU_Sock_set_user_ptr(insock, context_in);
-
-#ifdef HAVE_WINDOWS_H
-	/* unfortunately, we cannot use stdin directly as a sock.  So, use a thread to read and forward
-	stdin to a sock */
-	smpd_process.hCloseStdinThreadEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
-	if (smpd_process.hCloseStdinThreadEvent == NULL)
-	{
-	    smpd_err_printf("Unable to create the stdin thread close event, error %d\n", GetLastError());
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	smpd_process.hStdinThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)smpd_stdin_thread, (void*)hWrite, 0, &dwThreadID);
-	if (smpd_process.hStdinThread == NULL)
-	{
-	    smpd_err_printf("Unable to create a thread to read stdin, error %d\n", GetLastError());
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-#elif defined(USE_PTHREAD_STDIN_REDIRECTION)
-	if (pthread_create(&smpd_process.stdin_thread, NULL, smpd_pthread_stdin_thread, NULL) != 0)
-	{
-	    smpd_err_printf("Unable to create a thread to read stdin, error %d\n", errno);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	/*pthread_detach(smpd_process.stdin_thread);*/
-#endif
-
-	/* post a read for a user command from stdin */
-	context_in->read_state = SMPD_READING_STDIN;
-	result = SMPDU_Sock_post_read(insock, context_in->read_cmd.cmd, 1, 1, NULL);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a read on stdin for an incoming user command, error:\n%s\n",
-		get_sock_error_string(result));
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	break;
-    default:
-	smpd_err_printf("wrote session header while in state %d\n", context->state);
-	break;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_reading_smpd_result"
-int smpd_state_reading_smpd_result(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to read the smpd result, %s.\n", get_sock_error_string(event_ptr->error));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_dbg_printf("read smpd result: '%s'\n", context->pwd_request);
-    context->read_state = SMPD_IDLE;
-    if (strcmp(context->pwd_request, SMPD_AUTHENTICATION_ACCEPTED_STR))
-    {
-	smpd_dbg_printf("connection rejected, server returned - %s\n", context->pwd_request);
-	context->read_state = SMPD_IDLE;
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to close sock, error:\n%s\n", get_sock_error_string(result));
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	/* abort here? */
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-    result = smpd_generate_session_header(context->session_header, 1);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to generate a session header.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    context->write_state = SMPD_WRITING_SESSION_HEADER;
-    result = SMPDU_Sock_post_write(context->sock, context->session_header, SMPD_MAX_SESSION_HEADER_LENGTH, SMPD_MAX_SESSION_HEADER_LENGTH, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a send of the session header,\nsock error: %s\n",
-	    get_sock_error_string(result));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_reading_process_result"
-int smpd_state_reading_process_result(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to read the process session result, %s.\n", get_sock_error_string(event_ptr->error));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_dbg_printf("read process session result: '%s'\n", context->pwd_request);
-    if (strcmp(context->pwd_request, SMPD_AUTHENTICATION_ACCEPTED_STR))
-    {
-	char *host_ptr;
-#ifdef HAVE_WINDOWS_H
-	smpd_delete_cached_password();
-#endif
-	if (smpd_process.do_console && smpd_process.console_host[0] != '\0')
-	    host_ptr = smpd_process.console_host;
-	else if (context->connect_to && context->connect_to->host[0] != '\0')
-	    host_ptr = context->connect_to->host;
-	else if (context->host[0] != '\0')
-	    host_ptr = context->host;
-	else
-	    host_ptr = NULL;
-	if (host_ptr)
-	    printf("Credentials for %s rejected connecting to %s\n", context->account, host_ptr);
-	else
-	    printf("Credentials for %s rejected.\n", context->account);
-	fflush(stdout);
-	smpd_dbg_printf("process session rejected\n");
-	context->read_state = SMPD_IDLE;
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to close sock,\nsock error: %s\n", get_sock_error_string(result));
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	/* when does a forming context get assinged it's global place?  At creation?  At connection? */
-	smpd_process.left_context = NULL;
-	if (host_ptr)
-	{
-	    result = smpd_post_abort_command("Unable to connect to %s", host_ptr);
-	}
-	else
-	{
-	    result = smpd_post_abort_command("connection failed");
-	}
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to create the close command to tear down the job tree.\n");
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-    context->read_state = SMPD_READING_RECONNECT_REQUEST;
-    result = SMPDU_Sock_post_read(context->sock, context->port_str, SMPD_MAX_PORT_STR_LENGTH, SMPD_MAX_PORT_STR_LENGTH, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a read of the re-connect request,\nsock error: %s\n",
-	    get_sock_error_string(result));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_writing_session_accept"
-int smpd_state_writing_session_accept(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to write the session accept string, %s.\n", get_sock_error_string(event_ptr->error));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    smpd_dbg_printf("wrote session accept: '%s'\n", context->pwd_request);
-    context->read_state = SMPD_READING_SESSION_HEADER;
-    result = SMPDU_Sock_post_read(context->sock, context->session_header, SMPD_MAX_SESSION_HEADER_LENGTH, SMPD_MAX_SESSION_HEADER_LENGTH, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a read of the session header,\nsock error: %s\n",
-	    get_sock_error_string(result));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_writing_session_reject"
-int smpd_state_writing_session_reject(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to write the session reject string, %s.\n", get_sock_error_string(event_ptr->error));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    smpd_dbg_printf("wrote session reject: '%s'\n", context->pwd_request);
-    context->state = SMPD_CLOSING;
-    context->read_state = SMPD_IDLE;
-    context->write_state = SMPD_IDLE;
-    result = SMPDU_Sock_post_close(context->sock);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a close of the sock after writing a reject message,\nsock error: %s\n",
-	    get_sock_error_string(result));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_writing_process_session_accept"
-int smpd_state_writing_process_session_accept(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to write the process session accept string, %s.\n", get_sock_error_string(event_ptr->error));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    smpd_dbg_printf("wrote process session accept: '%s'\n", context->pwd_request);
-    /* post a write of the reconnect request */
-    smpd_dbg_printf("smpd writing reconnect request: port %s\n", context->port_str);
-    context->write_state = SMPD_WRITING_RECONNECT_REQUEST;
-    result = SMPDU_Sock_post_write(context->sock, context->port_str, SMPD_MAX_PORT_STR_LENGTH, SMPD_MAX_PORT_STR_LENGTH, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("Unable to post a write of the re-connect port number(%s) back to mpiexec,\nsock error: %s\n",
-	    context->port_str, get_sock_error_string(result));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_writing_process_session_reject"
-int smpd_state_writing_process_session_reject(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to write the process session reject string, %s.\n", get_sock_error_string(event_ptr->error));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    smpd_dbg_printf("wrote process session reject: '%s'\n", context->pwd_request);
-    context->state = SMPD_CLOSING;
-    context->read_state = SMPD_IDLE;
-    context->write_state = SMPD_IDLE;
-    result = SMPDU_Sock_post_close(context->sock);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a close of the sock after writing a process session reject message,\nsock error: %s\n",
-	    get_sock_error_string(result));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_writing_smpd_password"
-int smpd_state_writing_smpd_password(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to write the smpd password, %s.\n", get_sock_error_string(event_ptr->error));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_dbg_printf("wrote smpd password.\n");
-    context->write_state = SMPD_IDLE;
-    context->read_state = SMPD_READING_SMPD_RESULT;
-    result = SMPDU_Sock_post_read(context->sock, context->pwd_request, SMPD_AUTHENTICATION_REPLY_LENGTH, SMPD_AUTHENTICATION_REPLY_LENGTH, NULL);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a read of the session request result,\nsock error: %s\n",
-	    get_sock_error_string(result));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_reading_pmi_id"
-int smpd_state_reading_pmi_id(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to read the pmi context id, %s.\n", get_sock_error_string(event_ptr->error));
-	context->state = SMPD_CLOSING;
-	result = SMPDU_Sock_post_close(context->sock);
-	smpd_exit_fn(FCNAME);
-	return (result == SMPD_SUCCESS) ? SMPD_SUCCESS : SMPD_FAIL;
-    }
-    smpd_dbg_printf("read pmi context id: '%s'\n", context->session);
-    smpd_exit_fn(FCNAME);
-    return SMPD_DBS_RETURN;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_writing_pmi_id"
-int smpd_state_writing_pmi_id(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to write the pmi context id, %s.\n", get_sock_error_string(event_ptr->error));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_dbg_printf("wrote pmi context id: '%s'\n", context->session);
-    context->write_state = SMPD_IDLE;
-
-    result = smpd_post_read_command(context);
-    if (result != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to post a read of a command after accepting a pmi connection.\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_reading_timeout"
-int smpd_state_reading_timeout(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    SMPD_UNREFERENCED_ARG(context);
-
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to read the timeout byte, %s.\n", get_sock_error_string(event_ptr->error));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    result = smpd_kill_all_processes();
-#ifdef HAVE_WINDOWS_H
-    if (smpd_process.hCloseStdinThreadEvent)
-    {
-	SetEvent(smpd_process.hCloseStdinThreadEvent);
-    }
-    if (smpd_process.hStdinThread != NULL)
-    {
-	/* close stdin so the input thread will exit */
-	CloseHandle(GetStdHandle(STD_INPUT_HANDLE));
-	if (WaitForSingleObject(smpd_process.hStdinThread, 3000) != WAIT_OBJECT_0)
-	{
-	    TerminateThread(smpd_process.hStdinThread, 321);
-	}
-	CloseHandle(smpd_process.hStdinThread);
-    }
-    /*
-    if (smpd_process.hCloseStdinThreadEvent)
-    {
-	CloseHandle(smpd_process.hCloseStdinThreadEvent);
-	smpd_process.hCloseStdinThreadEvent = NULL;
-    }
-    */
-#elif defined(USE_PTHREAD_STDIN_REDIRECTION)
-    smpd_cancel_stdin_thread();
-#endif
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_reading_mpiexec_abort"
-int smpd_state_reading_mpiexec_abort(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    SMPD_UNREFERENCED_ARG(context);
-
-    if (event_ptr->error != SMPD_SUCCESS)
-    {
-	smpd_err_printf("unable to read the mpiexec abort byte, %s.\n", get_sock_error_string(event_ptr->error));
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    if (smpd_process.pg_list == NULL)
-    {
-	/* no processes have been started yet, so exit here */
-	smpd_exit(-1);
-    }
-    result = smpd_abort_job(smpd_process.pg_list->kvs, 0, "mpiexec aborting job");
-
-    smpd_exit_fn(FCNAME);
-    /* return failure here and the mpiexec_abort context will be closed */
-    /*return SMPD_FAIL;*/
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_singleton_mpiexec_connecting" 
-int smpd_state_singleton_mpiexec_connecting(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr){
-    int result;
-    smpd_command_t *cmd_ptr=NULL;
-    smpd_enter_fn(FCNAME);
-    result = smpd_create_command("singinit_info", smpd_process.id, 1, SMPD_FALSE, &cmd_ptr);
-    if(result == SMPD_SUCCESS){
-        result = smpd_add_command_arg(cmd_ptr, "kvsname", context->singleton_init_kvsname);
-    }
-    if(result == SMPD_SUCCESS){
-        result = smpd_add_command_arg(cmd_ptr, "domainname", context->singleton_init_domainname);
-    }
-    if(result == SMPD_SUCCESS){
-        result = smpd_add_command_arg(cmd_ptr, "host", context->singleton_init_hostname);
-    }
-    if(result == SMPD_SUCCESS){
-        result = smpd_add_command_int_arg(cmd_ptr, "port", context->singleton_init_pm_port);
-    }
-    if(result == SMPD_SUCCESS){
-        result = smpd_post_write_command(context, cmd_ptr);
-    }
-    context->state = SMPD_SINGLETON_DONE;
-
-    if(result != SMPD_SUCCESS){
-        context->state = SMPD_DONE;
-        smpd_err_printf("smpd_create_command/smpd_add_command failed\n");
-        if(cmd_ptr != NULL){
-            smpd_free_command(cmd_ptr);
-        }
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_state_singleton_client_listening"
-int smpd_state_singleton_client_listening(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr, SMPDU_Sock_set_t set){
-    int result;
-    SMPDU_Sock_t new_sock;
-    smpd_context_t *p_singleton_connected_context;
-
-    smpd_enter_fn(FCNAME);
-    /* Accept connection */
-    result = SMPDU_Sock_accept(context->sock, set, NULL, &new_sock);
-    if(result != SMPD_SUCCESS){
-        context->state = SMPD_DONE;
-        smpd_err_printf("SMPDU_Sock_accept failed, error = %s\n", get_sock_error_string(result));
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-    context->state = SMPD_SINGLETON_DONE;
-
-    /* Close the listen sock and free its context */
-    result = SMPDU_Sock_post_close(context->sock);
-    if(result != SMPD_SUCCESS){
-        context->state = SMPD_DONE;
-        smpd_err_printf("SMPDU_Sock_post_close failed, error = %s\n", get_sock_error_string(result));
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-    /* Create new context for the accepted connection - btw mpiexec & singleton init client */
-    result = smpd_create_context(SMPD_CONTEXT_SINGLETON_INIT_CLIENT, set, new_sock, -1, 
-                                    &p_singleton_connected_context);
-    if(result != SMPD_SUCCESS){
-        smpd_err_printf("smpd_create_context failed, error = %d\n", result);
-        context->state = SMPD_DONE;
-        /*
-        result = SMPDU_Sock_post_close(new_sock);
-        if(result != SMPD_SUCCESS){
-            smpd_err_printf("SMPDU_Sock_post_close failed, error = %s\n", get_sock_error_string(result));
-        }
-        */
-        /* Let state machine handle close and destroy the context */
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-
-    result = SMPDU_Sock_set_user_ptr(new_sock, p_singleton_connected_context);
-    if(result != SMPD_SUCCESS){
-        smpd_err_printf("SMPDU_Sock_set_user_ptr failed, error = %d\n", result);
-        p_singleton_connected_context->state = SMPD_DONE;
-        context->state = SMPD_DONE;
-        /* Let state machine handle close and destroy the context */
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-    
-    /* Wait for cmd containing the values */
-    p_singleton_connected_context->state = context->state;
-
-	result = smpd_post_read_command(p_singleton_connected_context);
-    if(result != SMPD_SUCCESS){
-        smpd_err_printf("smpd_post_read_command failed, error = %d\n", result);
-        context->state = SMPD_DONE;
-        result = SMPDU_Sock_post_close(p_singleton_connected_context->sock);
-        if(result != SMPD_SUCCESS){
-            smpd_err_printf("SMPDU_Sock_post_close failed, error = %s\n", get_sock_error_string(result));
-        }
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-
-    /* The current context will be cleanedup by the state machine -- Close is posted for the listening sock*/
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_handle_op_read"
-int smpd_handle_op_read(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-
-    switch (context->read_state)
-    {
-    case SMPD_READING_CHALLENGE_STRING:
-	result = smpd_state_reading_challenge_string(context, event_ptr);
-	break;
-    case SMPD_READING_CONNECT_RESULT:
-	result = smpd_state_reading_connect_result(context, event_ptr);
-	break;
-    case SMPD_READING_SMPD_RESULT:
-	result = smpd_state_reading_smpd_result(context, event_ptr);
-	break;
-    case SMPD_READING_PROCESS_RESULT:
-	result = smpd_state_reading_process_result(context, event_ptr);
-	break;
-    case SMPD_READING_CHALLENGE_RESPONSE:
-	result = smpd_state_reading_challenge_response(context, event_ptr);
-	break;
-    case SMPD_READING_STDIN:
-	result = smpd_state_reading_stdin(context, event_ptr);
-	break;
-    case SMPD_READING_STDOUT:
-    case SMPD_READING_STDERR:
-	result = smpd_state_reading_stdouterr(context, event_ptr);
-	break;
-    case SMPD_READING_CMD_HEADER:
-	result = smpd_state_reading_cmd_header(context, event_ptr);
-	break;
-    case SMPD_READING_CMD:
-	result = smpd_state_reading_cmd(context, event_ptr);
-	break;
-    case SMPD_READING_SESSION_REQUEST:
-	result = smpd_state_reading_session_request(context, event_ptr);
-	break;
-    case SMPD_READING_PWD_REQUEST:
-	result = smpd_state_reading_pwd_request(context, event_ptr);
-	break;
-    case SMPD_READING_SMPD_PASSWORD:
-	result = smpd_state_reading_smpd_password(context, event_ptr);
-	break;
-    case SMPD_READING_CRED_ACK:
-	result = smpd_state_reading_cred_ack(context, event_ptr);
-	break;
-    case SMPD_READING_ACCOUNT:
-	result = smpd_state_reading_account(context, event_ptr);
-	break;
-    case SMPD_READING_PASSWORD:
-	result = smpd_state_reading_password(context, event_ptr);
-	break;
-    case SMPD_READING_CRED_REQUEST:
-	result = smpd_state_reading_cred_request(context, event_ptr);
-	break;
-    case SMPD_READING_RECONNECT_REQUEST:
-	result = smpd_state_reading_reconnect_request(context, event_ptr);
-	break;
-    case SMPD_READING_SESSION_HEADER:
-	result = smpd_state_reading_session_header(context, event_ptr);
-	break;
-    case SMPD_READING_TIMEOUT:
-	result = smpd_state_reading_timeout(context, event_ptr);
-	break;
-    case SMPD_READING_MPIEXEC_ABORT:
-	result = smpd_state_reading_mpiexec_abort(context, event_ptr);
-	break;
-    case SMPD_READING_PMI_ID:
-	result = smpd_state_reading_pmi_id(context, event_ptr);
-	break;
-    case SMPD_READING_SSPI_HEADER:
-	result = smpd_state_reading_sspi_header(context, event_ptr);
-	break;
-    case SMPD_READING_SSPI_BUFFER:
-	result = smpd_state_reading_sspi_buffer(context, event_ptr);
-	break;
-    case SMPD_READING_DELEGATE_REQUEST_RESULT:
-	result = smpd_state_reading_delegate_request_result(context, event_ptr);
-	break;
-    case SMPD_READING_CLIENT_SSPI_HEADER:
-	result = smpd_state_reading_client_sspi_header(context, event_ptr);
-	break;
-    case SMPD_READING_CLIENT_SSPI_BUFFER:
-	result = smpd_state_reading_client_sspi_buffer(context, event_ptr);
-	break;
-    case SMPD_READING_IMPERSONATE_RESULT:
-	result = smpd_state_reading_impersonate_result(context, event_ptr);
-	break;
-    case SMPD_READING_SSPI_JOB_KEY:
-	result = smpd_state_reading_sspi_job_key(context, event_ptr);
-	break;
-    default:
-	smpd_err_printf("sock_op_read returned while context is in state: %s\n",
-	    smpd_get_state_string(context->read_state));
-	result = SMPD_FAIL;
-	break;
-    }
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_handle_op_write"
-int smpd_handle_op_write(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr, SMPDU_Sock_set_t set)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    switch (context->write_state)
-    {
-    case SMPD_WRITING_CHALLENGE_RESPONSE:
-	result = smpd_state_writing_challenge_response(context, event_ptr);
-	break;
-    case SMPD_WRITING_CHALLENGE_STRING:
-	result = smpd_state_writing_challenge_string(context, event_ptr);
-	break;
-    case SMPD_WRITING_CONNECT_RESULT:
-	result = smpd_state_writing_connect_result(context, event_ptr);
-	break;
-    case SMPD_WRITING_CMD:
-	result = smpd_state_writing_cmd(context, event_ptr);
-	break;
-    case SMPD_WRITING_SMPD_SESSION_REQUEST:
-	result = smpd_state_writing_smpd_session_request(context, event_ptr);
-	break;
-    case SMPD_WRITING_PROCESS_SESSION_REQUEST:
-	result = smpd_state_writing_process_session_request(context, event_ptr);
-	break;
-    case SMPD_WRITING_PMI_SESSION_REQUEST:
-	result = smpd_state_writing_pmi_session_request(context, event_ptr);
-	break;
-    case SMPD_WRITING_PWD_REQUEST:
-	result = smpd_state_writing_pwd_request(context, event_ptr);
-	break;
-    case SMPD_WRITING_NO_PWD_REQUEST:
-	result = smpd_state_writing_no_pwd_request(context, event_ptr);
-	break;
-    case SMPD_WRITING_SSPI_REQUEST:
-	result = smpd_state_writing_sspi_request(context, event_ptr);
-	break;
-    case SMPD_WRITING_SMPD_PASSWORD:
-	result = smpd_state_writing_smpd_password(context, event_ptr);
-	break;
-    case SMPD_WRITING_CRED_REQUEST:
-	result = smpd_state_writing_cred_request(context, event_ptr);
-	break;
-    case SMPD_WRITING_NO_CRED_REQUEST:
-	result = smpd_state_writing_no_cred_request(context, event_ptr);
-	break;
-    case SMPD_WRITING_CRED_ACK_YES:
-	result = smpd_state_writing_cred_ack_yes(context, event_ptr);
-	break;
-    case SMPD_WRITING_CRED_ACK_NO:
-	result = smpd_state_writing_cred_ack_no(context, event_ptr);
-	break;
-    case SMPD_WRITING_RECONNECT_REQUEST:
-	result = smpd_state_writing_reconnect_request(context, event_ptr);
-	break;
-    case SMPD_WRITING_NO_RECONNECT_REQUEST:
-	result = smpd_state_writing_no_reconnect_request(context, event_ptr);
-	break;
-    case SMPD_WRITING_ACCOUNT:
-	result = smpd_state_writing_account(context, event_ptr);
-	break;
-    case SMPD_WRITING_PASSWORD:
-	result = smpd_state_writing_password(context, event_ptr);
-	break;
-    case SMPD_WRITING_SESSION_HEADER:
-	result = smpd_state_writing_session_header(context, event_ptr, set);
-	break;
-    case SMPD_WRITING_SESSION_ACCEPT:
-	result = smpd_state_writing_session_accept(context, event_ptr);
-	break;
-    case SMPD_WRITING_SESSION_REJECT:
-	result = smpd_state_writing_session_reject(context, event_ptr);
-	break;
-    case SMPD_WRITING_PROCESS_SESSION_ACCEPT:
-	result = smpd_state_writing_process_session_accept(context, event_ptr);
-	break;
-    case SMPD_WRITING_PROCESS_SESSION_REJECT:
-	result = smpd_state_writing_process_session_reject(context, event_ptr);
-	break;
-    case SMPD_WRITING_DATA_TO_STDIN:
-	result = smpd_state_smpd_writing_data_to_stdin(context, event_ptr);
-	break;
-    case SMPD_WRITING_PMI_ID:
-	result = smpd_state_writing_pmi_id(context, event_ptr);
-	break;
-    case SMPD_WRITING_SSPI_HEADER:
-	result = smpd_state_writing_sspi_header(context, event_ptr);
-	break;
-    case SMPD_WRITING_SSPI_BUFFER:
-	result = smpd_state_writing_sspi_buffer(context, event_ptr);
-	break;
-    case SMPD_WRITING_DELEGATE_REQUEST:
-	result = smpd_state_writing_delegate_request(context, event_ptr);
-	break;
-    case SMPD_WRITING_IMPERSONATE_RESULT:
-	result = smpd_state_writing_impersonate_result(context, event_ptr);
-	break;
-    case SMPD_WRITING_CLIENT_SSPI_HEADER:
-	result = smpd_state_writing_client_sspi_header(context, event_ptr);
-	break;
-    case SMPD_WRITING_CLIENT_SSPI_BUFFER:
-	result = smpd_state_writing_client_sspi_buffer(context, event_ptr);
-	break;
-    case SMPD_WRITING_DELEGATE_REQUEST_RESULT:
-	result = smpd_state_writing_delegate_request_result(context, event_ptr);
-	break;
-    case SMPD_WRITING_CRED_ACK_SSPI:
-	result = smpd_state_writing_cred_ack_sspi(context, event_ptr);
-	break;
-    case SMPD_WRITING_CRED_ACK_SSPI_JOB_KEY:
-	result = smpd_state_writing_cred_ack_sspi_job_key(context, event_ptr);
-	break;
-    case SMPD_WRITING_SSPI_JOB_KEY:
-	result = smpd_state_writing_sspi_job_key(context, event_ptr);
-	break;
-    default:
-	if (event_ptr->error != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("sock_op_write failed while context is in state %s, %s\n",
-		smpd_get_state_string(context->write_state), get_sock_error_string(event_ptr->error));
-	}
-	else
-	{
-	    smpd_err_printf("sock_op_write returned while context is in state %s, %s\n",
-		smpd_get_state_string(context->write_state), get_sock_error_string(event_ptr->error));
-	}
-	result = SMPD_FAIL;
-	break;
-    }
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_handle_op_accept"
-int smpd_handle_op_accept(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr, SMPDU_Sock_set_t set)
-{
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    switch (context->state)
-    {
-    case SMPD_SMPD_LISTENING:
-	result = smpd_state_smpd_listening(context, event_ptr, set);
-	break;
-    case SMPD_MGR_LISTENING:
-	result = smpd_state_mgr_listening(context, event_ptr, set);
-	break;
-    case SMPD_PMI_LISTENING:
-	result = smpd_state_pmi_listening(context, event_ptr, set);
-	break;
-    case SMPD_PMI_SERVER_LISTENING:
-	result = smpd_state_pmi_server_listening(context, event_ptr, set);
-	break;
-    case SMPD_SINGLETON_CLIENT_LISTENING:
-    result = smpd_state_singleton_client_listening(context, event_ptr, set);
-    break;
-    default:
-	smpd_err_printf("sock_op_accept returned while context is in state: %s\n",
-	    smpd_get_state_string(context->state));
-	result = SMPD_FAIL;
-	break;
-    }
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_handle_op_connect"
-int smpd_handle_op_connect(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result = SMPD_SUCCESS;
-
-    smpd_enter_fn(FCNAME);
-    switch (context->state)
-    {
-    case SMPD_MPIEXEC_CONNECTING_TREE:
-	if (event_ptr->error != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to connect mpiexec tree, %s.\n", get_sock_error_string(event_ptr->error));
-	    result = SMPD_FAIL;
-	    break;
-	}
-    case SMPD_CONNECTING:
-	if (event_ptr->error != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to connect an internal tree node, %s.\n", get_sock_error_string(event_ptr->error));
-	    result = SMPD_FAIL;
-	    break;
-	}
-	if (context->write_state == SMPD_RECONNECTING)
-	{
-	    result = smpd_generate_session_header(context->session_header, context->connect_to->id);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to generate a session header.\n");
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    context->write_state = SMPD_WRITING_SESSION_HEADER;
-	    result = SMPDU_Sock_post_write(context->sock, context->session_header, SMPD_MAX_SESSION_HEADER_LENGTH, SMPD_MAX_SESSION_HEADER_LENGTH, NULL);
-	    if (result != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to post a send of the session header,\nsock error: %s\n",
-		    get_sock_error_string(result));
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    result = SMPD_SUCCESS;
-	    break;
-	}
-	/* no break here, not-reconnecting contexts fall through */
-    case SMPD_MPIEXEC_CONNECTING_SMPD:
-    case SMPD_CONNECTING_RPMI:
-	if (event_ptr->error != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to connect to the smpd, %s.\n", get_sock_error_string(event_ptr->error));
-	    result = SMPD_FAIL;
-	    break;
-	}
-	smpd_dbg_printf("connect succeeded, posting read of the challenge string\n");
-	context->read_state = SMPD_READING_CHALLENGE_STRING;
-	result = SMPDU_Sock_post_read(context->sock, context->pszChallengeResponse, SMPD_AUTHENTICATION_STR_LEN, SMPD_AUTHENTICATION_STR_LEN, NULL);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a read of the challenge string,\nsock error: %s\n",
-		get_sock_error_string(result));
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	result = SMPD_SUCCESS;
-	break;
-    case SMPD_CONNECTING_PMI:
-	if (event_ptr->error != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to connect to the smpd, %s.\n", get_sock_error_string(event_ptr->error));
-	    result = SMPD_FAIL;
-	    break;
-	}
-	/* 
-	smpd_dbg_printf("connect succeeded, posting read of the next pmi command\n");
-	context->read_state = SMPD_READING_CMD_HEADER;
-	result = SMPDU_Sock_post_read(context->sock, context->pszChallengeResponse, SMPD_AUTHENTICATION_STR_LEN, SMPD_AUTHENTICATION_STR_LEN, NULL);
-	if (result != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("unable to post a read of the challenge string,\nsock error: %s\n",
-		get_sock_error_string(result));
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	*/
-	context->write_state = SMPD_IDLE;
-	result = SMPD_DBS_RETURN;
-	break;
-    case SMPD_SINGLETON_MPIEXEC_CONNECTING:
-        result = smpd_state_singleton_mpiexec_connecting(context, event_ptr);
-        if(result != SMPD_SUCCESS){
-            smpd_err_printf("smpd_state_singleton_mpiexec_connecting failed, error = %d\n", result);
-            result = SMPD_FAIL;
-        }
-    break;
-    default:
-	if (event_ptr->error != SMPD_SUCCESS)
-	{
-	    smpd_err_printf("sock_op_connect failed while %s context is in state %s, %s\n",
-		smpd_get_context_str(context), smpd_get_state_string(context->state),
-		get_sock_error_string(event_ptr->error));
-	}
-	else
-	{
-	    smpd_err_printf("sock_op_connect returned while %s context is in state %s, %s\n",
-		smpd_get_context_str(context), smpd_get_state_string(context->state),
-		get_sock_error_string(event_ptr->error));
-	}
-	result = SMPD_FAIL;
-	break;
-    }
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_handle_op_close"
-int smpd_handle_op_close(smpd_context_t *context, SMPDU_Sock_event_t *event_ptr)
-{
-    int result;
-    smpd_command_t *cmd_ptr;
-
-    smpd_enter_fn(FCNAME);
-    SMPD_UNREFERENCED_ARG(event_ptr);
-
-    smpd_dbg_printf("op_close received - %s state.\n", smpd_get_state_string(context->state));
-    switch (context->state)
-    {
-    case SMPD_SMPD_LISTENING:
-    case SMPD_MGR_LISTENING:
-	smpd_process.listener_context = NULL;
-	break;
-    case SMPD_DONE:
-	    smpd_free_context(context);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_EXIT;
-    case SMPD_SINGLETON_DONE:
-        smpd_free_context(context);
-        smpd_exit_fn(FCNAME);
-        return SMPD_SUCCESS;
-    case SMPD_RESTARTING:
-	smpd_restart();
-	break;
-    case SMPD_EXITING:
-	if (smpd_process.listener_context)
-	{
-	    smpd_process.listener_context->state = SMPD_EXITING;
-	    smpd_dbg_printf("closing the listener (state = %s).\n", smpd_get_state_string(smpd_process.listener_context->state));
-	    result = SMPDU_Sock_post_close(smpd_process.listener_context->sock);
-	    smpd_process.listener_context = NULL;
-	    if (result == SMPD_SUCCESS)
-	    {
-		break;
-	    }
-	    smpd_err_printf("unable to post a close of the listener sock, error:\n%s\n",
-		get_sock_error_string(result));
-	}
-	smpd_free_context(context);
-	/*smpd_exit(0);*/
-#ifdef HAVE_WINDOWS_H
-	if (smpd_process.bService)
-	    SetEvent(smpd_process.hBombDiffuseEvent);
-#endif
-	smpd_exit_fn(FCNAME);
-	return SMPD_EXIT;
-    case SMPD_CLOSING:
-	if (context->process && (context->type == SMPD_CONTEXT_STDOUT || context->type == SMPD_CONTEXT_STDERR || context->type == SMPD_CONTEXT_PMI))
-	{
-	    context->process->context_refcount--;
-	    if (context->process->context_refcount < 1)
-	    {
-		smpd_process_t *trailer, *iter;
-
-		smpd_dbg_printf("process refcount == %d, waiting for the process to finish exiting.\n", context->process->context_refcount);
-
-		if (context->process->local_process)
-		{
-#ifdef HAVE_WINDOWS_H
-		    smpd_process_from_registry(context->process);
-#endif
-		    result = smpd_wait_process(context->process->wait, &context->process->exitcode);
-		    if (result != SMPD_SUCCESS)
-		    {
-			smpd_err_printf("unable to wait for the process to exit: '%s'\n", context->process->exe);
-			smpd_exit_fn(FCNAME);
-			return SMPD_FAIL;
-		    }
-		}
-
-		if (context->process->in != NULL)
-		{
-		    smpd_context_t *in_context = context->process->in;
-		    context->process->in = NULL;
-		    in_context->state = SMPD_CLOSING;
-		    in_context->process = NULL; /* NULL this out so the closing of the stdin context won't access it after it has been freed */
-		    result = SMPDU_Sock_post_close(in_context->sock);
-		    if (result != SMPD_SUCCESS)
-		    {
-			smpd_free_context(in_context);
-		    }
-		}
-
-		if (smpd_process.parent_context != NULL)
-		{
-		    /* create the process exited command */
-		    result = smpd_create_command("exit", smpd_process.id, 0, SMPD_FALSE, &cmd_ptr);
-		    if (result != SMPD_SUCCESS)
-		    {
-			smpd_err_printf("unable to create an exit command for rank %d\n", context->process->rank);
-			smpd_exit_fn(FCNAME);
-			return SMPD_FAIL;
-		    }
-		    result = smpd_add_command_int_arg(cmd_ptr, "rank", context->process->rank);
-		    if (result != SMPD_SUCCESS)
-		    {
-			smpd_err_printf("unable to add the rank %d to the exit command.\n", context->process->rank);
-			smpd_exit_fn(FCNAME);
-			return SMPD_FAIL;
-		    }
-		    result = smpd_add_command_int_arg(cmd_ptr, "code", context->process->exitcode);
-		    if (result != SMPD_SUCCESS)
-		    {
-			smpd_err_printf("unable to add the exit code to the exit command for rank %d\n", context->process->rank);
-			smpd_exit_fn(FCNAME);
-			return SMPD_FAIL;
-		    }
-		    result = smpd_add_command_arg(cmd_ptr, "kvs", context->process->kvs_name);
-		    if (result != SMPD_SUCCESS)
-		    {
-			smpd_err_printf("unable to add the kvs name to the exit command for rank %d\n", context->process->rank);
-			smpd_exit_fn(FCNAME);
-			return SMPD_FAIL;
-		    }
-		    smpd_dbg_printf("creating an exit command for rank %d, pid %d, exit code %d.\n",
-			context->process->rank, context->process->pid, context->process->exitcode);
-
-		    /* send the exit command */
-		    result = smpd_post_write_command(smpd_process.parent_context, cmd_ptr);
-		    if (result != SMPD_SUCCESS)
-		    {
-			smpd_err_printf("unable to post a write of the exit command for rank %d\n", context->process->rank);
-			smpd_exit_fn(FCNAME);
-			return SMPD_FAIL;
-		    }
-		}
-
-		/* remove the process structure from the global list */
-		trailer = iter = smpd_process.process_list;
-		while (iter)
-		{
-		    if (context->process == iter)
-		    {
-			if (iter == smpd_process.process_list)
-			{
-			    smpd_process.process_list = smpd_process.process_list->next;
-			}
-			else
-			{
-			    trailer->next = iter->next;
-			}
-			/* NULL the context pointer just to be sure no one uses it after it is freed. */
-			switch (context->type)
-			{
-			case SMPD_CONTEXT_STDIN:
-			    context->process->in = NULL;
-			    break;
-			case SMPD_CONTEXT_STDOUT:
-			    context->process->out = NULL;
-			    break;
-			case SMPD_CONTEXT_STDERR:
-			    context->process->err = NULL;
-			    break;
-			case SMPD_CONTEXT_PMI:
-			    context->process->pmi = NULL;
-			    break;
-			}
-			/* free the process structure */
-			smpd_free_process_struct(iter);
-			context->process = NULL;
-			iter = NULL;
-		    }
-		    else
-		    {
-			if (trailer != iter)
-			    trailer = trailer->next;
-			iter = iter->next;
-		    }
-		}
-	    }
-	    else
-	    {
-		smpd_dbg_printf("process refcount == %d, %s closed.\n", context->process->context_refcount, smpd_get_context_str(context));
-		/* NULL the context pointer just to be sure no one uses it after it is freed. */
-		switch (context->type)
-		{
-		case SMPD_CONTEXT_STDIN:
-		    context->process->in = NULL;
-		    break;
-		case SMPD_CONTEXT_STDOUT:
-		    context->process->out = NULL;
-		    break;
-		case SMPD_CONTEXT_STDERR:
-		    context->process->err = NULL;
-		    break;
-		case SMPD_CONTEXT_PMI:
-		    context->process->pmi = NULL;
-		    break;
-		}
-	    }
-	}
-	else if (context->process && (context->type == SMPD_CONTEXT_STDOUT_RSH || context->type == SMPD_CONTEXT_STDERR_RSH))
-	{
-	    context->process->context_refcount--;
-	    if (context->process->context_refcount < 1)
-	    {
-		smpd_process_t *trailer, *iter;
-
-		smpd_dbg_printf("process refcount == %d, waiting for the process to finish exiting.\n", context->process->context_refcount);
-		/*printf("process refcount == %d, waiting for the process to finish exiting.\n", context->process->context_refcount);fflush(stdout);*/
-
-#ifdef HAVE_WINDOWS_H
-		smpd_process_from_registry(context->process);
-#endif
-		result = smpd_wait_process(context->process->wait, &context->process->exitcode);
-		if (result != SMPD_SUCCESS)
-		{
-		    smpd_err_printf("unable to wait for the process to exit: '%s'\n", context->process->exe);
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-
-		/* remove the process structure from the global list */
-		trailer = iter = smpd_process.process_list;
-		while (iter)
-		{
-		    if (context->process == iter)
-		    {
-			if (iter == smpd_process.process_list)
-			{
-			    smpd_process.process_list = smpd_process.process_list->next;
-			}
-			else
-			{
-			    trailer->next = iter->next;
-			}
-			/* NULL the context pointer just to be sure no one uses it after it is freed. */
-			switch (context->type)
-			{
-			case SMPD_CONTEXT_STDIN:
-			    context->process->in = NULL;
-			    break;
-			case SMPD_CONTEXT_STDOUT_RSH:
-			    context->process->out = NULL;
-			    break;
-			case SMPD_CONTEXT_STDERR_RSH:
-			    context->process->err = NULL;
-			    break;
-			case SMPD_CONTEXT_PMI:
-			    context->process->pmi = NULL;
-			    break;
-			}
-			/* free the process structure */
-			smpd_free_process_struct(iter);
-			context->process = NULL;
-			iter = NULL;
-		    }
-		    else
-		    {
-			if (trailer != iter)
-			    trailer = trailer->next;
-			iter = iter->next;
-		    }
-		}
-
-		smpd_process.nproc_exited++;
-		/*printf("nproc_exited = %d\n", smpd_process.nproc_exited);fflush(stdout);*/
-		if (smpd_process.nproc_exited >= smpd_process.nproc)
-		{
-		    /*smpd_free_context(context);*/
-		    smpd_dbg_printf("process exited and all contexts closed, exiting state machine.\n");
-		    /*printf("process exited and all contexts closed, exiting state machine.\n");fflush(stdout);*/
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_EXIT;
-		}
-	    }
-	    else
-	    {
-		smpd_dbg_printf("process refcount == %d, %s closed.\n", context->process->context_refcount, smpd_get_context_str(context));
-		/* NULL the context pointer just to be sure no one uses it after it is freed. */
-		switch (context->type)
-		{
-		case SMPD_CONTEXT_STDIN:
-		    context->process->in = NULL;
-		    break;
-		case SMPD_CONTEXT_STDOUT_RSH:
-		    context->process->out = NULL;
-		    break;
-		case SMPD_CONTEXT_STDERR_RSH:
-		    context->process->err = NULL;
-		    break;
-		case SMPD_CONTEXT_PMI:
-		    context->process->pmi = NULL;
-		    break;
-		}
-	    }
-	    break;
-	}
-	else
-	{
-	    smpd_dbg_printf("Unaffiliated %s context closing.\n", smpd_get_context_str(context));
-	}
-
-	if (context == smpd_process.left_context)
-	    smpd_process.left_context = NULL;
-	if (context == smpd_process.right_context)
-	    smpd_process.right_context = NULL;
-	if (context == smpd_process.parent_context)
-	    smpd_process.parent_context = NULL;
-	if (context == smpd_process.listener_context)
-	    smpd_process.listener_context = NULL;
-	if (smpd_process.closing && smpd_process.left_context == NULL && smpd_process.right_context == NULL)
-	{
-	    if (smpd_process.parent_context == NULL)
-	    {
-		if (smpd_process.listener_context)
-		{
-		    smpd_dbg_printf("all contexts closed, closing the listener.\n");
-		    smpd_process.listener_context->state = SMPD_EXITING;
-		    result = SMPDU_Sock_post_close(smpd_process.listener_context->sock);
-		    if (result == SMPD_SUCCESS)
-		    {
-			break;
-		    }
-		    smpd_err_printf("unable to post a close of the listener sock, error:\n%s\n",
-			get_sock_error_string(result));
-		}
-		smpd_free_context(context);
-		smpd_dbg_printf("all contexts closed, exiting state machine.\n");
-		/*smpd_exit(0);*/
-		smpd_exit_fn(FCNAME);
-		return SMPD_EXIT;
-	    }
-	    else
-	    {
-		/* both children are closed, send closed_request to parent */
-		result = smpd_create_command("closed_request", smpd_process.id, smpd_process.parent_context->id, SMPD_FALSE, &cmd_ptr);
-		if (result != SMPD_SUCCESS)
-		{
-		    smpd_err_printf("unable to create a closed_request command for the parent context.\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		/*smpd_dbg_printf("posting write of closed_request command to parent: \"%s\"\n", cmd_ptr->cmd);*/
-		result = smpd_post_write_command(smpd_process.parent_context, cmd_ptr);
-		if (result != SMPD_SUCCESS)
-		{
-		    smpd_err_printf("unable to post a write of the closed_request command to the parent context.\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-	    }
-	}
-	else
-	{
-	    if (smpd_process.root_smpd == SMPD_FALSE && smpd_process.parent_context == NULL && smpd_process.left_context == NULL && smpd_process.right_context == NULL)
-	    {
-		smpd_context_t *iter = smpd_process.context_list;
-		/* If there is no connection to the parent, left child, and right child then exit.
-		 * But first check to see that no context is in the process of being formed that would become a left or right child.
-		 */
-		while (iter)
-		{
-		    /*if (iter->type == SMPD_CONTEXT_PARENT || iter->type == SMPD_CONTEXT_LEFT_CHILD || iter->type == SMPD_CONTEXT_RIGHT_CHILD)*/
-		    if (iter->type != SMPD_CONTEXT_LISTENER)
-			break;
-		    iter = iter->next;
-		}
-		if (iter == NULL)
-		{
-		    if (smpd_process.listener_context)
-		    {
-			smpd_dbg_printf("all contexts closed, closing the listener.\n");
-			smpd_process.listener_context->state = SMPD_EXITING;
-			result = SMPDU_Sock_post_close(smpd_process.listener_context->sock);
-			if (result == SMPD_SUCCESS)
-			{
-			    break;
-			}
-			smpd_err_printf("unable to post a close of the listener sock, error:\n%s\n",
-			    get_sock_error_string(result));
-		    }
-		    smpd_free_context(context);
-		    smpd_dbg_printf("all contexts closed, exiting state machine.\n");
-		    /*smpd_exit(0);*/
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_EXIT;
-		}
-	    }
-	}
-	break;
-    default:
-	smpd_err_printf("sock_op_close returned while %s context is in state: %s\n",
-	    smpd_get_context_str(context), smpd_get_state_string(context->state));
-	break;
-    }
-    /* free the context */
-    result = smpd_free_context(context);
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_enter_at_state"
-int smpd_enter_at_state(SMPDU_Sock_set_t set, smpd_state_t state)
-{
-    int result;
-    SMPDU_Sock_event_t event;
-    smpd_context_t *context;
-    char error_msg[SMPD_MAX_ERROR_LEN];
-    int len;
-
-    smpd_enter_fn(FCNAME);
-    SMPD_UNREFERENCED_ARG(state);
-
-    for (;;)
-    {
-	event.error = SMPD_SUCCESS;
-	smpd_dbg_printf("sock_waiting for the next event.\n");
-	result = SMPDU_Sock_wait(set, SMPDU_SOCK_INFINITE_TIME, &event);
-	if (result != SMPD_SUCCESS)
-	{
-	    /*
-	    if (result == SOCK_ERR_TIMEOUT)
-	    {
-		smpd_err_printf("Warning: SMPDU_Sock_wait returned SOCK_ERR_TIMEOUT when infinite time was passed in.\n");
-		continue;
-	    }
-	    */
-	    if (event.error != SMPD_SUCCESS)
-		result = event.error;
-	    smpd_err_printf("SMPDU_Sock_wait failed,\nsock error: %s\n", get_sock_error_string(result));
-	    smpd_exit_fn(FCNAME);
-	    return result;
-	}
-	context = event.user_ptr;
-	if (context == NULL)
-	{
-	    smpd_err_printf("SMPDU_Sock_wait returned an event with a NULL user pointer.\n");
-	    if (event.error != SMPD_SUCCESS)
-	    {
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    continue;
-	}
-	switch (event.op_type)
-	{
-	case SMPDU_SOCK_OP_READ:
-	    smpd_dbg_printf("SOCK_OP_READ event.error = %d, result = %d, context=%s\n", event.error, result, smpd_get_context_str(context));
-	    if (event.error != SMPD_SUCCESS)
-        {
-		    /* don't print EOF errors because they usually aren't errors */
-		    /*if (event.error != SOCK_EOF)*/
-		{
-		    /* don't print errors from the pmi context because processes that don't 
-		       call PMI_Finalize will get read errors that don't need to be printed.
-		       */
-		    if (context->type != SMPD_CONTEXT_PMI &&
-			context->type != SMPD_CONTEXT_STDOUT_RSH &&
-			context->type != SMPD_CONTEXT_STDERR_RSH &&
-			context->type != SMPD_CONTEXT_MPIEXEC_STDIN_RSH &&
-			context->type != SMPD_CONTEXT_MPIEXEC_STDIN)
-		    {
-			/* FIXME: Reintroduce event.error == SMPDU_SOCK_ERR_CONN_CLOSED once we have a better error code */
-            if (!((context->type == SMPD_CONTEXT_STDOUT || context->type == SMPD_CONTEXT_STDERR) /*&& event.error == SMPDU_SOCK_ERR_CONN_CLOSED */))
-			{
-			    if (!smpd_process.closing)
-			    {
-				smpd_err_printf("op_read error on %s context: %s\n", smpd_get_context_str(context), get_sock_error_string(event.error));
-			    }
-			}
-		    }
-		}
-	    }
-	    result = smpd_handle_op_read(context, &event);
-	    if (result == SMPD_DBS_RETURN)
-	    {
-		smpd_exit_fn(FCNAME);
-		return SMPD_SUCCESS;
-	    }
-	    if (result != SMPD_SUCCESS || event.error != SMPD_SUCCESS)
-	    {
-		if (context->type == SMPD_CONTEXT_PARENT && smpd_process.root_smpd != SMPD_TRUE)
-		{
-		    smpd_err_printf("connection to my parent broken, aborting.\n");
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-		if (context->type == SMPD_CONTEXT_MPIEXEC_STDIN) /* || context->type == SMPD_CONTEXT_MPIEXEC_STDIN_RSH)*/
-		{
-		    smpd_command_t *cmd_ptr;
-		    smpd_dbg_printf("stdin to mpiexec closed.\n");
-		    /* FIXME: should we send a message to the root process manager to close stdin to the root process? */
-#ifdef HAVE_WINDOWS_H
-		    /* If the stdin redirection thread has been signalled to be closed, don't send a close_stdin command */
-		    if (WaitForSingleObject(smpd_process.hCloseStdinThreadEvent, 0) != WAIT_OBJECT_0)
-		    {
-#endif
-		    /* create an close_stdin command */
-		    result = smpd_create_command("close_stdin", 0, 1 /* input always goes to node 1? */, SMPD_FALSE, &cmd_ptr);
-		    if (result != SMPD_SUCCESS)
-		    {
-			smpd_err_printf("unable to create an close_stdin command.\n");
-			smpd_exit_fn(FCNAME);
-			return SMPD_FAIL;
-		    }
-
-		    /* send the stdin command */
-		    result = smpd_post_write_command(smpd_process.left_context, cmd_ptr);
-		    if (result != SMPD_SUCCESS)
-		    {
-			smpd_err_printf("unable to post a write of the close_stdin command.\n");
-			smpd_exit_fn(FCNAME);
-			return SMPD_FAIL;
-		    }
-#ifdef HAVE_WINDOWS_H
-		    }
-#endif
-		}
-		smpd_dbg_printf("SOCK_OP_READ failed - result = %d, closing %s context.\n", result, smpd_get_context_str(context));
-		if (result != SMPD_SUCCESS || context->state != SMPD_CLOSING)
-		{
-		    /* An error occurred and a close was not successfully posted, post one here */
-		    context->state = SMPD_CLOSING;
-		    result = SMPDU_Sock_post_close(context->sock);
-		    if (result != SMPD_SUCCESS)
-		    {
-			len = SMPD_MAX_ERROR_LEN;
-			result = PMPI_Error_string(result, error_msg, &len);
-			if (result == SMPD_SUCCESS)
-			{
-			    smpd_err_printf("unable to post a close on a broken %s context, error: %s\n", smpd_get_context_str(context), error_msg);
-			}
-			else
-			{
-			    smpd_err_printf("unable to post a close on a broken %s context.\n", smpd_get_context_str(context));
-			}
-			if (smpd_process.root_smpd != SMPD_TRUE)
-			{
-			    /* don't let a broken connection cause the root smpd to exit */
-			    /* only non-root (manager) nodes return failure */
-			    smpd_err_printf("non-root smpd returning SMPD_FAIL do to failed close request after failed read operation.\n");
-			    smpd_exit_fn(FCNAME);
-			    return SMPD_FAIL;
-			}
-			else
-			{
-			    smpd_dbg_printf("root smpd ignoring failed close request after failed read operation.\n");
-			}
-		    }
-		}
-	    }
-	    break;
-	case SMPDU_SOCK_OP_WRITE:
-	    smpd_dbg_printf("SOCK_OP_WRITE event.error = %d, result = %d, context=%s\n", event.error, result, smpd_get_context_str(context));
-	    if (event.error != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("op_write error on %s context: %s\n", smpd_get_context_str(context), get_sock_error_string(event.error));
-	    }
-	    result = smpd_handle_op_write(context, &event, set);
-	    if (result == SMPD_DBS_RETURN)
-	    {
-		smpd_exit_fn(FCNAME);
-		return SMPD_SUCCESS;
-	    }
-	    if (result != SMPD_SUCCESS || event.error != SMPD_SUCCESS)
-	    {
-		smpd_dbg_printf("SOCK_OP_WRITE failed, closing %s context.\n", smpd_get_context_str(context));
-		if (context->state != SMPD_CLOSING)
-		{
-		    context->state = SMPD_CLOSING;
-		    result = SMPDU_Sock_post_close(context->sock);
-		    if (result != SMPD_SUCCESS)
-		    {
-			smpd_err_printf("unable to post a close on a broken %s context.\n", smpd_get_context_str(context));
-			if (smpd_process.root_smpd != SMPD_TRUE)
-			{
-			    /* don't let a broken connection cause the root smpd to exit */
-			    /* only non-root (manager) nodes return failure */
-			    smpd_exit_fn(FCNAME);
-			    return SMPD_FAIL;
-			}
-		    }
-		}
-	    }
-	    break;
-	case SMPDU_SOCK_OP_ACCEPT:
-	    smpd_dbg_printf("SOCK_OP_ACCEPT event.error = %d, result = %d, context=%s\n", event.error, result, smpd_get_context_str(context));
-	    if (event.error != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("error listening and accepting socket: %s\n", get_sock_error_string(event.error));
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    result = smpd_handle_op_accept(context, &event, set);
-	    if (result != SMPD_SUCCESS || event.error != SMPD_SUCCESS)
-	    {
-		if (result != SMPD_SUCCESS)
-		    smpd_dbg_printf("SOCK_OP_ACCEPT failed, result = %d, closing %s context.\n", result, smpd_get_context_str(context));
-		else
-		    smpd_dbg_printf("SOCK_OP_ACCEPT failed, event.error = %d, closing %s context.\n", event.error, smpd_get_context_str(context));
-		if (context->state != SMPD_CLOSING)
-		{
-		    context->state = SMPD_CLOSING;
-		    result = SMPDU_Sock_post_close(context->sock);
-		    if (result != SMPD_SUCCESS)
-		    {
-			smpd_err_printf("unable to post a close on a broken %s context.\n", smpd_get_context_str(context));
-			if (smpd_process.root_smpd != SMPD_TRUE)
-			{
-			    /* don't let a broken connection cause the root smpd to exit */
-			    /* only non-root (manager) nodes return failure */
-			    smpd_exit_fn(FCNAME);
-			    return SMPD_FAIL;
-			}
-		    }
-		}
-	    }
-	    break;
-	case SMPDU_SOCK_OP_CONNECT:
-	    smpd_dbg_printf("SOCK_OP_CONNECT event.error = %d, result = %d, context=%s\n", event.error, result, smpd_get_context_str(context));
-	    if (event.error != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("op_connect error: %s\n", get_sock_error_string(event.error));
-	    }
-	    result = smpd_handle_op_connect(context, &event);
-	    if (result == SMPD_DBS_RETURN)
-	    {
-		smpd_exit_fn(FCNAME);
-		return SMPD_SUCCESS;
-	    }
-	    if (result != SMPD_SUCCESS || event.error != SMPD_SUCCESS)
-	    {
-		smpd_process.state_machine_ret_val = (result != SMPD_SUCCESS) ? result : event.error;
-		smpd_dbg_printf("SOCK_OP_CONNECT failed, closing %s context.\n", smpd_get_context_str(context));
-		if (context->state != SMPD_CLOSING)
-		{
-		    context->state = SMPD_CLOSING;
-		    result = SMPDU_Sock_post_close(context->sock);
-		}
-		else
-		{
-		    result = SMPD_SUCCESS;
-		}
-		if (context->connect_to)
-		    smpd_post_abort_command("unable to connect to %s", context->connect_to->host);
-		else
-		    smpd_post_abort_command("connect failure");
-		if (result != SMPD_SUCCESS)
-		{
-		    smpd_err_printf("unable to post a close on a broken %s context.\n", smpd_get_context_str(context));
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_FAIL;
-		}
-	    }
-	    break;
-	case SMPDU_SOCK_OP_CLOSE:
-	    smpd_dbg_printf("SOCK_OP_CLOSE event.error = %d, result = %d, context=%s\n", event.error, result, smpd_get_context_str(context));
-        fflush(stdout);
-	    if (event.error != SMPD_SUCCESS)
-		smpd_err_printf("error closing the %s context socket: %s\n", smpd_get_context_str(context), get_sock_error_string(event.error));
-	    result = smpd_handle_op_close(context, &event);
-	    /*
-	    if (event.error != SMPD_SUCCESS)
-	    {
-		smpd_err_printf("unable to close the %s context.\n", smpd_get_context_str(context));
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    */
-	    if (result != SMPD_SUCCESS)
-	    {
-		if (result == SMPD_EXIT)
-		{
-		    smpd_exit_fn(FCNAME);
-		    return SMPD_SUCCESS;
-		}
-		smpd_err_printf("unable to close the %s context.\n", smpd_get_context_str(context));
-		smpd_exit_fn(FCNAME);
-		return SMPD_FAIL;
-	    }
-	    break;
-	default:
-	    smpd_dbg_printf("SOCK_OP_UNKNOWN\n");
-	    smpd_err_printf("SMPDU_Sock_wait returned unknown sock event type: %d\n", event.op_type);
-	    break;
-	}
-    }
-    /*
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-    */
-}
diff --git a/src/pm/smpd/smpd_user_data.c b/src/pm/smpd/smpd_user_data.c
deleted file mode 100644
index 117e2b6..0000000
--- a/src/pm/smpd/smpd_user_data.c
+++ /dev/null
@@ -1,1069 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-
-#include "smpd.h"
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef HAVE_STRING_H
-#include <string.h>
-#endif
-#include <stdlib.h>
-
-#ifndef HAVE_WINDOWS_H
-static FILE * smpd_open_smpd_file(SMPD_BOOL create);
-static void str_replace(char *str, char *find_chars, char replace_char);
-
-#undef FCNAME
-#define FCNAME "smpd_open_smpd_file"
-static FILE * smpd_open_smpd_file(SMPD_BOOL create)
-{
-    char *homedir;
-    struct stat s;
-    FILE *fin = NULL;
-
-    smpd_enter_fn(FCNAME);
-    if (smpd_process.smpd_filename[0] == '\0')
-    {
-	homedir = getenv("HOME");
-	if (homedir != NULL)
-	{
-	    strcpy(smpd_process.smpd_filename, homedir);
-	    if (smpd_process.smpd_filename[strlen(smpd_process.smpd_filename)-1] != '/')
-	    {
-		strcat(smpd_process.smpd_filename, "/.smpd");
-	    }
-	    else
-	    {
-		strcat(smpd_process.smpd_filename, ".smpd");
-	    }
-	}
-	else
-	{
-	    strcpy(smpd_process.smpd_filename, ".smpd");
-	}
-    }
-    if (stat(smpd_process.smpd_filename, &s) == 0)
-    {
-	if (s.st_mode & 00077)
-	{
-	    printf(".smpd file, %s, cannot be readable by anyone other than the current user, please set the permissions accordingly (0600).\n", smpd_process.smpd_filename);
-	}
-	else
-	{
-	    if (create)
-	    {
-		fin = fopen(smpd_process.smpd_filename, "w");
-	    }
-	    else
-	    {
-		fin = fopen(smpd_process.smpd_filename, "r+");
-	    }
-	}
-    }
-    if (fin == NULL && create)
-    {
-	umask(077);
-	fin = fopen(smpd_process.smpd_filename, "w");
-    }
-    smpd_exit_fn(FCNAME);
-    return fin;
-}
-
-#undef FCNAME
-#define FCNAME "str_replace"
-static void str_replace(char *str, char *find_chars, char replace_char)
-{
-    char *cur_str;
-    int i;
-
-    smpd_enter_fn(FCNAME);
-    for (i=0; i<strlen(find_chars); i++)
-    {
-	cur_str = strchr(str, find_chars[i]);
-	while (cur_str)
-	{
-	    *cur_str = replace_char;
-	    cur_str = strchr(cur_str, find_chars[i]);
-	}
-    }
-    smpd_exit_fn(FCNAME);
-}
-
-#undef FCNAME
-#define FCNAME "smpd_parse_smpd_file"
-static smpd_data_t * smpd_parse_smpd_file()
-{
-    FILE *fin;
-    char *buffer;
-    int len;
-    smpd_data_t *list = NULL, *node;
-    char *iter;
-    char name[SMPD_MAX_NAME_LENGTH];
-    char equal_str[SMPD_MAX_NAME_LENGTH];
-    char data[SMPD_MAX_VALUE_LENGTH];
-    int num_chars;
-    int result;
-
-    smpd_enter_fn(FCNAME);
-    fin = smpd_open_smpd_file(SMPD_FALSE);
-    if (fin != NULL)
-    {
-	result = fseek(fin, 0, SEEK_END);
-	if (result != 0)
-	{
-	    smpd_err_printf("Unable to seek to the end of the .smpd file.\n");
-	    smpd_exit_fn(FCNAME);
-	    return NULL;
-	}
-	len = ftell(fin);
-	if (len == -1)
-	{
-	    smpd_err_printf("Unable to determine the length of the .smpd file, ftell returned -1 and errno = %d.\n", errno);
-	    smpd_exit_fn(FCNAME);
-	    return NULL;
-	}
-	result = fseek(fin, 0, SEEK_SET);
-	if (result != 0)
-	{
-	    smpd_err_printf("Unable to seek to the beginning of the .smpd file.\n");
-	    smpd_exit_fn(FCNAME);
-	    return NULL;
-	}
-	if (len > 0)
-	{
-	    buffer = (char*)MPIU_Malloc(len+1);
-	    if (buffer == NULL)
-	    {
-		smpd_err_printf("Unable to allocate a buffer of length %d, malloc failed.\n", len+1);
-		smpd_exit_fn(FCNAME);
-		return NULL;
-	    }
-	    iter = buffer;
-	    if ((len = (int)fread(buffer, 1, len, fin)) > 0)
-	    {
-		buffer[len] = '\0';
-		str_replace(buffer, "\r\n", SMPD_SEPAR_CHAR);
-		while (iter)
-		{
-		    result = MPIU_Str_get_string(&iter, name, SMPD_MAX_NAME_LENGTH);
-		    if (result != MPIU_STR_SUCCESS)
-		    {
-			smpd_exit_fn(FCNAME);
-			return NULL;
-		    }
-		    equal_str[0] = '\0';
-		    result = MPIU_Str_get_string(&iter, equal_str, SMPD_MAX_NAME_LENGTH);
-		    while (iter && equal_str[0] != SMPD_DELIM_CHAR)
-		    {
-			strcpy(name, equal_str);
-			result = MPIU_Str_get_string(&iter, equal_str, SMPD_MAX_NAME_LENGTH);
-			if (result != MPIU_STR_SUCCESS)
-			{
-			    smpd_exit_fn(FCNAME);
-			    return NULL;
-			}
-		    }
-		    data[0] = '\0';
-		    result = MPIU_Str_get_string(&iter, data, SMPD_MAX_VALUE_LENGTH);
-		    /*smpd_dbg_printf("parsed <%s> <%s> <%s>\n", name, equal_str, data);*/
-		    if (result == MPIU_STR_SUCCESS)
-		    {
-			node = (smpd_data_t*)MPIU_Malloc(sizeof(smpd_data_t));
-			if (node == NULL)
-			{
-			    smpd_err_printf("Unable to allocate a smpd_data_t node, malloc failed.\n");
-			    smpd_exit_fn(FCNAME);
-			    return list; /* Should we return NULL or the current number of parsed options? */
-			}
-			strcpy(node->name, name);
-			strcpy(node->value, data);
-			node->next = list;
-			list = node;
-		    }
-		}
-	    }
-	    else
-	    {
-		printf("Unable to read the contents of %s.\n", smpd_process.smpd_filename);
-	    }
-	    MPIU_Free(buffer);
-	}
-	fclose(fin);
-    }
-    smpd_exit_fn(FCNAME);
-    return list;
-}
-#endif
-
-#undef FCNAME
-#define FCNAME "smpd_is_affirmative"
-SMPD_BOOL smpd_is_affirmative(const char *str)
-{
-    const char *iter = str;
-
-    smpd_enter_fn(FCNAME);
-    if (*iter != 'y' && *iter != 'Y')
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_FALSE;
-    }
-    iter++;
-    if (*iter == '\0')
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_TRUE;
-    }
-    if (*iter == '\n')
-    {
-	iter++;
-	if (*iter == '\0')
-	{
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_TRUE;
-	}
-	smpd_exit_fn(FCNAME);
-	return SMPD_FALSE;
-    }
-    if (*iter != 'e' && *iter != 'E')
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_FALSE;
-    }
-    iter++;
-    if (*iter != 's' && *iter != 's')
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_FALSE;
-    }
-    iter++;
-    if (*iter == '\n')
-    {
-	iter++;
-	if (*iter == '\0')
-	{
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_TRUE;
-	}
-	smpd_exit_fn(FCNAME);
-	return SMPD_FALSE;
-    }
-    if (*iter == '\0')
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_TRUE;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_FALSE;
-
-    /*
-    if (strcmp(str, "yes\n") == 0 ||
-	strcmp(str, "Yes\n") == 0 ||
-	strcmp(str, "YES\n") == 0 ||
-	strcmp(str, "Y\n") == 0 ||
-	strcmp(str, "y\n") == 0 ||
-	strcmp(str, "yes") == 0 ||
-	strcmp(str, "Yes") == 0 ||
-	strcmp(str, "YES") == 0 ||
-	strcmp(str, "Y") == 0 ||
-	strcmp(str, "y") == 0)
-	return SMPD_TRUE;
-    return SMPD_FALSE;
-    */
-}
-
-#undef FCNAME
-#define FCNAME "smpd_option_on"
-SMPD_BOOL smpd_option_on(const char *option)
-{
-    char val[SMPD_MAX_VALUE_LENGTH];
-
-    smpd_enter_fn(FCNAME);
-
-    if (smpd_get_smpd_data(option, val, SMPD_MAX_VALUE_LENGTH) == SMPD_SUCCESS)
-    {
-	if (smpd_is_affirmative(val) || (strcmp(val, "1") == 0))
-	{
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_TRUE;
-	}
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_FALSE;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_delete_user_data"
-int smpd_delete_user_data(const char *key)
-{
-#ifdef HAVE_WINDOWS_H
-    HKEY tkey;
-    DWORD result;
-    char err_msg[512];
-
-    smpd_enter_fn(FCNAME);
-
-    if (key == NULL)
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    result = RegCreateKeyEx(HKEY_CURRENT_USER, SMPD_REGISTRY_KEY,
-	0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &tkey, NULL);
-    if (result != ERROR_SUCCESS)
-    {
-	smpd_translate_win_error(result, err_msg, 512, "Unable to open the HKEY_CURRENT_USER\\" SMPD_REGISTRY_KEY " registry key, error %d: ", result);
-	smpd_err_printf("%s\n", err_msg);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    result = RegDeleteValue(tkey, key);
-    if (result != ERROR_SUCCESS)
-    {
-	smpd_translate_win_error(result, err_msg, 512, "Unable to delete the user smpd registry value '%s', error %d: ", key, result);
-	smpd_err_printf("%s\n", err_msg);
-	RegCloseKey(tkey);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    result = RegCloseKey(tkey);
-    if (result != ERROR_SUCCESS)
-    {
-	smpd_translate_win_error(result, err_msg, 512, "Unable to close the HKEY_CURRENT_USER\\" SMPD_REGISTRY_KEY " registry key, error %d: ", result);
-	smpd_err_printf("%s\n", err_msg);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-#else
-    int result;
-    smpd_enter_fn(FCNAME);
-    result = smpd_delete_smpd_data(key);
-    smpd_exit_fn(FCNAME);
-    return result;
-#endif
-}
-
-#undef FCNAME
-#define FCNAME "smpd_delete_smpd_data"
-int smpd_delete_smpd_data(const char *key)
-{
-#ifdef HAVE_WINDOWS_H
-    HKEY tkey;
-    DWORD result;
-    char err_msg[512];
-
-    smpd_enter_fn(FCNAME);
-
-    if (key == NULL)
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    result = RegCreateKeyEx(HKEY_LOCAL_MACHINE, SMPD_REGISTRY_KEY,
-	0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &tkey, NULL);
-    if (result != ERROR_SUCCESS)
-    {
-	smpd_translate_win_error(result, err_msg, 512, "Unable to open the HKEY_CURRENT_USER\\" SMPD_REGISTRY_KEY " registry key, error %d: ", result);
-	smpd_err_printf("%s\n", err_msg);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    result = RegDeleteValue(tkey, key);
-    if (result != ERROR_SUCCESS)
-    {
-	if (result != ERROR_FILE_NOT_FOUND && result != ERROR_PATH_NOT_FOUND)
-	{
-	    smpd_translate_win_error(result, err_msg, 512, "Unable to delete the smpd registry value '%s', error %d: ", key, result);
-	    smpd_err_printf("%s\n", err_msg);
-	    RegCloseKey(tkey);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-    }
-
-    result = RegCloseKey(tkey);
-    if (result != ERROR_SUCCESS)
-    {
-	smpd_translate_win_error(result, err_msg, 512, "Unable to close the HKEY_CURRENT_USER\\" SMPD_REGISTRY_KEY " registry key, error %d: ", result);
-	smpd_err_printf("%s\n", err_msg);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-#else
-    int result;
-    smpd_data_t *list = NULL, *node, *trailer;
-    int num_bytes;
-    int found = 0;
-
-    smpd_enter_fn(FCNAME);
-
-    list = smpd_parse_smpd_file();
-
-    node = trailer = list;
-    while (node)
-    {
-	if (strcmp(key, node->name) == 0)
-	{
-	    if (trailer != node)
-	    {
-		trailer->next = node->next;
-	    }
-	    else
-	    {
-		list = list->next;
-	    }
-	    found = 1;
-	    MPIU_Free(node);
-	    break;
-	}
-	if (trailer != node)
-	{
-	    trailer = trailer->next;
-	}
-	node = node->next;
-    }
-    if (found)
-    {
-	FILE *fout;
-	char buffer[1024];
-	char *str;
-	int maxlen;
-
-	fout = smpd_open_smpd_file(SMPD_TRUE);
-	if (fout)
-	{
-	    while (list)
-	    {
-		str = buffer;
-		maxlen = 1024;
-		if (MPIU_Str_add_string_arg(&str, &maxlen, list->name, list->value) == MPIU_STR_SUCCESS)
-		{
-		    buffer[strlen(buffer)-1] = '\0'; /* remove the trailing space */
-		    fprintf(fout, "%s\n", buffer);
-		}
-		node = list;
-		list = list->next;
-		MPIU_Free(node);
-	    }
-	    fclose(fout);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_SUCCESS;
-	}
-    }
-    while (list)
-    {
-	node = list;
-	list = list->next;
-	MPIU_Free(node);
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-#endif
-}
-
-#undef FCNAME
-#define FCNAME "smpd_set_user_data"
-int smpd_set_user_data(const char *key, const char *value)
-{
-#ifdef HAVE_WINDOWS_H
-    HKEY tkey;
-    DWORD len, result;
-    char err_msg[512];
-
-    smpd_enter_fn(FCNAME);
-
-    if (key == NULL || value == NULL)
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    result = RegCreateKeyEx(HKEY_CURRENT_USER, SMPD_REGISTRY_KEY,
-	0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &tkey, NULL);
-    if (result != ERROR_SUCCESS)
-    {
-	smpd_translate_win_error(result, err_msg, 512, "Unable to open the HKEY_CURRENT_USER\\" SMPD_REGISTRY_KEY " registry key, error %d: ", result);
-	smpd_err_printf("%s\n", err_msg);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    len = (DWORD)(strlen(value)+1);
-    result = RegSetValueEx(tkey, key, 0, REG_SZ, (const BYTE *)value, len);
-    if (result != ERROR_SUCCESS)
-    {
-	smpd_translate_win_error(result, err_msg, 512, "Unable to write the user smpd registry value '%s:%s', error %d\n", key, value, result);
-	smpd_err_printf("%s\n", err_msg);
-	RegCloseKey(tkey);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    result = RegCloseKey(tkey);
-    if (result != ERROR_SUCCESS)
-    {
-	smpd_translate_win_error(result, err_msg, 512, "Unable to close the HKEY_CURRENT_USER\\" SMPD_REGISTRY_KEY " registry key, error %d: ", result);
-	smpd_err_printf("%s\n", err_msg);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-#else
-    int result;
-    smpd_enter_fn(FCNAME);
-    result = smpd_set_smpd_data(key, value);
-    smpd_exit_fn(FCNAME);
-    return result;
-#endif
-}
-
-#undef FCNAME
-#define FCNAME "smpd_set_smpd_data"
-int smpd_set_smpd_data(const char *key, const char *value)
-{
-#ifdef HAVE_WINDOWS_H
-    HKEY tkey;
-    DWORD len, result;
-    char err_msg[512];
-
-    smpd_enter_fn(FCNAME);
-
-    if (key == NULL || value == NULL)
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    result = RegCreateKeyEx(HKEY_LOCAL_MACHINE, SMPD_REGISTRY_KEY,
-	0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &tkey, NULL);
-    if (result != ERROR_SUCCESS)
-    {
-	smpd_translate_win_error(result, err_msg, 512, "Unable to open the HKEY_LOCAL_MACHINE\\" SMPD_REGISTRY_KEY " registry key, error %d\n", result);
-	smpd_err_printf("%s\n", err_msg);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    len = (DWORD)(strlen(value)+1);
-    result = RegSetValueEx(tkey, key, 0, REG_SZ, (const BYTE *)value, len);
-    if (result != ERROR_SUCCESS)
-    {
-	smpd_translate_win_error(result, err_msg, 512, "Unable to write the smpd registry value '%s:%s', error %d\n", key, value, result);
-	smpd_err_printf("%s\n", err_msg);
-	RegCloseKey(tkey);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    result = RegCloseKey(tkey);
-    if (result != ERROR_SUCCESS)
-    {
-	smpd_translate_win_error(result, err_msg, 512, "Unable to close the HKEY_LOCAL_MACHINE\\" SMPD_REGISTRY_KEY " registry key, error %d: ", result);
-	smpd_err_printf("%s\n", err_msg);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-#else
-    int result;
-    smpd_data_t *list = NULL, *node;
-    int found = 0;
-    FILE *fout;
-    char *str;
-    int maxlen;
-    char buffer[1024];
-    char name_str[SMPD_MAX_NAME_LENGTH];
-    char value_str[SMPD_MAX_VALUE_LENGTH];
-
-    smpd_enter_fn(FCNAME);
-
-    smpd_dbg_printf("setting smpd data: %s=%s\n", key, value);
-
-    list = smpd_parse_smpd_file();
-    fout = smpd_open_smpd_file(SMPD_TRUE);
-    if (fout == NULL)
-    {
-	smpd_err_printf("Unable to open the .smpd file\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    while (list)
-    {
-	node = list;
-	list = list->next;
-	if (strcmp(key, node->name) == 0)
-	{
-	    strcpy(node->value, value);
-	    found = 1;
-	}
-	if (fout)
-	{
-	    str = buffer;
-	    maxlen = 1024;
-	    if (MPIU_Str_add_string_arg(&str, &maxlen, node->name, node->value) == MPIU_STR_SUCCESS)
-	    {
-		buffer[strlen(buffer)-1] = '\0'; /* remove the trailing space */
-		smpd_dbg_printf("writing '%s' to .smpd file\n", buffer);
-		fprintf(fout, "%s\n", buffer);
-	    }
-	}
-	MPIU_Free(node);
-    }
-    if (!found && fout)
-    {
-	str = buffer;
-	maxlen = 1024;
-	if (MPIU_Str_add_string_arg(&str, &maxlen, key, value) == MPIU_STR_SUCCESS)
-	{
-	    buffer[strlen(buffer)-1] = '\0'; /* remove the trailing space */
-	    smpd_dbg_printf("writing '%s' to .smpd file\n", buffer);
-	    fprintf(fout, "%s\n", buffer);
-	}
-	fclose(fout);
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-    if (fout != NULL)
-    {
-	fclose(fout);
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_FAIL;
-#endif
-}
-
-#undef FCNAME
-#define FCNAME "smpd_get_user_data_default"
-int smpd_get_user_data_default(const char *key, char *value, int value_len)
-{
-    smpd_enter_fn(FCNAME);
-    /* FIXME: function not implemented */
-    SMPD_UNREFERENCED_ARG(key);
-    SMPD_UNREFERENCED_ARG(value);
-    SMPD_UNREFERENCED_ARG(value_len);
-    smpd_exit_fn(FCNAME);
-    return SMPD_FAIL;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_get_user_data"
-int smpd_get_user_data(const char *key, char *value, int value_len)
-{
-#ifdef HAVE_WINDOWS_H
-    HKEY tkey;
-    DWORD len, result;
-    char err_msg[512];
-
-    smpd_enter_fn(FCNAME);
-
-    result = RegOpenKeyEx(HKEY_CURRENT_USER, SMPD_REGISTRY_KEY, 0, KEY_READ, &tkey);
-    if (result != ERROR_SUCCESS)
-    {
-	smpd_translate_win_error(result, err_msg, 512, "Unable to open the HKEY_CURRENT_USER\\" SMPD_REGISTRY_KEY " registry key, error %d\n", result);
-	smpd_dbg_printf("%s\n", err_msg);
-	result = smpd_get_user_data_default(key, value, value_len);
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-
-    len = value_len;
-    result = RegQueryValueEx(tkey, key, 0, NULL, (unsigned char *)value, &len);
-    if (result != ERROR_SUCCESS)
-    {
-	smpd_translate_win_error(result, err_msg, 512, "Unable to read the smpd registry key '%s', error %d\n", key, result);
-	smpd_dbg_printf("%s\n", err_msg);
-	RegCloseKey(tkey);
-	result = smpd_get_user_data_default(key, value, value_len);
-	smpd_exit_fn(FCNAME);
-	return result;
-    }
-
-    result = RegCloseKey(tkey);
-    if (result != ERROR_SUCCESS)
-    {
-	smpd_translate_win_error(result, err_msg, 512, "Unable to close the HKEY_CURRENT_USER\\" SMPD_REGISTRY_KEY " registry key, error %d: ", result);
-	smpd_err_printf("%s\n", err_msg);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-#else
-    int result;
-    smpd_enter_fn(FCNAME);
-    result = smpd_get_smpd_data(key, value, value_len);
-    if (result != SMPD_SUCCESS)
-    {
-	result = smpd_get_user_data_default(key, value, value_len);
-    }
-    smpd_exit_fn(FCNAME);
-    return result;
-#endif
-}
-
-#undef FCNAME
-#define FCNAME "smpd_get_smpd_data_default"
-int smpd_get_smpd_data_default(const char *key, char *value, int value_len)
-{
-    smpd_enter_fn(FCNAME);
-#ifdef HAVE_WINDOWS_H
-    /* A default passphrase is only available for Windows */
-    if (strcmp(key, "phrase") == 0)
-    {
-	strncpy(value, SMPD_DEFAULT_PASSPHRASE, value_len);
-	value[value_len-1] = '\0';
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-    if(strcmp(key, "port") == 0)
-    {
-    snprintf(value, value_len, "%d", SMPD_LISTENER_PORT);
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-    }
-#endif
-    if (strcmp(key, "log") == 0)
-    {
-	strncpy(value, "no", value_len);
-	value[value_len-1] = '\0';
-    }
-    else if (strcmp(key, "prepend_rank") == 0)
-    {
-	strncpy(value, "yes", value_len);
-	value[value_len-1] = '\0';
-    }
-    else if (strcmp(key, "trace") == 0)
-    {
-	strncpy(value, "yes", value_len);
-	value[value_len-1] = '\0';
-    }
-    else if (strcmp(key, "noprompt") == 0)
-    {
-	strncpy(value, "no", value_len);
-	value[value_len-1] = '\0';
-    }
-    /*
-    else if (strcmp(key, "hosts") == 0)
-    {
-	if (smpd_get_hostname(value, value_len) != 0)
-	{
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-    }
-    */
-    else
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_get_smpd_data_from_environment"
-static SMPD_BOOL smpd_get_smpd_data_from_environment(const char *key, char *value, int value_len)
-{
-    char *env_option, *env;
-    size_t length;
-
-    smpd_enter_fn(FCNAME);
-
-    /* Check to see if the option has been set in the environment */
-    length = strlen(key) + strlen(SMPD_ENV_OPTION_PREFIX) + 1;
-    env_option = (char*)MPIU_Malloc(length * sizeof(char));
-    if (env_option != NULL)
-    {
-	strcpy(env_option, SMPD_ENV_OPTION_PREFIX);
-	env = &env_option[strlen(SMPD_ENV_OPTION_PREFIX)];
-	while (*key != '\0')
-	{
-	    *env = (char)(toupper(*key));
-	    key++;
-	    env++;
-	}
-	*env = '\0';
-	env = getenv(env_option);
-	MPIU_Free(env_option);
-	if (env != NULL)
-	{
-	    if ((int)strlen(env) < value_len)
-	    {
-		strcpy(value, env);
-		smpd_exit_fn(FCNAME);
-		return SMPD_TRUE;
-	    }
-	}
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_FALSE;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_get_smpd_data"
-int smpd_get_smpd_data(const char *key, char *value, int value_len)
-{
-#ifdef HAVE_WINDOWS_H
-    HKEY tkey;
-    DWORD len, result;
-    char err_msg[512];
-
-    smpd_enter_fn(FCNAME);
-
-    if (smpd_get_smpd_data_from_environment(key, value, value_len) == SMPD_TRUE)
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-
-    result = RegOpenKeyEx(HKEY_LOCAL_MACHINE, SMPD_REGISTRY_KEY, 0, KEY_READ, &tkey);
-    if (result != ERROR_SUCCESS)
-    {
-	if (smpd_get_smpd_data_default(key, value, value_len) != SMPD_SUCCESS)
-	{
-	    smpd_dbg_printf("Unable to get the data for the key '%s'\n", key);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-
-    len = value_len;
-    result = RegQueryValueEx(tkey, key, 0, NULL, (unsigned char *)value, &len);
-    if (result != ERROR_SUCCESS)
-    {
-	RegCloseKey(tkey);
-	if (smpd_get_smpd_data_default(key, value, value_len) != SMPD_SUCCESS)
-	{
-	    smpd_dbg_printf("Unable to get the data for the key '%s'\n", key);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-
-    result = RegCloseKey(tkey);
-    if (result != ERROR_SUCCESS)
-    {
-	smpd_translate_win_error(result, err_msg, 512, "Unable to close the HKEY_LOCAL_MACHINE\\" SMPD_REGISTRY_KEY " registry key, error %d: ", result);
-	smpd_err_printf("%s\n", err_msg);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-#else
-    int result;
-    smpd_data_t *list = NULL, *node;
-    int num_bytes;
-
-    smpd_enter_fn(FCNAME);
-
-    smpd_dbg_printf("getting smpd data: %s\n", key);
-
-    if (smpd_get_smpd_data_from_environment(key, value, value_len) == SMPD_TRUE)
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-
-    list = smpd_parse_smpd_file();
-
-    if (list)
-    {
-	int found = 0;
-	while (list)
-	{
-	    node = list;
-	    list = list->next;
-	    if (strcmp(key, node->name) == 0)
-	    {
-		strcpy(value, node->value);
-		smpd_dbg_printf("smpd data: %s=%s\n", key, value);
-		found = 1;
-	    }
-	    MPIU_Free(node);
-	}
-	if (found)
-	{
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_SUCCESS;
-	}
-    }
-
-    result = smpd_get_smpd_data_default(key, value, value_len);
-    if (result == SMPD_SUCCESS)
-    {
-	smpd_dbg_printf("smpd data: %s=%s\n", key, value);
-    }
-    else
-    {
-	smpd_dbg_printf("smpd data: failed to get %s\n", key);
-    }
-
-    smpd_exit_fn(FCNAME);
-    return result;
-#endif
-}
-
-#undef FCNAME
-#define FCNAME "smpd_get_all_smpd_data"
-int smpd_get_all_smpd_data(smpd_data_t **data)
-{
-#ifdef HAVE_WINDOWS_H
-    HKEY tkey;
-    DWORD result;
-    LONG enum_result;
-    char name[SMPD_MAX_NAME_LENGTH], value[SMPD_MAX_VALUE_LENGTH];
-    DWORD name_length, value_length, index;
-    smpd_data_t *list, *item;
-    char err_msg[512];
-
-    smpd_enter_fn(FCNAME);
-
-    if (data == NULL)
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    result = RegOpenKeyEx(HKEY_LOCAL_MACHINE, SMPD_REGISTRY_KEY, 0, KEY_READ, &tkey);
-    if (result != ERROR_SUCCESS)
-    {
-	/* No key therefore no settings */
-	/* No access to the key, therefore no soup for you */
-	*data = NULL;
-	smpd_exit_fn(FCNAME);
-	return SMPD_SUCCESS;
-    }
-
-    list = NULL;
-    index = 0;
-    name_length = SMPD_MAX_NAME_LENGTH;
-    value_length = SMPD_MAX_VALUE_LENGTH;
-    enum_result = RegEnumValue(tkey, index, name, &name_length, NULL, NULL, (LPBYTE)value, &value_length);
-    while (enum_result == ERROR_SUCCESS)
-    {
-	item = (smpd_data_t*)MPIU_Malloc(sizeof(smpd_data_t));
-	if (item == NULL)
-	{
-	    *data = NULL;
-	    result = RegCloseKey(tkey);
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-	memcpy(item->name, name, SMPD_MAX_NAME_LENGTH);
-	memcpy(item->value, value, SMPD_MAX_VALUE_LENGTH);
-	item->next = list;
-	list = item;
-	index++;
-	name_length = SMPD_MAX_NAME_LENGTH;
-	value_length = SMPD_MAX_VALUE_LENGTH;
-	enum_result = RegEnumValue(tkey, index, name, &name_length, NULL, NULL, (LPBYTE)value, &value_length);
-    }
-
-    result = RegCloseKey(tkey);
-    if (result != ERROR_SUCCESS)
-    {
-	smpd_translate_win_error(result, err_msg, 512, "Unable to close the HKEY_LOCAL_MACHINE\\" SMPD_REGISTRY_KEY " registry key, error %d: ", result);
-	smpd_err_printf("%s\n", err_msg);
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-
-    *data = list;
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-#else
-    smpd_enter_fn(FCNAME);
-    if (data == NULL)
-    {
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-    *data = NULL;
-    smpd_exit_fn(FCNAME);
-    return SMPD_FAIL;
-#endif
-}
-
-#undef FCNAME
-#define FCNAME "smpd_lock_smpd_data"
-int smpd_lock_smpd_data(void)
-{
-    smpd_enter_fn(FCNAME);
-#ifdef HAVE_WINDOWS_H
-    if (smpd_process.hSMPDDataMutex == NULL)
-    {
-	smpd_process.hSMPDDataMutex = CreateMutex(NULL, FALSE, SMPD_DATA_MUTEX_NAME);
-	if (smpd_process.hSMPDDataMutex == NULL)
-	{
-	    smpd_exit_fn(FCNAME);
-	    return SMPD_FAIL;
-	}
-    }
-    if (WaitForSingleObject(smpd_process.hSMPDDataMutex, SMPD_SHORT_TIMEOUT*1000) != WAIT_OBJECT_0)
-    {
-	smpd_err_printf("lock_smpd_data failed\n");
-	smpd_exit_fn(FCNAME);
-	return SMPD_FAIL;
-    }
-#else
-    /* No lock implemented for Unix systems */
-#endif
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FCNAME
-#define FCNAME "smpd_unlock_smpd_data"
-int smpd_unlock_smpd_data(void)
-{
-    smpd_enter_fn(FCNAME);
-#ifdef HAVE_WINDOWS_H
-    if (!ReleaseMutex(smpd_process.hSMPDDataMutex))
-    {
-	int result;
-	char err_msg[512];
-	result = GetLastError();
-	smpd_translate_win_error(result, err_msg, 512, "Unable to release the SMPD data mutex, error %d: ", result);
-	smpd_err_printf("%s\n", err_msg);
-	return SMPD_FAIL;
-    }
-#else
-    /* No lock implemented for Unix systems */
-#endif
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
diff --git a/src/pm/smpd/smpd_util.vcproj b/src/pm/smpd/smpd_util.vcproj
deleted file mode 100644
index 3d986fa..0000000
--- a/src/pm/smpd/smpd_util.vcproj
+++ /dev/null
@@ -1,1264 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="smpd_util"
-	ProjectGUID="{0703FA94-8B8C-49AC-BFCE-91F67B599E51}"
-	RootNamespace="smpd_util"
-	Keyword="Win32Proj"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="Debug"
-			IntermediateDirectory="smpd_utilDebug"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\include;..\..\include\win32;..\..\mpl\include;.\sock\include;.\sock\iocp\include;."
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;HAVE_WINDOWS_H;USE_WINCONF_H;_WIN32_WINNT=0x0500"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				AdditionalDependencies="mpid.lib"
-				OutputFile="..\..\..\lib\smpd_utild.lib"
-				AdditionalLibraryDirectories="..\..\..\lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="Release"
-			IntermediateDirectory="smpd_utilRelease"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="..\..\include;..\..\include\win32;..\..\mpl\include;.\sock\include;.\sock\iocp\include;."
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;USE_WINCONF_H;_WIN32_WINNT=0x0500"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				AdditionalDependencies="mpi.lib"
-				OutputFile="..\..\..\lib\smpd_util.lib"
-				AdditionalLibraryDirectories="..\..\..\lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichDebugConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;HAVE_WINDOWS_H;USE_WINCONF_H;_WIN32_WINNT=0x0500"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\smpd_utild.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;_LIB;HAVE_WINDOWS_H;USE_WINCONF_H;_WIN32_WINNT=0x0500"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				ProgramDataBaseFileName="$(IntDir)\smpd_util.pdb"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\smpd_util.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;HAVE_WINDOWS_H;USE_WINCONF_H;_WIN32_WINNT=0x0500"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\smpd_util.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;HAVE_WINDOWS_H;USE_WINCONF_H;_WIN32_WINNT=0x0500"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\smpd_util.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;HAVE_WINDOWS_H;USE_WINCONF_H;_WIN32_WINNT=0x0500"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\smpd_util.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mt_mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;HAVE_WINDOWS_H;USE_WINCONF_H;_WIN32_WINNT=0x0500;MPICH_MULTITHREADED"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\smpd_utilmt.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="testrelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;HAVE_WINDOWS_H;USE_WINCONF_H;_WIN32_WINNT=0x0500"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\smpd_util.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichDebugConfig_1_0_5|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;_LIB;HAVE_WINDOWS_H;USE_WINCONF_H;_WIN32_WINNT=0x0500"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				ProgramDataBaseFileName="$(IntDir)\smpd_util.pdb"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\smpd_util.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="fortDebugConfig_1_0_5|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;HAVE_WINDOWS_H;USE_WINCONF_H;_WIN32_WINNT=0x0500"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\smpd_util.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3nemesisPRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;HAVE_WINDOWS_H;USE_WINCONF_H;_WIN32_WINNT=0x0500"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\smpd_util.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="fortPRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="..\..\include;..\..\include\win32;..\..\mpl\include;.\sock\include;.\sock\iocp\include;."
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;USE_WINCONF_H;_WIN32_WINNT=0x0500"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				AdditionalDependencies="mpi.lib"
-				OutputFile="..\..\..\lib\smpd_util.lib"
-				AdditionalLibraryDirectories="..\..\..\lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"
-			>
-			<File
-				RelativePath=".\smpd_ad.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="MPICH_SKIP_MPICXX"
-						ShowIncludes="false"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="MPICH_SKIP_MPICXX"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="MPICH_SKIP_MPICXX"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="MPICH_SKIP_MPICXX"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="MPICH_SKIP_MPICXX"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="MPICH_SKIP_MPICXX"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="MPICH_SKIP_MPICXX"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="MPICH_SKIP_MPICXX"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="MPICH_SKIP_MPICXX"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="MPICH_SKIP_MPICXX"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="MPICH_SKIP_MPICXX"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="MPICH_SKIP_MPICXX"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="MPICH_SKIP_MPICXX"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\smpd_adreg.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="UNICODE;_UNICODE;_WIN32_WINNT=0x0500;MPICH_SKIP_MPICXX"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="UNICODE;_UNICODE;_WIN32_WINNT=0x0500;MPICH_SKIP_MPICXX"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="UNICODE;_UNICODE;_WIN32_WINNT=0x0500;MPICH_SKIP_MPICXX"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="UNICODE;_UNICODE;_WIN32_WINNT=0x0500;MPICH_SKIP_MPICXX"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="UNICODE;_UNICODE;_WIN32_WINNT=0x0500;MPICH_SKIP_MPICXX"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="UNICODE;_UNICODE;_WIN32_WINNT=0x0500;MPICH_SKIP_MPICXX"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="UNICODE;_UNICODE;_WIN32_WINNT=0x0500;MPICH_SKIP_MPICXX"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mt_mpichReleaseConfig_1_0_4|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="UNICODE;_UNICODE;_WIN32_WINNT=0x0500;MPICH_SKIP_MPICXX"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="testrelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="UNICODE;_UNICODE;_WIN32_WINNT=0x0500;MPICH_SKIP_MPICXX"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="mpichDebugConfig_1_0_5|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="UNICODE;_UNICODE;_WIN32_WINNT=0x0500;MPICH_SKIP_MPICXX"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortDebugConfig_1_0_5|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="UNICODE;_UNICODE;_WIN32_WINNT=0x0500;MPICH_SKIP_MPICXX"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3nemesisPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="UNICODE;_UNICODE;_WIN32_WINNT=0x0500;MPICH_SKIP_MPICXX"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions="UNICODE;_UNICODE;_WIN32_WINNT=0x0500;MPICH_SKIP_MPICXX"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\smpd_affinitize.c"
-				>
-			</File>
-			<File
-				RelativePath="smpd_authenticate.c"
-				>
-			</File>
-			<File
-				RelativePath=".\smpd_barrier.c"
-				>
-			</File>
-			<File
-				RelativePath=".\smpd_ccp_util.c"
-				>
-			</File>
-			<File
-				RelativePath="smpd_command.c"
-				>
-			</File>
-			<File
-				RelativePath="smpd_connect.c"
-				>
-			</File>
-			<File
-				RelativePath=".\smpd_database.c"
-				>
-			</File>
-			<File
-				RelativePath=".\smpd_do_console.c"
-				>
-			</File>
-			<File
-				RelativePath="smpd_get_opt.c"
-				>
-			</File>
-			<File
-				RelativePath=".\smpd_handle_command.c"
-				>
-			</File>
-			<File
-				RelativePath=".\smpd_handle_spawn.c"
-				>
-			</File>
-			<File
-				RelativePath=".\smpd_hash.c"
-				>
-			</File>
-			<File
-				RelativePath=".\smpd_host_util.c"
-				>
-			</File>
-			<File
-				RelativePath=".\smpd_hpc_js_bs.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\smpd_hpc_js_rmk.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\smpd_hpc_js_util.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\smpd_job.c"
-				>
-			</File>
-			<File
-				RelativePath="smpd_launch_process.c"
-				>
-			</File>
-			<File
-				RelativePath=".\smpd_mapdrive.c"
-				>
-			</File>
-			<File
-				RelativePath="smpd_printf.c"
-				>
-			</File>
-			<File
-				RelativePath="smpd_read_write.c"
-				>
-			</File>
-			<File
-				RelativePath=".\smpd_register.c"
-				>
-			</File>
-			<File
-				RelativePath=".\smpd_restart.c"
-				>
-			</File>
-			<File
-				RelativePath=".\smpd_session.c"
-				>
-			</File>
-			<File
-				RelativePath=".\smpd_start_mgr.c"
-				>
-			</File>
-			<File
-				RelativePath=".\smpd_state_machine.c"
-				>
-			</File>
-			<File
-				RelativePath="smpd_user_data.c"
-				>
-			</File>
-			<File
-				RelativePath=".\sock\iocp\smpd_util_sock.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ShowIncludes="false"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="fortPRelease|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						ShowIncludes="false"
-					/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc"
-			>
-			<File
-				RelativePath=".\smpd.h"
-				>
-			</File>
-			<File
-				RelativePath=".\sock\include\smpd_util_sock.h"
-				>
-			</File>
-			<File
-				RelativePath=".\smpd_version.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/src/pm/smpd/smpd_watchprocs.c b/src/pm/smpd/smpd_watchprocs.c
deleted file mode 100644
index 4a94696..0000000
--- a/src/pm/smpd/smpd_watchprocs.c
+++ /dev/null
@@ -1,391 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-
-#include "smpd.h"
-
-#ifdef HAVE_WINDOWS_H
-
-typedef struct smpd_registry_proc
-{
-    char pid[10];
-    char exe[1024];
-    SMPD_BOOL handled;
-    struct smpd_registry_proc *next;
-} smpd_registry_proc;
-
-static HANDLE hQuit=NULL;
-static SMPD_BOOL bPrint = SMPD_TRUE;
-
-#undef FCNAME
-#define FCNAME "smpd_watch_processes_thread"
-int smpd_watch_processes_thread()
-{
-    HKEY hKey, hProcKey;
-    char name[100];
-    char value[1024];
-    DWORD len;
-    DWORD index;
-    HANDLE hRegEvent;
-    HANDLE hEvents[2];
-    FILETIME t;
-    DWORD result;
-    smpd_registry_proc *node, *trailer, *temp_list, *list = NULL;
-
-    smpd_enter_fn(FCNAME);
-
-restart:
-
-    hRegEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
-    if (hRegEvent == NULL)
-    {
-	result = GetLastError();
-	smpd_translate_win_error(result, value, 1024, NULL);
-	smpd_err_printf("CreateEvent failed: %s\n", value);
-	return SMPD_FAIL;
-    }
-
-    if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE\\MPICH\\SMPD\\process", 0, KEY_READ, &hKey) == ERROR_SUCCESS)
-    {
-	for (;;)
-	{
-	    result = RegNotifyChangeKeyValue(hKey, FALSE, REG_NOTIFY_CHANGE_NAME, hRegEvent, TRUE);
-	    if (result != ERROR_SUCCESS)
-	    {
-		smpd_translate_win_error(result, value, 1024, NULL);
-		smpd_err_printf("RegNotifyChangeKeyValue(SOFTWARE\\MPICH\\SMPD\\process) failed: %s\n", value);
-		/*printf("result = %d\n", result);*/
-		RegCloseKey(hKey);
-		break;
-	    }
-	    index = 0;
-	    len = 100;
-	    temp_list = NULL;
-	    for(;;)
-	    {
-		result = RegEnumKeyEx(hKey, index, name, &len, NULL, NULL, NULL, &t);
-		if (result == ERROR_NO_MORE_ITEMS)
-		    break;
-		if (result != ERROR_SUCCESS)
-		    break;
-		if (len > 0)
-		{
-		    if (RegOpenKeyEx(hKey, name, 0, KEY_READ, &hProcKey) == ERROR_SUCCESS)
-		    {
-			len = 1024;
-			if (RegQueryValueEx(hProcKey, "exe", NULL, NULL, (LPBYTE)value, &len) == ERROR_SUCCESS)
-			{
-			    node = MPIU_Malloc(sizeof(smpd_registry_proc));
-			    strcpy(node->pid, name);
-			    if (len > 0)
-				strcpy(node->exe, value);
-			    else
-				node->exe[0] = '\0';
-			    node->next = temp_list;
-			    temp_list = node;
-			}
-			RegCloseKey(hProcKey);
-		    }
-		}
-		index++;
-		len = 100;
-	    }
-	    node = list;
-	    while (node != NULL)
-	    {
-		node->handled = SMPD_FALSE;
-		node = node->next;
-	    }
-	    while (temp_list)
-	    {
-		node = list;
-		while (node)
-		{
-		    if (strcmp(node->pid, temp_list->pid) == 0)
-		    {
-			node->handled = SMPD_TRUE;
-			break;
-		    }
-		    node = node->next;
-		}
-		if (node == NULL)
-		{
-		    node = temp_list;
-		    temp_list = temp_list->next;
-		    node->next = list;
-		    list = node;
-		    node->handled = SMPD_TRUE;
-		    if (bPrint)
-		    {
-			printf("+%s %s\n", node->pid, node->exe);
-			fflush(stdout);
-		    }
-		}
-		else
-		{
-		    node = temp_list;
-		    temp_list = temp_list->next;
-		    MPIU_Free(node);
-		}
-	    }
-	    trailer = node = list;
-	    while (node != NULL)
-	    {
-		if (node->handled == SMPD_FALSE)
-		{
-		    if (bPrint)
-		    {
-			printf("-%s %s\n", node->pid, node->exe);
-			fflush(stdout);
-		    }
-		    if (trailer != node)
-		    {
-			trailer->next = node->next;
-			MPIU_Free(node);
-			node = trailer->next;
-		    }
-		    else
-		    {
-			list = list->next;
-			trailer = list;
-			MPIU_Free(node);
-			node = list;
-		    }
-		}
-		else
-		{
-		    if (trailer != node)
-			trailer = trailer->next;
-		    node = node->next;
-		}
-	    }
-
-	    hEvents[0] = hQuit;
-	    hEvents[1] = hRegEvent;
-	    result = WaitForMultipleObjects(2, hEvents, FALSE, INFINITE);
-	    if (result < WAIT_OBJECT_0 || result > WAIT_OBJECT_0 + 2)
-	    {
-		if (result == WAIT_FAILED)
-		{
-		    result = GetLastError();
-		    smpd_translate_win_error(result, value, 1024, NULL);
-		    smpd_err_printf("WaitForMultipleObjects failed: %s\n", value);
-		    /*
-		    printf("hQuit = %p\n", hQuit);
-		    printf("hRegEvent = %p\n", hRegEvent);
-		    fflush(stdout);
-		    */
-		}
-		else if (result == WAIT_TIMEOUT)
-		{
-		    smpd_err_printf("WaitFoMultipleObjects timed out\n");
-		}
-		else if (result == WAIT_ABANDONED_0)
-		{
-		    smpd_err_printf("WaitForMultipleObjects abandoned due to the hQuit event.\n");
-		}
-		else if (result == (WAIT_ABANDONED_0 + 1))
-		{
-		    smpd_err_printf("WaitForMultipleObjects abandoned due to the hRegEvent.\n");
-		}
-		else
-		{
-		    smpd_err_printf("WaitForMultipleObjects returned an unexpected value: %d\n", result);
-		}
-		RegCloseKey(hKey);
-		break;
-	    }
-	    if (WaitForSingleObject(hQuit, 0) == WAIT_OBJECT_0)
-	    {
-		RegCloseKey(hKey);
-		break;
-	    }
-	    /*
-	    result = WaitForSingleObject(hRegEvent, INFINITE);
-	    if (result != WAIT_OBJECT_0)
-	    {
-		RegCloseKey(hKey);
-		break;
-	    }
-	    */
-	    if (!ResetEvent(hRegEvent))
-	    {
-		result = GetLastError();
-		smpd_translate_win_error(result, value, 1024, NULL);
-		smpd_err_printf("ResetEvent failed: %s\n", value);
-		return SMPD_FAIL;
-	    }
-	}
-    }
-    else
-    {
-	if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE\\MPICH\\SMPD", 0, KEY_READ, &hKey) == ERROR_SUCCESS)
-	{
-	    for(;;)
-	    {
-		result = RegNotifyChangeKeyValue(hKey, FALSE, REG_NOTIFY_CHANGE_NAME, hRegEvent, TRUE);
-		if (result != ERROR_SUCCESS)
-		{
-		    smpd_translate_win_error(result, value, 1024, NULL);
-		    smpd_err_printf("RegNotifyChangeKeyValue(SOFTWARE\\MPICH\\SMPD) failed: %s\n", value);
-		    /*printf("result = %d\n", result);*/
-		    RegCloseKey(hKey);
-		    break;
-		}
-		index = 0;
-		len = 100;
-		for(;;)
-		{
-		    result = RegEnumKeyEx(hKey, index, name, &len, NULL, NULL, NULL, &t);
-		    if (result == ERROR_NO_MORE_ITEMS)
-			break;
-		    if (result != ERROR_SUCCESS)
-			break;
-		    if (len > 0)
-		    {
-			if (strcmp(name, "process") == 0)
-			{
-			    CloseHandle(hRegEvent);
-			    RegCloseKey(hKey);
-			    goto restart;
-			}
-		    }
-		    index++;
-		    len = 100;
-		}
-
-		hEvents[0] = hQuit;
-		hEvents[1] = hRegEvent;
-		result = WaitForMultipleObjects(2, hEvents, FALSE, INFINITE);
-		if (result < WAIT_OBJECT_0 || result > WAIT_OBJECT_0 + 2)
-		{
-		    if (result == WAIT_FAILED)
-		    {
-			result = GetLastError();
-			smpd_translate_win_error(result, value, 1024, NULL);
-			smpd_err_printf("WaitForMultipleObjects failed: %s\n", value);
-			/*
-			printf("hQuit = %p\n", hQuit);
-			printf("hRegEvent = %p\n", hRegEvent);
-			fflush(stdout);
-			*/
-		    }
-		    else if (result == WAIT_TIMEOUT)
-		    {
-			smpd_err_printf("WaitFoMultipleObjects timed out\n");
-		    }
-		    else if (result == WAIT_ABANDONED_0)
-		    {
-			smpd_err_printf("WaitForMultipleObjects abandoned due to the hQuit event.\n");
-		    }
-		    else if (result == (WAIT_ABANDONED_0 + 1))
-		    {
-			smpd_err_printf("WaitForMultipleObjects abandoned due to the hRegEvent.\n");
-		    }
-		    else
-		    {
-			smpd_err_printf("WaitForMultipleObjects returned an unexpected value: %d\n", result);
-		    }
-		    RegCloseKey(hKey);
-		    break;
-		}
-		if (WaitForSingleObject(hQuit, 0) == WAIT_OBJECT_0)
-		{
-		    RegCloseKey(hKey);
-		    break;
-		}
-		/*
-		result = WaitForSingleObject(hRegEvent, INFINITE);
-		if (result != WAIT_OBJECT_0)
-		{
-		    RegCloseKey(hKey);
-		    break;
-		}
-		*/
-		ResetEvent(hRegEvent);
-	    }
-	}
-    }
-
-    CloseHandle(hRegEvent);
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-int smpd_watch_processes()
-{
-    HANDLE hThread;
-    char line[1024], cmd[1024];
-    int result;
-
-    /* turn off extra error output */
-    smpd_process.dbg_state ^= SMPD_DBG_STATE_TRACE;
-    smpd_process.dbg_state ^= SMPD_DBG_STATE_PREPEND_RANK;
-
-    hQuit = CreateEvent(NULL, TRUE, FALSE, NULL);
-    if (hQuit == NULL)
-    {
-	result = GetLastError();
-	smpd_translate_win_error(result, line, 1024, NULL);
-	smpd_err_printf("CreateEvent failed: %s\n", line);
-	goto fn_exit;
-    }
-
-    hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)smpd_watch_processes_thread, NULL, 0, NULL);
-    if (hThread == NULL)
-    {
-	printf("Unable to create a thread to watch the processes, exiting...\n");
-	fflush(stdout);
-	goto fn_exit;
-    }
-
-    while (fgets(line, 1024, stdin) != NULL)
-    {
-	line[1023] = '\0';
-	cmd[0] = '\0';
-	result = sscanf(line, "%s", cmd);
-	if (result == EOF)
-	{
-	    goto fn_exit;
-	}
-	if (stricmp(cmd, "start") == 0)
-	{
-	    bPrint = SMPD_TRUE;
-	}
-	if (stricmp(cmd, "stop") == 0)
-	{
-	    bPrint = SMPD_FALSE;
-	}
-	if ((stricmp(cmd, "quit") == 0) || (stricmp(cmd, "exit") == 0))
-	{
-	    SetEvent(hQuit);
-	    WaitForSingleObject(hThread, INFINITE);
-	    break;
-	}
-    }
-
-fn_exit:
-    if (hThread != NULL)
-	CloseHandle(hThread);
-    if (hQuit != NULL)
-	CloseHandle(hQuit);
-    return SMPD_SUCCESS;
-}
-
-#else /* HAVE_WINDOWS_H */
-
-#undef FCNAME
-#define FCNAME "smpd_watch_processes"
-int smpd_watch_processes()
-{
-    smpd_enter_fn(FCNAME);
-    printf("Process watching not implemented under unix systems, exiting...\n");
-    fflush(stdout);
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#endif /* HAVE_WINDOWS_H */
diff --git a/src/pm/smpd/sock/Makefile.mk b/src/pm/smpd/sock/Makefile.mk
deleted file mode 100644
index c44ed39..0000000
--- a/src/pm/smpd/sock/Makefile.mk
+++ /dev/null
@@ -1,11 +0,0 @@
-## -*- Mode: Makefile; -*-
-## vim: set ft=automake :
-##
-## (C) 2011 by Argonne National Laboratory.
-##     See COPYRIGHT in top-level directory.
-##
-
-## only used on Windows, commented out for now
-##include $(top_srcdir)/src/pm/smpd/sock/iocp/Makefile.mk
-include $(top_srcdir)/src/pm/smpd/sock/poll/Makefile.mk
-
diff --git a/src/pm/smpd/sock/include/smpd_util_sock.h b/src/pm/smpd/sock/include/smpd_util_sock.h
deleted file mode 100644
index f30481f..0000000
--- a/src/pm/smpd/sock/include/smpd_util_sock.h
+++ /dev/null
@@ -1,233 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-
-#if !defined(SMPD_UTIL_SOCK_H_INCLUDED)
-#define SMPD_UTIL_SOCK_H_INCLUDED
-
-#if defined(__cplusplus)
-#if !defined(CPLUSPLUS_BEGIN)
-#define CPLUSPLUS_BEGIN extern "C" {
-#define CPLUSPLUS_END }
-#endif
-#else
-#define CPLUSPLUS_BEGIN
-#define CPLUSPLUS_END
-#endif
-
-CPLUSPLUS_BEGIN
-
-#include "smpd_iov.h"
-#include "smpd_util_socki.h"
-
-/* The structures and funcs in this file are identical to ones in mpid/common/sock.
- * Refer to mpid/common/sock for more doc
- */
-
-/* #define SMPDU_SOCK_ERR_CONN_CLOSED  SMPD_LAST_RETVAL+1 */
-
-/*E
-SMPDU_Sock_op_t - enumeration of posted operations that can be completed by the Sock module
-E*/
-
-typedef enum SMPDU_Sock_op{
-    SMPDU_SOCK_OP_READ,
-    SMPDU_SOCK_OP_WRITE,
-    SMPDU_SOCK_OP_ACCEPT,
-    SMPDU_SOCK_OP_CONNECT,
-    SMPDU_SOCK_OP_CLOSE,
-    SMPDU_SOCK_OP_WAKEUP
-} SMPDU_Sock_op_t;
-
-
-/*S
-SMPDU_Sock_event_t - event structure returned by SMPDU_Sock_wait() describing the operation that completed
-S*/
-typedef struct SMPDU_Sock_event{
-    SMPDU_Sock_op_t op_type;
-    SMPDU_Sock_size_t num_bytes;
-    void * user_ptr;
-    int error;
-} SMPDU_Sock_event_t;
-
-
-/*@
-SMPDU_Sock_init - initialize the Sock communication library
-@*/
-int SMPDU_Sock_init(void);
-
-
-/*@
-SMPDU_Sock_finalize - shutdown the Sock communication library
-@*/
-int SMPDU_Sock_finalize(void);
-
-
-/*@
-SMPDU_Sock_get_host_description - obtain a description of the host's 
-communication capabilities
-@*/
-int SMPDU_Sock_get_host_description(int myRank, char * host_description, int len);
-
-
-/*@
-SMPDU_Sock_hostname_to_host_description - convert a host name to a description of the host's communication capabilities
-@*/
-int SMPDU_Sock_hostname_to_host_description(char *hostname, char * host_description, int len);
-
-/*@
-SMPDU_Sock_create_set - create a new sock set object
-@*/
-int SMPDU_Sock_create_set(SMPDU_Sock_set_t * set);
-
-
-/*@
-SMPDU_Sock_destroy_set - destroy an existing sock set, releasing an internal resource associated with that set
-@*/
-int SMPDU_Sock_destroy_set(SMPDU_Sock_set_t set);
-
-
-/*@
-SMPDU_Sock_native_to_sock - convert a native file descriptor/handle to a sock object
-@*/
-int SMPDU_Sock_native_to_sock(SMPDU_Sock_set_t set, SMPDU_SOCK_NATIVE_FD fd, void * user_ptr, SMPDU_Sock_t * sock);
-
-
-/*@
-SMPDU_Sock_listen - establish a listener sock
-@*/
-int SMPDU_Sock_listen(SMPDU_Sock_set_t set, void * user_ptr, int * port, SMPDU_Sock_t * sock);
-
-
-/*@
-SMPDU_Sock_accept - obtain the sock object associated with a new connection
-@*/
-int SMPDU_Sock_accept(SMPDU_Sock_t listener_sock, SMPDU_Sock_set_t set, void * user_ptr, SMPDU_Sock_t * sock);
-
-
-/*@
-SMPDU_Sock_post_connect - request that a new connection be formed
-
-@*/
-int SMPDU_Sock_post_connect(SMPDU_Sock_set_t set, void * user_ptr, char * host_description, int port, SMPDU_Sock_t * sock);
-
-/*S
-  SMPDU_Sock_ifaddr_t - Structure to hold an Internet address.
-S*/
-typedef struct SMPDU_Sock_ifaddr_t {
-    int len, type;
-    unsigned char ifaddr[16];
-} SMPDU_Sock_ifaddr_t;
-
-/*@ SMPDU_Sock_post_connect_ifaddr - Post a connection given an interface
-  address (bytes, not string).
-  @*/
-int SMPDU_Sock_post_connect_ifaddr( SMPDU_Sock_set_t sock_set, 
-				    void * user_ptr, 
-				    SMPDU_Sock_ifaddr_t *ifaddr, int port,
-				    SMPDU_Sock_t * sockp);
-
-
-/*@
-SMPDU_Sock_set_user_ptr - change the user pointer associated with a sock object
-@*/
-int SMPDU_Sock_set_user_ptr(SMPDU_Sock_t sock, void * user_ptr);
-
-
-/*@
-SMPDU_Sock_post_close - request that an existing connection be closed
-@*/
-int SMPDU_Sock_post_close(SMPDU_Sock_t sock);
-
-
-/*E
-SMPDU_Sock_progress_update_func_t - progress update callback functions
-E*/
-typedef int (* SMPDU_Sock_progress_update_func_t)(SMPDU_Sock_size_t num_bytes, void * user_ptr);
-
-
-/*@
-SMPDU_Sock_post_read - request that data be read from a sock
-@*/
-int SMPDU_Sock_post_read(SMPDU_Sock_t sock, void * buf, SMPDU_Sock_size_t minbr, SMPDU_Sock_size_t maxbr,
-                         SMPDU_Sock_progress_update_func_t fn);
-
-
-/*@
-SMPDU_Sock_post_readv - request that a vector of data be read from a sock
-@*/
-int SMPDU_Sock_post_readv(SMPDU_Sock_t sock, SMPD_IOV * iov, int iov_n, SMPDU_Sock_progress_update_func_t fn);
-
-
-/*@
-SMPDU_Sock_post_write - request that data be written to a sock
-@*/
-int SMPDU_Sock_post_write(SMPDU_Sock_t sock, void * buf, SMPDU_Sock_size_t min, SMPDU_Sock_size_t max,
-			  SMPDU_Sock_progress_update_func_t fn);
-
-
-/*@
-SMPDU_Sock_post_writev - request that a vector of data be written to a sock
-@*/
-int SMPDU_Sock_post_writev(SMPDU_Sock_t sock, SMPD_IOV * iov, int iov_n, SMPDU_Sock_progress_update_func_t fn);
-
-
-/*@
-SMPDU_Sock_wait - wait for an event
-@*/
-int SMPDU_Sock_wait(SMPDU_Sock_set_t set, int timeout, SMPDU_Sock_event_t * event);
-
-
-/*@
-SMPDU_Sock_wakeup - wakeup a SMPDU_Sock_wait blocking in another thread
-@*/
-int SMPDU_Sock_wakeup(SMPDU_Sock_set_t set);
-
-/*@
-SMPDU_Sock_read - perform an immediate read
-@*/
-int SMPDU_Sock_read(SMPDU_Sock_t sock, void * buf, SMPDU_Sock_size_t len, SMPDU_Sock_size_t * num_read);
-
-
-/*@
-SMPDU_Sock_readv - perform an immediate vector read
-@*/
-int SMPDU_Sock_readv(SMPDU_Sock_t sock, SMPD_IOV * iov, int iov_n, SMPDU_Sock_size_t * num_read);
-
-
-/*@
-SMPDU_Sock_write - perform an immediate write
-@*/
-int SMPDU_Sock_write(SMPDU_Sock_t sock, void * buf, SMPDU_Sock_size_t len, SMPDU_Sock_size_t * num_written);
-
-
-/*@
-SMPDU_Sock_writev - perform an immediate vector write
-@*/
-int SMPDU_Sock_writev(SMPDU_Sock_t sock, SMPD_IOV * iov, int iov_n, SMPDU_Sock_size_t * num_written);
-
-
-/*@
-SMPDU_Sock_get_sock_id - get an integer identifier for a sock object
-@*/
-int SMPDU_Sock_get_sock_id(SMPDU_Sock_t sock);
-
-
-/*@
-SMPDU_Sock_get_sock_set_id - get an integer identifier for a sock set object
-@*/
-int SMPDU_Sock_get_sock_set_id(SMPDU_Sock_set_t set);
-
-
-/*@
-SMPDU_Sock_get_error_class_string - get a generic error string from an error code
-
-@*/
-int SMPDU_Sock_get_error_class_string(int error, char *error_string, int length);
-
-
-CPLUSPLUS_END
-
-#endif /* !defined(SMPDU_UTIL_SOCK_H_INCLUDED) */
diff --git a/src/pm/smpd/sock/iocp/Makefile.sm b/src/pm/smpd/sock/iocp/Makefile.sm
deleted file mode 100644
index ce58646..0000000
--- a/src/pm/smpd/sock/iocp/Makefile.sm
+++ /dev/null
@@ -1,3 +0,0 @@
-INCLUDES = -I../../../../include -I${master_top_srcdir}/src/include
-lib${MPILIBNAME}_a_SOURCES = smpd_util_sock.c
-smpd_util_sock.o: smpd_util_sock.c smpd_util_socki.h ../include/smpd_util_sock.h
diff --git a/src/pm/smpd/sock/iocp/include/smpd_util_socki.h b/src/pm/smpd/sock/iocp/include/smpd_util_socki.h
deleted file mode 100644
index 10c2c56..0000000
--- a/src/pm/smpd/sock/iocp/include/smpd_util_socki.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-#ifndef SMPD_UTIL_SOCKI_H_INCLUDED
-#define SMPD_UTIL_SOCKI_H_INCLUDED
-
-#include "smpdconf.h"
-#include <winsock2.h>
-#include <windows.h>
-#include <mswsock.h>
-/* 
-	ws2tcpip.h is a C++ header file. This header file,
-	mpidu_socki.h, if included within a extern "C" {}
-	block would give an error if ws2tcpip is not
-	included in a extern "C++" {} block.
-   
- */
-#ifdef __cplusplus
-extern "C++" {
-#endif
-    #include <ws2tcpip.h>
-#ifdef __cplusplus
-}
-#endif
-#include "mpimem.h"
-
-#define SMPDU_SOCK_INVALID_SOCK   NULL
-#define SMPDU_SOCK_INVALID_SET    NULL
-#define SMPDU_SOCK_INFINITE_TIME   INFINITE
-#define inline __inline
-
-typedef HANDLE SMPDU_SOCK_NATIVE_FD;
-typedef HANDLE SMPDU_Sock_set_t;
-typedef struct sock_state_t * SMPDU_Sock_t;
-typedef DWORD SMPDU_Sock_size_t;
-#endif
diff --git a/src/pm/smpd/sock/iocp/smpd_util_sock.c b/src/pm/smpd/sock/iocp/smpd_util_sock.c
deleted file mode 100644
index f5478d7..0000000
--- a/src/pm/smpd/sock/iocp/smpd_util_sock.c
+++ /dev/null
@@ -1,2670 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-
-/*
-#include "mpiimpl.h"
-*/
-#include "smpd.h"
-#include "smpd_util_sock.h"
-
-#define SMPDI_QUOTE(A) SMPDI_QUOTE2(A)
-#define SMPDI_QUOTE2(A) #A
-
-#define SOCKI_TCP_BUFFER_SIZE       32*1024
-#define SOCKI_DESCRIPTION_LENGTH    256
-#define SOCKI_NUM_PREPOSTED_ACCEPTS 32
-
-typedef enum SOCKI_TYPE { SOCKI_INVALID, SOCKI_LISTENER, SOCKI_SOCKET, SOCKI_WAKEUP } SOCKI_TYPE;
-
-typedef int SOCKI_STATE;
-#define SOCKI_ACCEPTING  0x0001
-#define SOCKI_CONNECTING 0x0004
-#define SOCKI_READING    0x0008
-#define SOCKI_WRITING    0x0010
-
-typedef struct sock_buffer
-{
-    DWORD num_bytes;
-    OVERLAPPED ovl;
-    SMPD_IOV tiov;
-#ifdef USE_SOCK_IOV_COPY
-    SMPD_IOV iov[SMPD_IOV_MAXLEN];
-#else
-    SMPD_IOV *iov;
-#endif
-    int iovlen;
-    int index;
-    SMPDU_Sock_size_t total;
-    SMPDU_Sock_progress_update_func_t progress_update;
-} sock_buffer;
-
-typedef struct sock_state_t
-{
-    SOCKI_TYPE type;
-    SOCKI_STATE state;
-    SOCKET sock;
-    SMPDU_Sock_set_t set;
-    int closing;
-    int pending_operations;
-    /* listener/accept structures */
-    SOCKET listen_sock;
-    char accept_buffer[sizeof(struct sockaddr_in)*2+32];
-    /* read and write structures */
-    sock_buffer read;
-    sock_buffer write;
-    /* connect structures */
-    char *cur_host;
-    char host_description[SOCKI_DESCRIPTION_LENGTH];
-    /* user pointer */
-    void *user_ptr;
-    /* internal list */
-    struct sock_state_t *list, *next;
-    int accepted;
-    int listener_closed;
-    /* timing variables for completion notification */
-    /*
-    double rt1, rt2;
-    double wt1, wt2;
-    double ct1, ct2;
-    */
-    struct sock_state_t *next_sock;
-} sock_state_t;
-
-static int g_num_cp_threads = 2;
-static int g_socket_buffer_size = SOCKI_TCP_BUFFER_SIZE;
-static int g_socket_rbuffer_size = SOCKI_TCP_BUFFER_SIZE;
-static int g_socket_sbuffer_size = SOCKI_TCP_BUFFER_SIZE;
-static int g_init_called = 0;
-static int g_num_posted_accepts = SOCKI_NUM_PREPOSTED_ACCEPTS;
-static int g_min_port = 0;
-static int g_max_port = 0;
-
-static sock_state_t *g_sock_list = NULL;
-
-/* empty structure used to wake up a sock_wait call */
-sock_state_t g_wakeup_state;
-
-static void translate_error(int error, char *msg, char *prepend)
-{
-    HLOCAL str;
-    int num_bytes;
-    num_bytes = FormatMessage(
-	FORMAT_MESSAGE_FROM_SYSTEM |
-	FORMAT_MESSAGE_ALLOCATE_BUFFER,
-	0,
-	error,
-	MAKELANGID( LANG_NEUTRAL, SUBLANG_DEFAULT ),
-	(LPTSTR) &str,
-	0,0);
-    if (num_bytes == 0){
-	    if (prepend != NULL){
-	        MPIU_Strncpy(msg, prepend, 1024);
-        }
-	    else{
-	        *msg = '\0';
-        }
-    }
-    else{
-	    if (prepend == NULL){
-	        memcpy(msg, str, num_bytes+1);
-        }
-	    else{
-	        MPIU_Snprintf(msg, 1024, "%s%s", prepend, (const char*)str);
-        }
-	    LocalFree(str);
-	    strtok(msg, "\r\n");
-    }
-}
-
-static char *get_err_string(int error_code)
-{
-    /* obviously not thread safe to store a message like this */
-    static char error_msg[1024];
-    translate_error(error_code, error_msg, NULL);
-    return error_msg;
-}
-
-#undef FUNCNAME
-#define FUNCNAME easy_create
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-static int easy_create_ranged(SOCKET *sock, int port, unsigned long addr)
-{
-    int result;
-    /*struct linger linger;*/
-    int optval, len;
-    SOCKET temp_sock;
-    SOCKADDR_IN sockAddr;
-    int use_range = 0;
-
-    /* create the non-blocking socket */
-    temp_sock = WSASocket(PF_INET, SOCK_STREAM, 0, NULL, 0, WSA_FLAG_OVERLAPPED);
-    if (temp_sock == INVALID_SOCKET){
-	    result = WSAGetLastError();
-	    /*
-	    result = SMPDR_Err_create_code(SMPD_SUCCESS, SMPDR_ERR_RECOVERABLE, FCNAME, __LINE__, SMPDU_SOCK_ERR_FAIL, "**socket", "**socket %s %d", get_error_string(result), result);
-	    */
-	    smpd_err_printf("Error creating a socket, %s (%d) \n", get_err_string(result), result);
-	    return result;
-    }
-    
-    if (port == 0 && g_min_port != 0 && g_max_port != 0){
-	    use_range = 1;
-	    port = g_min_port;
-    }
-
-    memset(&sockAddr,0,sizeof(sockAddr));
-    
-    sockAddr.sin_family = AF_INET;
-    sockAddr.sin_addr.s_addr = addr;
-    sockAddr.sin_port = htons((unsigned short)port);
-
-    for (;;){
-	    if (bind(temp_sock, (SOCKADDR*)&sockAddr, sizeof(sockAddr)) == SOCKET_ERROR){
-	        if (use_range){
-		        port++;
-		        if (port > g_max_port){
-                    /*
-		            result = SMPDR_Err_create_code(SMPD_SUCCESS, SMPDR_ERR_RECOVERABLE, FCNAME, __LINE__, SMPDU_SOCK_ERR_FAIL, "**socket", 0);
-                    */
-                    result = SMPD_FAIL;
-                    smpd_err_printf("Error binding socket to given port range, %s (%d)\n", get_err_string(result), result);
-		            return result;
-		        }
-		        sockAddr.sin_port = htons((unsigned short)port);
-	        }
-	        else{
-		        result = WSAGetLastError();
-                /*
-		        result = SMPDR_Err_create_code(SMPD_SUCCESS, SMPDR_ERR_RECOVERABLE, FCNAME, __LINE__, SMPDU_SOCK_ERR_FAIL, "**socket", "**socket %s %d", get_error_string(result), result);
-                */
-                smpd_err_printf("Error binding socket to given port, %s (%d) \n", get_err_string(result), result);
-		        return result;
-	        }
-	    }
-	    else{
-	        break;
-	    }
-    }
-
-    /* Set the linger on close option */
-    /*
-    linger.l_onoff = 1 ;
-    linger.l_linger = 60;
-    setsockopt(temp_sock, SOL_SOCKET, SO_LINGER, (char*)&linger, sizeof(linger));
-    */
-
-    /* set the socket to non-blocking */
-    /*
-    optval = TRUE;
-    ioctlsocket(temp_sock, FIONBIO, &optval);
-    */
-
-    /* set the socket buffers */
-    len = sizeof(int);
-    if (!getsockopt(temp_sock, SOL_SOCKET, SO_RCVBUF, (char*)&optval, &len)){
-	    optval = g_socket_rbuffer_size;
-	    if(setsockopt(temp_sock, SOL_SOCKET, SO_RCVBUF, (char*)&optval, sizeof(int))
-            == SOCKET_ERROR){
-            result = WSAGetLastError();
-            smpd_dbg_printf("Error setting SO_RCVBUF option for socket, %s (%d)\n", get_err_string(result), result);
-            /* Don't fail on error in setting the SO_RCVBUF option */
-        }
-    }
-    len = sizeof(int);
-    if (!getsockopt(temp_sock, SOL_SOCKET, SO_SNDBUF, (char*)&optval, &len)){
-	    optval = g_socket_sbuffer_size;
-	    if(setsockopt(temp_sock, SOL_SOCKET, SO_SNDBUF, (char*)&optval, sizeof(int))
-            == SOCKET_ERROR){
-            result = WSAGetLastError();
-            smpd_dbg_printf("Error setting SO_SNDBUF option for socket, %s (%d)\n", get_err_string(result), result);
-            /* Don't fail on error in setting the SO_SNDBUF option */
-        }
-    }
-
-    /* prevent the socket from being inherited by child processes */
-    /* FIXME: Use WSADuplicateSocket() instead */
-    if (!DuplicateHandle(
-	        GetCurrentProcess(), (HANDLE)temp_sock,
-	        GetCurrentProcess(), (HANDLE*)sock,
-	        0, FALSE, DUPLICATE_CLOSE_SOURCE | DUPLICATE_SAME_ACCESS)){
-	    result = GetLastError();
-        /*
-	    result = SMPDR_Err_create_code(SMPD_SUCCESS, SMPDR_ERR_RECOVERABLE, FCNAME, __LINE__, SMPDU_SOCK_ERR_FAIL, "**duphandle", "**duphandle %s %d", get_error_string(result), result);
-        */
-        smpd_err_printf("Error duplicating socket handle, %s (%d)\n", get_err_string(result), result);
-	    return result;
-    }
-
-    /* Set the no-delay option */
-    if(setsockopt(*sock, IPPROTO_TCP, TCP_NODELAY, (char *)&optval, sizeof(optval))
-        == SOCKET_ERROR){
-        result = WSAGetLastError();
-        smpd_dbg_printf("Error setting TCP_NODELAY option for socket, %s (%d)\n", get_err_string(result), result);
-        /* Don't fail on error in setting the TCP_NODELAY option */
-    }
-
-    return SMPD_SUCCESS;
-}
-
-#undef FUNCNAME
-#define FUNCNAME easy_create
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-static int easy_create(SOCKET *sock, int port, unsigned long addr)
-{
-    int result;
-    /*struct linger linger;*/
-    int optval, len;
-    SOCKET temp_sock;
-    SOCKADDR_IN sockAddr;
-
-    /* create the non-blocking socket */
-    temp_sock = WSASocket(PF_INET, SOCK_STREAM, 0, NULL, 0, WSA_FLAG_OVERLAPPED);
-    if (temp_sock == INVALID_SOCKET){
-	    result = WSAGetLastError();
-        /*
-	    result = SMPDR_Err_create_code(SMPD_SUCCESS, SMPDR_ERR_RECOVERABLE, FCNAME, __LINE__, SMPDU_SOCK_ERR_FAIL, "**socket", "**socket %s %d", get_error_string(result), result);
-        */
-        smpd_err_printf("Error creating a socket, %s (%d)\n", get_err_string(result), result);
-	    return result;
-    }
-    
-    memset(&sockAddr,0,sizeof(sockAddr));
-    
-    sockAddr.sin_family = AF_INET;
-    sockAddr.sin_addr.s_addr = addr;
-    sockAddr.sin_port = htons((unsigned short)port);
-
-    if (bind(temp_sock, (SOCKADDR*)&sockAddr, sizeof(sockAddr)) == SOCKET_ERROR){
-	    result = WSAGetLastError();
-        /*
-	    result = SMPDR_Err_create_code(SMPD_SUCCESS, SMPDR_ERR_RECOVERABLE, FCNAME, __LINE__, SMPDU_SOCK_ERR_FAIL, "**socket", "**socket %s %d", get_error_string(result), result);
-        */
-        smpd_err_printf("Error binding socket to port, %s (%d)\n", get_err_string(result), result);
-	    return result;
-    }
-    
-    /* Set the linger on close option */
-    /*
-    linger.l_onoff = 1 ;
-    linger.l_linger = 60;
-    setsockopt(temp_sock, SOL_SOCKET, SO_LINGER, (char*)&linger, sizeof(linger));
-    */
-
-    /* set the socket to non-blocking */
-    /*
-    optval = TRUE;
-    ioctlsocket(temp_sock, FIONBIO, &optval);
-    */
-
-    /* set the socket buffers */
-    len = sizeof(int);
-    if (!getsockopt(temp_sock, SOL_SOCKET, SO_RCVBUF, (char*)&optval, &len)){
-	    optval = g_socket_rbuffer_size;
-	    if(setsockopt(temp_sock, SOL_SOCKET, SO_RCVBUF, (char*)&optval, sizeof(int))
-            == SOCKET_ERROR){
-            result = WSAGetLastError();
-            smpd_dbg_printf("Error setting SO_RCVBUF option for socket, %s (%d)\n", get_err_string(result), result);
-            /* Don't fail on error in setting the SO_RCVBUF option */
-        }
-    }
-    len = sizeof(int);
-    if (!getsockopt(temp_sock, SOL_SOCKET, SO_SNDBUF, (char*)&optval, &len)){
-	    optval = g_socket_sbuffer_size;
-	    if(setsockopt(temp_sock, SOL_SOCKET, SO_SNDBUF, (char*)&optval, sizeof(int))
-            == SOCKET_ERROR){
-            result = WSAGetLastError();
-            smpd_dbg_printf("Error setting SO_SNDBUF option for socket, %s (%d)\n", get_err_string(result), result);
-            /* Don't fail on error in setting the SO_SNDBUF option */
-        }
-    }
-
-    /* prevent the socket from being inherited by child processes */
-    /* FIXME: Use WSADuplicateSocket instead */
-    if (!DuplicateHandle(
-	    GetCurrentProcess(), (HANDLE)temp_sock,
-	    GetCurrentProcess(), (HANDLE*)sock,
-	    0, FALSE, DUPLICATE_CLOSE_SOURCE | DUPLICATE_SAME_ACCESS)){
-	    result = GetLastError();
-        /*
-	    result = SMPDR_Err_create_code(SMPD_SUCCESS, SMPDR_ERR_RECOVERABLE, FCNAME, __LINE__, SMPDU_SOCK_ERR_FAIL, "**duphandle", "**duphandle %s %d", get_error_string(result), result);
-        */
-        smpd_err_printf("Error duplicating socket handle, %s (%d)\n", get_err_string(result), result);
-	    return result;
-    }
-
-    /* Set the no-delay option */
-    if(setsockopt(*sock, IPPROTO_TCP, TCP_NODELAY, (char *)&optval, sizeof(optval))
-        == SOCKET_ERROR){
-        result = WSAGetLastError();
-        smpd_dbg_printf("Error setting TCP_NODELAY option for socket, %s (%d)\n", get_err_string(result), result);
-        /* Don't fail on error in setting the TCP_NODELAY option */
-    }
-
-    return SMPD_SUCCESS;
-}
-
-static inline int easy_get_sock_info(SOCKET sock, char *name, int *port)
-{
-    int result;
-    struct sockaddr_in addr;
-    int name_len = sizeof(addr);
-    DWORD len = 100;
-
-    if(getsockname(sock, (struct sockaddr*)&addr, &name_len)
-        == SOCKET_ERROR){
-        result = WSAGetLastError();
-        smpd_err_printf("Error retreiving local name for socket, %s (%d)\n", get_err_string(result), result);
-        return result;
-    }
-    *port = ntohs(addr.sin_port);
-    /*GetComputerName(name, &len);*/
-    if(!GetComputerNameEx(ComputerNameDnsFullyQualified, name, &len)){
-        result = WSAGetLastError();
-        smpd_err_printf("Error retreiving NetBios/DNS name for socket, %s (%d)\n", get_err_string(result), result);
-        return result;
-    }
-    /*gethostname(name, 100);*/
-    return SMPD_SUCCESS;
-}
-
-static inline void init_state_struct(sock_state_t *p)
-{
-    if(p == NULL){
-        smpd_dbg_printf("Error initializing state struct: Invalid pointer to state struct\n");
-        return;
-    }
-    p->listen_sock = INVALID_SOCKET;
-    p->sock = INVALID_SOCKET;
-    p->set = INVALID_HANDLE_VALUE;
-    p->user_ptr = NULL;
-    p->type = 0;
-    p->state = 0;
-    p->closing = FALSE;
-    p->pending_operations = 0;
-    p->read.total = 0;
-    p->read.num_bytes = 0;
-    p->read.tiov.SMPD_IOV_BUF = NULL;
-#ifndef USE_SOCK_IOV_COPY
-    p->read.iov = NULL;
-#endif
-    p->read.iovlen = 0;
-    p->read.ovl.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
-    p->read.ovl.Offset = 0;
-    p->read.ovl.OffsetHigh = 0;
-    p->read.progress_update = NULL;
-    p->write.total = 0;
-    p->write.num_bytes = 0;
-    p->write.tiov.SMPD_IOV_BUF = NULL;
-#ifndef USE_SOCK_IOV_COPY
-    p->write.iov = NULL;
-#endif
-    p->write.iovlen = 0;
-    p->write.ovl.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
-    p->write.ovl.Offset = 0;
-    p->write.ovl.OffsetHigh = 0;
-    p->write.progress_update = NULL;
-    p->list = NULL;
-    p->next = NULL;
-    p->accepted = 0;
-    p->listener_closed = 0;
-    /*
-    p->bogus_t1 = 0;
-    p->bogus_t2 = 0;
-    */
-    p->next_sock = g_sock_list;
-    g_sock_list = p;
-}
-
-#undef FUNCNAME
-#define FUNCNAME post_next_accept
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-static inline int post_next_accept(sock_state_t * context)
-{
-    int result;
-    context->state = SOCKI_ACCEPTING;
-    context->accepted = 0;
-    /*printf("posting an accept.\n");fflush(stdout);*/
-    context->sock = WSASocket(PF_INET, SOCK_STREAM, 0, NULL, 0, WSA_FLAG_OVERLAPPED);
-    if (context->sock == INVALID_SOCKET){
-        result = WSAGetLastError();
-        smpd_err_printf("Error creating a socket, %s (%d)\n", get_err_string(result), result);
-        return result;
-    }
-    if (!AcceptEx(
-	    context->listen_sock, 
-	    context->sock, 
-	    context->accept_buffer, 
-	    0, 
-	    sizeof(struct sockaddr_in)+16, 
-	    sizeof(struct sockaddr_in)+16, 
-	    &context->read.num_bytes,
-	    &context->read.ovl)){
-	    
-        result = WSAGetLastError();
-	    if (result == ERROR_IO_PENDING){
-	        return SMPD_SUCCESS;
-        }
-	    /*SMPDU_Error_printf("AcceptEx failed with error %d\n", error);fflush(stdout);
-	    result = SMPDR_Err_create_code(SMPD_SUCCESS, SMPDR_ERR_RECOVERABLE, FCNAME, __LINE__, SMPDU_SOCK_ERR_FAIL, "**fail", "**fail %s %d", get_error_string(result), result);
-        */
-        smpd_err_printf("Error accepting a new connection, %s (%d)\n", get_err_string(result), result);
-	    return result;
-    }
-    return SMPD_SUCCESS;
-}
-
-/* sock functions */
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_init
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_init(){
-    int result;
-    char *szNum, *szRange;
-    WSADATA wsaData;
-    int err;
-
-    smpd_enter_fn(FCNAME);
-
-    /* FIXME: Do we need this any more ? - PM sock util is single threaded */
-    if (g_init_called){
-	    g_init_called++;
-	    return SMPD_SUCCESS;
-    }
-
-    /* Start the Winsock dll */
-    if ((err = WSAStartup(MAKEWORD(2, 0), &wsaData)) != 0){
-        /*
-    	result = SMPDR_Err_create_code(SMPD_SUCCESS, SMPDR_ERR_FATAL, FCNAME, __LINE__, SMPDU_SOCK_ERR_FAIL, "**wsasock", "**wsasock %s %d", get_error_string(err), err);
-    	smpd_exit_fn(FCNAME);
-        */
-        result = SMPD_FAIL;
-        smpd_err_printf("Error initializing winsock, %s (%d)\n", get_err_string(result), result);
-        smpd_exit_fn(FCNAME);
-        return result;
-    }
-
-    /* get the socket buffer size */
-    szNum = getenv("SMPD_SOCKET_BUFFER_SIZE");
-    if (szNum != NULL){
-	    g_socket_buffer_size = atoi(szNum);
-	    if (g_socket_buffer_size < 0){
-	        g_socket_buffer_size = SOCKI_TCP_BUFFER_SIZE;
-        }
-    }
-
-    g_socket_rbuffer_size = g_socket_buffer_size;
-    g_socket_sbuffer_size = g_socket_buffer_size;
-
-    szNum = getenv("SMPD_SOCKET_RBUFFER_SIZE");
-    if (szNum != NULL){
-	    g_socket_rbuffer_size = atoi(szNum);
-	    if (g_socket_rbuffer_size < 0){
-	        g_socket_rbuffer_size = g_socket_buffer_size;
-        }
-    }
-
-    szNum = getenv("SMPD_SOCKET_SBUFFER_SIZE");
-    if (szNum != NULL){
-	    g_socket_sbuffer_size = atoi(szNum);
-	    if (g_socket_sbuffer_size < 0){
-	        g_socket_sbuffer_size = g_socket_buffer_size;
-        }
-    }
-
-
-    /* get the number of accepts to pre-post */
-    szNum = getenv("SMPD_SOCKET_NUM_PREPOSTED_ACCEPTS");
-    if (szNum != NULL){
-	    g_num_posted_accepts = atoi(szNum);
-	    if (g_num_posted_accepts < 1){
-	        g_num_posted_accepts = SOCKI_NUM_PREPOSTED_ACCEPTS;
-        }
-    }
-
-    /* check to see if a port range was specified */
-    szRange = getenv("SMPD_PORT_RANGE");
-    if (szRange != NULL){
-	    szNum = strtok(szRange, ",.:"); /* tokenize min,max and min..max and min:max */
-	    if (szNum){
-	        g_min_port = atoi(szNum);
-	        szNum = strtok(NULL, ",.:");
-	        if (szNum){
-		        g_max_port = atoi(szNum);
-	        }
-	    }
-	    /* check for invalid values */
-	    if (g_min_port < 0 || g_max_port < g_min_port){
-	        g_min_port = g_max_port = 0;
-	    }
-	    /*
-	    printf("using min_port = %d, max_port = %d\n", g_min_port, g_max_port);
-	    fflush(stdout);
-	    */
-    }
-
-    init_state_struct(&g_wakeup_state);
-    g_wakeup_state.type = SOCKI_WAKEUP;
-
-    g_init_called = 1;
-    /*printf("sock init %d\n", g_init_called);fflush(stdout);*/
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_finalize
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_finalize()
-{
-    sock_state_t *iter;
-
-    smpd_enter_fn(FCNAME);
-    if (!g_init_called){
-        /*
-	    result = SMPDR_Err_create_code(SMPD_SUCCESS, SMPDR_ERR_RECOVERABLE, FCNAME, __LINE__, SMPDU_SOCK_ERR_INIT, "**sock_init", 0);
-	    smpd_exit_fn(FCNAME);
-        */
-        smpd_err_printf("Error finalizing sock, Trying to finalize sock before init\n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-
-    }
-    g_init_called--;
-    if (g_init_called == 0){
-	    iter = g_sock_list;
-	    while (iter){
-	        if (iter->sock != INVALID_SOCKET){
-		        /*printf("sock %d not closed before finalize\n", iter->sock);fflush(stdout);*/
-		        closesocket(iter->sock);
-		        iter->sock = INVALID_SOCKET;
-            }
-	        iter = iter->next_sock;
-	        if (iter == g_sock_list){
-		        /* catch loops */
-		        /*printf("sock list has a loop\n");fflush(stdout);*/
-		        break;
-	        }
-	    }
-	    WSACleanup();
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-typedef struct socki_host_name_t{
-    char host[256];
-    struct socki_host_name_t *next;
-} socki_host_name_t;
-
-static int already_used_or_add(char *host, socki_host_name_t **list)
-{
-    socki_host_name_t *iter, *trailer;
-
-    /* check if the host already has been used */
-    iter = trailer = *list;
-    while (iter){
-	    if (strcmp(iter->host, host) == 0){
-	        return 1;
-	    }
-	    if (trailer != iter){
-	        trailer = trailer->next;
-        }
-	    iter = iter->next;
-    }
-
-    /* the host has not been used so add a node for it */
-    iter = (socki_host_name_t*)MPIU_Malloc(sizeof(socki_host_name_t));
-    if (!iter){
-	    /* if out of memory then treat it as not found */
-        smpd_dbg_printf("Adding host to host list failed : malloc() failed\n");
-	    return SMPD_SUCCESS;
-    }
-    MPIU_Strncpy(iter->host, host, 256);
-
-    /* insert new hosts at the end of the list */
-    if (trailer != NULL){
-        trailer->next = iter;
-        iter->next = NULL;
-    }
-    else{
-        iter->next = NULL;
-        *list = iter;
-    }
-    /* insert new hosts at the beginning of the list                            
-    iter->next = *list;                                                         
-    *list = iter;                                                               
-    */
-    return SMPD_SUCCESS;
-}
-
-static void socki_free_host_list(socki_host_name_t *list)
-{
-    socki_host_name_t *iter;
-    while (list){
-	    iter = list;
-	    list = list->next;
-	    MPIU_Free(iter);
-    }
-}
-
-static int socki_get_host_list(char *hostname, socki_host_name_t **listp)
-{
-    int result;
-    struct addrinfo *res, *iter, hint;
-    char host[256];
-    socki_host_name_t *list = NULL;
-
-    /* add the hostname to the beginning of the list */
-    already_used_or_add(hostname, &list);
-
-    hint.ai_flags = AI_PASSIVE | AI_CANONNAME;
-    hint.ai_family = PF_UNSPEC;
-    hint.ai_socktype = SOCK_STREAM;
-    hint.ai_protocol = 0;
-    hint.ai_addrlen = 0;
-    hint.ai_canonname = NULL;
-    hint.ai_addr = 0;
-    hint.ai_next = NULL;
-    if ((result = getaddrinfo(hostname, NULL, NULL/*&hint*/, &res))){
-        /*
-        result = SMPDR_Err_create_code(SMPD_SUCCESS, SMPDR_ERR_RECOVERABLE, FCNAME, __LINE__, SMPDU_SOCK_ERR_FAIL, "**getinfo", "**getinfo %s %d", strerror(errno), errno);
-        */
-        smpd_err_printf("Error translating ANSI hostname to an address, %s (%d)\n", get_err_string(result), result);
-        return result;
-    }
-
-    /* add the host names */
-    iter = res;
-    while (iter){
-        if (iter->ai_canonname){
-            already_used_or_add(iter->ai_canonname, &list);
-        }
-        else{
-            switch (iter->ai_family){
-                case PF_INET:
-                case PF_INET6:
-                    if (getnameinfo(iter->ai_addr, (socklen_t)iter->ai_addrlen, host, 256, NULL, 0, 0) == 0){
-                        already_used_or_add(host, &list);
-                    }
-                    break;
-                default:
-                    smpd_dbg_printf("Unknown socket family\n");
-                    break;
-            }
-        }
-        iter = iter->ai_next;
-    }
-    /* add the names again, this time as ip addresses */
-    iter = res;
-    while (iter){
-        switch (iter->ai_family){
-            case PF_INET:
-            case PF_INET6:
-                if (getnameinfo(iter->ai_addr, (socklen_t)iter->ai_addrlen, host, 256, NULL, 0, NI_NUMERICHOST) == 0){
-                    already_used_or_add(host, &list);
-                }
-                break;
-            default:
-                smpd_dbg_printf("Unknown socket family\n");
-                break;
-        }
-        iter = iter->ai_next;
-    }
-    if (res){
-        freeaddrinfo(res);
-    }
-
-    *listp = list;
-    return SMPD_SUCCESS;
-}
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_hostname_to_host_description
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_hostname_to_host_description(char *hostname, char *host_description, int len)
-{
-    int result = SMPD_SUCCESS;
-    socki_host_name_t *iter, *list = NULL;
-
-    smpd_enter_fn(FCNAME);
-
-    if (!g_init_called){
-        /*
-	    result = SMPDR_Err_create_code(SMPD_SUCCESS, SMPDR_ERR_RECOVERABLE, FCNAME, __LINE__, SMPDU_SOCK_ERR_INIT, "**sock_init", 0);
-	    smpd_exit_fn(FCNAME);
-        */
-        smpd_err_printf("Attempting to use sock functions without initializing sock\n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-
-    result = socki_get_host_list(hostname, &list);
-    if (result != SMPD_SUCCESS){
-        /*
-        result = SMPDR_Err_create_code(result, SMPDR_ERR_RECOVERABLE, FCNAME, __LINE__, SMPD_ERR_OTHER, "**fail", 0);
-        */
-        smpd_err_printf("Failed to retrieve host list\n");
-        goto fn_exit;
-    }
-
-    iter = list;
-    while (iter){
-        smpd_dbg_printf("adding host: %s to host list\n", iter->host);
-        result = MPIU_Str_add_string(&host_description, &len, iter->host);
-        if (result != MPIU_STR_SUCCESS){
-            /*
-            result = SMPDR_Err_create_code(result, SMPDR_ERR_RECOVERABLE, FCNAME, __LINE__, SMPDU_SOCK_ERR_NOMEM, "**desc_len", 0);
-            */
-            smpd_err_printf("Unable to add host to host description\n");
-            goto fn_exit;
-        }
-        iter = iter->next;
-    }
-
- fn_exit:
-    socki_free_host_list(list);
-
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_get_host_description
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_get_host_description(int myRank, 
-				    char * host_description, int len)
-{
-    int result;
-    char hostname[100];
-    DWORD length = 100;
-    char *env;
-
-    smpd_exit_fn(FCNAME);
-    if (!g_init_called){
-        /*
-	    result = SMPDR_Err_create_code(SMPD_SUCCESS, SMPDR_ERR_RECOVERABLE, FCNAME, __LINE__, SMPDU_SOCK_ERR_INIT, "**sock_init", 0);
-	    smpd_exit_fn(FCNAME);
-        */
-        smpd_err_printf("Attempting to use sock functions without initializing sock\n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-
-    env = getenv("SMPD_INTERFACE_HOSTNAME");
-    if (env != NULL && *env != '\0'){
-	    MPIU_Strncpy(hostname, env, sizeof(hostname));
-    }
-    else{
-    	/*if (gethostname(hostname, 100) == SOCKET_ERROR)*/
-	    /*if (!GetComputerName(hostname, &length))*/
-	    if (!GetComputerNameEx(ComputerNameDnsFullyQualified, hostname, &length)){
-	        result = WSAGetLastError();
-            /*
-	        result = SMPDR_Err_create_code(SMPD_SUCCESS, SMPDR_ERR_RECOVERABLE, FCNAME, __LINE__, SMPDU_SOCK_ERR_FAIL, "**sock_gethost", "**sock_gethost %s %d", get_error_string(result), result);
-	        smpd_exit_fn(FCNAME);
-            */
-            smpd_err_printf("Error retrieving NetBios/DNS name for socket, %s (%d)\n", get_err_string(result), result);
-            smpd_exit_fn(FCNAME);
-	        return result;
-	    }
-    }
-
-    result = SMPDU_Sock_hostname_to_host_description(hostname, host_description, len);
-    if (result != SMPD_SUCCESS){
-        /*
-	    result = SMPDR_Err_create_code(result, SMPDR_ERR_RECOVERABLE, FCNAME, __LINE__, SMPD_ERR_OTHER, "**fail", 0);
-        */
-        smpd_err_printf("Error retrieving host description for hostname\n");
-        smpd_exit_fn(FCNAME);
-        return result;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_create_set
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_create_set(SMPDU_Sock_set_t * set)
-{
-    int result;
-    HANDLE port;
-
-    smpd_enter_fn(FCNAME);
-
-    if (!g_init_called){
-        smpd_err_printf("Attempting to use sock functions without initializing sock\n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-    port = CreateIoCompletionPort(INVALID_HANDLE_VALUE, NULL, 0, g_num_cp_threads);
-    if (port != NULL){
-	    *set = port;
-    }
-    else{
-        result = GetLastError();
-        /*
-        result = SMPDR_Err_create_code(SMPD_SUCCESS, SMPDR_ERR_RECOVERABLE, FCNAME, __LINE__, SMPDU_SOCK_ERR_FAIL, "**iocp", "**iocp %s %d", get_error_string(result), result);
-        smpd_exit_fn(FCNAME);
-        */
-        smpd_err_printf("Error creating IO Completion port, %s (%d)\n", get_err_string(result), result);
-        smpd_exit_fn(FCNAME);
-        return result;
-    }
-    return SMPD_SUCCESS;
-}
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_destroy_set
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_destroy_set(SMPDU_Sock_set_t set)
-{
-    int result;
-    smpd_enter_fn(FCNAME);
-    if (!g_init_called){
-        smpd_err_printf("Attempting to use sock functions without initializing sock\n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-    if (!CloseHandle(set)){
-	    result = GetLastError();
-        smpd_err_printf("Error closing handle, %s (%d)\n", get_err_string(result), result);
-        smpd_exit_fn(FCNAME);
-    	return result;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_native_to_sock
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_native_to_sock(SMPDU_Sock_set_t set, SMPDU_SOCK_NATIVE_FD fd, void *user_ptr, SMPDU_Sock_t *sock_ptr)
-{
-    int result;
-    /*int ret_val;*/
-    sock_state_t *sock_state;
-    /*u_long optval;*/
-
-    smpd_enter_fn(FCNAME);
-
-    if (!g_init_called){
-        smpd_err_printf("Attempting to use sock functions without initializing sock\n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-
-    /* setup the structures */
-    sock_state = (sock_state_t*)MPIU_Malloc(sizeof(sock_state_t));
-    if (sock_state == NULL){
-        smpd_err_printf("Error allocating memory for sock state, no memory available\n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-
-    init_state_struct(sock_state);
-    sock_state->sock = (SOCKET)fd;
-
-    /* set the socket to non-blocking */
-    /* leave the native handle in the state passed in?
-    optval = TRUE;
-    ioctlsocket(sock_state->sock, FIONBIO, &optval);
-    */
-
-    sock_state->user_ptr = user_ptr;
-    sock_state->type = SOCKI_SOCKET;
-    sock_state->state = 0;
-    sock_state->set = set;
-
-    /* associate the socket with the completion port */
-    /*printf("CreateIOCompletionPort(%d, %p, %p, %d)\n", sock_state->sock, set, sock_state, g_num_cp_threads);fflush(stdout);*/
-    if (CreateIoCompletionPort((HANDLE)sock_state->sock, set, (ULONG_PTR)sock_state, g_num_cp_threads) == NULL){
-        result = GetLastError();
-        smpd_err_printf("Error associating sock with IO Completion port, %s (%d)\n", get_err_string(result), result);
-        smpd_exit_fn(FCNAME);
-        return result;
-    }
-
-    *sock_ptr = sock_state;
-
-    /*printf("native socket %d\n", sock_state->sock);fflush(stdout);*/
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_listen
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_listen(SMPDU_Sock_set_t set, void * user_ptr, int * port, SMPDU_Sock_t * sock)
-{
-    int result;
-    char host[100];
-    sock_state_t * listen_state, **listener_copies;
-    int i;
-
-    smpd_enter_fn(FCNAME);
-
-    if (!g_init_called){
-        smpd_err_printf("Attempting to use sock functions without initializing sock\n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;    }
-
-    listen_state = (sock_state_t*)MPIU_Malloc(sizeof(sock_state_t));
-    init_state_struct(listen_state);
-    result = easy_create_ranged(&listen_state->listen_sock, *port, INADDR_ANY);
-    if (result != SMPD_SUCCESS){
-        smpd_err_printf("Error creating listen sock \n");
-        smpd_exit_fn(FCNAME);
-	    return result;
-    }
-    if (listen(listen_state->listen_sock, SOMAXCONN) == SOCKET_ERROR){
-	    result = WSAGetLastError();
-        smpd_err_printf("Error setting socket to listen state, %s (%d)\n", get_err_string(result), result);
-        smpd_exit_fn(FCNAME);
-	    return result;
-    }
-    if (CreateIoCompletionPort((HANDLE)listen_state->listen_sock, set, (ULONG_PTR)listen_state, g_num_cp_threads) == NULL){
-        result = GetLastError();
-        smpd_err_printf("Error associating sock with IO Completion port, %s (%d)\n", get_err_string(result), result);
-        smpd_exit_fn(FCNAME);
-        return result;
-    }
-
-    easy_get_sock_info(listen_state->listen_sock, host, port);
-    listen_state->user_ptr = user_ptr;
-    listen_state->type = SOCKI_LISTENER;
-    listen_state->set = set;
-
-    /* post the accept(s) last to make sure the listener state structure is completely initialized before
-       a completion thread has the chance to satisfy the AcceptEx call */
-
-    listener_copies = (sock_state_t**)MPIU_Malloc(g_num_posted_accepts * sizeof(sock_state_t*));
-    for (i=0; i<g_num_posted_accepts; i++){
-	    listener_copies[i] = (sock_state_t*)MPIU_Malloc(sizeof(sock_state_t));
-	    memcpy(listener_copies[i], listen_state, sizeof(*listen_state));
-	    if (i > 0){
-	        listener_copies[i]->next = listener_copies[i-1];
-	    }
-    	result = post_next_accept(listener_copies[i]);
-	    if (result != SMPD_SUCCESS){
-	        MPIU_Free(listener_copies);
-            smpd_err_printf("Posting next accept on socket failed\n");
-            smpd_exit_fn(FCNAME);
-	        return result;
-	    }
-    }
-
-    listen_state->list = listener_copies[g_num_posted_accepts-1];
-    MPIU_Free(listener_copies);
-
-    *sock = listen_state;
-    /*printf("listening socket %d\n", listen_state->listen_sock);fflush(stdout);*/
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_accept
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_accept(SMPDU_Sock_t listener_sock, SMPDU_Sock_set_t set, void * user_ptr, SMPDU_Sock_t * sock)
-{
-    int result;
-    BOOL b;
-    /*struct linger linger;*/
-    u_long optval;
-    int len;
-    sock_state_t *accept_state, *iter;
-
-    smpd_enter_fn(FCNAME);
-    if (!g_init_called){
-        smpd_err_printf("Attempting to use sock functions without initializing sock\n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-
-    accept_state = MPIU_Malloc(sizeof(sock_state_t));
-    if (accept_state == NULL){
-	    *sock = NULL;
-        smpd_err_printf("Error allocating memory for sock state, no memory available\n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-    init_state_struct(accept_state);
-
-    accept_state->type = SOCKI_SOCKET;
-
-    /* find the listener copy that satisfied the acceptex call and post another accept */
-    iter = listener_sock->list;
-    while (iter != NULL && iter->accepted == 0)
-	iter = iter->next;
-    if (iter == NULL){
-        smpd_err_printf("Error finding the listener copy that satisfied accept\n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-    accept_state->sock = iter->sock;
-    result = post_next_accept(iter);
-    if (result != SMPD_SUCCESS){
-	    *sock = NULL;
-        smpd_err_printf("Error posting next accept\n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-
-    /* finish the accept */
-    
-    if(setsockopt(accept_state->sock, SOL_SOCKET, SO_UPDATE_ACCEPT_CONTEXT, 
-        (char *)&listener_sock->listen_sock, sizeof(listener_sock->listen_sock)) 
-        == SOCKET_ERROR){
-        result = WSAGetLastError();
-        smpd_dbg_printf("Error updating accept context, %s (%d)\n", get_err_string(result), result);
-        /* Don't fail on error when updating SO_UPDATE_ACCEPT_CONTEXT */
-    }
-
-    /* set the socket to non-blocking */
-    optval = TRUE;
-    if(ioctlsocket(accept_state->sock, FIONBIO, &optval) == SOCKET_ERROR){
-        result = WSAGetLastError();
-        smpd_dbg_printf("Error setting socket to non-blocking, %s (%d)\n", get_err_string(result), result);
-        /* Don't fail on error when setting  FIONBIO*/
-    }
-
-    /* set the linger option */
-    /*
-    linger.l_onoff = 1;
-    linger.l_linger = 60;
-    setsockopt(accept_state->sock, SOL_SOCKET, SO_LINGER, (char*)&linger, sizeof(linger));
-    */
-
-    /* set the socket buffers */
-    len = sizeof(int);
-    if (!getsockopt(accept_state->sock, SOL_SOCKET, SO_RCVBUF, (char*)&optval, &len)){
-	    optval = g_socket_rbuffer_size;
-	    if(setsockopt(accept_state->sock, SOL_SOCKET, SO_RCVBUF, (char*)&optval, sizeof(int))
-                == SOCKET_ERROR){
-            result = WSAGetLastError();
-            smpd_dbg_printf("Error setting SO_RCVBUF on socket, %s (%d)\n", get_err_string(result), result);
-            /* Don't fail on error when setting  SO_RCVBUF */
-       }
-    }
-    len = sizeof(int);
-    if (!getsockopt(accept_state->sock, SOL_SOCKET, SO_SNDBUF, (char*)&optval, &len)){
-	    optval = g_socket_sbuffer_size;
-	    if(setsockopt(accept_state->sock, SOL_SOCKET, SO_SNDBUF, (char*)&optval, sizeof(int))
-            == SOCKET_ERROR){
-            result = WSAGetLastError();
-            smpd_dbg_printf("Error setting SO_SNDBUF on socket, %s (%d)\n", get_err_string(result), result);
-            /* Don't fail on error when setting  SO_SNDBUF */
-        }
-    }
-
-    /* set the no-delay option */
-    b = TRUE;
-    if(setsockopt(accept_state->sock, IPPROTO_TCP, TCP_NODELAY, (char*)&b, sizeof(BOOL))
-        == SOCKET_ERROR){
-        result = WSAGetLastError();
-        smpd_dbg_printf("Error setting TCP_NODELAY on socket, %s (%d)\n", get_err_string(result), result);
-        /* Don't fail on error when setting  TCP_NODELAY */
-    }
-
-    /* prevent the socket from being inherited by child processes */
-    /* FIXME: Use WSADuplicateSocket() instead */
-    if(!DuplicateHandle(
-	        GetCurrentProcess(), (HANDLE)accept_state->sock,
-	        GetCurrentProcess(), (HANDLE*)&accept_state->sock,
-	        0, FALSE, DUPLICATE_CLOSE_SOURCE | DUPLICATE_SAME_ACCESS)){
-        result = WSAGetLastError();
-        smpd_err_printf("Error duplicating handle to socket, %s (%d)\n", get_err_string(result), result);
-        return result;
-    }
-
-    /* associate the socket with the completion port */
-    if (CreateIoCompletionPort((HANDLE)accept_state->sock, set, (ULONG_PTR)accept_state, g_num_cp_threads) == NULL){
-        result = GetLastError();
-        smpd_err_printf("Error associating sock with IO Completion port, %s (%d)\n", get_err_string(result), result);
-        smpd_exit_fn(FCNAME);
-        return result;
-    }
-
-    accept_state->user_ptr = user_ptr;
-    accept_state->set = set;
-    *sock = accept_state;
-
-    /*printf("accepted socket %d\n", accept_state->sock);fflush(stdout);*/
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-static unsigned int GetIP(char *pszIP)
-{
-    unsigned int nIP;
-    unsigned int a,b,c,d;
-    if (pszIP == NULL){
-	    return 0;
-    }
-    sscanf(pszIP, "%u.%u.%u.%u", &a, &b, &c, &d);
-    /*printf("mask: %u.%u.%u.%u\n", a, b, c, d);fflush(stdout);*/
-    nIP = (d << 24) | (c << 16) | (b << 8) | a;
-    return nIP;
-}
-
-static unsigned int GetMask(char *pszMask)
-{
-    int i, nBits;
-    unsigned int nMask = 0;
-    unsigned int a,b,c,d;
-
-    if (pszMask == NULL){
-	    return 0;
-    }
-
-    if (strstr(pszMask, ".")){
-	    sscanf(pszMask, "%u.%u.%u.%u", &a, &b, &c, &d);
-	    /*printf("mask: %u.%u.%u.%u\n", a, b, c, d);fflush(stdout);*/
-	    nMask = (d << 24) | (c << 16) | (b << 8) | a;
-    }
-    else{
-	    nBits = atoi(pszMask);
-	    for (i=0; i<nBits; i++){
-	        nMask = nMask << 1;
-	        nMask = nMask | 0x1;
-	    }
-    }
-    /*
-    unsigned int a, b, c, d;
-    a = ((unsigned char *)(&nMask))[0];
-    b = ((unsigned char *)(&nMask))[1];
-    c = ((unsigned char *)(&nMask))[2];
-    d = ((unsigned char *)(&nMask))[3];
-    printf("mask: %u.%u.%u.%u\n", a, b, c, d);fflush(stdout);
-    */
-    return nMask;
-}
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_post_connect
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_post_connect(SMPDU_Sock_set_t set, void * user_ptr, char * host_description, int port, SMPDU_Sock_t * sock)
-{
-    int result;
-    struct hostent *lphost;
-    struct sockaddr_in sockAddr;
-    sock_state_t *connect_state;
-    u_long optval;
-    char host[100];
-    int i;
-    int connected = 0;
-    int connect_errno = SMPD_SUCCESS;
-    char pszNetMask[50];
-    char *pEnv, *token;
-    unsigned int nNicNet=0, nNicMask=0;
-    int use_subnet = 0;
-
-    smpd_enter_fn(FCNAME);
-    if (!g_init_called){
-        smpd_err_printf("Attempting to use sock functions without initializing sock\n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-    if (strlen(host_description) > SOCKI_DESCRIPTION_LENGTH){
-        smpd_err_printf("Host description length is greater than max length available (%d)\n",SOCKI_DESCRIPTION_LENGTH);
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-
-    memset(&sockAddr,0,sizeof(sockAddr));
-
-    /* setup the structures */
-    connect_state = (sock_state_t*)MPIU_Malloc(sizeof(sock_state_t));
-    init_state_struct(connect_state);
-    connect_state->cur_host = connect_state->host_description;
-    MPIU_Strncpy(connect_state->host_description, host_description, SOCKI_DESCRIPTION_LENGTH);
-
-    /* create a socket */
-    result = easy_create(&connect_state->sock, ADDR_ANY, INADDR_ANY);
-    if (result != SMPD_SUCCESS){
-        smpd_err_printf("Error creating a socket\n");
-        smpd_exit_fn(FCNAME);
-        return result;
-    }
-
-    /* check to see if a subnet was specified through the environment */
-    pEnv = getenv("SMPD_NETMASK");
-    if (pEnv != NULL){
-	    MPIU_Strncpy(pszNetMask, pEnv, 50);
-	    token = strtok(pszNetMask, "/");
-	    if (token != NULL){
-	        token = strtok(NULL, "\n");
-	        if (token != NULL){
-		        nNicNet = GetIP(pszNetMask);
-		        nNicMask = GetMask(token);
-		        use_subnet = 1;
-	        }
-	    }
-    }
-
-    while (!connected){
-	    host[0] = '\0';
-	    result = MPIU_Str_get_string(&connect_state->cur_host, host, 100);
-	    /*printf("got <%s> out of <%s>\n", host, connect_state->host_description);fflush(stdout);*/
-	    if (result != MPIU_STR_SUCCESS){
-            smpd_err_printf("Error while retrieving hostname from host description\n");
-            smpd_exit_fn(FCNAME);
-            return SMPD_FAIL;
-    	}
-	    if (host[0] == '\0'){
-	        smpd_err_printf("Connect on sock (host=%s, port=%d) failed, exhaused all end points\n", connect_state->host_description, port);
-            smpd_exit_fn(FCNAME);
-	        return SMPD_FAIL;
-	    }
-
-	    sockAddr.sin_family = AF_INET;
-	    sockAddr.sin_addr.s_addr = inet_addr(host);
-
-	    if (sockAddr.sin_addr.s_addr == INADDR_NONE || sockAddr.sin_addr.s_addr == 0){
-	        lphost = gethostbyname(host);
-	        if (lphost != NULL){
-		        sockAddr.sin_addr.s_addr = ((struct in_addr *)lphost->h_addr)->s_addr;
-            }
-	        else{
-		        result = WSAGetLastError();
-                smpd_dbg_printf("Error while retrieving host information, %s (%d)\n", get_err_string(result), result);
-                /*
-		        smpd_exit_fn(FCNAME);
-		        return result;
-		        */
-		        continue;
-            }
-	    }
-
-	    /* if a subnet was specified, make sure the currently extracted ip falls in the subnet */
-	    if (use_subnet){
-	        if ((sockAddr.sin_addr.s_addr & nNicMask) != nNicNet){
-		        /* this ip does not match, move to the next */
-		        continue;
-	        }
-	    }
-
-	    sockAddr.sin_port = htons((u_short)port);
-
-	    /* connect */
-	    for (i=0; i<5; i++){
-	        /*printf("connecting to %s\n", host);fflush(stdout);*/
-	        if (connect(connect_state->sock, (SOCKADDR*)&sockAddr, sizeof(sockAddr)) == SOCKET_ERROR){
-		        int random_time;
-		        int error = WSAGetLastError();
-		        if ((error != WSAECONNREFUSED && error != WSAETIMEDOUT) || i == 4){
-		            /*
-                    connect_errno = SMPDR_Err_create_code(connect_errno, SMPDR_ERR_RECOVERABLE, FCNAME, __LINE__, SMPDU_SOCK_ERR_INIT, "**sock_connect", "**sock_connect %s %d %s %d", host, port, get_error_string(error), error);
-                    */
-                    connect_errno = SMPD_FAIL;
-                    smpd_err_printf("Error while connecting to host, %s (%d)\n", get_err_string(error), error);
-		            /*
-		            smpd_exit_fn(FCNAME);
-		            return result;
-		            */
-		            /* This code assumes that all errors other than WSAECONNREFUSED and WSAETIMEDOUT should not cause a connection retry */
-		            /* FIXME: Is this correct for resource errors like WSAENOBUFS or an interrupted operation? */
-		            /*        Should all errors cause a retry? or just WSAECONNREFUSED? or a subset of the possible errors? */
-		            /*        The reason for not retrying on all errors is that it slows down connection time for multi-nic
-		            /*        hosts that cannot be contacted on the first address listed. */
-		            break;
-		        }
-		        /* Close the socket with an error and create a new one */
-		        if (closesocket(connect_state->sock) == SOCKET_ERROR){
-		            error = WSAGetLastError();
-                    connect_errno = SMPD_FAIL;
-                    smpd_err_printf("Error while closing socket, %s (%d)\n", get_err_string(error), error);
-                    /*
-		            connect_errno = SMPDR_Err_create_code(connect_errno, SMPDR_ERR_RECOVERABLE, FCNAME, __LINE__, SMPDU_SOCK_ERR_INIT, "**sock_connect", "**sock_connect %s %d %s %d", host, port, get_error_string(error), error);
-                    */
-		            /*
-		            smpd_exit_fn(FCNAME);
-		            return result;
-		            */
-		            break;
-		        }
-		        connect_state->sock = INVALID_SOCKET;
-		        result = easy_create(&connect_state->sock, ADDR_ANY, INADDR_ANY);
-		        if (result != SMPD_SUCCESS){
-		            /* Warning: Loss of information.  We have two error stacks, one in connect_errno and the other in result, that cannot be joined given the current error code interface. */
-		            /*connect_errno = SMPDR_Err_create_code(connect_errno, SMPDR_ERR_RECOVERABLE, FCNAME, __LINE__, SMPDU_SOCK_ERR_INIT, "**sock_create", 0);*/
-                    /*
-		            result = SMPDR_Err_create_code(result, SMPDR_ERR_RECOVERABLE, FCNAME, __LINE__, SMPDU_SOCK_ERR_INIT, "**sock_create", 0);
-		            smpd_exit_fn(FCNAME);
-                    */
-                    smpd_err_printf("Error creating a socket\n");
-                    smpd_exit_fn(FCNAME);
-		            return result;
-		        }
-		        random_time = (int)((double)rand() / (double)RAND_MAX * 250.0);
-		        Sleep(random_time);
-	        }
-	        else{
-		        /*printf("connect to %s:%d succeeded.\n", host, port);fflush(stdout);*/
-		        connected = 1;
-		        break;
-            }
-    	} /* for(;;) - retrying connect() */
-    } /* while (!connected) */
-
-    /* set the socket to non-blocking */
-    optval = TRUE;
-    if(ioctlsocket(connect_state->sock, FIONBIO, &optval) == SOCKET_ERROR){
-        result = WSAGetLastError();
-        smpd_dbg_printf("Error setting socket to non-blocking, %s (%d)\n", get_err_string(result), result);
-    }
-
-    connect_state->user_ptr = user_ptr;
-    connect_state->type = SOCKI_SOCKET;
-    connect_state->state = SOCKI_CONNECTING;
-    connect_state->set = set;
-
-    /* associate the socket with the completion port */
-    if (CreateIoCompletionPort((HANDLE)connect_state->sock, set, (ULONG_PTR)connect_state, g_num_cp_threads) == NULL){
-        result = GetLastError();
-        smpd_err_printf("Error associating sock with IO Completion port, %s (%d)\n", get_err_string(result), result);
-        smpd_exit_fn(FCNAME);
-        return result;
-    }
-
-    connect_state->pending_operations++;
-
-    /* post a completion event so the sock_post_connect can be notified through sock_wait */
-    if(!PostQueuedCompletionStatus(set, 0, (ULONG_PTR)connect_state, &connect_state->write.ovl)){
-        result = GetLastError();
-        smpd_err_printf("Error posting an IO Completion packet on IOCP, %s (%d)\n", get_err_string(result), result);
-        smpd_exit_fn(FCNAME);
-        return result;
-    }
-
-    *sock = connect_state;
-
-    /*printf("connected socket %d\n", connect_state->sock);fflush(stdout);*/
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_set_user_ptr
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_set_user_ptr(SMPDU_Sock_t sock, void * user_ptr)
-{
-    smpd_enter_fn(FCNAME);
-    if (!g_init_called){
-        smpd_err_printf("Attempting to use sock functions without initializing sock\n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-    if (sock == NULL){
-        smpd_err_printf("Error while setting user ptr for sock, invalid sock\n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-    sock->user_ptr = user_ptr;
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_post_close
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_post_close(SMPDU_Sock_t sock){
-    int result;
-    SOCKET s, *sp;
-
-    smpd_enter_fn(FCNAME);
-    if (!g_init_called){
-        smpd_err_printf("Attempting to use sock functions without initializing sock\n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-
-    if (sock == NULL){
-        smpd_err_printf("Error posting a close on sock, invalid sock\n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-    if (sock->closing){
-        smpd_err_printf("Posting close on a socket in closing state\n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-
-    if (sock->type == SOCKI_LISTENER){
-	    s = sock->listen_sock;
-	    sp = &sock->listen_sock;
-    }
-    else{
-	    s = sock->sock;
-	    sp = &sock->sock;
-    }
-
-    if(s == INVALID_SOCKET){
-	    if (sock->type == SOCKI_LISTENER){
-            smpd_err_printf("Error posting close on socket, Invalid listener socket\n");
-        }
-	    else{
-            smpd_err_printf("Error posting close on socket, Invalid socket\n");
-        }
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-
-    if (sock->pending_operations != 0){
-	    /*SMPDU_Assert(sock->state != 0);*/ /* The state can be 0 if the operation was aborted */
-#ifdef MPICH_DBG_OUTPUT
-	    if (sock->state & SOCKI_CONNECTING){
-	        smpd_dbg_printf("sock_post_close(%d) called while sock is connecting.\n", SMPDU_Sock_get_sock_id(sock));
-        }
-	    if (sock->state & SOCKI_READING){
-	        int i, n = 0;
-	        for (i=0; i<sock->read.iovlen; i++){
-		        n += sock->read.iov[i].SMPD_IOV_LEN;
-            }
-	        smpd_dbg_printf("sock_post_close(%d) called while sock is reading: %d bytes out of %d, index %d, iovlen %d.\n",
-    		    SMPDU_Sock_get_sock_id(sock), sock->read.total, n, sock->read.index, sock->read.iovlen);
-	    }
-	    if (sock->state & SOCKI_WRITING){
-	        int i, n = 0;
-	        for (i=0; i<sock->write.iovlen; i++){
-		        n += sock->write.iov[i].SMPD_IOV_LEN;
-            }
-	        smpd_dbg_printf("sock_post_close(%d) called while sock is writing: %d bytes out of %d, index %d, iovlen %d.\n",
-		        SMPDU_Sock_get_sock_id(sock), sock->write.total, n, sock->write.index, sock->write.iovlen);
-	    }
-	    fflush(stdout);
-#endif
-	    /*
-	    smpd_exit_fn(FCNAME);
-	    return SOCK_ERR_OP_IN_PROGRESS;
-	    */
-	    /* posting a close cancels all outstanding operations */
-	    /* It would be nice to cancel the outstanding reads or writes and then close the socket after handling the cancelled operations */
-	    /* But it cannot be done because CancelIo only cancels operations started by the current thread.  There is no way to cancel all operations. */
-	    /*CancelIo(sock->sock);*/
-    }
-
-    sock->closing = TRUE;
-    /*sock->ct1 = PMPI_Wtime();*/
-    if (sock->type != SOCKI_LISTENER){ /* calling shutdown for a listening socket is not valid */
-	    /* Mark the socket as non-writable */
-	    if (shutdown(s, SD_SEND) == SOCKET_ERROR){
-	        sock->pending_operations = 0;
-	        /*printf("closing socket %d\n", s);fflush(stdout);*/
-	        if (closesocket(s) == SOCKET_ERROR){
-                result = WSAGetLastError();
-                smpd_err_printf("Error closing socket, %s (%d)\n", get_err_string(result), result);
-                smpd_exit_fn(FCNAME);
-                return result;
-	        }
-	        *sp = INVALID_SOCKET;
-	        if (!PostQueuedCompletionStatus(sock->set, 0, (ULONG_PTR)sock, NULL)){
-                result = GetLastError();
-                smpd_err_printf("Error posting an IO Completion packet on IOCP, %s (%d)\n", get_err_string(result), result);
-                smpd_exit_fn(FCNAME);
-                return result;
-            }
-            smpd_exit_fn(FCNAME);
-	        return SMPD_SUCCESS;
-	    }
-    }
-    /* Cancel any outstanding operations */
-    sock->pending_operations = 0;
-
-    if (sock->type == SOCKI_SOCKET){
-	    static char ch;
-	    result = SMPD_SUCCESS;
-	    if (sock->state ^ SOCKI_READING){
-	        /* If a read is not already posted, post a bogus one here. */
-	        result = SMPDU_Sock_post_read(sock, &ch, 1, 1, NULL);
-            /* FIXME: Why don't we check for errors during post ? */
-	        /* ignore this posted read so wait will return an op_close */
-	        sock->pending_operations = 0;
-	    }
-	    if (result == SMPD_SUCCESS){
-            smpd_exit_fn(FCNAME);
-	        return SMPD_SUCCESS;
-	    }
-    }
-
-    if (sock->type != SOCKI_LISTENER){ /* calling shutdown for a listening socket is not valid */
-	    /* Mark the socket as non-readable */
-	    if (shutdown(s, SD_RECEIVE) == SOCKET_ERROR){
-            result = WSAGetLastError();
-            smpd_err_printf("Error during socket shutdown, %s (%d)\n", get_err_string(result), result);
-            smpd_exit_fn(FCNAME);
-            return result;
-	    }
-    }
-    /* Close the socket and insert a completion status so wait will return an op_close */
-    /*printf("closing socket %d\n", s);fflush(stdout);*/
-    if (closesocket(s) == SOCKET_ERROR){
-        result = WSAGetLastError();
-        smpd_err_printf("Error closing socket, %s (%d)\n", get_err_string(result), result);
-        smpd_exit_fn(FCNAME);
-        return result;
-    }
-    *sp = INVALID_SOCKET;
-    if (!PostQueuedCompletionStatus(sock->set, 0, (ULONG_PTR)sock, NULL)){
-        result = GetLastError();
-        smpd_err_printf("Error posting an IO Completion packet on IOCP, %s (%d)\n", get_err_string(result), result);
-        smpd_exit_fn(FCNAME);
-        return result;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_post_read
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_post_read(SMPDU_Sock_t sock, void * buf, SMPDU_Sock_size_t minbr, SMPDU_Sock_size_t maxbr,
-                         SMPDU_Sock_progress_update_func_t fn)
-{
-    int result = SMPD_SUCCESS;
-    smpd_enter_fn(FCNAME);
-    SMPDU_UNREFERENCED_ARG(maxbr);
-    sock->read.tiov.SMPD_IOV_BUF = (SMPD_IOV_BUF_CAST)buf;
-    sock->read.tiov.SMPD_IOV_LEN = minbr;
-    result = SMPDU_Sock_post_readv(sock, &sock->read.tiov, 1, fn);
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_post_readv
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_post_readv(SMPDU_Sock_t sock, SMPD_IOV * iov, int iov_n, SMPDU_Sock_progress_update_func_t fn)
-{
-    int iter;
-    int result = SMPD_SUCCESS;
-    DWORD flags = 0;
-
-    smpd_enter_fn(FCNAME);
-    if (!g_init_called)
-    {
-        smpd_err_printf("Attempting to use sock functions without initializing sock\n");
-        smpd_exit_fn(FCNAME);
-        return SMPD_FAIL;
-    }
-    /*sock->rt1 = PMPI_Wtime();*/
-    /* strip any trailing empty buffers */
-    while (iov_n && iov[iov_n-1].SMPD_IOV_LEN == 0){
-	    iov_n--;
-    }
-    sock->read.total = 0;
-    sock->read.iov = iov;
-    sock->read.iovlen = iov_n;
-    sock->read.index = 0;
-    sock->read.progress_update = fn;
-    sock->state |= SOCKI_READING;
-
-    for (iter=0; iter<10; iter++){
-	    if ((result = WSARecv(sock->sock, sock->read.iov, iov_n, &sock->read.num_bytes, &flags, &sock->read.ovl, NULL))
-                != SOCKET_ERROR){
-	        break;
-	    }
-
-	    result = WSAGetLastError();
-	    if (result == WSA_IO_PENDING){
-	        result = SMPD_SUCCESS;
-	        break;
-	    }
-	    if (result == WSAENOBUFS){
-	        WSABUF tmp;
-	        tmp.buf = sock->read.iov[0].buf;
-	        tmp.len = sock->read.iov[0].len;
-	        SMPDU_Assert(tmp.len > 0);
-	        while (result == WSAENOBUFS){
-		        /*printf("[%d] receiving %d bytes\n", __LINE__, tmp.len);fflush(stdout);*/
-		        if ((result = WSARecv(sock->sock, &tmp, 1, &sock->read.num_bytes, &flags, &sock->read.ovl, NULL))
-                    != SOCKET_ERROR){
-		            result = SMPD_SUCCESS;
-		            break;
-		        }
-		        result = WSAGetLastError();
-		        if (result == WSA_IO_PENDING){
-		            result = SMPD_SUCCESS;
-		            break;
-		        }
-		        /*printf("[%d] reducing recv length from %d to %d\n", __LINE__, tmp.len, tmp.len / 2);fflush(stdout);*/
-		        tmp.len = tmp.len / 2;
-		        if (tmp.len == 0 && result == WSAENOBUFS){
-		            break;
-		        }
-	        }
-	        if (result == SMPD_SUCCESS){
-		        break;
-	        }
-	    }
-	    if (result != WSAEWOULDBLOCK){
-            smpd_err_printf("Error posting readv, %s(%d)\n", get_err_string(result), result);
-            break;
-	    }
-        /* FIXME: Wait on progress engine instead */
-	    Sleep(200);
-    }
-    if (result == SMPD_SUCCESS){
-	    sock->pending_operations++;
-    }
-    else{
-	    sock->state &= ~SOCKI_READING;
-    }
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_post_write
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_post_write(SMPDU_Sock_t sock, void * buf, SMPDU_Sock_size_t min, SMPDU_Sock_size_t max, SMPDU_Sock_progress_update_func_t fn)
-{
-    int result = SMPD_SUCCESS;
-    smpd_enter_fn(FCNAME);
-    SMPDU_UNREFERENCED_ARG(max);
-    sock->write.tiov.SMPD_IOV_BUF = (SMPD_IOV_BUF_CAST)buf;
-    sock->write.tiov.SMPD_IOV_LEN = min;
-    result = SMPDU_Sock_post_writev(sock, &sock->write.tiov, 1, fn);
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_post_writev
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_post_writev(SMPDU_Sock_t sock, SMPD_IOV * iov, int iov_n, SMPDU_Sock_progress_update_func_t fn)
-{
-    int result = SMPD_SUCCESS;
-    int iter;
-
-    smpd_enter_fn(FCNAME);
-    /*sock->wt1 = PMPI_Wtime();*/
-    sock->write.total = 0;
-    sock->write.iov = iov;
-    sock->write.iovlen = iov_n;
-    sock->write.index = 0;
-    sock->write.progress_update = fn;
-    sock->state |= SOCKI_WRITING;
-    for (iter=0; iter<10; iter++){
-	    if (WSASend(sock->sock, sock->write.iov, iov_n, &sock->write.num_bytes, 0, &sock->write.ovl, NULL)
-            != SOCKET_ERROR){
-	        break;
-        }
-
-	    result = WSAGetLastError();
-	    if (result == WSA_IO_PENDING){
-	        result = SMPD_SUCCESS;
-	        break;
-	    }
-	    if (result == WSAENOBUFS){
-	        WSABUF tmp;
-	        tmp.buf = sock->write.iov[0].buf;
-	        tmp.len = sock->write.iov[0].len;
-	        while (result == WSAENOBUFS){
-		        /*printf("[%d] sending %d bytes\n", __LINE__, tmp.len);fflush(stdout);*/
-		        if (WSASend(sock->sock, &tmp, 1, &sock->write.num_bytes, 0, &sock->write.ovl, NULL) 
-                    != SOCKET_ERROR){
-		            result = SMPD_SUCCESS;
-		            break;
-		        }
-		        result = WSAGetLastError();
-		        if (result == WSA_IO_PENDING){
-		            result = SMPD_SUCCESS;
-		            break;
-		        }
-		        /*printf("[%d] reducing send length from %d to %d\n", __LINE__, tmp.len, tmp.len / 2);fflush(stdout);*/
-		        tmp.len = tmp.len / 2;
-		        if (tmp.len == 0){
-                    smpd_err_printf("Error posting writev, %s(%d)\n", get_err_string(result), result);
-		            break;
-		        }
-            }
-	        if (result == SMPD_SUCCESS){
-		        break;
-	        }
-	    }
-	    if (result != WSAEWOULDBLOCK){
-            smpd_err_printf("Error posting writev, %s(%d)\n", get_err_string(result), result);
-            break;
-	    }
-	    Sleep(200);
-    }
-    if (result == SMPD_SUCCESS){
-	    sock->pending_operations++;
-    }
-    else{
-	    sock->state &= ~SOCKI_WRITING;
-    }
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_wait
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_wait(SMPDU_Sock_set_t set, int timeout, SMPDU_Sock_event_t * out)
-{
-    /*double t1, t2;*/
-    int result;
-    DWORD num_bytes;
-    sock_state_t *sock, *iter;
-    OVERLAPPED *ovl;
-    DWORD dwFlags = 0;
-    /* char error_msg[1024]; */
-
-    smpd_enter_fn(FCNAME);
-
-    for (;;){
-	    /* initialize to NULL so we can compare the output of GetQueuedCompletionStatus */
-	    sock = NULL;
-	    ovl = NULL;
-	    num_bytes = 0;
-	    if (GetQueuedCompletionStatus(set, &num_bytes, (PULONG_PTR)&sock, &ovl, timeout)){
-            /*
-            printf("GQCS success\n");
-            printf("sock->type = %d, sock->state = %d, sock->sock=%p, sock->closing=%d,sock->pendops=%d\n",
-                    sock->type, sock->state, sock->sock, sock->closing, sock->pending_operations); fflush(stdout);
-            */
-    	    if (sock->type == SOCKI_SOCKET){
-		        if (sock->closing && sock->pending_operations == 0){
-        		    out->op_type = SMPDU_SOCK_OP_CLOSE;
-		            out->num_bytes = 0;
-		            out->error = SMPD_SUCCESS;
-		            out->user_ptr = sock->user_ptr;
-		            CloseHandle(sock->read.ovl.hEvent);
-		            CloseHandle(sock->write.ovl.hEvent);
-		            sock->read.ovl.hEvent = NULL;
-		            sock->write.ovl.hEvent = NULL;
-        		    if (sock->sock != INVALID_SOCKET){
-			            /*printf("closing socket %d\n", sock->sock);fflush(stdout);*/
-			            if (closesocket(sock->sock) == SOCKET_ERROR){
-                            result = WSAGetLastError();
-                            smpd_err_printf("Error closing socket, %s (%d)\n", get_err_string(result), result);
-                            smpd_exit_fn(FCNAME);
-                            return result;
-			            }
-			            sock->sock = INVALID_SOCKET;
-		            }
-		            smpd_exit_fn(FCNAME);
-		            return SMPD_SUCCESS;
-		        }
-		        if (ovl == &sock->read.ovl){
-		            if (num_bytes == 0){
-            			out->op_type = SMPDU_SOCK_OP_READ;
-            			out->num_bytes = sock->read.total;
-			            out->error = /*SMPDU_SOCK_ERR_CONN_CLOSED*/ SMPD_FAIL;
-			            out->user_ptr = sock->user_ptr;
-			            sock->pending_operations--;
-			            sock->state &= ~SOCKI_READING; /* remove the SOCKI_READING bit */
-			            if (sock->closing && sock->pending_operations == 0){
-            			    FlushFileBuffers((HANDLE)sock->sock);
-			                if (shutdown(sock->sock, SD_BOTH) == SOCKET_ERROR){
-                                result = WSAGetLastError();
-                                smpd_err_printf("Error during socket shutdown, %s (%d)\n", get_err_string(result), result);
-                                smpd_exit_fn(FCNAME);
-                                return result;
-			                }
-            			    if (closesocket(sock->sock) == SOCKET_ERROR){
-                                result = WSAGetLastError();
-                                smpd_err_printf("Error closing socket, %s (%d)\n", get_err_string(result), result);
-                                smpd_exit_fn(FCNAME);
-                                return result;
-			                }
-			                sock->sock = INVALID_SOCKET;
-			            }
-			            smpd_exit_fn(FCNAME);
-			            return SMPD_SUCCESS;
-		            }
-        		    sock->read.total += num_bytes;
-		            while (num_bytes){
-			            if (sock->read.iov[sock->read.index].SMPD_IOV_LEN <= num_bytes){
-			                num_bytes -= sock->read.iov[sock->read.index].SMPD_IOV_LEN;
-			                sock->read.index++;
-			                sock->read.iovlen--;
-			            }
-			            else{
-			                sock->read.iov[sock->read.index].SMPD_IOV_LEN -= num_bytes;
-			                sock->read.iov[sock->read.index].SMPD_IOV_BUF = (SMPD_IOV_BUF_CAST)(
-				            (char*)(sock->read.iov[sock->read.index].SMPD_IOV_BUF) + num_bytes);
-			                num_bytes = 0;
-			            }
-		            }
-		            if (sock->read.iovlen == 0){
-            			out->op_type = SMPDU_SOCK_OP_READ;
-			            out->num_bytes = sock->read.total;
-			            out->error = SMPD_SUCCESS;
-			            out->user_ptr = sock->user_ptr;
-			            sock->pending_operations--;
-			            sock->state &= ~SOCKI_READING; /* remove the SOCKI_READING bit */
-			            if (sock->closing && sock->pending_operations == 0){
-			                FlushFileBuffers((HANDLE)sock->sock);
-            			    if (shutdown(sock->sock, SD_BOTH) == SOCKET_ERROR){
-                                result = WSAGetLastError();
-                                smpd_err_printf("Error during socket shutdown, %s (%d)\n", get_err_string(result), result);
-                                smpd_exit_fn(FCNAME);
-                                return result;
-			                }
-            			    if (closesocket(sock->sock) == SOCKET_ERROR){
-                                result = WSAGetLastError();
-                                smpd_err_printf("Error closing socket, %s (%d)\n", get_err_string(result), result);
-                                smpd_exit_fn(FCNAME);
-                                return result;
-                            }
-			                sock->sock = INVALID_SOCKET;
-			            }
-			            smpd_exit_fn(FCNAME);
-			            return SMPD_SUCCESS;
-		            }
-        		    if (sock->read.progress_update != NULL){
-			            sock->read.progress_update(num_bytes, sock->user_ptr);
-                    }
-        		    /* post a read of the remaining data */
-		            if (WSARecv(sock->sock, &sock->read.iov[sock->read.index], sock->read.iovlen, &sock->read.num_bytes, &dwFlags, &sock->read.ovl, NULL)
-                        == SOCKET_ERROR){
-			            result = WSAGetLastError();
-			            if (result == 0){
-            			    out->op_type = SMPDU_SOCK_OP_READ;
-			                out->num_bytes = sock->read.total;
-            			    out->error = /*SMPDU_SOCK_ERR_CONN_CLOSED*/ SMPD_FAIL;
-			                out->user_ptr = sock->user_ptr;
-			                sock->pending_operations--;
-			                sock->state &= ~SOCKI_READING;
-			                if (sock->closing && sock->pending_operations == 0){
-                				FlushFileBuffers((HANDLE)sock->sock);
-				                if (shutdown(sock->sock, SD_BOTH) == SOCKET_ERROR){
-                                    result = WSAGetLastError();
-                                    smpd_err_printf("Error during socket shutdown, %s (%d)\n", get_err_string(result), result);
-                                    smpd_exit_fn(FCNAME);
-                                    return result;
-				                }
-				                if (closesocket(sock->sock) == SOCKET_ERROR){
-                                    result = WSAGetLastError();
-                                    smpd_err_printf("Error closing socket, %s (%d)\n", get_err_string(result), result);
-                                    smpd_exit_fn(FCNAME);
-                                    return result;
-				                }
-				                sock->sock = INVALID_SOCKET;
-			                }
-			                smpd_exit_fn(FCNAME);
-			                return SMPD_SUCCESS;
-			            }
-			            if (result == WSAENOBUFS){
-			                WSABUF tmp;
-			                tmp.buf = sock->read.iov[sock->read.index].buf;
-			                tmp.len = sock->read.iov[sock->read.index].len;
-			                while (result == WSAENOBUFS){
-                				if (WSARecv(sock->sock, &tmp, 1, &sock->read.num_bytes, &dwFlags, &sock->read.ovl, NULL) 
-                                    != SOCKET_ERROR){
-				                    result = WSA_IO_PENDING;
-				                    break;
-				                }
-				                result = WSAGetLastError();
-				                if (result == WSA_IO_PENDING){
-				                    break;
-				                }   
-                				tmp.len = tmp.len / 2;
-                				if (tmp.len == 0 && result == WSAENOBUFS){
-				                    break;
-				                }
-			                }
-			            }
-			            if (result != WSA_IO_PENDING){
-			                out->op_type = SMPDU_SOCK_OP_READ;
-			                out->num_bytes = sock->read.total;
-			                smpd_err_printf("Failed to read data on socket, %s (%d)\n", get_err_string(result), result);
-			                out->user_ptr = sock->user_ptr;
-			                sock->pending_operations--;
-			                sock->state &= ~SOCKI_READING;
-			                if (sock->closing && sock->pending_operations == 0){
-                				FlushFileBuffers((HANDLE)sock->sock);
-				                if (shutdown(sock->sock, SD_BOTH) == SOCKET_ERROR){
-                                    result = WSAGetLastError();
-                                    smpd_err_printf("Error during socket shutdown, %s (%d)\n", get_err_string(result), result);
-                                    smpd_exit_fn(FCNAME);
-                                    return result;
-				                }
-                				if (closesocket(sock->sock) == SOCKET_ERROR){
-                                    result = WSAGetLastError();
-                                    smpd_err_printf("Error closing socket, %s (%d)\n", get_err_string(result), result);
-                                    smpd_exit_fn(FCNAME);
-                                    return result;
-				                }
-				                sock->sock = INVALID_SOCKET;
-			                }
-			                smpd_exit_fn(FCNAME);
-			                return SMPD_SUCCESS;
-			            }
-		            }
-		        }
-		        else if (ovl == &sock->write.ovl){
-		            if (sock->state & SOCKI_CONNECTING){
-			            /* insert code here to determine that the connect succeeded */
-            			out->op_type = SMPDU_SOCK_OP_CONNECT;
-			            out->num_bytes = 0;
-			            out->error = SMPD_SUCCESS;
-			            out->user_ptr = sock->user_ptr;
-			            sock->pending_operations--;
-			            sock->state ^= SOCKI_CONNECTING; /* remove the SOCKI_CONNECTING bit */
-			            if (sock->closing && sock->pending_operations == 0){
-            			    FlushFileBuffers((HANDLE)sock->sock);
-			                if (shutdown(sock->sock, SD_BOTH) == SOCKET_ERROR){
-                                result = WSAGetLastError();
-                                smpd_err_printf("Error during socket shutdown, %s (%d)\n", get_err_string(result), result);
-                                smpd_exit_fn(FCNAME);
-                                return result;
-			                }
-            			    if (closesocket(sock->sock) == SOCKET_ERROR){
-                                result = WSAGetLastError();
-                                smpd_err_printf("Error closing socket, %s (%d)\n", get_err_string(result), result);
-                                smpd_exit_fn(FCNAME);
-                                return result;
-			                }
-			                sock->sock = INVALID_SOCKET;
-			            }
-			            smpd_exit_fn(FCNAME);
-			            return SMPD_SUCCESS;
-		            }
-		            else{
-			            if (num_bytes == 0){
-            			    out->op_type = SMPDU_SOCK_OP_WRITE;
-			                out->num_bytes = sock->write.total;
-            			    out->error = /*SMPDU_SOCK_ERR_CONN_CLOSED*/ SMPD_FAIL;
-			                out->user_ptr = sock->user_ptr;
-			                sock->pending_operations--;
-			                sock->state &= ~SOCKI_WRITING; /* remove the SOCKI_WRITING bit */
-			                if (sock->closing && sock->pending_operations == 0){
-                				FlushFileBuffers((HANDLE)sock->sock);
-				                if (shutdown(sock->sock, SD_BOTH) == SOCKET_ERROR){
-                                    result = WSAGetLastError();
-                                    smpd_err_printf("Error during socket shutdown, %s (%d)\n", get_err_string(result), result);
-                                    smpd_exit_fn(FCNAME);
-                                    return result;
-				                }
-                				if (closesocket(sock->sock) == SOCKET_ERROR){
-                                    result = WSAGetLastError();
-                                    smpd_err_printf("Error closing socket, %s (%d)\n", get_err_string(result), result);
-                                    smpd_exit_fn(FCNAME);
-                                    return result;
-				                }
-				                sock->sock = INVALID_SOCKET;
-			                }
-			                smpd_exit_fn(FCNAME);
-			                return SMPD_SUCCESS;
-			            }
-            			sock->write.total += num_bytes;
-			            while (num_bytes){
-			                if (sock->write.iov[sock->write.index].SMPD_IOV_LEN <= num_bytes){
-                				num_bytes -= sock->write.iov[sock->write.index].SMPD_IOV_LEN;
-				                sock->write.index++;
-				                sock->write.iovlen--;
-			                }
-			                else{
-                				sock->write.iov[sock->write.index].SMPD_IOV_LEN -= num_bytes;
-				                sock->write.iov[sock->write.index].SMPD_IOV_BUF = (SMPD_IOV_BUF_CAST)(
-				                (char*)(sock->write.iov[sock->write.index].SMPD_IOV_BUF) + num_bytes);
-				                num_bytes = 0;
-			                }
-			            }
-			            if (sock->write.iovlen == 0){
-			                out->op_type = SMPDU_SOCK_OP_WRITE;
-			                out->num_bytes = sock->write.total;
-			                out->error = SMPD_SUCCESS;
-			                out->user_ptr = sock->user_ptr;
-			                sock->pending_operations--;
-			                sock->state &= ~SOCKI_WRITING; /* remove the SOCKI_WRITING bit */
-			                if (sock->closing && sock->pending_operations == 0){
-				                FlushFileBuffers((HANDLE)sock->sock);
-				                if (shutdown(sock->sock, SD_BOTH) == SOCKET_ERROR){
-                                    result = WSAGetLastError();
-                                    smpd_err_printf("Error during socket shutdown, %s (%d)\n", get_err_string(result), result);
-                                    smpd_exit_fn(FCNAME);
-                                    return result;
-				                }
-                				if (closesocket(sock->sock) == SOCKET_ERROR){
-                                    result = WSAGetLastError();
-                                    smpd_err_printf("Error closing socket, %s (%d)\n", get_err_string(result), result);
-                                    smpd_exit_fn(FCNAME);
-                                    return result;
-				                }
-				                sock->sock = INVALID_SOCKET;
-			                }
-			                smpd_exit_fn(FCNAME);
-			                return SMPD_SUCCESS;
-                        }
-			            /* make the user upcall */
-			            if (sock->write.progress_update != NULL){
-			                sock->write.progress_update(num_bytes, sock->user_ptr);
-                        }
-            			if (WSASend(sock->sock, sock->write.iov, sock->write.iovlen, &sock->write.num_bytes, 0, &sock->write.ovl, NULL)
-                                == SOCKET_ERROR){
-			                result = WSAGetLastError();
-			                if (result == 0){
-				                out->op_type = SMPDU_SOCK_OP_WRITE;
-				                out->num_bytes = sock->write.total;
-				                /*printf("sock_wait returning %d bytes and socket closed\n", sock->write.total);*/
-				                out->error = /*SMPDU_SOCK_ERR_CONN_CLOSED*/ SMPD_FAIL;
-				                out->user_ptr = sock->user_ptr;
-				                sock->pending_operations--;
-				                sock->state &= ~SOCKI_WRITING;
-				                if (sock->closing && sock->pending_operations == 0){
-					                FlushFileBuffers((HANDLE)sock->sock);
-					                if (shutdown(sock->sock, SD_BOTH) == SOCKET_ERROR){
-                                        result = WSAGetLastError();
-                                        smpd_err_printf("Error during socket shutdown, %s (%d)\n", get_err_string(result), result);
-                                        smpd_exit_fn(FCNAME);
-                                        return result;
-									}
-					                /*printf("closing socket %d\n", sock->sock);fflush(stdout);*/
-					                if (closesocket(sock->sock) == SOCKET_ERROR){
-                                        result = WSAGetLastError();
-                                        smpd_err_printf("Error closing socket, %s (%d)\n", get_err_string(result), result);
-                                        smpd_exit_fn(FCNAME);
-                                        return result;
-					                }
-					                sock->sock = INVALID_SOCKET;
-				                }
-				                smpd_exit_fn(FCNAME);
-				                return SMPD_SUCCESS;
-			                }
-				            if (result == WSAENOBUFS){
-							    WSABUF tmp;
-							    tmp.buf = sock->write.iov[0].buf;
-							    tmp.len = sock->write.iov[0].len;
-							    while (result == WSAENOBUFS){
-                				    if (WSASend(sock->sock, &tmp, 1, &sock->write.num_bytes, 0, &sock->write.ovl, NULL)
-                                            != SOCKET_ERROR){
-                    					/* FIXME: does this data need to be handled immediately? */
-                    					result = WSA_IO_PENDING;
-					                    break;
-				                    }
-				                    result = WSAGetLastError();
-				                    if (result == WSA_IO_PENDING){
-					                    break;
-				                    }
-                				    tmp.len = tmp.len / 2;
-				                }
-			                }
-			                if (result != WSA_IO_PENDING){
-				                out->op_type = SMPDU_SOCK_OP_WRITE;
-				                out->num_bytes = sock->write.total;
-				                out->error = SMPD_FAIL;
-				                out->user_ptr = sock->user_ptr;
-				                sock->pending_operations--;
-				                sock->state &= ~SOCKI_WRITING;
-				                if (sock->closing && sock->pending_operations == 0){
-					                FlushFileBuffers((HANDLE)sock->sock);
-					                if (shutdown(sock->sock, SD_BOTH) == SOCKET_ERROR){
-                                        result = WSAGetLastError();
-                                        smpd_err_printf("Error during socket shutdown, %s (%d)\n", get_err_string(result), result);
-                                        smpd_exit_fn(FCNAME);
-                                        return result;
-									}
-					                /*printf("closing socket %d\n", sock->sock);fflush(stdout);*/
-					                if (closesocket(sock->sock) == SOCKET_ERROR){
-                                        result = WSAGetLastError();
-                                        smpd_err_printf("Error closing socket, %s (%d)\n", get_err_string(result), result);
-                                        smpd_exit_fn(FCNAME);
-                                        return result;
-					                }
-					                sock->sock = INVALID_SOCKET;
-				                }
-				                smpd_exit_fn(FCNAME);
-				                return SMPD_SUCCESS;
-            			    }
-			            }
-		            }
-		        }
-		        else{
-		            if (num_bytes == 0){
-			            if ((sock->state & SOCKI_READING)){/* && sock-sock != INVALID_SOCKET) */
-			                out->op_type = SMPDU_SOCK_OP_READ;
-			                out->num_bytes = sock->read.total;
-			                out->error = /*SMPDU_SOCK_ERR_CONN_CLOSED*/ SMPD_FAIL;
-			                out->user_ptr = sock->user_ptr;
-			                sock->state &= ~SOCKI_READING;
-			                sock->pending_operations--;
-			                smpd_exit_fn(FCNAME);
-			                return SMPD_SUCCESS;
-    			        }
-	            		if ((sock->state & SOCKI_WRITING)){/* && sock->sock != INVALID_SOCKET) */
-			                out->op_type = SMPDU_SOCK_OP_WRITE;
-			                out->num_bytes = sock->write.total;
-			                out->error = /*SMPDU_SOCK_ERR_CONN_CLOSED*/ SMPD_FAIL;
-			                out->user_ptr = sock->user_ptr;
-			                sock->state &= ~SOCKI_WRITING;
-			                sock->pending_operations--;
-			                smpd_exit_fn(FCNAME);
-			                return SMPD_SUCCESS;
-			            }
-        		    }
-		            if (sock->sock != INVALID_SOCKET){
-			            smpd_err_printf("In sock_wait(), returned overlapped structure does not match the current read or write ovl: 0x%p\n", ovl);
-			            smpd_exit_fn(FCNAME);
-                        return SMPD_FAIL;
-                    }
-        		}
-            }
-	        else if (sock->type == SOCKI_WAKEUP){
-		        out->op_type = SMPDU_SOCK_OP_WAKEUP;
-		        out->num_bytes = 0;
-		        out->error = SMPD_SUCCESS;
-		        out->user_ptr = NULL;
-		        smpd_exit_fn(FCNAME);
-		        return SMPD_SUCCESS;
-	        }
-    	    else if (sock->type == SOCKI_LISTENER){
-		        if (sock->closing && sock->pending_operations == 0){
-		            if (!sock->listener_closed){
-			            sock->listener_closed = 1;
-			            out->op_type = SMPDU_SOCK_OP_CLOSE;
-			            out->num_bytes = 0;
-			            out->error = SMPD_SUCCESS;
-			            out->user_ptr = sock->user_ptr;
-			            CloseHandle(sock->read.ovl.hEvent);
-			            CloseHandle(sock->write.ovl.hEvent);
-			            sock->read.ovl.hEvent = NULL;
-			            sock->write.ovl.hEvent = NULL;
-			            smpd_exit_fn(FCNAME);
-			            return SMPD_SUCCESS;
-		            }
-        		    else{
-            			/* ignore multiple close operations caused by the outstanding accept operations */
-			            continue;
-		            }
-		        }
-		        iter = sock->list;
-		        while (iter && &iter->read.ovl != ovl){
-		            iter = iter->next;
-                }
-		        if (iter != NULL){
-		            iter->accepted = 1;
-                }
-		        out->op_type = SMPDU_SOCK_OP_ACCEPT;
-		        out->num_bytes = num_bytes;
-		        out->error = SMPD_SUCCESS;
-		        out->user_ptr = sock->user_ptr;
-		        smpd_exit_fn(FCNAME);
-		        return SMPD_SUCCESS;
-	        }
-	        else{
-		        smpd_err_printf("sock type is not a SOCKET or a LISTENER, it's %d\n", sock->type);
-		        smpd_exit_fn(FCNAME);
-		        return SMPD_FAIL;
-    	    }
-	    }
-	    else{
-	        result = GetLastError();
-            /*
-            printf("GQCS failed, error = %d\n", result); fflush(stdout);
-            if(sock != NULL){
-                printf("sock->type = %d, sock->state = %d, sock->sock=%p, sock->closing=%d,sock->pendops=%d\n",
-                        sock->type, sock->state, sock->sock, sock->closing, sock->pending_operations); fflush(stdout);
-            }
-            else{
-                printf("sock is null\n"); fflush(stdout);
-            }
-            */
-	        if (result == WAIT_TIMEOUT){
-		        smpd_exit_fn(FCNAME);
-		        return SMPD_FAIL;
-	        }
-            if (result == ERROR_OPERATION_ABORTED){
-        		/* A thread exited causing GetQueuedCompletionStatus to return prematurely. */
-		        if (sock != NULL && !sock->closing){
-				    /* re-post the aborted operation */
-		            if (sock->type == SOCKI_SOCKET){
-			            if (ovl == &sock->read.ovl){
-			                /*printf("repost readv of length %d\n", sock->read.iovlen);fflush(stdout);*/
-			                result = SMPDU_Sock_post_readv(sock, sock->read.iov, sock->read.iovlen, NULL);
-			                if (result != SMPD_SUCCESS){
-				                /*sock->rt2 = PMPI_Wtime();*/
-				                /*printf("[%d] time from post_read  to op_read : %.3f - sock %d\n", getpid(), sock->rt2 - sock->rt1, sock->sock);*/
-				                out->op_type = SMPDU_SOCK_OP_READ;
-				                out->num_bytes = 0;
-				                out->error = SMPD_FAIL;
-				                out->user_ptr = sock->user_ptr;
-				                sock->state &= ~SOCKI_READING; /* remove the SOCKI_READING bit */
-				                smpd_exit_fn(FCNAME);
-				                return SMPD_SUCCESS;
-				            }
-			            }
-			            else if (ovl == &sock->write.ovl){
-				            /*printf("repost writev of length %d\n", sock->write.iovlen);fflush(stdout);*/
-				            result = SMPDU_Sock_post_writev(sock, sock->write.iov, sock->write.iovlen, NULL);
-				            if (result != SMPD_SUCCESS){
-							    /*sock->wt2 = PMPI_Wtime();*/
-							    /*printf("[%d] time from post_write to op_write: %.3f - sock %d\n", getpid(), sock->wt2 - sock->wt1, sock->sock);*/
-							    out->op_type = SMPDU_SOCK_OP_WRITE;
-							    out->num_bytes = 0;
-							    out->error = SMPD_FAIL;
-							    out->user_ptr = sock->user_ptr;
-				                sock->state &= ~SOCKI_WRITING; /* remove the SOCKI_WRITING bit */
-				                smpd_exit_fn(FCNAME);
-				                return SMPD_SUCCESS;
-			                }
-			            }
-			            else{
-				            /*printf("aborted sock operation\n");fflush(stdout);*/
-				            out->op_type = -1;
-				            out->num_bytes = 0;
-				            out->error = SMPD_FAIL;
-				            out->user_ptr = sock->user_ptr;
-				            smpd_exit_fn(FCNAME);
-				            return SMPD_SUCCESS;
-			            }
-		            }
-		            else if (sock->type == SOCKI_WAKEUP){
-			            /*printf("aborted wakeup operation\n");fflush(stdout);*/
-			            out->op_type = SMPDU_SOCK_OP_WAKEUP;
-			            out->num_bytes = 0;
-			            out->error = SMPD_FAIL;
-			            out->user_ptr = sock->user_ptr;
-			            smpd_exit_fn(FCNAME);
-			            return SMPD_SUCCESS;
-		            }
-        		    else if (sock->type == SOCKI_LISTENER){
-					    /*printf("aborted listener operation\n");fflush(stdout);*/
-					    iter = sock->list;
-					    while (iter && &iter->read.ovl != ovl){
-						    iter = iter->next;
-                        }
-					    if (iter != NULL){
-						    result = post_next_accept(iter);
-						    if (result != SMPD_SUCCESS){
-							    out->op_type = SMPDU_SOCK_OP_ACCEPT;
-							    out->num_bytes = 0;
-							    out->error = SMPD_FAIL;
-							    out->user_ptr = sock->user_ptr;
-							    smpd_exit_fn(FCNAME);
-							    return SMPD_SUCCESS;
-						    }
-					    }
-					    else{
-				            /*printf("aborted unknown listener socket operation\n");fflush(stdout);*/
-				            out->op_type = -1;
-				            out->num_bytes = 0;
-				            out->error = SMPD_FAIL;
-				            out->user_ptr = sock->user_ptr;
-				            smpd_exit_fn(FCNAME);
-				            return SMPD_SUCCESS;
-			            }
-		            }
-		            else{
-			            /*printf("aborted unknown socket operation\n");fflush(stdout);*/
-			            out->op_type = -1;
-			            out->num_bytes = 0;
-			            out->error = SMPD_FAIL;
-			            out->user_ptr = sock->user_ptr;
-			            smpd_exit_fn(FCNAME);
-			            return SMPD_SUCCESS;
-		            }
-		            continue;
-		        }
-            }
-	        smpd_dbg_printf("GetQueuedCompletionStatus failed, GetLastError: %d\n", result);
-	        if (sock != NULL){
-        		if (sock->type == SOCKI_SOCKET){
-		            if (sock->closing){
-			            out->op_type = SMPDU_SOCK_OP_CLOSE;
-			            if (sock->sock != INVALID_SOCKET){
-			                /*("closing socket %d\n", sock->sock);fflush(stdout);*/
-			                if (closesocket(sock->sock) == SOCKET_ERROR){
-                                result = WSAGetLastError();
-                                smpd_err_printf("Error closing socket, %s (%d)\n", get_err_string(result), result);
-                                smpd_exit_fn(FCNAME);
-                                return result;
-			                }
-			                sock->sock = INVALID_SOCKET;
-    		            }
-    	            }
-		            else{
-			            if (ovl == &sock->read.ovl){
-			                out->op_type = SMPDU_SOCK_OP_READ;
-			                sock->state &= ~SOCKI_READING; /* remove the SOCKI_READING bit */
-			            }
-			            else if (ovl == &sock->write.ovl){
-			                out->op_type = SMPDU_SOCK_OP_WRITE;
-			                sock->state &= ~SOCKI_WRITING; /* remove the SOCKI_WRITING bit */
-			            }
-			            else{
-			                /* Shoud we reset the state bits? */
-			                sock->state &= ~SOCKI_READING; /* remove the SOCKI_READING bit */
-			                sock->state &= ~SOCKI_WRITING; /* remove the SOCKI_WRITING bit */
-			                out->op_type = -1;
-			            }
-        		    }
-		            out->num_bytes = 0;
-		            out->error = SMPD_FAIL;
-		            out->user_ptr = sock->user_ptr;
-		            smpd_exit_fn(FCNAME);
-		            return SMPD_SUCCESS;
-        		}
-		        if (sock->type == SOCKI_LISTENER){
-		            /* this only works if the aborted operation is reported before the close is reported
-		               because the close will free the sock structure causing these dereferences bogus.
-		               I need to reference count the sock */
-		            if (sock->closing){
-			            if (sock->listener_closed){
-			                /* only return a close_op once for the main listener, not any of the copies */
-			                continue;
-			            }
-			            else{
-			                sock->listener_closed = 1;
-			                out->op_type = SMPDU_SOCK_OP_CLOSE;
-			                out->num_bytes = 0;
-			                if (result == ERROR_OPERATION_ABORTED){
-				                out->error = SMPD_SUCCESS;
-                            }
-			                else{
-				                out->error = SMPD_FAIL;
-                            }
-			                out->user_ptr = sock->user_ptr;
-			                smpd_exit_fn(FCNAME);
-			                return SMPD_SUCCESS;
-			            }
-		            }
-		            else{
-			            /* Should we return a SOCK_OP_ACCEPT with an error if there is a failure on the listener? */
-			            out->op_type = SMPDU_SOCK_OP_ACCEPT;
-			            out->num_bytes = 0;
-			            out->error = SMPD_FAIL;
-			            out->user_ptr = sock->user_ptr;
-			            smpd_exit_fn(FCNAME);
-			            return SMPD_SUCCESS;
-        		    }
-		        }
-	        }
-	        smpd_exit_fn(FCNAME);
-	        return SMPD_FAIL;
-	    }
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_wakeup
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_wakeup(SMPDU_Sock_set_t set)
-{
-    int result;
-    /* post a completion event to wake up sock_wait */
-    if(!PostQueuedCompletionStatus(set, 0, (ULONG_PTR)&g_wakeup_state, &g_wakeup_state.write.ovl)){
-        result = GetLastError();
-        smpd_dbg_printf("Error posting an IO Completion packet to wakeup sock, %s (%d)\n", get_err_string(result), result);
-    }
-    return SMPD_SUCCESS;
-}
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_read
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_read(SMPDU_Sock_t sock, void * buf, SMPDU_Sock_size_t len, SMPDU_Sock_size_t * num_read)
-{
-    int result = SMPD_SUCCESS;
-    SMPD_IOV iov;
-    smpd_enter_fn(FCNAME);
-    iov.buf = buf;
-    iov.len = len;
-    result = SMPDU_Sock_readv(sock, &iov, 1, num_read);
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_readv
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_readv(SMPDU_Sock_t sock, SMPD_IOV * iov, int iov_n, SMPDU_Sock_size_t * num_read)
-{
-    int result = SMPD_SUCCESS;
-    DWORD nFlags = 0;
-    DWORD num_read_local;
-
-    smpd_enter_fn(FCNAME);
-
-    if (WSARecv(sock->sock, iov, iov_n, &num_read_local, &nFlags, NULL/*overlapped*/, NULL/*completion routine*/)
-        == SOCKET_ERROR){
-	    result = WSAGetLastError();
-	    *num_read = 0;
-	    if ((result == WSAEWOULDBLOCK) || (result == 0)){
-	        result = SMPD_SUCCESS;
-	    }
-	    else{
-	        if (result == WSAENOBUFS){
-		        WSABUF tmp;
-		        tmp.buf = iov[0].buf;
-		        tmp.len = iov[0].len;
-		        while (result == WSAENOBUFS){
-        		    /*printf("[%d] receiving %d bytes\n", __LINE__, tmp.len);fflush(stdout);*/
-		            if (WSARecv(sock->sock, &tmp, 1, &num_read_local, &nFlags, NULL, NULL) != SOCKET_ERROR){
-			            /*printf("[%d] read %d bytes\n", __LINE__, num_read_local);fflush(stdout);*/
-			            *num_read = num_read_local;
-			            result = SMPD_SUCCESS;
-			            break;
-        		    }
-		            /*printf("[%d] reducing send length from %d to %d\n", __LINE__, tmp.len, tmp.len / 2);fflush(stdout);*/
-		            result = WSAGetLastError();
-		            tmp.len = tmp.len / 2;
-        		}
-		        if (result != SMPD_SUCCESS){
-		            if (result == WSAEWOULDBLOCK){
-			            result = SMPD_SUCCESS;
-		            }
-		            else{
-			            result = SMPD_FAIL;
-		            }
-		        }
-	        }
-	        else{
-		        result = SMPD_FAIL;
-	        }
-	    }
-    }
-    else{
-	    *num_read = num_read_local;
-    }
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_write
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_write(SMPDU_Sock_t sock, void * buf, SMPDU_Sock_size_t len, SMPDU_Sock_size_t * num_written)
-{
-    int result;
-    SMPD_IOV iov;
-    smpd_enter_fn(FCNAME);
-    iov.len = len;
-    iov.buf = buf;
-    result = SMPDU_Sock_writev(sock, &iov, 1, num_written);
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_writev
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_writev(SMPDU_Sock_t sock, SMPD_IOV * iov, int iov_n, SMPDU_Sock_size_t * num_written)
-{
-    int result;
-    DWORD num_written_local;
-
-    smpd_enter_fn(FCNAME);
-    if (WSASend(sock->sock, iov, iov_n, &num_written_local, 0, NULL/*overlapped*/, NULL/*completion routine*/)
-        == SOCKET_ERROR){
-	    result = WSAGetLastError();
-	    *num_written = 0;
-    	if (result == WSAENOBUFS){
-	        WSABUF tmp;
-	        tmp.buf = iov[0].buf;
-	        tmp.len = iov[0].len;
-	        while (result == WSAENOBUFS){
-        		if (WSASend(sock->sock, &tmp, 1, &num_written_local, 0, NULL, NULL) != SOCKET_ERROR){
-		            /*printf("[%d] wrote %d bytes\n", __LINE__, num_written_local);fflush(stdout);*/
-		            *num_written = num_written_local;
-		            result = SMPD_SUCCESS;
-		            break;
-		        }
-		        result = WSAGetLastError();
-		        /*printf("[%d] reducing send length from %d to %d\n", __LINE__, tmp.len, tmp.len / 2);fflush(stdout);*/
-		        tmp.len = tmp.len / 2;
-		        if (tmp.len == 0 && result == WSAENOBUFS){
-		            break;
-		        }
-	        }
-	    }
-	    if (result && (result != WSAEWOULDBLOCK)){
-	        result = SMPD_FAIL;
-	        smpd_exit_fn(FCNAME);
-	        return result;
-	    }
-    }
-    else{
-	    *num_written = num_written_local;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_get_sock_id
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_get_sock_id(SMPDU_Sock_t sock)
-{
-    int ret_val;
-    smpd_enter_fn(FCNAME);
-    if (sock == SMPDU_SOCK_INVALID_SOCK){
-	    ret_val = -1;
-    }
-    else{
-	    if (sock->type == SOCKI_LISTENER){
-	        ret_val = (int)sock->listen_sock;
-        }
-	    else{
-	        ret_val = (int)sock->sock;
-        }
-    }
-    smpd_exit_fn(FCNAME);
-    return ret_val;
-}
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_get_sock_set_id
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_get_sock_set_id(SMPDU_Sock_set_t set)
-{
-    int ret_val;
-    smpd_enter_fn(FCNAME);
-    ret_val = PtrToInt(set);/*(int)set;*/
-    smpd_exit_fn(FCNAME);
-    return ret_val;
-}
-
-
-/* FIXME: Provide a rich set of error codes as in mpid/common/sock */
-/*
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_get_error_class_string
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_get_error_class_string(int error, char *error_string, int length)
-{
-    SMPDI_STATE_DECL(SMPD_STATE_SMPDU_SOCK_GET_ERROR_CLASS_STRING);
-
-    smpd_enter_fn(FCNAME);
-    switch (SMPDR_ERR_GET_CLASS(error))
-    {
-    case SMPDU_SOCK_ERR_FAIL:
-	MPIU_Strncpy(error_string, "generic socket failure", length);
-	break;
-    case SMPDU_SOCK_ERR_INIT:
-	MPIU_Strncpy(error_string, "socket module not initialized", length);
-	break;
-    case SMPDU_SOCK_ERR_NOMEM:
-	MPIU_Strncpy(error_string, "not enough memory to complete the socket operation", length);
-	break;
-    case SMPDU_SOCK_ERR_BAD_SET:
-	MPIU_Strncpy(error_string, "invalid socket set", length);
-	break;
-    case SMPDU_SOCK_ERR_BAD_SOCK:
-	MPIU_Strncpy(error_string, "invalid socket", length);
-	break;
-    case SMPDU_SOCK_ERR_BAD_HOST:
-	MPIU_Strncpy(error_string, "host description buffer not large enough", length);
-	break;
-    case SMPDU_SOCK_ERR_BAD_HOSTNAME:
-	MPIU_Strncpy(error_string, "invalid host name", length);
-	break;
-    case SMPDU_SOCK_ERR_BAD_PORT:
-	MPIU_Strncpy(error_string, "invalid port", length);
-	break;
-    case SMPDU_SOCK_ERR_BAD_BUF:
-	MPIU_Strncpy(error_string, "invalid buffer", length);
-	break;
-    case SMPDU_SOCK_ERR_BAD_LEN:
-	MPIU_Strncpy(error_string, "invalid length", length);
-	break;
-    case SMPDU_SOCK_ERR_SOCK_CLOSED:
-	MPIU_Strncpy(error_string, "socket closed", length);
-	break;
-    case SMPD_FAIL:
-	MPIU_Strncpy(error_string, "socket connection closed", length);
-	break;
-    case SMPDU_SOCK_ERR_CONN_FAILED:
-	MPIU_Strncpy(error_string, "socket connection failed", length);
-	break;
-    case SMPDU_SOCK_ERR_INPROGRESS:
-	MPIU_Strncpy(error_string, "socket operation in progress", length);
-	break;
-    case SMPDU_SOCK_ERR_TIMEOUT:
-	MPIU_Strncpy(error_string, "socket operation timed out", length);
-	break;
-    case SMPDU_SOCK_ERR_INTR:
-	MPIU_Strncpy(error_string, "socket operation interrupted", length);
-	break;
-    case SMPDU_SOCK_ERR_NO_NEW_SOCK:
-	MPIU_Strncpy(error_string, "no new connection available", length);
-	break;
-    default:
-	MPIU_Snprintf(error_string, length, "unknown socket error %d", error);
-	break;
-    }
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-*/
diff --git a/src/pm/smpd/sock/poll/Makefile.mk b/src/pm/smpd/sock/poll/Makefile.mk
deleted file mode 100644
index 8f3d8e0..0000000
--- a/src/pm/smpd/sock/poll/Makefile.mk
+++ /dev/null
@@ -1,27 +0,0 @@
-## -*- Mode: Makefile; -*-
-## vim: set ft=automake :
-##
-## (C) 2011 by Argonne National Laboratory.
-##     See COPYRIGHT in top-level directory.
-##
-
-if BUILD_PM_SMPD
-if SMPD_SOCK_IS_POLL
-# the .i files (a terrible design) are effectively header files, even though
-# they contain code that should really only live in a single .c file
-smpd_sock_hdrs = \
-    src/pm/smpd/sock/poll/smpd_sock_immed.i \
-    src/pm/smpd/sock/poll/smpd_sock_init.i \
-    src/pm/smpd/sock/poll/smpd_sock_misc.i \
-    src/pm/smpd/sock/poll/smpd_sock_post.i \
-    src/pm/smpd/sock/poll/smpd_sock_set.i \
-    src/pm/smpd/sock/poll/smpd_sock_wait.i \
-    src/pm/smpd/sock/poll/smpd_socki_util.i \
-    src/pm/smpd/sock/poll/smpd_util_socki.h
-
-smpd_sock_src = src/pm/smpd/sock/poll/smpd_util_sock.c
-smpd_sock_cppflags = -I$(top_srcdir)/src/pm/smpd/sock/poll
-
-endif SMPD_SOCK_IS_POLL
-endif BUILD_PM_SMPD
-
diff --git a/src/pm/smpd/sock/poll/smpd_sock_immed.i b/src/pm/smpd/sock/poll/smpd_sock_immed.i
deleted file mode 100644
index 75e5d39..0000000
--- a/src/pm/smpd/sock/poll/smpd_sock_immed.i
+++ /dev/null
@@ -1,664 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-
-
-/* FIXME: Why is this the _immed file (what does immed stand for?) */
-
-/* FIXME: What do any of these routines do?  What are the arguments?
-   Special conditions (see the FIXME on len = SSIZE_MAX)?  preconditions?
-   postconditions? */
-
-/* FIXME: What does this function do?  What are its arguments?
-   It appears to execute a nonblocking accept call */
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_accept
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_accept(struct SMPDU_Sock * listener, 
-		      struct SMPDU_Sock_set * sock_set, void * user_ptr,
-		      struct SMPDU_Sock ** sockp)
-{
-    struct SMPDU_Sock * sock;
-    struct pollfd * pollfd;
-    struct pollinfo * pollinfo;
-    int fd = -1;
-    struct sockaddr_in addr;
-    socklen_t addr_len;
-    long flags;
-    int nodelay;
-    int rc;
-    int result = SMPD_SUCCESS;
-
-    smpd_enter_fn(FCNAME);
-
-    SMPDU_SOCKI_VERIFY_INIT(result, fn_exit);
-    SMPDU_SOCKI_VALIDATE_SOCK(listener, result, fn_exit);
-    SMPDU_SOCKI_VALIDATE_SOCK_SET(sock_set, result, fn_exit);
-
-    pollfd = SMPDU_Socki_sock_get_pollfd(listener);
-    pollinfo = SMPDU_Socki_sock_get_pollinfo(listener);
-
-    /* --BEGIN ERROR HANDLING-- */
-    if (pollinfo->type != SMPDU_SOCKI_TYPE_LISTENER)
-    {
-        /*
-	result = MPIR_Err_create_code(result, MPIR_ERR_RECOVERABLE, 
-		 FCNAME, __LINE__, SMPDU_SOCK_ERR_BAD_SOCK,
-		 "**sock|listener_bad_sock", "**sock|listener_bad_sock %d %d",
-		 pollinfo->sock_set->id, pollinfo->sock_id);
-        */
-        smpd_err_printf("Bad listen socket\n");
-	goto fn_exit;
-    }
-    
-    if (pollinfo->state != SMPDU_SOCKI_STATE_CONNECTED_RO && 
-	pollinfo->state != SMPDU_SOCKI_STATE_CLOSING)
-    {
-        /*
-	result = MPIR_Err_create_code(result, MPIR_ERR_RECOVERABLE, 
-		FCNAME, __LINE__, SMPDU_SOCK_ERR_BAD_SOCK,
-	     "**sock|listener_bad_state", "**sock|listener_bad_state %d %d %d",
-		pollinfo->sock_set->id, pollinfo->sock_id, pollinfo->state);
-        */
-        smpd_err_printf("Bad listen socket state, sock_set->id =  %d, sock_id = %d, state =  %d\n", pollinfo->sock_set->id, pollinfo->sock_id, pollinfo->state);
-	goto fn_exit;
-    }
-    /* --END ERROR HANDLING-- */
-
-    /*
-     * Get a socket for the new connection from the operating system.  
-     * Make the socket nonblocking, and disable Nagle's
-     * alogorithm (to minimize latency of small messages).
-     */
-    addr_len = sizeof(struct sockaddr_in);
-    /* FIXME: Either use the syscall macro or correctly wrap this in a
-       test for EINTR */
-    fd = accept(pollinfo->fd, (struct sockaddr *) &addr, &addr_len);
-
-    if (pollinfo->state != SMPDU_SOCKI_STATE_CLOSING)
-    {
-	/*
-	 * Unless the listener sock is being closed, add it back into the 
-	 * poll list so that new connections will be detected.
-	 */
-	SMPDU_SOCKI_POLLFD_OP_SET(pollfd, pollinfo, POLLIN);
-    }
-
-    /* --BEGIN ERROR HANDLING-- */
-    if (fd == -1)
-    {
-        /*
-	if (errno == EAGAIN || errno == EWOULDBLOCK)
-	{
-	    result = MPIR_Err_create_code(result, MPIR_ERR_RECOVERABLE, 
-			     FCNAME, __LINE__, SMPDU_SOCK_ERR_NO_NEW_SOCK,
-			     "**sock|nosock", NULL);
-	}
-	else if (errno == ENOBUFS || errno == ENOMEM)
-	{
-	    result = MPIR_Err_create_code(result, MPIR_ERR_RECOVERABLE, 
-				FCNAME, __LINE__, SMPDU_SOCK_ERR_NOMEM,
-				"**sock|osnomem", NULL);
-	}
-	else if (errno == EBADF || errno == ENOTSOCK || errno == EOPNOTSUPP)
-	{
-	    result = MPIR_Err_create_code(result, MPIR_ERR_RECOVERABLE, 
-                           FCNAME, __LINE__, SMPDU_SOCK_ERR_BAD_SOCK,
-			  "**sock|badhandle", "**sock|poll|badhandle %d %d %d",
-			  pollinfo->sock_set->id, pollinfo->sock_id, 
-			  pollinfo->fd);
-	}
-	else
-	{
-	    result = MPIR_Err_create_code(SMPD_SUCCESS, MPIR_ERR_RECOVERABLE,
-                           FCNAME, __LINE__, SMPDU_SOCK_ERR_NO_NEW_SOCK,
-			   "**sock|poll|accept", "**sock|poll|accept %d %s", 
-			   errno, MPIU_Strerror(errno));
-	}
-        */
-        smpd_err_printf("Error accepting new connection, errno = %d (%s)\n", errno, strerror(errno));
-	
-	goto fn_fail;
-    }
-    /* --END ERROR HANDLING-- */
-
-    flags = fcntl(fd, F_GETFL, 0);
-    /* FIXME: There should be a simpler macro for reporting errno messages */
-    /* --BEGIN ERROR HANDLING-- */
-    if (flags == -1)
-    {
-        /*
-	result = MPIR_Err_create_code(SMPD_SUCCESS, MPIR_ERR_RECOVERABLE, 
-			 FCNAME, __LINE__, SMPD_FAIL,
-			 "**sock|poll|nonblock", "**sock|poll|nonblock %d %s", 
-			 errno, MPIU_Strerror(errno));
-        */
-        smpd_err_printf("Error getting status flags for new conn fd, errno = %d (%s)\n", errno, strerror(errno));
-	goto fn_fail;
-    }
-    /* --END ERROR HANDLING-- */
-    rc = fcntl(fd, F_SETFL, flags | O_NONBLOCK);
-    /* --BEGIN ERROR HANDLING-- */
-    if (rc == -1)
-    {
-        /*
-	result = MPIR_Err_create_code(SMPD_SUCCESS, MPIR_ERR_RECOVERABLE, 
-			 FCNAME, __LINE__, SMPD_FAIL,
-			 "**sock|poll|nonblock", "**sock|poll|nonblock %d %s",
-			 errno, MPIU_Strerror(errno));
-        */
-        smpd_err_printf("Error setting new conn to non-blocking, errno = %d (%s)\n", errno, strerror(errno));
-	goto fn_fail;
-    }
-    /* --END ERROR HANDLING-- */
-
-    nodelay = 1;
-    rc = setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, &nodelay, sizeof(nodelay));
-    /* --BEGIN ERROR HANDLING-- */
-    if (rc != 0)
-    {
-        /*
-	result = MPIR_Err_create_code(SMPD_SUCCESS, MPIR_ERR_RECOVERABLE, 
-			 FCNAME, __LINE__, SMPD_FAIL,
-			 "**sock|poll|nodelay", "**sock|poll|nodelay %d %s", 
-                         errno, MPIU_Strerror(errno));
-        */
-        smpd_err_printf("Error setting TCP_NODELAY for the new conn, errno = %d (%s)\n", errno, strerror(errno));
-	goto fn_fail;
-    }
-    /* --END ERROR HANDLING-- */
-
-    /*
-     * Verify that the socket buffer size is correct
-     */
-    /* FIXME: Who sets the socket buffer size?  Why isn't the test
-       made at that time? */
-    result = SMPDU_Sock_SetSockBufferSize( fd, 1 );
-    if (result) {
-        smpd_err_printf("Error setting socket buffer size for new conn\n");
-        goto fn_fail;    
-    }
-
-    /*
-     * Allocate and initialize sock and poll structures.
-     *
-     * NOTE: pollfd->fd is initialized to -1.  It is only set to the true fd 
-     * value when an operation is posted on the sock.  This
-     * (hopefully) eliminates a little overhead in the OS and avoids 
-     * repetitive POLLHUP events when the connection is closed by
-     * the remote process.
-     */
-    result = SMPDU_Socki_sock_alloc(sock_set, &sock);
-    /* --BEGIN ERROR HANDLING-- */
-    if (result != SMPD_SUCCESS)
-    {
-        /*
-	result = MPIR_Err_create_code(result, MPIR_ERR_RECOVERABLE, FCNAME, __LINE__, SMPDU_SOCK_ERR_NOMEM,
-					 "**sock|sockalloc", NULL);
-        */
-        smpd_err_printf("Error allocating sock structure for new conn\n");
-	goto fn_fail;
-    }
-    /* --END ERROR HANDLING-- */
-    
-    pollfd = SMPDU_Socki_sock_get_pollfd(sock);
-    pollinfo = SMPDU_Socki_sock_get_pollinfo(sock);
-
-    pollinfo->fd = fd;
-    pollinfo->user_ptr = user_ptr;
-    pollinfo->type = SMPDU_SOCKI_TYPE_COMMUNICATION;
-    pollinfo->state = SMPDU_SOCKI_STATE_CONNECTED_RW;
-    pollinfo->os_errno = 0;
-    
-    *sockp = sock;
-
-  fn_exit:
-    smpd_exit_fn(FCNAME);
-    return result;
-
-    /* --BEGIN ERROR HANDLING-- */
-  fn_fail:
-    if (fd != -1)
-    {
-	close(fd);
-    }
-
-    goto fn_exit;
-    /* --END ERROR HANDLING-- */
-}
-/* end SMPDU_Sock_accept() */
-
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_read
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_read(SMPDU_Sock_t sock, void * buf, SMPDU_Sock_size_t len, 
-		    SMPDU_Sock_size_t * num_read)
-{
-    struct pollfd * pollfd;
-    struct pollinfo * pollinfo;
-    size_t nb;
-    int result = SMPD_SUCCESS;
-
-    smpd_enter_fn(FCNAME);
-
-    SMPDU_SOCKI_VERIFY_INIT(result, fn_exit);
-    SMPDU_SOCKI_VALIDATE_SOCK(sock, result, fn_exit);
-
-    pollfd = SMPDU_Socki_sock_get_pollfd(sock);
-    pollinfo = SMPDU_Socki_sock_get_pollinfo(sock);
-
-    SMPDU_SOCKI_VALIDATE_FD(pollinfo, result, fn_exit);
-    SMPDU_SOCKI_VERIFY_CONNECTED_READABLE(pollinfo, result, fn_exit);
-    SMPDU_SOCKI_VERIFY_NO_POSTED_READ(pollfd, pollinfo, result, fn_exit);
-    
-    /* FIXME: multiple passes should be made if 
-       len > SSIZE_MAX and nb == SSIZE_MAX */
-    /* FIXME: This is a scary test/assignment.  It needs an explanation 
-       (presumably that this routine will be called again if len is 
-       shortened.  However, in that case, the description of the routine 
-       (which is also missing!!!!) needs to be very clear about this
-       requirement.  */
-    if (len > SSIZE_MAX)
-    {
-	len = SSIZE_MAX;
-    }
-    
-    do
-    {
-	smpd_enter_fn(FCNAME);
-	nb = read(pollinfo->fd, buf, len);
-	smpd_exit_fn(FCNAME);
-    }
-    while (nb == -1 && errno == EINTR);
-
-    if (nb > 0)
-    {
-	*num_read = (SMPDU_Sock_size_t) nb;
-    }
-    /* --BEGIN ERROR HANDLING-- */
-    else if (nb == 0)
-    {
-	*num_read = 0;
-	
-        /*
-	result = MPIR_Err_create_code(
-	    SMPD_SUCCESS, MPIR_ERR_RECOVERABLE, FCNAME, __LINE__, 
-	    SMPDU_SOCK_ERR_CONN_CLOSED,
-	    "**sock|connclosed", "**sock|connclosed %d %d", 
-	    pollinfo->sock_set->id, pollinfo->sock_id);
-        */
-        smpd_dbg_printf("Trying to read from a closed socket, errno = %d (%s)\n", errno, strerror(errno));
-        result = SMPD_FAIL;
-	
-	if (SMPDU_SOCKI_POLLFD_OP_ISSET(pollfd, pollinfo, POLLOUT))
-	{ 
-	    /* A write is posted on this connection.  Enqueue an event for
-	       the write indicating the connection is closed. */
-	    SMPDU_SOCKI_EVENT_ENQUEUE(pollinfo, SMPDU_SOCK_OP_WRITE,
-				      pollinfo->write_nb, pollinfo->user_ptr,
-				      result, result, fn_exit);
-	    SMPDU_SOCKI_POLLFD_OP_CLEAR(pollfd, pollinfo, POLLOUT);
-	}
-	
-	pollinfo->state = SMPDU_SOCKI_STATE_DISCONNECTED;
-    }
-    else if (errno == EAGAIN || errno == EWOULDBLOCK)
-    {
-	*num_read = 0;
-    }
-    else
-    {
-	int disconnected;
-	
-	*num_read = 0;
-	
-	result = SMPDU_Socki_os_to_result(pollinfo, errno, 
-					    FCNAME, __LINE__, &disconnected);
-	if (MPIR_Err_is_fatal(result))
-	{
-	    /*
-	     * A serious error occurred.  There is no guarantee that the 
-	     * data structures are still intact.  Therefore, we avoid
-	     * modifying them.
-	     */
-	    goto fn_exit;
-	}
-
-	if (disconnected)
-	{
-	    if (SMPDU_SOCKI_POLLFD_OP_ISSET(pollfd, pollinfo, POLLOUT))
-	    { 
-		/* A write is posted on this connection.  Enqueue an event 
-		   for the write indicating the connection is closed. */
-		SMPDU_SOCKI_EVENT_ENQUEUE(pollinfo, SMPDU_SOCK_OP_WRITE, 
-					pollinfo->write_nb, pollinfo->user_ptr,
-					result, result, fn_exit);
-		SMPDU_SOCKI_POLLFD_OP_CLEAR(pollfd, pollinfo, POLLOUT);
-	    }
-	    
-	    pollinfo->state = SMPDU_SOCKI_STATE_DISCONNECTED;
-	}
-    }
-    /* --END ERROR HANDLING-- */
-
-  fn_exit:
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-/* end SMPDU_Sock_read() */
-
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_readv
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_readv(SMPDU_Sock_t sock, SMPD_IOV * iov, int iov_n, 
-		     SMPDU_Sock_size_t * num_read)
-{
-    struct pollfd * pollfd;
-    struct pollinfo * pollinfo;
-    ssize_t nb;
-    int result = SMPD_SUCCESS;
-
-    smpd_enter_fn(FCNAME);
-    
-    SMPDU_SOCKI_VERIFY_INIT(result, fn_exit);
-    SMPDU_SOCKI_VALIDATE_SOCK(sock, result, fn_exit);
-
-    pollfd = SMPDU_Socki_sock_get_pollfd(sock);
-    pollinfo = SMPDU_Socki_sock_get_pollinfo(sock);
-
-    SMPDU_SOCKI_VALIDATE_FD(pollinfo, result, fn_exit);
-    SMPDU_SOCKI_VERIFY_CONNECTED_READABLE(pollinfo, result, fn_exit);
-    SMPDU_SOCKI_VERIFY_NO_POSTED_READ(pollfd, pollinfo, result, fn_exit);
-
-    /*
-     * FIXME: The IEEE 1003.1 standard says that if the sum of the iov_len 
-     * fields exceeds SSIZE_MAX, an errno of EINVAL will be
-     * returned.  How do we handle this?  Can we place an equivalent 
-     * limitation in the Sock interface?
-     */
-    do
-    {
-	smpd_enter_fn(FCNAME);
-	nb = readv(pollinfo->fd, iov, iov_n);
-	smpd_exit_fn(FCNAME);
-    }
-    while (nb == -1 && errno == EINTR);
-
-    if (nb > 0)
-    {
-	*num_read = (SMPDU_Sock_size_t) nb;
-    }
-    /* --BEGIN ERROR HANDLING-- */
-    else if (nb == 0)
-    {
-	*num_read = 0;
-	
-        /*
-	result = MPIR_Err_create_code(
-	    SMPD_SUCCESS, MPIR_ERR_RECOVERABLE, FCNAME, __LINE__, 
-	    SMPDU_SOCK_ERR_CONN_CLOSED,
-	    "**sock|connclosed", "**sock|connclosed %d %d", 
-	    pollinfo->sock_set->id, pollinfo->sock_id);
-        */
-        smpd_err_printf("Error trying to read from a closed socket, errno = %d (%s)\n", errno, strerror(errno));
-	
-	if (SMPDU_SOCKI_POLLFD_OP_ISSET(pollfd, pollinfo, POLLOUT))
-	{ 
-	    
-	    /* A write is posted on this connection.  Enqueue an event 
-	       for the write indicating the connection is closed. */
-	    SMPDU_SOCKI_EVENT_ENQUEUE(pollinfo, SMPDU_SOCK_OP_WRITE, 
-				      pollinfo->write_nb, pollinfo->user_ptr,
-				      result, result, fn_exit);
-	    SMPDU_SOCKI_POLLFD_OP_CLEAR(pollfd, pollinfo, POLLOUT);
-	}
-	
-	pollinfo->state = SMPDU_SOCKI_STATE_DISCONNECTED;
-    }
-    else if (errno == EAGAIN || errno == EWOULDBLOCK)
-    {
-	*num_read = 0;
-    }
-    else
-    {
-	int disconnected;
-	
-	*num_read = 0;
-	
-	result = SMPDU_Socki_os_to_result(pollinfo, errno, FCNAME,
-						__LINE__, &disconnected);
-	if (MPIR_Err_is_fatal(result))
-	{
-	    /*
-	     * A serious error occurred.  There is no guarantee that the 
-	     * data structures are still intact.  Therefore, we avoid
-	     * modifying them.
-	     */
-	    goto fn_exit;
-	}
-
-	if (disconnected)
-	{
-	    if (SMPDU_SOCKI_POLLFD_OP_ISSET(pollfd, pollinfo, POLLOUT))
-	    { 
-		/* A write is posted on this connection.  Enqueue an event 
-		   for the write indicating the connection is closed. */
-		SMPDU_SOCKI_EVENT_ENQUEUE(pollinfo, SMPDU_SOCK_OP_WRITE, 
-					pollinfo->write_nb, pollinfo->user_ptr,
-					  result, result, fn_exit);
-		SMPDU_SOCKI_POLLFD_OP_CLEAR(pollfd, pollinfo, POLLOUT);
-	    }
-	    
-	    pollinfo->state = SMPDU_SOCKI_STATE_DISCONNECTED;
-	}
-    }
-    /* --END ERROR HANDLING-- */
-
-  fn_exit:
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-/* end SMPDU_Sock_readv() */
-
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_write
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_write(SMPDU_Sock_t sock, void * buf, SMPDU_Sock_size_t len, 
-		     SMPDU_Sock_size_t * num_written)
-{
-    struct pollfd * pollfd;
-    struct pollinfo * pollinfo;
-    ssize_t nb;
-    int result = SMPD_SUCCESS;
-
-    smpd_enter_fn(FCNAME);
-    
-    SMPDU_SOCKI_VERIFY_INIT(result, fn_exit);
-    SMPDU_SOCKI_VALIDATE_SOCK(sock, result, fn_exit);
-
-    pollfd = SMPDU_Socki_sock_get_pollfd(sock);
-    pollinfo = SMPDU_Socki_sock_get_pollinfo(sock);
-
-    SMPDU_SOCKI_VERIFY_CONNECTED_WRITABLE(pollinfo, result, fn_exit);
-    SMPDU_SOCKI_VALIDATE_FD(pollinfo, result, fn_exit);
-    SMPDU_SOCKI_VERIFY_NO_POSTED_WRITE(pollfd, pollinfo, result, fn_exit);
-    
-    /* FIXME: multiple passes should be made if len > SSIZE_MAX and nb == SSIZE_MAX */
-    if (len > SSIZE_MAX)
-    {
-	len = SSIZE_MAX;
-    }
-    
-    do
-    {
-	smpd_enter_fn(FCNAME);
-	nb = write(pollinfo->fd, buf, len);
-	smpd_exit_fn(FCNAME);
-    }
-    while (nb == -1 && errno == EINTR);
-
-    if (nb >= 0)
-    {
-	*num_written = nb;
-    }
-    /* --BEGIN ERROR HANDLING-- */
-    else if (errno == EAGAIN || errno == EWOULDBLOCK)
-    {
-	*num_written = 0;
-    }
-    else
-    {
-	int disconnected;
-	
-	*num_written = 0;
-	
-	result = SMPDU_Socki_os_to_result(pollinfo, errno, FCNAME, 
-						__LINE__, &disconnected);
-	if (MPIR_Err_is_fatal(result))
-	{
-	    /*
-	     * A serious error occurred.  There is no guarantee that the data 
-	     * structures are still intact.  Therefore, we avoid
-	     * modifying them.
-	     */
-	    goto fn_exit;
-	}
-
-	if (disconnected)
-	{
-	    /*
-	     * The connection is dead but data may still be in the socket
-	     * buffer; thus, we change the state and let
-	     * SMPDU_Sock_wait() clean things up.
-	     */
-	    pollinfo->state = SMPDU_SOCKI_STATE_CONNECTED_RO;
-	}
-    }
-    /* --END ERROR HANDLING-- */
-
-  fn_exit:
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-/* end SMPDU_Sock_write() */
-
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_writev
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_writev(SMPDU_Sock_t sock, SMPD_IOV * iov, int iov_n, SMPDU_Sock_size_t * num_written)
-{
-    struct pollfd * pollfd;
-    struct pollinfo * pollinfo;
-    ssize_t nb;
-    int result = SMPD_SUCCESS;
-
-    smpd_enter_fn(FCNAME);
-    
-    SMPDU_SOCKI_VERIFY_INIT(result, fn_exit);
-    SMPDU_SOCKI_VALIDATE_SOCK(sock, result, fn_exit);
-
-    pollfd = SMPDU_Socki_sock_get_pollfd(sock);
-    pollinfo = SMPDU_Socki_sock_get_pollinfo(sock);
-
-    SMPDU_SOCKI_VALIDATE_FD(pollinfo, result, fn_exit);
-    SMPDU_SOCKI_VERIFY_CONNECTED_WRITABLE(pollinfo, result, fn_exit);
-    SMPDU_SOCKI_VERIFY_NO_POSTED_WRITE(pollfd, pollinfo, result, fn_exit);
-    
-    /*
-     * FIXME: The IEEE 1003.1 standard says that if the sum of the iov_len 
-     * fields exceeds SSIZE_MAX, an errno of EINVAL will be
-     * returned.  How do we handle this?  Can we place an equivalent 
-     * limitation in the Sock interface?
-     */
-    do
-    {
-	smpd_enter_fn(FCNAME);
-	nb = writev(pollinfo->fd, iov, iov_n);
-	smpd_exit_fn(FCNAME);
-    }
-    while (nb == -1 && errno == EINTR);
-
-    if (nb >= 0)
-    {
-	*num_written = (SMPDU_Sock_size_t) nb;
-    }
-    /* --BEGIN ERROR HANDLING-- */
-    else if (errno == EAGAIN || errno == EWOULDBLOCK)
-    {
-	*num_written = 0;
-    }
-    else
-    {
-	int disconnected;
-	
-	*num_written = 0;
-	
-	result = SMPDU_Socki_os_to_result(pollinfo, errno, FCNAME, 
-						__LINE__, &disconnected);
-	if (MPIR_Err_is_fatal(result))
-	{
-	    /*
-	     * A serious error occurred.  There is no guarantee that the 
-	     * data structures are still intact.  Therefore, we avoid
-	     * modifying them.
-	     */
-	    goto fn_exit;
-	}
-
-	if (disconnected)
-	{
-	    /*
-	     * The connection is dead but data may still be in the socket 
-	     * buffer; thus, we change the state and let
-	     * SMPDU_Sock_wait() clean things up.
-	     */
-	    pollinfo->state = SMPDU_SOCKI_STATE_CONNECTED_RO;
-	}
-    }
-    /* --END ERROR HANDLING-- */
-
-  fn_exit:
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-/* end SMPDU_Sock_writev() */
-
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_wakeup
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_wakeup(struct SMPDU_Sock_set * sock_set)
-{
-    int result = SMPD_SUCCESS;
-
-    smpd_enter_fn(FCNAME);
-
-    SMPDU_SOCKI_VERIFY_INIT(result, fn_exit);
-    SMPDU_SOCKI_VALIDATE_SOCK_SET(sock_set, result, fn_exit);
-
-    /* FIXME: We need (1) a standardized test for including multithreaded
-       code and (2) include support for user requests for a lower-level
-       of thread safety.  Finally, things like this should probably 
-       be implemented as an abstraction (e.g., wakeup_progress_threads?)
-       rather than this specific code.  */
-
-    fn_exit:
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-/* end SMPDU_Sock_wakeup() */
-
-
diff --git a/src/pm/smpd/sock/poll/smpd_sock_init.i b/src/pm/smpd/sock/poll/smpd_sock_init.i
deleted file mode 100644
index d1dab5d..0000000
--- a/src/pm/smpd/sock/poll/smpd_sock_init.i
+++ /dev/null
@@ -1,50 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-
-/* FIXME: The usual missing documentation (what are these routines for?
-   preconditions?  who calls? post conditions? */
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_init
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_init(void)
-{
-
-    smpd_enter_fn(FCNAME);
-
-    SMPDU_Socki_initialized++;
-
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-
-/* FIXME: Who calls?  When?  Should this be a finalize handler instead? */
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_finalize
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_finalize(void)
-{
-    int result = SMPD_SUCCESS;
-
-    SMPDU_SOCKI_VERIFY_INIT(result, fn_exit);
-    
-    smpd_enter_fn(FCNAME);
-
-    SMPDU_Socki_initialized--;
-
-    if (SMPDU_Socki_initialized == 0)
-    {
-	SMPDU_Socki_free_eventq_mem();
-    }
-
-#ifdef USE_SOCK_VERIFY
-  fn_exit:
-#endif
-    smpd_exit_fn(FCNAME);
-    return result;
-}
diff --git a/src/pm/smpd/sock/poll/smpd_sock_misc.i b/src/pm/smpd/sock/poll/smpd_sock_misc.i
deleted file mode 100644
index abc3800..0000000
--- a/src/pm/smpd/sock/poll/smpd_sock_misc.i
+++ /dev/null
@@ -1,280 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-
-/* This routine is called in mpid/ch3/util/sock/ch3u_connect_sock.c */
-/* FIXME: This routine is misnamed; it is really get_interface_name (in the 
-   case where there are several networks available to the calling process,
-   this picks one but even in the current code can pick a different
-   interface if a particular environment variable is set) .  
-
-   This routine is used in smpd so we should not change its name yet. */
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_get_host_description
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_get_host_description(int myRank, 
-				    char * host_description, int len)
-{
-    char * env_hostname;
-    int rc;
-    int result = SMPD_SUCCESS;
-
-    smpd_enter_fn(FCNAME);
-    
-    SMPDU_SOCKI_VERIFY_INIT(result, fn_exit);
-    /* --BEGIN ERROR HANDLING-- */
-    if (len < 0)
-    {
-	result = MPIR_Err_create_code(SMPD_SUCCESS, MPIR_ERR_RECOVERABLE, 
-				     FCNAME, __LINE__, SMPD_FAIL,
-				     "**sock|badhdmax", NULL);
-        result = SMPD_FAIL;
-        smpd_err_printf("Length of host description str is invalid - < 0\n");
-	goto fn_fail;
-    }
-    /* --END ERROR HANDLING-- */
-
-    /* FIXME: Is this documented?  How does it work if the process manager
-       cannot give each process a different value for an environment
-       name?  What if a different interface is needed? */
-    /* Use hostname supplied in environment variable, if it exists */
-    env_hostname = getenv("MPICH_INTERFACE_HOSTNAME");
-
-    if (!env_hostname) {
-	/* See if there is a per-process name for the interfaces (e.g.,
-	   the process manager only delievers the same values for the 
-	   environment to each process */
-	char namebuf[1024];
-	MPIU_Snprintf( namebuf, sizeof(namebuf), 
-		       "MPICH_INTERFACE_HOSTNAME_R_%d", myRank );
-	env_hostname = getenv( namebuf );
-    }
-
-    if (env_hostname != NULL)
-    {
-	rc = MPIU_Strncpy(host_description, env_hostname, len);
-	/* --BEGIN ERROR HANDLING-- */
-	if (rc != 0)
-	{
-            result = SMPD_FAIL;
-            smpd_err_printf("Unable to copy hostname to host desc str\n");
-            goto fn_fail;
-	}
-	/* --END ERROR HANDLING-- */
-    }
-    else {
-	rc = gethostname(host_description, len);
-	/* --BEGIN ERROR HANDLING-- */
-	if (rc == -1)
-	{
-            result = SMPD_FAIL;
-            smpd_err_printf("gethostname failed for %s, errno = %d (%s)\n", host_description, errno, strerror(errno));
-            goto fn_fail;
-	}
-	/* --END ERROR HANDLING-- */
-    }
-
- fn_exit:
-    smpd_exit_fn(FCNAME);
-    return result;
- fn_fail:
-    goto fn_exit;
-}
-
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_native_to_sock
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_native_to_sock(struct SMPDU_Sock_set * sock_set, SMPDU_SOCK_NATIVE_FD fd, void *user_ptr,
-			      struct SMPDU_Sock ** sockp)
-{
-    struct SMPDU_Sock * sock = NULL;
-    struct pollfd * pollfd;
-    struct pollinfo * pollinfo;
-    int rc;
-    long flags;
-    int result = SMPD_SUCCESS;
-
-    smpd_enter_fn(FCNAME);
-
-    SMPDU_SOCKI_VERIFY_INIT(result, fn_exit);
-
-    /* allocate sock and poll structures */
-    result = SMPDU_Socki_sock_alloc(sock_set, &sock);
-    /* --BEGIN ERROR HANDLING-- */
-    if (result != SMPD_SUCCESS)
-    {
-        result = SMPD_FAIL;
-        smpd_err_printf("Unable to alloc sock structure for sock\n");
-	goto fn_fail;
-    }
-    /* --END ERROR HANDLING-- */
-    
-    pollfd = SMPDU_Socki_sock_get_pollfd(sock);
-    pollinfo = SMPDU_Socki_sock_get_pollinfo(sock);
-    
-    /* set file descriptor to non-blocking */
-    flags = fcntl(fd, F_GETFL, 0);
-    /* --BEGIN ERROR HANDLING-- */
-    if (flags == -1)
-    {
-        result = SMPD_FAIL;
-        smpd_err_printf("Getting status flags failed, errno = %d (%s)\n", errno, strerror(errno));
-	goto fn_fail;
-    }
-    /* --END ERROR HANDLING-- */
-    rc = fcntl(fd, F_SETFL, flags | O_NONBLOCK);
-    /* --BEGIN ERROR HANDLING-- */
-    if (rc == -1)
-    {
-        result = SMPD_FAIL;
-        smpd_err_printf("Setting fd to non blocking failed, errno = %d (%s)\n", errno, strerror(errno));
-	goto fn_fail;
-    }
-    /* --END ERROR HANDLING-- */
-
-    /* initialize sock and poll structures */
-    pollfd->fd = -1;
-    pollfd->events = 0;
-    pollfd->revents = 0;
-    
-    pollinfo->fd = fd;
-    pollinfo->user_ptr = user_ptr;
-    pollinfo->type = SMPDU_SOCKI_TYPE_COMMUNICATION;
-    pollinfo->state = SMPDU_SOCKI_STATE_CONNECTED_RW;
-
-    *sockp = sock;
-
-  fn_exit:
-    smpd_exit_fn(FCNAME);
-    return result;
-
-    /* --BEGIN ERROR HANDLING-- */
-  fn_fail:
-    if (sock != NULL)
-    {
-	SMPDU_Socki_sock_free(sock);
-    }
-
-    goto fn_exit;
-    /* --END ERROR HANDLING-- */
-}
-
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_set_user_ptr
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_set_user_ptr(struct SMPDU_Sock * sock, void * user_ptr)
-{
-    int result = SMPD_SUCCESS;
-
-    smpd_enter_fn(FCNAME);
-    
-    SMPDU_SOCKI_VERIFY_INIT(result, fn_exit);
-
-    if (sock != SMPDU_SOCK_INVALID_SOCK &&
-	sock->sock_set != SMPDU_SOCK_INVALID_SET)
-    {
-	SMPDU_Socki_sock_get_pollinfo(sock)->user_ptr = user_ptr;
-    }
-    /* --BEGIN ERROR HANDLING-- */
-    else
-    {
-        result = SMPD_FAIL;
-        smpd_err_printf("Invalid sock structure, unable to set user ptr\n");
-        goto fn_fail;
-    }
-    /* --END ERROR HANDLING-- */
-
-  fn_exit:
-    smpd_exit_fn(FCNAME);
-    return result;
-  fn_fail:
-    goto fn_exit;
-}
-
-
-/* FIXME: What is this for?  It appears to be used in debug printing and
-   in smpd */
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_get_sock_id
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_get_sock_id(struct SMPDU_Sock * sock)
-{
-    int id;
-
-    smpd_enter_fn(FCNAME);
-
-    if (sock != SMPDU_SOCK_INVALID_SOCK)
-    {
-	if (sock->sock_set != SMPDU_SOCK_INVALID_SET)
-	{
-	    id = SMPDU_Socki_sock_get_pollinfo(sock)->sock_id;
-	}
-	else
-	{
-	    id = -1;
-	}
-    }
-    else
-    {
-	id = -1;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return id;
-}
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_get_sock_set_id
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_get_sock_set_id(struct SMPDU_Sock_set * sock_set)
-{
-    int id;
-
-    smpd_enter_fn(FCNAME);
-
-    if (sock_set != SMPDU_SOCK_INVALID_SET)
-    {    
-	id = sock_set->id;
-    }
-    else
-    {
-	id = -1;
-    }
-
-    smpd_exit_fn(FCNAME);
-    return id;
-}
-
-/* FIXME: This function violates the internationalization design by
-   using English language strings rather than the error translation mechanism.
-   This unnecessarily breaks the goal of allowing internationalization.  
-   Read the design documentation and if there is a problem, raise it rather 
-   than ignoring it.  
-*/
-/* FIXME: This appears to only be used in smpd */
-/* FIXME: It appears that this function was used instead of making use of the
-   existing MPI-2 features to extend MPI error classes and code, of to export
-   messages to non-MPI application (smpd?) */
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_get_error_class_string
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-/* --BEGIN ERROR HANDLING-- */
-int SMPDU_Sock_get_error_class_string(int error, char *error_string, int length)
-{
-
-    smpd_enter_fn(FCNAME);
-    smpd_exit_fn(FCNAME);
-    return SMPD_SUCCESS;
-}
-/* --END ERROR HANDLING-- */
diff --git a/src/pm/smpd/sock/poll/smpd_sock_post.i b/src/pm/smpd/sock/poll/smpd_sock_post.i
deleted file mode 100644
index 9d5b6f0..0000000
--- a/src/pm/smpd/sock/poll/smpd_sock_post.i
+++ /dev/null
@@ -1,710 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-
-/* FIXME: Provide an overview for the functions in this file */
-
-#undef FUNCNAME 
-#define FUNCNAME SMPDU_Sock_post_connect_ifaddr
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-/* 
- This routine connects to a particular address (in byte form; for ipv4, 
- the address is four bytes, typically the value of h_addr_list[0] in 
- struct hostent.  By avoiding a character name for an interface (we *never*
- connect to a host; we are *always* connecting to a particular interface 
- on a host), we avoid problems with DNS services, including lack of properly
- configured services and scalability problems.  As this routine uses 
- a four-byte field, it is currently restricted to ipv4.  This routine should
- evolve to support ipv4 and ipv6 addresses.
-
- This routine was constructed from SMPDU_Sock_post_connect by removing the 
- poorly placed use of gethostname within the middle of that routine and
- simply using the ifaddr field that is passed to this routine.  
- SMPDU_Sock_post_connect simply uses the hostname field to get the canonical
- IP address.  The original routine and its API was retained to allow backwards
- compatibility until it is determined that we can always use explicit addrs 
- needed in setting up the socket instead of character strings.
- */
-int SMPDU_Sock_post_connect_ifaddr( struct SMPDU_Sock_set * sock_set, 
-				    void * user_ptr, 
-				    SMPDU_Sock_ifaddr_t *ifaddr, int port,
-				    struct SMPDU_Sock ** sockp)
-{
-    struct SMPDU_Sock * sock = NULL;
-    struct pollfd * pollfd;
-    struct pollinfo * pollinfo;
-    int fd = -1;
-    struct sockaddr_in addr;
-    long flags;
-    int nodelay;
-    int rc;
-    int result = SMPD_SUCCESS;
-
-    smpd_enter_fn(FCNAME);
-
-    SMPDU_SOCKI_VERIFY_INIT(result, fn_exit);
-
-    /*
-     * Create a non-blocking socket with Nagle's algorithm disabled
-     */
-    fd = socket(PF_INET, SOCK_STREAM, 0);
-    if (fd == -1) {
-	/* FIXME: It would be better to include a special formatting
-	   clue for system error messages (e.g., %dSE; in the recommended
-	   revision for error reporting (that is, value (errno) is an int, 
-	   but should be interpreted as an System Error string) */
-        result = SMPD_FAIL;
-        smpd_err_printf("Creating socket failed, errno = %d (%s)\n", errno, strerror(errno));
-        goto fn_fail;
-    }
-
-    flags = fcntl(fd, F_GETFL, 0);
-    if (flags == -1) {
-        result = SMPD_FAIL;
-        smpd_err_printf("Getting status flags for socket failed, errno = %d (%s)\n", errno, strerror(errno));
-        goto fn_fail;
-    }
-    rc = fcntl(fd, F_SETFL, flags | O_NONBLOCK);
-    if (rc == -1) {
-        result = SMPD_FAIL;
-        smpd_err_printf("Setting socket to nonblocking failed, errno = %d (%s)\n", errno, strerror(errno));
-        goto fn_fail;
-    }
-
-    nodelay = 1;
-    rc = setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, &nodelay, sizeof(nodelay));
-    if (rc != 0) {
-        result = SMPD_FAIL;
-        smpd_err_printf("Setting nodelay option on socket failed, errno = %d (%s)\n", errno, strerror(errno));
-        goto fn_fail;
-    }
-
-    /*
-     * Allocate and initialize sock and poll structures
-     *
-     * NOTE: pollfd->fd is initialized to -1.  It is only set to the true fd 
-     * value when an operation is posted on the sock.  This
-     * (hopefully) eliminates a little overhead in the OS and avoids 
-     * repetitive POLLHUP events when the connection is closed by
-     * the remote process.
-     */
-    result = SMPDU_Socki_sock_alloc(sock_set, &sock);
-    if (result != SMPD_SUCCESS) {
-        smpd_err_printf("Unable to alloc sock struct for socket\n");
-        goto fn_fail;
-    }
-
-    pollfd = SMPDU_Socki_sock_get_pollfd(sock);
-    pollinfo = SMPDU_Socki_sock_get_pollinfo(sock);
-    
-    pollinfo->fd = fd;
-    pollinfo->user_ptr = user_ptr;
-    pollinfo->type = SMPDU_SOCKI_TYPE_COMMUNICATION;
-    pollinfo->state = SMPDU_SOCKI_STATE_CONNECTED_RW;
-    pollinfo->os_errno = 0;
-
-    memset(&addr, 0, sizeof(addr));
-    addr.sin_family = AF_INET;
-    memcpy(&addr.sin_addr.s_addr, ifaddr->ifaddr, 
-	   sizeof(addr.sin_addr.s_addr));
-    addr.sin_port = htons(port);
-
-    /*
-     * Set and verify the socket buffer size
-     */
-    result = SMPDU_Sock_SetSockBufferSize( fd, 1 );
-    if (result) { MPIU_ERR_POP(result); }
-    
-    /*
-     * Attempt to establish the connection
-     */
-    {
-	char addrString[64];
-	SMPDU_Sock_AddrToStr( ifaddr, addrString, sizeof(addrString) );
-        smpd_dbg_printf("Connecting to %s:%d\n", addrString, port ); 
-    }
-
-    do
-    {
-        rc = connect(fd, (struct sockaddr *) &addr, sizeof(addr));
-    }
-    while (rc == -1 && errno == EINTR);
-    
-    if (rc == 0)
-    {
-	/* connection succeeded */
-	smpd_dbg_printf("Setting state to SOCKI_STATE_CONNECTED_RW for sock %p",sock);
-	pollinfo->state = SMPDU_SOCKI_STATE_CONNECTED_RW;
-	SMPDU_SOCKI_EVENT_ENQUEUE(pollinfo, SMPDU_SOCK_OP_CONNECT, 0, user_ptr, SMPD_SUCCESS, result, fn_fail);
-    }
-    /* --BEGIN ERROR HANDLING-- */
-    else if (errno == EINPROGRESS)
-    {
-	/* connection pending */
-	smpd_dbg_printf("Setting state to SOCKI_STATE_CONNECTING for sock %p",sock);
-	pollinfo->state = SMPDU_SOCKI_STATE_CONNECTING;
-	SMPDU_SOCKI_POLLFD_OP_SET(pollfd, pollinfo, POLLOUT);
-    }
-    else
-    {
-	smpd_dbg_printf("Setting state to SOCKI_STATE_DISCONNECTED (failure in connect) for sock %p",sock);
-	pollinfo->os_errno = errno;
-	pollinfo->state = SMPDU_SOCKI_STATE_DISCONNECTED;
-
-	if (errno == ECONNREFUSED)
-	{
-	    SMPDU_SOCKI_EVENT_ENQUEUE(pollinfo, SMPDU_SOCK_OP_CONNECT, 0, user_ptr, SMPD_FAIL, 
-		result, fn_fail);
-	}
-	else
-	{
-	    SMPDU_SOCKI_EVENT_ENQUEUE(pollinfo, SMPDU_SOCK_OP_CONNECT, 0, user_ptr, SMPD_FAIL,
-		result, fn_fail);
-	}
-    }
-    /* --END ERROR HANDLING-- */
-
-    *sockp = sock;
-
-  fn_exit:
-    smpd_exit_fn(FCNAME);
-    return result;
-
-    /* --BEGIN ERROR HANDLING-- */
-  fn_fail:
-    if (fd != -1)
-    { 
-	close(fd);
-    }
-
-    if (sock != NULL)
-    {
-	SMPDU_Socki_sock_free(sock);
-    }
-
-    goto fn_exit;
-    /* --END ERROR HANDLING-- */
-}
-
-/* FIXME: What does this routine do?  Why does it take a host description
-   instead of an interface name or address? */
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_post_connect
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_post_connect(struct SMPDU_Sock_set * sock_set, void * user_ptr, 
-			    char * host_description, int port,
-			    struct SMPDU_Sock ** sockp)
-{
-    int result = SMPD_SUCCESS;
-    SMPDU_Sock_ifaddr_t ifaddr;
-    struct hostent * hostent;
-
-    /*
-     * Convert hostname to IP address
-     *
-     * FIXME: this should handle failures caused by a backed up listener queue
-     * at the remote process.  It should also use a
-     * specific interface if one is specified by the user.
-     */
-    /* FIXME: strtok may change the contents of host_description.  Shouldn't
-       the host description be a const char [] and not modified by this 
-       routine? */
-    strtok(host_description, " ");
-    /* FIXME: For ipv6, we should use getaddrinfo */
-    hostent = gethostbyname(host_description);
-    /* --BEGIN ERROR HANDLING-- */
-    if (hostent == NULL || hostent->h_addrtype != AF_INET) {
-	/* FIXME: Set error */
-	goto fn_exit;
-    }
-    /* --END ERROR HANDLING-- */
-    /* These are correct for IPv4 */
-    memcpy( ifaddr.ifaddr, (unsigned char *)hostent->h_addr_list[0], 4 );
-    ifaddr.len  = 4;
-    ifaddr.type = AF_INET;
-    result = SMPDU_Sock_post_connect_ifaddr( sock_set, user_ptr, 
-						&ifaddr, port, sockp );
- fn_exit:
-    return result;
-}
-/* end SMPDU_Sock_post_connect() */
-
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_listen
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-#ifndef USHRT_MAX
-#define USHRT_MAX 65535   /* 2^16-1 */
-#endif
-int SMPDU_Sock_listen(struct SMPDU_Sock_set * sock_set, void * user_ptr, 
-		      int * port, struct SMPDU_Sock ** sockp)
-{
-    struct SMPDU_Sock * sock;
-    struct pollfd * pollfd;
-    struct pollinfo * pollinfo;
-    int fd = -1;
-    long flags;
-    int optval;
-    struct sockaddr_in addr;
-    socklen_t addr_len;
-    int rc;
-    int result = SMPD_SUCCESS;
-
-    smpd_enter_fn(FCNAME);
-
-    SMPDU_SOCKI_VERIFY_INIT(result, fn_exit);
-    /* --BEGIN ERROR HANDLING-- */
-    if (*port < 0 || *port > USHRT_MAX)
-    {
-        smpd_err_printf("Invalid port (%d)\n", *port);
-	goto fn_exit;
-    }
-    /* --END ERROR HANDLING-- */
-
-    /*
-     * Create a non-blocking socket for the listener
-     */
-    fd = socket(PF_INET, SOCK_STREAM, 0);
-    /* --BEGIN ERROR HANDLING-- */
-    if (fd == -1)
-    {
-        result = SMPD_FAIL;
-        smpd_err_printf("Creating socket failed, errno = %d (%s)\n", errno, strerror(errno));
-	goto fn_fail;
-    }
-    /* --END ERROR HANDLING-- */
-
-    /* set SO_REUSEADDR to a prevent a fixed service port from being bound to during subsequent invocations */
-    if (*port != 0)
-    {
-	optval = 1;
-	rc = setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof(int));
-	/* --BEGIN ERROR HANDLING-- */
-	if (rc == -1)
-	{
-            result = SMPD_FAIL;
-            smpd_err_printf("setsockopt failed, errno = %d (%s)\n", errno, strerror(errno));
-	    goto fn_fail;
-	}
-	/* --END ERROR HANDLING-- */
-    }
-
-    /* make the socket non-blocking so that accept() will return immediately if no new connection is available */
-    flags = fcntl(fd, F_GETFL, 0);
-    /* --BEGIN ERROR HANDLING-- */
-    if (flags == -1)
-    {
-        result = SMPD_FAIL;
-        smpd_err_printf("Getting file status flags for socket failed, errno = %d (%s)\n", errno, strerror(errno));
-	goto fn_fail;
-    }
-    /* --END ERROR HANDLING-- */
-    rc = fcntl(fd, F_SETFL, flags | O_NONBLOCK);
-    /* --BEGIN ERROR HANDLING-- */
-    if (rc == -1)
-    {
-        result = SMPD_FAIL;
-        smpd_err_printf("Unable to set socket to nonblocking mode, errno = %d (%s)\n", errno, strerror(errno));
-	goto fn_fail;
-    }
-    /* --END ERROR HANDLING-- */
-
-    /*
-     * Bind the socket to all interfaces and the specified port.  The port specified by the calling routine may be 0, indicating
-     * that the operating system can select an available port in the ephemeral port range.
-     */
-    if (*port == 0) {
-	int portnum, low_port, high_port;
-	/* see if we actually want to find values within a range */
-	
-	low_port = high_port = 0;
-	/* Get range here.  These leave low_port, high_port unchanged
-	   if the env variable is not set */
-	/* FIXME: Use the parameter interface and document this */
-	MPL_env2range( "MPICH_PORT_RANGE", &low_port, &high_port );
-
-	for (portnum=low_port; portnum<=high_port; portnum++) {
-	    memset( (void *)&addr, 0, sizeof(addr) );
-	    addr.sin_family = AF_INET;
-	    addr.sin_addr.s_addr = htonl(INADDR_ANY);
-	    addr.sin_port	   = htons( portnum );
-	    
-	    rc = bind(fd, (struct sockaddr *) &addr, sizeof(addr));
-	    if (rc < 0) {
-		if (errno != EADDRINUSE && errno != EADDRNOTAVAIL) {
-		    close(fd);
-		    break;
-		}
-	    }
-	    else 
-		break;
-	}
-    }
-    else {
-	memset(&addr, 0, sizeof(addr));
-	addr.sin_family = AF_INET;
-	addr.sin_addr.s_addr = htonl(INADDR_ANY);
-	addr.sin_port = htons((unsigned short) *port);
-	rc = bind(fd, (struct sockaddr *) &addr, sizeof(addr));
-    }
-    /* --BEGIN ERROR HANDLING-- */
-    if (rc == -1)
-    {
-        result = SMPD_FAIL;
-        smpd_err_printf("bind failed, errno = %d (%s)\n", errno, strerror(errno));
-	goto fn_fail;
-    }
-    /* --END ERROR HANDLING-- */
-
-    /*
-     * Set and verify the socket buffer size
-     */
-    result = SMPDU_Sock_SetSockBufferSize( fd, 1 );
-    if (result) { MPIU_ERR_POP( result ); }
-    
-    /*
-     * Start listening for incoming connections...
-     */
-    rc = listen(fd, SOMAXCONN);
-    /* --BEGIN ERROR HANDLING-- */
-    if (rc == -1)
-    {
-        result = SMPD_FAIL;
-        smpd_err_printf("listen() failed, errno = %d (%s)\n", errno, strerror(errno));
-	goto fn_fail;
-    }
-    /* --END ERROR HANDLING-- */
-
-    /*
-     * Get listener port.  Techincally we don't need to do this if a port was 
-     * specified by the calling routine; but it adds an extra error check.
-     */
-    addr_len = sizeof(addr);
-    rc = getsockname(fd, (struct sockaddr *) &addr, &addr_len);
-    /* --BEGIN ERROR HANDLING-- */
-    if (rc == -1)
-    {
-        result = SMPD_FAIL;
-        smpd_err_printf("getsockname() failed, errno = %d (%s)\n", errno, strerror(errno));
-	goto fn_fail;
-    }
-    /* --END ERROR HANDLING-- */
-    *port = (unsigned int) ntohs(addr.sin_port);
-
-    /*
-     * Allocate and initialize sock and poll structures.  If another thread is
-     * blocking in poll(), that thread must be woke up
-     * long enough to pick up the addition of the listener socket.
-     */
-    result = SMPDU_Socki_sock_alloc(sock_set, &sock);
-    /* --BEGIN ERROR HANDLING-- */
-    if (result != SMPD_SUCCESS)
-    {
-        smpd_err_printf("Allocating sock struct for socket failed\n");
-	goto fn_fail;
-    }
-    /* --END ERROR HANDLING-- */
-
-    pollfd = SMPDU_Socki_sock_get_pollfd(sock);
-    pollinfo = SMPDU_Socki_sock_get_pollinfo(sock);
-    
-    pollinfo->fd = fd;
-    pollinfo->user_ptr = user_ptr;
-    pollinfo->type = SMPDU_SOCKI_TYPE_LISTENER;
-    pollinfo->state = SMPDU_SOCKI_STATE_CONNECTED_RO;
-
-    SMPDU_SOCKI_POLLFD_OP_SET(pollfd, pollinfo, POLLIN);
-
-    *sockp = sock;
-
-  fn_exit:
-    smpd_exit_fn(FCNAME);
-    return result;
-
-    /* --BEGIN ERROR HANDLING-- */
-  fn_fail:
-    if (fd != -1)
-    { 
-	close(fd);
-    }
-
-    goto fn_exit;
-    /* --END ERROR HANDLING-- */
-}
-/* end SMPDU_Sock_listen() */
-
-
-/* FIXME: What does this function do? */
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_post_read
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_post_read(struct SMPDU_Sock * sock, void * buf, SMPDU_Sock_size_t minlen, SMPDU_Sock_size_t maxlen,
-			 SMPDU_Sock_progress_update_func_t fn)
-{
-    struct pollfd * pollfd;
-    struct pollinfo * pollinfo;
-    int result = SMPD_SUCCESS;
-
-    smpd_enter_fn(FCNAME);
-
-    SMPDU_SOCKI_VERIFY_INIT(result, fn_exit);
-    SMPDU_SOCKI_VALIDATE_SOCK(sock, result, fn_exit);
-
-    pollfd = SMPDU_Socki_sock_get_pollfd(sock);
-    pollinfo = SMPDU_Socki_sock_get_pollinfo(sock);
-
-    SMPDU_SOCKI_VALIDATE_FD(pollinfo, result, fn_exit);
-    SMPDU_SOCKI_VERIFY_CONNECTED_READABLE(pollinfo, result, fn_exit);
-    SMPDU_SOCKI_VERIFY_NO_POSTED_READ(pollfd, pollinfo, result, fn_exit);
-
-    /* --BEGIN ERROR HANDLING-- */
-    if (minlen < 1 || minlen > maxlen)
-    {
-        result = SMPD_FAIL;
-        smpd_err_printf("Invalid length posted for read, sock_set->id = %d, sock_id = %d, minlen = %d, maxlen = %d\n",
-					 pollinfo->sock_set->id, pollinfo->sock_id, minlen, maxlen);
-	goto fn_exit;
-    }
-    /* --END ERROR HANDLING-- */
-
-    pollinfo->read.buf.ptr = buf;
-    pollinfo->read.buf.min = minlen;
-    pollinfo->read.buf.max = maxlen;
-    pollinfo->read_iov_flag = FALSE;
-    pollinfo->read_nb = 0;
-    pollinfo->read_progress_update_fn = fn;
-    
-    SMPDU_SOCKI_POLLFD_OP_SET(pollfd, pollinfo, POLLIN);
-
-  fn_exit:
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-/* end SMPDU_Sock_post_read() */
-
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_post_readv
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_post_readv(struct SMPDU_Sock * sock, SMPD_IOV * iov, int iov_n, SMPDU_Sock_progress_update_func_t fn)
-{
-    struct pollfd * pollfd;
-    struct pollinfo * pollinfo;
-    int result = SMPD_SUCCESS;
-
-    smpd_enter_fn(FCNAME);
-
-    SMPDU_SOCKI_VERIFY_INIT(result, fn_exit);
-    SMPDU_SOCKI_VALIDATE_SOCK(sock, result, fn_exit);
-
-    pollfd = SMPDU_Socki_sock_get_pollfd(sock);
-    pollinfo = SMPDU_Socki_sock_get_pollinfo(sock);
-
-    SMPDU_SOCKI_VALIDATE_FD(pollinfo, result, fn_exit);
-    SMPDU_SOCKI_VERIFY_CONNECTED_READABLE(pollinfo, result, fn_exit);
-    SMPDU_SOCKI_VERIFY_NO_POSTED_READ(pollfd, pollinfo, result, fn_exit);
-
-    /* --BEGIN ERROR HANDLING-- */
-    if (iov_n < 1 || iov_n > SMPD_IOV_LIMIT)
-    {
-        result = SMPD_FAIL;
-        smpd_err_printf("Invalid number of iovs, sock_set->id =%d, sock_id = %d, iov_n = %d\n",
-					 pollinfo->sock_set->id, pollinfo->sock_id, iov_n);
-	goto fn_exit;
-    }
-    /* --END ERROR HANDLING-- */
-
-    pollinfo->read.iov.ptr = iov;
-    pollinfo->read.iov.count = iov_n;
-    pollinfo->read.iov.offset = 0;
-    pollinfo->read_iov_flag = TRUE;
-    pollinfo->read_nb = 0;
-    pollinfo->read_progress_update_fn = fn;
-
-    SMPDU_SOCKI_POLLFD_OP_SET(pollfd, pollinfo, POLLIN);
-
-  fn_exit:
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-/* end SMPDU_Sock_post_readv() */
-
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_post_write
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_post_write(struct SMPDU_Sock * sock, void * buf, SMPDU_Sock_size_t minlen, SMPDU_Sock_size_t maxlen,
-			  SMPDU_Sock_progress_update_func_t fn)
-{
-    struct pollfd * pollfd;
-    struct pollinfo * pollinfo;
-    int result = SMPD_SUCCESS;
-
-    smpd_enter_fn(FCNAME);
-    
-    SMPDU_SOCKI_VERIFY_INIT(result, fn_exit);
-    SMPDU_SOCKI_VALIDATE_SOCK(sock, result, fn_exit);
-
-    pollfd = SMPDU_Socki_sock_get_pollfd(sock);
-    pollinfo = SMPDU_Socki_sock_get_pollinfo(sock);
-
-    SMPDU_SOCKI_VALIDATE_FD(pollinfo, result, fn_exit);
-    SMPDU_SOCKI_VERIFY_CONNECTED_WRITABLE(pollinfo, result, fn_exit);
-    SMPDU_SOCKI_VERIFY_NO_POSTED_WRITE(pollfd, pollinfo, result, fn_exit);
-
-    /* --BEGIN ERROR HANDLING-- */
-    if (minlen < 1 || minlen > maxlen)
-    {
-        result = SMPD_FAIL;
-        smpd_err_printf("Invalid length posted for read, sock_set->id = %d, sock_id = %d, minlen = %d, maxlen = %d\n",
-					 pollinfo->sock_set->id, pollinfo->sock_id, minlen, maxlen);
-	goto fn_exit;
-    }
-    /* --END ERROR HANDLING-- */
-
-    pollinfo->write.buf.ptr = buf;
-    pollinfo->write.buf.min = minlen;
-    pollinfo->write.buf.max = maxlen;
-    pollinfo->write_iov_flag = FALSE;
-    pollinfo->write_nb = 0;
-    pollinfo->write_progress_update_fn = fn;
-
-    SMPDU_SOCKI_POLLFD_OP_SET(pollfd, pollinfo, POLLOUT);
-
-  fn_exit:
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-/* end SMPDU_Sock_post_write() */
-
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_post_writev
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_post_writev(struct SMPDU_Sock * sock, SMPD_IOV * iov, int iov_n, SMPDU_Sock_progress_update_func_t fn)
-{
-    struct pollfd * pollfd;
-    struct pollinfo * pollinfo;
-    int result = SMPD_SUCCESS;
-
-    smpd_enter_fn(FCNAME);
-    
-    SMPDU_SOCKI_VERIFY_INIT(result, fn_exit);
-    SMPDU_SOCKI_VALIDATE_SOCK(sock, result, fn_exit);
-
-    pollfd = SMPDU_Socki_sock_get_pollfd(sock);
-    pollinfo = SMPDU_Socki_sock_get_pollinfo(sock);
-
-    SMPDU_SOCKI_VALIDATE_FD(pollinfo, result, fn_exit);
-    SMPDU_SOCKI_VERIFY_CONNECTED_WRITABLE(pollinfo, result, fn_exit);
-    SMPDU_SOCKI_VERIFY_NO_POSTED_WRITE(pollfd, pollinfo, result, fn_exit);
-
-    /* --BEGIN ERROR HANDLING-- */
-    if (iov_n < 1 || iov_n > SMPD_IOV_LIMIT)
-    {
-        result = SMPD_FAIL;
-        smpd_err_printf("Invalid number of iovs, sock_set->id =%d, sock_id = %d, iov_n = %d\n",
-					 pollinfo->sock_set->id, pollinfo->sock_id, iov_n);
-	goto fn_exit;
-    }
-    /* --END ERROR HANDLING-- */
-
-    pollinfo->write.iov.ptr = iov;
-    pollinfo->write.iov.count = iov_n;
-    pollinfo->write.iov.offset = 0;
-    pollinfo->write_iov_flag = TRUE;
-    pollinfo->write_nb = 0;
-    pollinfo->write_progress_update_fn = fn;
-
-    SMPDU_SOCKI_POLLFD_OP_SET(pollfd, pollinfo, POLLOUT);
-
-  fn_exit:
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-/* end SMPDU_Sock_post_writev() */
-
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_post_close
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_post_close(struct SMPDU_Sock * sock)
-{
-    struct pollfd * pollfd;
-    struct pollinfo * pollinfo;
-    
-    int result = SMPD_SUCCESS;
-
-    smpd_enter_fn(FCNAME);
-
-    SMPDU_SOCKI_VERIFY_INIT(result, fn_exit);
-    SMPDU_SOCKI_VALIDATE_SOCK(sock, result, fn_exit);
-
-    pollfd = SMPDU_Socki_sock_get_pollfd(sock);
-    pollinfo = SMPDU_Socki_sock_get_pollinfo(sock);
-
-    SMPDU_SOCKI_VALIDATE_FD(pollinfo, result, fn_exit);
-
-    /* --BEGIN ERROR HANDLING-- */
-    if (pollinfo->state == SMPDU_SOCKI_STATE_CLOSING)
-    {
-        result = SMPD_FAIL;
-        smpd_err_printf("Received close on a closing socket, sock_set->id = %d, sock_id = %d\n",
-	                    pollinfo->sock_set->id, pollinfo->sock_id);
-	goto fn_exit;
-    }
-    /* --END ERROR HANDLING-- */
-
-    if (pollinfo->type == SMPDU_SOCKI_TYPE_COMMUNICATION)
-    {
-	if (SMPDU_SOCKI_POLLFD_OP_ISSET(pollfd, pollinfo, POLLIN | POLLOUT))
-	{
-	    /* --BEGIN ERROR HANDLING-- */
-	    if (SMPDU_SOCKI_POLLFD_OP_ISSET(pollfd, pollinfo, POLLIN))
-	    {
-		SMPDU_SOCKI_EVENT_ENQUEUE(pollinfo, SMPDU_SOCK_OP_READ, pollinfo->read_nb, pollinfo->user_ptr,
-					  SMPD_SUCCESS, result, fn_exit);
-	    }
-
-	    if (SMPDU_SOCKI_POLLFD_OP_ISSET(pollfd, pollinfo, POLLOUT))
-	    {
-		SMPDU_SOCKI_EVENT_ENQUEUE(pollinfo, SMPDU_SOCK_OP_WRITE, pollinfo->write_nb, pollinfo->user_ptr,
-					  SMPD_SUCCESS, result, fn_exit);
-	    }
-	
-	    SMPDU_SOCKI_POLLFD_OP_CLEAR(pollfd, pollinfo, POLLIN | POLLOUT);
-	    /* --END ERROR HANDLING-- */
-	}
-    }
-    else /* if (pollinfo->type == SMPDU_SOCKI_TYPE_LISTENER) */
-    {
-	/*
-	 * The event queue may contain an accept event which means that 
-	 * SMPDU_Sock_accept() may be legally called after
-	 * SMPDU_Sock_post_close().  However, SMPDU_Sock_accept() must be 
-	 * called before the close event is return by
-	 * SMPDU_Sock_wait().
-	 */
-	SMPDU_SOCKI_POLLFD_OP_CLEAR(pollfd, pollinfo, POLLIN);
-    }
-    
-    SMPDU_SOCKI_EVENT_ENQUEUE(pollinfo, SMPDU_SOCK_OP_CLOSE, 0, pollinfo->user_ptr, SMPD_SUCCESS, result, fn_exit);
-    pollinfo->state = SMPDU_SOCKI_STATE_CLOSING;
-
-  fn_exit:
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-
-
diff --git a/src/pm/smpd/sock/poll/smpd_sock_set.i b/src/pm/smpd/sock/poll/smpd_sock_set.i
deleted file mode 100644
index 9f55d8a..0000000
--- a/src/pm/smpd/sock/poll/smpd_sock_set.i
+++ /dev/null
@@ -1,124 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_create_set
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_create_set(struct SMPDU_Sock_set ** sock_setp)
-{
-    struct SMPDU_Sock_set * sock_set = NULL;
-    int result = SMPD_SUCCESS;
-
-    smpd_enter_fn(FCNAME);
-    
-    SMPDU_SOCKI_VERIFY_INIT(result, fn_exit);
-
-    /*
-     * Allocate and initialized a new sock set structure
-     */
-    sock_set = MPIU_Malloc(sizeof(struct SMPDU_Sock_set));
-    /* --BEGIN ERROR HANDLING-- */
-    if (sock_set == NULL)
-    { 
-        result = SMPD_FAIL;
-        smpd_err_printf("Allocating memory for sock set failed, errno = %d(%s) \n", errno, strerror(errno));
-	goto fn_fail;
-    }
-    /* --END ERROR HANDLING-- */
-    
-    sock_set->id = SMPDU_Socki_set_next_id++;
-    sock_set->poll_array_sz = 0;
-    sock_set->poll_array_elems = 0;
-    sock_set->starting_elem = 0;
-    sock_set->pollfds = NULL;
-    sock_set->pollinfos = NULL;
-    sock_set->eventq_head = NULL;
-    sock_set->eventq_tail = NULL;
-    /* FIXME: Move the thread-specific operations into thread-specific
-       routines (to allow for alternative thread sync models and
-       for runtime control of thread level) */
-
-    *sock_setp = sock_set;
-
-  fn_exit:
-    smpd_exit_fn(FCNAME);
-    return result;
-
-    /* --BEGIN ERROR HANDLING-- */
-  fn_fail:
-    if (sock_set != NULL)
-    {
-	MPIU_Free(sock_set);
-    }
-
-    goto fn_exit;
-    /* --END ERROR HANDLING-- */
-}
-
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_destroy_set
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_destroy_set(struct SMPDU_Sock_set * sock_set)
-{
-    int elem;
-    struct SMPDU_Sock_event event;
-    int result = SMPD_SUCCESS;
-
-    smpd_enter_fn(FCNAME);
-
-    SMPDU_SOCKI_VERIFY_INIT(result, fn_exit);
-
-    /*
-     * FIXME: check for open socks and return an error if any are found
-     */
-    
-    /*
-     * FIXME: verify no other thread is blocked in poll().  wake it up and 
-     * get it to exit.
-     */
-    
-    /*
-     * Close pipe for interrupting a blocking poll()
-     */
-
-    /*
-     * Clear the event queue to eliminate memory leaks
-     */
-    while (SMPDU_Socki_event_dequeue(sock_set, &elem, &event) == SMPD_SUCCESS);
-
-    /*
-     * Free structures used by the sock set
-     */
-    MPIU_Free(sock_set->pollinfos);
-    MPIU_Free(sock_set->pollfds);
-
-    /*
-     * Reset the sock set fields
-     */
-    sock_set->id = ~0;
-    sock_set->poll_array_sz = 0;
-    sock_set->poll_array_elems = 0;
-    sock_set->starting_elem = 0;
-    sock_set->pollfds = NULL;
-    sock_set->pollinfos = NULL;
-    sock_set->eventq_head = NULL;
-    sock_set->eventq_tail = NULL;
-
-    /*
-     * Free the structure
-     */
-    MPIU_Free(sock_set);
-    
-#ifdef USE_SOCK_VERIFY
-  fn_exit:
-#endif
-    smpd_exit_fn(FCNAME);
-    return result;
-}
diff --git a/src/pm/smpd/sock/poll/smpd_sock_wait.i b/src/pm/smpd/sock/poll/smpd_sock_wait.i
deleted file mode 100644
index 6393a15..0000000
--- a/src/pm/smpd/sock/poll/smpd_sock_wait.i
+++ /dev/null
@@ -1,701 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-
-/* Make sure that we can properly ensure atomic access to the poll routine */
-
-static int SMPDU_Socki_handle_pollhup(struct pollfd * const pollfd, 
-				      struct pollinfo * const pollinfo);
-static int SMPDU_Socki_handle_pollerr(struct pollfd * const pollfd, 
-				      struct pollinfo * const pollinfo);
-static int SMPDU_Socki_handle_read(struct pollfd * const pollfd, 
-				   struct pollinfo * const pollinfo);
-static int SMPDU_Socki_handle_write(struct pollfd * const pollfd, 
-				    struct pollinfo * const pollinfo);
-static int SMPDU_Socki_handle_connect(struct pollfd * const pollfd, 
-				      struct pollinfo * const pollinfo);
-
-/*
- * SMPDU_Sock_wait()
- *
- * NOTES:
- *
- * For fatal errors, the state of the connection progresses directly to the 
- * failed state and the connection is marked inactive in
- * the poll array.  Under normal conditions, the fatal error should result in 
- * the termination of the process; but, if that
- * doesn't happen, we try to leave the implementation in a somewhat sane state.
- *
- * In the multithreaded case, only one routine at a time may call this routine
- * To permit progress by other threads, it will release any global lock or
- * coarse-grain critical section.
- */
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Sock_wait
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-int SMPDU_Sock_wait(struct SMPDU_Sock_set * sock_set, int millisecond_timeout,
-		    struct SMPDU_Sock_event * eventp)
-{
-    int result = SMPD_SUCCESS;
-
-    smpd_enter_fn(FCNAME);
-
-    for (;;)
-    { 
-	int elem=0;   /* Keep compiler happy */
-	int n_fds;
-	int n_elems;
-	int found_active_elem = FALSE;
-
-	result = SMPDU_Socki_event_dequeue(sock_set, &elem, eventp);
-	if (result == SMPD_SUCCESS) {
-	    struct pollinfo * pollinfo;
-	    int flags;
-	    
-	    if (eventp->op_type != SMPDU_SOCK_OP_CLOSE)
-	    {
-		break;
-	    }
-
-	    pollinfo = &sock_set->pollinfos[elem];
-
-	    /*
-	     * Attempt to set socket back to blocking.  This *should* prevent 
-	     * any data in the socket send buffer from being
-	     * discarded.  Instead close() will block until the buffer is 
-	     * flushed or the connection timeouts and is considered
-	     * lost.  Theoretically, this could cause the SMPDU_Sock_wait() to
-	     * hang indefinitely; however, the calling code
-	     * should ensure this will not happen by going through a shutdown 
-	     * protocol before posting a close operation.
-	     *
-	     * FIXME: If the attempt to set the socket back to blocking fails, 
-	     * we presently ignore it.  Should we return an
-	     * error?  We need to define acceptible data loss at close time.  
-	     * MS Windows has worse problems with this, so it
-	     * may not be possible to make any guarantees.
-	     */
-	    flags = fcntl(pollinfo->fd, F_GETFL, 0);
-	    if (flags != -1)
-	    { 
-		fcntl(pollinfo->fd, F_SETFL, flags & ~O_NONBLOCK);
-	    }
-
-	    /* FIXME: return code?  If an error occurs do we return it 
-	       instead of the error specified in the event? */
-	    close(pollinfo->fd);
-
-	    SMPDU_Socki_sock_free(pollinfo->sock);
-
-	    break;
-	}
-
-	for(;;)
-	{
-	    {
-		smpd_enter_fn(FCNAME);
-		n_fds = poll(sock_set->pollfds, sock_set->poll_array_elems, 
-			     millisecond_timeout);
-		smpd_exit_fn(FCNAME);
-	    }
-
-	    if (n_fds > 0)
-	    {
-		break;
-	    }
-	    else if (n_fds == 0)
-	    {
-		result = SMPD_FAIL;
-		goto fn_exit;
-	    }
-	    else if (errno == EINTR)
-	    {
-		if (millisecond_timeout != SMPDU_SOCK_INFINITE_TIME)
-		{
-		    result = SMPD_FAIL;
-		    goto fn_exit;
-		}
-
-		continue;
-	    }
-	    /* --BEGIN ERROR HANDLING-- */
-	    else
-	    {
-                result = SMPD_FAIL;
-                smpd_err_printf("poll() failed, errno =%d (%s)\n", errno, strerror(errno));
-		goto fn_exit;
-	    }
-	    /* --END ERROR HANDLING-- */
-	}
-
-	elem = sock_set->starting_elem;
-	n_elems = sock_set->poll_array_elems;
-	while (n_fds > 0 && n_elems > 0)
-	{
-	    /*
-	     * Acquire pointers to the pollfd and pollinfo structures for the next element
-	     *
-	     * NOTE: These pointers could become stale, if a new sock were to be allocated during the processing of the element.
-	     * At present, none of the handler routines allocate a sock, so the issue does not arise.
-	     */
-	    struct pollfd * const pollfd = &sock_set->pollfds[elem];
-	    struct pollinfo * const pollinfo = &sock_set->pollinfos[elem];
-	
-	    MPIU_Assert((pollfd->events & (POLLIN | POLLOUT)) || pollfd->fd == -1);
-	    MPIU_Assert(pollfd->fd >= 0 || pollfd->fd == -1);
-			
-	    if (pollfd->fd < 0 || pollfd->revents == 0)
-	    {
-		/* This optimization assumes that most FDs will not have a pending event. */
-		n_elems -= 1;
-		elem = (elem + 1 < sock_set->poll_array_elems) ? elem + 1 : 0;
-		continue;
-	    }
-
-	    if (found_active_elem == FALSE)
-	    {
-		found_active_elem = TRUE;
-		sock_set->starting_elem = (elem + 1 < sock_set->poll_array_elems) ? elem + 1 : 0;
-	    }
-
-	    if (pollfd->revents & POLLNVAL)
-	    {
-                result = SMPD_FAIL;
-                smpd_err_printf("Invalid socket passed to poll()\n");
-		goto fn_exit;
-	    }
-
-	    /* --BEGIN ERROR HANDLING-- */
-	    if (pollfd->revents & POLLHUP)
-	    {
-		result = SMPDU_Socki_handle_pollhup(pollfd, pollinfo);
-		if (result != SMPD_SUCCESS)
-		{
-		    goto fn_exit;
-		}
-	    }
-
-	    /* According to Stevens, some errors are reported as normal data 
-	       (POLLIN) and some are reported with POLLERR. */
-	    if (pollfd->revents & POLLERR)
-	    {
-		result = SMPDU_Socki_handle_pollerr(pollfd, pollinfo);
-		if (result != SMPD_SUCCESS)
-		{
-		    goto fn_exit;
-		}
-	    }
-	    /* --END ERROR HANDLING-- */
-	    
-	    if (pollfd->revents & POLLIN)
-	    {
-		if (pollinfo->type == SMPDU_SOCKI_TYPE_COMMUNICATION)
-		{ 
-		    if (pollinfo->state == SMPDU_SOCKI_STATE_CONNECTED_RW || 
-			pollinfo->state == SMPDU_SOCKI_STATE_CONNECTED_RO)
-		    {
-			result = SMPDU_Socki_handle_read(pollfd, pollinfo);
-			/* --BEGIN ERROR HANDLING-- */
-			if (result != SMPD_SUCCESS)
-			{
-			    goto fn_exit;
-			}
-			/* --END ERROR HANDLING-- */
-		    }
-		    /* --BEGIN ERROR HANDLING-- */
-		    else
-		    {
-                        result = SMPD_FAIL;
-                        smpd_err_printf("Received data in socket on an unhandled state (%d)\n", pollinfo->state);
-			goto fn_exit;
-		    }
-		    /* --END ERROR HANDLING-- */
-
-		}
-		else if (pollinfo->type == SMPDU_SOCKI_TYPE_LISTENER)
-		{
-		    pollfd->events &= ~POLLIN;
-		    SMPDU_SOCKI_EVENT_ENQUEUE(pollinfo, SMPDU_SOCK_OP_ACCEPT, 0, pollinfo->user_ptr,
-					      SMPD_SUCCESS, result, fn_exit);
-		}
-		/* --BEGIN ERROR HANDLING-- */
-		else
-		{
-                    result = SMPD_FAIL;
-                    smpd_err_printf("Received data in socket on an unhandled state (%d) \n", pollinfo->state);
-		    goto fn_exit;
-		}
-		/* --END ERROR HANDLING-- */
-	    }
-
-	    if (pollfd->revents & POLLOUT)
-	    {
-		if (pollinfo->type == SMPDU_SOCKI_TYPE_COMMUNICATION)
-		{
-		    if (pollinfo->state == SMPDU_SOCKI_STATE_CONNECTED_RW)
-		    {
-			result = SMPDU_Socki_handle_write(pollfd, pollinfo);
-			/* --BEGIN ERROR HANDLING-- */
-			if (result != SMPD_SUCCESS)
-			{
-			    goto fn_exit;
-			}
-			/* --END ERROR HANDLING-- */
-		    }
-		    else if (pollinfo->state == SMPDU_SOCKI_STATE_CONNECTING)
-		    {
-			result = SMPDU_Socki_handle_connect(pollfd, pollinfo);
-			/* --BEGIN ERROR HANDLING-- */
-			if (result != SMPD_SUCCESS)
-			{
-			    goto fn_exit;
-			}
-			/* --END ERROR HANDLING-- */
-		    }
-		    /* --BEGIN ERROR HANDLING-- */
-		    else
-		    {
-                        result = SMPD_FAIL;
-                        smpd_err_printf("Unable to write data on socket in state = %d\n", pollinfo->state);
-			goto fn_exit;
-		    }
-		    /* --END ERROR HANDLING-- */
-		}
-		/* --BEGIN ERROR HANDLING-- */
-		else
-		{
-                    result = SMPD_FAIL;
-                    smpd_err_printf("Unable to write data on socket in state = %d\n", pollinfo->state);
-		    goto fn_exit;
-		}
-		/* --END ERROR HANDLING-- */
-	    }
-
-	    n_fds -= 1;
-	    n_elems -= 1;
-	    elem = (elem + 1 < sock_set->poll_array_elems) ? elem + 1 : 0;
-	}
-    }
-    
-  fn_exit:
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Socki_handle_pollhup
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-static int SMPDU_Socki_handle_pollhup(struct pollfd * const pollfd, struct pollinfo * const pollinfo)
-{
-    int result = SMPD_SUCCESS;
-
-    smpd_enter_fn(FCNAME);
-    
-    if (pollinfo->state == SMPDU_SOCKI_STATE_CONNECTED_RW)
-    {
-	/*
-	 * If a write was posted then cancel it and generate an connection closed event.  If a read is posted, it will be handled
-	 * by the POLLIN handler.
-	 */
-	/* --BEGIN ERROR HANDLING-- */
-	if (pollfd->events & POLLOUT)
-	{
-	    int event_result;
-	    
-            smpd_err_printf("Connection closed, cancelling pending writes, %d bytes (user_ptr = %d)\n",
-                                pollinfo->write_nb, pollinfo->user_ptr);
-
-	    SMPDU_SOCKI_EVENT_ENQUEUE(pollinfo, SMPDU_SOCK_OP_WRITE, pollinfo->write_nb, pollinfo->user_ptr,
-				      event_result, result, fn_exit);
-	    SMPDU_SOCKI_POLLFD_OP_CLEAR(pollfd, pollinfo, POLLOUT);
-	    pollinfo->state = SMPDU_SOCKI_STATE_CONNECTED_RO;
-	}
-	/* --END ERROR HANDLING-- */
-    }
-    else if (pollinfo->state == SMPDU_SOCKI_STATE_CONNECTED_RO)
-    {
-	/*
-	 * If we are in the read-only state, then we should only get an error if we are looking to read data.  If we are not
-	 * reading data, then pollfd->fd should be set to -1 and we should not be getting a POLLHUP event.
-	 *
-	 * There may still be data in the socket buffer, so we will let the POLLIN handler deal with the error.  Once all of the
-	 * data has been read, the POLLIN handler will change the connection state and remove the connection from the active poll
-	 * list.
-	 */
-	MPIU_Assert(pollinfo->state == SMPDU_SOCKI_STATE_CONNECTED_RO && (pollfd->events & POLLIN) && (pollfd->revents & POLLIN));
-    }
-    else if (pollinfo->state == SMPDU_SOCKI_STATE_DISCONNECTED)
-    {
-	/*
-	 * We should never reach this state because pollfd->fd should be set to -1 if we are in the disconnected state.
-	 */
-	MPIU_Assert(pollinfo->state == SMPDU_SOCKI_STATE_DISCONNECTED && pollfd->fd == -1);
-    }
-    else if (pollinfo->state == SMPDU_SOCKI_STATE_CONNECTING)
-    {
-	/*
-	 * The process we were connecting to died.  Let the POLLOUT handler deal with the error.
-	 */
-	MPIU_Assert(pollinfo->state == SMPDU_SOCKI_STATE_CONNECTING && (pollfd->events & POLLOUT));
-	pollfd->revents = POLLOUT;
-    }
-    /* --BEGIN ERROR HANDLING-- */
-    else
-    {
-        result = SMPD_FAIL;
-        smpd_err_printf("pollhup on sock in invalid state (%d)\n", pollinfo->state);
-	goto fn_exit;
-    }
-    /* --END ERROR HANDLING-- */
-
-  fn_exit:
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-/* end SMPDU_Socki_handle_pollhup() */
-
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Socki_handle_pollerr
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-static int SMPDU_Socki_handle_pollerr(struct pollfd * const pollfd, struct pollinfo * const pollinfo)
-{
-    int result = SMPD_SUCCESS;
-
-    smpd_enter_fn(FCNAME);
-
-    /* --BEGIN ERROR HANDLING-- */
-    if (pollinfo->type != SMPDU_SOCKI_TYPE_COMMUNICATION)
-    { 
-        result = SMPD_FAIL;
-        smpd_err_printf("poll err on sock of unhandled type (%d)\n", pollinfo->type);
-	goto fn_exit;
-    }
-    /* --END ERROR HANDLING-- */
-		
-    if (pollinfo->state == SMPDU_SOCKI_STATE_CONNECTED_RW)
-    { 
-	/*
-	 * Stevens suggests that some older version of UNIX did not properly reset so_error, which could allow POLLERR to be
-	 * continuously triggered.  We remove the socket from the poll list (pollfd->fd = 1) in order to prevent this issue.
-	 * Here, we simple check that things are as we expect them to be.
-	 */
-	MPIU_Assert((pollfd->events & (POLLIN | POLLOUT)) || pollfd->fd == -1);
-
-	/* If a write was posted then cancel it and generate an write completion event */
-	if (pollfd->events & POLLOUT)
-	{
-	    int disconnected;
-	    int os_errno;
-	    int event_result;
-	    
-	    SMPDU_SOCKI_GET_SOCKET_ERROR(pollinfo, os_errno, result, fn_exit);
-		
-	    event_result = SMPDU_Socki_os_to_result(pollinfo, os_errno, FCNAME, __LINE__, &disconnected);
-	    /* --BEGIN ERROR HANDLING-- */
-	    if (event_result != SMPD_SUCCESS)
-	    {
-		result = event_result;
-		goto fn_exit;
-	    }
-	    /* --END ERROR HANDLING-- */
-			
-	    SMPDU_SOCKI_EVENT_ENQUEUE(pollinfo, SMPDU_SOCK_OP_WRITE, pollinfo->write_nb, pollinfo->user_ptr,
-				      event_result, result, fn_exit);
-	    SMPDU_SOCKI_POLLFD_OP_CLEAR(pollfd, pollinfo, POLLOUT);
-	    pollinfo->state = SMPDU_SOCKI_STATE_CONNECTED_RO;
-	}
-    }
-    else if (pollinfo->state == SMPDU_SOCKI_STATE_CONNECTED_RO)
-    {
-	/*
-	 * If we are in the read-only state, then we should only get an error if we are looking to read data.  If we are not
-	 * reading data, then pollfd->fd should be set to -1 and we should not be getting a POLLERR event.  
-	 *
-	 * There may still be data in the socket buffer, so we will let the POLLIN handler deal with the error.  Once all of the
-	 * data has been read, the POLLIN handler will change the connection state and remove the connection from the active poll
-	 * list.
-	 */
-	MPIU_Assert(pollinfo->state == SMPDU_SOCKI_STATE_CONNECTED_RO && (pollfd->events & POLLIN) && (pollfd->revents & POLLIN));
-    }
-    else if (pollinfo->state == SMPDU_SOCKI_STATE_CONNECTING)
-    {
-	/*
-	 * The process we were connecting to died.  Let the POLLOUT handler deal with the error.
-	 */
-	MPIU_Assert(pollinfo->state == SMPDU_SOCKI_STATE_CONNECTING && (pollfd->events & POLLOUT));
-	pollfd->revents = POLLOUT;
-    }
-    else if (pollinfo->state == SMPDU_SOCKI_STATE_DISCONNECTED)
-    {
-	/* We are already disconnected!  Why are we handling an error? */
-	MPIU_Assert(pollfd->fd == -1);
-    }
-    /* --BEGIN ERROR HANDLING-- */
-    else
-    {
-        result = SMPD_FAIL;
-        smpd_err_printf("Received poll err on sock in unhandled state (%d)\n", pollinfo->state);
-	goto fn_exit;
-    }
-    /* --END ERROR HANDLING-- */
-
-  fn_exit:
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-/* end SMPDU_Socki_handle_pollerr() */
-
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Socki_handle_read
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-static int SMPDU_Socki_handle_read(struct pollfd * const pollfd, struct pollinfo * const pollinfo)
-{
-    int nb;
-    int result = SMPD_SUCCESS;
-
-    smpd_enter_fn(FCNAME);
-
-    do
-    {
-	if (pollinfo->read_iov_flag)
-	{ 
-	    smpd_enter_fn(FCNAME);
-	    nb = readv(pollinfo->fd, pollinfo->read.iov.ptr + pollinfo->read.iov.offset,
-		       pollinfo->read.iov.count - pollinfo->read.iov.offset);
-	    smpd_exit_fn(FCNAME);
-	}
-	else
-	{
-	    smpd_enter_fn(FCNAME);
-	    nb = read(pollinfo->fd, pollinfo->read.buf.ptr + pollinfo->read_nb,
-		      pollinfo->read.buf.max - pollinfo->read_nb);
-	    smpd_exit_fn(FCNAME);
-	}
-    }
-    while (nb < 0 && errno == EINTR);
-	
-    if (nb > 0)
-    {
-	int done;
-	    
-	pollinfo->read_nb += nb;
-
-	done = pollinfo->read_iov_flag ?
-	    SMPDU_Socki_adjust_iov(nb, pollinfo->read.iov.ptr, pollinfo->read.iov.count, &pollinfo->read.iov.offset) :
-	    (pollinfo->read_nb >= pollinfo->read.buf.min);
-
-	if (done)
-	{
-	    SMPDU_SOCKI_EVENT_ENQUEUE(pollinfo, SMPDU_SOCK_OP_READ, pollinfo->read_nb, pollinfo->user_ptr,
-				      SMPD_SUCCESS, result, fn_exit);
-	    SMPDU_SOCKI_POLLFD_OP_CLEAR(pollfd, pollinfo, POLLIN);
-	}
-    }
-    /* --BEGIN ERROR HANDLING-- */
-    else if (nb == 0)
-    {
-	int event_result=SMPD_FAIL;
-	
-        smpd_dbg_printf("Connection closed while trying to read on socket, sock_set->id = %d, sock_id = %d\n",
-                            pollinfo->sock_set->id, pollinfo->sock_id);
-	if (SMPDU_SOCKI_POLLFD_OP_ISSET(pollfd, pollinfo, POLLOUT))
-	{ 
-	    SMPDU_SOCKI_EVENT_ENQUEUE(pollinfo, SMPDU_SOCK_OP_WRITE, pollinfo->write_nb, pollinfo->user_ptr,
-				      event_result, result, fn_exit);
-	}
-	SMPDU_SOCKI_EVENT_ENQUEUE(pollinfo, SMPDU_SOCK_OP_READ, pollinfo->read_nb, pollinfo->user_ptr,
-				  event_result, result, fn_exit);
-	
-	SMPDU_SOCKI_POLLFD_OP_CLEAR(pollfd, pollinfo, POLLIN | POLLOUT);
-	pollinfo->state = SMPDU_SOCKI_STATE_DISCONNECTED;
-
-    }
-    /* --END ERROR HANDLING-- */
-    else if (errno == EAGAIN && errno == EWOULDBLOCK)
-    {
-	/* do nothing... */
-	goto fn_exit;
-    }
-    /* --BEGIN ERROR HANDLING-- */
-    else
-    {
-	int disconnected;
-	int event_result;
-	
-	event_result = SMPDU_Socki_os_to_result(pollinfo, errno, FCNAME, __LINE__, &disconnected);
-	if (event_result != SMPD_SUCCESS)
-	{
-	    /*
-	     * A serious error occurred.  There is no guarantee that the data 
-	     * structures are still intact.  Therefore, we avoid
-	     * modifying them.
-	     */
-	    result = event_result;
-	    goto fn_exit;
-	}
-
-	if (disconnected)
-	{
-	    if (SMPDU_SOCKI_POLLFD_OP_ISSET(pollfd, pollinfo, POLLOUT))
-	    { 
-		SMPDU_SOCKI_EVENT_ENQUEUE(pollinfo, SMPDU_SOCK_OP_WRITE, pollinfo->write_nb, pollinfo->user_ptr,
-					  event_result, result, fn_exit);
-		SMPDU_SOCKI_POLLFD_OP_CLEAR(pollfd, pollinfo, POLLOUT);
-	    }
-	    
-	    pollinfo->state = SMPDU_SOCKI_STATE_DISCONNECTED;
-	}
-	
-	SMPDU_SOCKI_EVENT_ENQUEUE(pollinfo, SMPDU_SOCK_OP_READ, pollinfo->read_nb, pollinfo->user_ptr,
-				  event_result, result, fn_exit);
-	SMPDU_SOCKI_POLLFD_OP_CLEAR(pollfd, pollinfo, POLLIN);
-    }
-    /* --END ERROR HANDLING-- */
-
-  fn_exit:
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-/* end SMPDU_Socki_handle_read() */
-
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Socki_handle_write
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-static int SMPDU_Socki_handle_write(struct pollfd * const pollfd, struct pollinfo * const pollinfo)
-{
-    int nb;
-    int result = SMPD_SUCCESS;
-
-    smpd_enter_fn(FCNAME);
-
-    do
-    {
-	if (pollinfo->write_iov_flag)
-	{ 
-	    smpd_enter_fn(FCNAME);
-	    nb = writev(pollinfo->fd, pollinfo->write.iov.ptr + pollinfo->write.iov.offset,
-			pollinfo->write.iov.count - pollinfo->write.iov.offset);
-	    smpd_exit_fn(FCNAME);
-	}
-	else
-	{
-	    smpd_enter_fn(FCNAME);
-	    nb = write(pollinfo->fd, pollinfo->write.buf.ptr + pollinfo->write_nb,
-		       pollinfo->write.buf.max - pollinfo->write_nb);
-	    smpd_exit_fn(FCNAME);
-	}
-    }
-    while (nb < 0 && errno == EINTR);
-
-    if (nb >= 0)
-    {
-	int done;
-	    
-	pollinfo->write_nb += nb;
-
-	done = pollinfo->write_iov_flag ?
-	    SMPDU_Socki_adjust_iov(nb, pollinfo->write.iov.ptr, pollinfo->write.iov.count, &pollinfo->write.iov.offset) :
-	    (pollinfo->write_nb >= pollinfo->write.buf.min);
-
-	if (done)
-	{
-	    SMPDU_SOCKI_EVENT_ENQUEUE(pollinfo, SMPDU_SOCK_OP_WRITE, pollinfo->write_nb, pollinfo->user_ptr,
-				      SMPD_SUCCESS, result, fn_exit);
-	    SMPDU_SOCKI_POLLFD_OP_CLEAR(pollfd, pollinfo, POLLOUT);
-	}
-    }
-    else if (errno == EAGAIN || errno == EWOULDBLOCK)
-    {
-	/* do nothing... */
-	goto fn_exit;
-    }
-    /* --BEGIN ERROR HANDLING-- */
-    else
-    {
-	int disconnected;
-	int event_result;
-	
-	event_result = SMPDU_Socki_os_to_result(pollinfo, errno, FCNAME, __LINE__, &disconnected);
-	if (event_result != SMPD_SUCCESS)
-	{
-	    /*
-	     * A serious error occurred.  There is no guarantee that the data structures are still intact.  Therefore, we avoid
-	     * modifying them.
-	     */
-	    result = event_result;
-	    goto fn_exit;
-	}
-
-	SMPDU_SOCKI_EVENT_ENQUEUE(pollinfo, SMPDU_SOCK_OP_WRITE, pollinfo->write_nb, pollinfo->user_ptr,
-				  event_result, result, fn_exit);
-	SMPDU_SOCKI_POLLFD_OP_CLEAR(pollfd, pollinfo, POLLOUT);
-	if (disconnected)
-	{
-	    /*
-	     * The connection is dead but data may still be in the socket buffer; thus, we change the state and let
-	     * SMPDU_Sock_wait() clean things up.
-	     */
-	    pollinfo->state = SMPDU_SOCKI_STATE_CONNECTED_RO;
-	}
-    }
-    /* --END ERROR HANDLING-- */
-
-  fn_exit:
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-/* end SMPDU_Socki_handle_write() */
-
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Socki_handle_connect
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-static int SMPDU_Socki_handle_connect(struct pollfd * const pollfd, struct pollinfo * const pollinfo)
-{
-    struct sockaddr_in addr;
-    socklen_t addr_len;
-    int rc;
-    int result = SMPD_SUCCESS;
-
-    smpd_enter_fn(FCNAME);
-
-    addr_len = sizeof(struct sockaddr_in);
-    rc = getpeername(pollfd->fd, (struct sockaddr *) &addr, &addr_len);
-    if (rc == 0)
-    {
-	SMPDU_SOCKI_EVENT_ENQUEUE(pollinfo, SMPDU_SOCK_OP_CONNECT, 0, pollinfo->user_ptr, SMPD_SUCCESS, result, fn_exit);
-	pollinfo->state = SMPDU_SOCKI_STATE_CONNECTED_RW;
-    }
-    /* --BEGIN ERROR HANDLING-- */
-    else
-    {
-	int event_result;
-	
-	SMPDU_SOCKI_GET_SOCKET_ERROR(pollinfo, pollinfo->os_errno, result, fn_exit);
-        result = SMPD_FAIL;
-        smpd_err_printf("Connect() failed, sock_set->id = %d, sock_id =%d, errno = %d(%s)\n",
-	                    pollinfo->sock_set->id, pollinfo->sock_id, pollinfo->os_errno, strerror(pollinfo->os_errno));
-	SMPDU_SOCKI_EVENT_ENQUEUE(pollinfo, SMPDU_SOCK_OP_CONNECT, 0, pollinfo->user_ptr, event_result, result, fn_exit);
-	pollinfo->state = SMPDU_SOCKI_STATE_DISCONNECTED;
-    }
-    /* --END ERROR HANDLING-- */
-
-    SMPDU_SOCKI_POLLFD_OP_CLEAR(pollfd, pollinfo, POLLOUT);
-    
-  fn_exit:
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-/* end SMPDU_Socki_handle_connect() */
diff --git a/src/pm/smpd/sock/poll/smpd_socki_util.i b/src/pm/smpd/sock/poll/smpd_socki_util.i
deleted file mode 100644
index 5908bf6..0000000
--- a/src/pm/smpd/sock/poll/smpd_socki_util.i
+++ /dev/null
@@ -1,812 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-
-
-static int SMPDU_Socki_os_to_result(struct pollinfo * pollinfo, 
-		     int os_errno, char * fcname, int line, int * conn_failed);
-
-static int SMPDU_Socki_adjust_iov(ssize_t nb, SMPD_IOV * const iov, 
-				  const int count, int * const offsetp);
-
-static int SMPDU_Socki_sock_alloc(struct SMPDU_Sock_set * sock_set, 
-				  struct SMPDU_Sock ** sockp);
-static void SMPDU_Socki_sock_free(struct SMPDU_Sock * sock);
-
-static int SMPDU_Socki_event_enqueue(struct pollinfo * pollinfo, 
-				     enum SMPDU_Sock_op op, 
-				     SMPDU_Sock_size_t num_bytes,
-				     void * user_ptr, int error);
-static int inline SMPDU_Socki_event_dequeue(struct SMPDU_Sock_set * sock_set, 
-					    int * set_elem, 
-					    struct SMPDU_Sock_event * eventp);
-
-static void SMPDU_Socki_free_eventq_mem(void);
-
-struct SMPDU_Socki_eventq_table
-{
-    struct SMPDU_Socki_eventq_elem elems[SMPDU_SOCK_EVENTQ_POOL_SIZE];
-    struct SMPDU_Socki_eventq_table * next;
-};
-
-static struct SMPDU_Socki_eventq_table *SMPDU_Socki_eventq_table_head=NULL;
-
-
-#define SMPDI_QUOTE(A) SMPDI_QUOTE2(A)
-#define SMPDI_QUOTE2(A) #A
-
-#define SMPDU_Socki_sock_get_pollfd(sock_)          (&(sock_)->sock_set->pollfds[(sock_)->elem])
-#define SMPDU_Socki_sock_get_pollinfo(sock_)        (&(sock_)->sock_set->pollinfos[(sock_)->elem])
-#define SMPDU_Socki_pollinfo_get_pollfd(pollinfo_) (&(pollinfo_)->sock_set->pollfds[(pollinfo_)->elem])
-
-
-/* Enqueue a new event.  If the enqueue fails, generate an error and jump to 
-   the fail_label_ */
-#define SMPDU_SOCKI_EVENT_ENQUEUE(pollinfo_, op_, nb_, user_ptr_, event_result_, result_, fail_label_)  \
-{									\
-    result_ = SMPDU_Socki_event_enqueue((pollinfo_), (op_), (nb_), (user_ptr_), (event_result_));		\
-    if (result_ != SMPD_SUCCESS)					\
-    {									\
-        smpd_err_printf("Queing an event failed on sock, sock_set->id = %d, sock_id = %d, op = %d\n",   \
-                            pollinfo->sock_set->id, pollinfo->sock_id, (op_));                          \
-        (result_) = SMPD_FAIL;                                          \
-        goto fail_label_;                                               \
-    }                                                                   \
-}
-
-/* FIXME: These need to separate the operations from the thread-related
-   synchronization to ensure that the code that is independent of 
-   threads is always the same.  Also, the thread-level check needs 
-   to be identical to all others, and there should be an option,
-   possibly embedded within special thread macros, to allow
-   runtime control of the thread level */
-
-#   define SMPDU_SOCKI_POLLFD_OP_SET(pollfd_, pollinfo_, op_)	\
-    {								\
-        (pollfd_)->events |= (op_);				\
-        (pollfd_)->fd = (pollinfo_)->fd;			\
-    }
-#   define SMPDU_SOCKI_POLLFD_OP_CLEAR(pollfd_, pollinfo_, op_)	\
-    {								\
-        (pollfd_)->events &= ~(op_);				\
-        (pollfd_)->revents &= ~(op_);				\
-        if (((pollfd_)->events & (POLLIN | POLLOUT)) == 0)	\
-        {							\
-            (pollfd_)->fd = -1;					\
-        }							\
-    }
-
-#define SMPDU_SOCKI_POLLFD_OP_ISSET(pollfd_, pollinfo_, op_) ((pollfd_)->events & (op_))
-
-/* FIXME: Low usage operations like this should be a function for
-   better readability, modularity, and code size */
-#define SMPDU_SOCKI_GET_SOCKET_ERROR(pollinfo_, os_errno_, result_, fail_label_)				\
-{								\
-    int rc__;							\
-    socklen_t sz__;						\
-								\
-    sz__ = sizeof(os_errno_);					\
-    rc__ = getsockopt((pollinfo_)->fd, SOL_SOCKET, SO_ERROR, &(os_errno_), &sz__);				\
-    if (rc__ != 0)						\
-    {								\
-        (result_) = SMPD_FAIL;                                  \
-        smpd_err_printf("Error getting socket error, sock_set->id = %d, sock_id = %d, errno = %d(%s)\n",    \
-                            pollinfo->sock_set->id, pollinfo->sock_id, errno, strerror(errno));             \
-        goto fail_label_;					\
-    }								\
-    result_ = SMPD_SUCCESS;                                     \
-}
-
-
-/*
- * Validation tests
- */
-/* FIXME: Are these really optional?  Based on their definitions, it looks
-   like they should only be used when debugging the code.  */
-#ifdef USE_SOCK_VERIFY
-#define SMPDU_SOCKI_VERIFY_INIT(result_, fail_label_)		\
-{								        \
-    if (SMPDU_Socki_initialized <= 0)					\
-    {									\
-        (result_) = SMPD_FAIL;                                          \
-        smpd_err_printf("Sock not initialized\n");                      \
-	goto fail_label_;						\
-    }									\
-    (result_) = SMPD_SUCCESS;                                           \
-}
-
-
-#define SMPDU_SOCKI_VALIDATE_SOCK_SET(sock_set_, result_, fail_label_)
-
-
-#define SMPDU_SOCKI_VALIDATE_SOCK(sock_, result_, fail_label_)	\
-{									\
-    struct pollinfo * pollinfo__;					\
-    (result_) = SMPD_SUCCESS;                                           \
-									\
-    if ((sock_) == NULL || (sock_)->sock_set == NULL || (sock_)->elem < 0 ||							\
-	(sock_)->elem >= (sock_)->sock_set->poll_array_elems)		\
-    {									\
-        (result_) = SMPD_FAIL;                                          \
-        smpd_err_printf("Invalid sock struct\n");                       \
-	goto fail_label_;						\
-    }									\
-									\
-    pollinfo__ = SMPDU_Socki_sock_get_pollinfo(sock_);			\
-									\
-    if (pollinfo__->type <= SMPDU_SOCKI_TYPE_FIRST || pollinfo__->type >= SMPDU_SOCKI_TYPE_INTERRUPTER ||			\
-	pollinfo__->state <= SMPDU_SOCKI_STATE_FIRST || pollinfo__->state >= SMPDU_SOCKI_STATE_LAST)				\
-    {									\
-        (result_) = SMPD_FAIL;                                          \
-        smpd_err_printf("Invalid sock struct, type = %d, state = %d\n", \
-                            (pollinfo_)->type, (pollinfo_)->state);     \
-	goto fail_label_;						\
-    }									\
-}
-
-
-#define SMPDU_SOCKI_VERIFY_CONNECTED_READABLE(pollinfo_, result_, fail_label_)  \
-{                                                                       \
-    if ((pollinfo_)->type == SMPDU_SOCKI_TYPE_COMMUNICATION)            \
-    {                                                                   \
-        if ((pollinfo_)->state == SMPDU_SOCKI_STATE_CONNECTED_RW || (pollinfo_)->state == SMPDU_SOCKI_STATE_CONNECTED_RO)    \
-            (result_) = SMPD_SUCCESS;                               \
-        else{                                                       \
-            (result_) = SMPD_FAIL;                                  \
-            smpd_err_printf("Sock not readable, sock_set->id = %d, sock_id = %d, state = %d\n", \
-                                (pollinfo_)->sock_set->id, (pollinfo_)->sock_id, (pollinfo_)->state);   \
-            goto fail_label_;                                           \
-        }                                                               \
-    }                                                                   \
-    else if ((pollinfo_)->type == SMPDU_SOCKI_TYPE_LISTENER)            \
-    {                                                                   \
-        (result_) = SMPD_FAIL;                                  \
-        smpd_err_printf("Listener Sock not connected, sock_set->id = %d, sock_id = %d, state = %d\n",   \
-                            (pollinfo_)->sock_set->id, (pollinfo_)->sock_id, (pollinfo_)->state);       \
-        goto fail_label_;                                               \
-    }                                                                   \
-    else                                                                \
-    {                                                                   \
-        (result_) = SMPD_SUCCESS;                                       \
-    }                                                                   \
-}
-
-
-#define SMPDU_SOCKI_VERIFY_CONNECTED_WRITABLE(pollinfo_, result_, fail_label_)  \
-{                                                                       \
-    if ((pollinfo_)->type == SMPDU_SOCKI_TYPE_COMMUNICATION)            \
-    {                                                                   \
-        if ((pollinfo_)->state == SMPDU_SOCKI_STATE_CONNECTED_RW || (pollinfo_)->state == SMPDU_SOCKI_STATE_CONNECTED_WO)    \
-            (result_) = SMPD_SUCCESS;                               \
-        else{                                                       \
-            (result_) = SMPD_FAIL;                                  \
-            smpd_err_printf("Sock not writable, sock_set->id = %d, sock_id = %d, state = %d\n", \
-                                (pollinfo_)->sock_set->id, (pollinfo_)->sock_id, (pollinfo_)->state);   \
-            goto fail_label_;                                           \
-        }                                                               \
-    }                                                                   \
-    else if ((pollinfo_)->type == SMPDU_SOCKI_TYPE_LISTENER)            \
-    {                                                                   \
-        (result_) = SMPD_FAIL;                                  \
-        smpd_err_printf("Listener Sock not connected, sock_set->id = %d, sock_id = %d, state = %d\n",   \
-                            (pollinfo_)->sock_set->id, (pollinfo_)->sock_id, (pollinfo_)->state);       \
-        goto fail_label_;                                               \
-    }                                                                   \
-    else                                                                \
-    {                                                                   \
-        (result_) = SMPD_SUCCESS;                                       \
-    }                                                                   \
-}
-
-
-#define SMPDU_SOCKI_VALIDATE_FD(pollinfo_, result_, fail_label_)        \
-{                                                                       \
-    if((pollinfo_)->fd < 0)                                             \
-    {                                                                   \
-        (result_) = SMPD_FAIL;                                          \
-        smpd_err_printf("Invalid sock fd\n");                           \
-        goto fail_label_;                                               \
-    }                                                                   \
-    (result_) = SMPD_SUCCESS;                                           \
-}
-
-#define SMPDU_SOCKI_VERIFY_NO_POSTED_READ(pollfd_, pollinfo_, result_, fail_label_) \
-{                                                                                   \
-    if (SMPDU_SOCKI_POLLFD_OP_ISSET((pollfd_), (pollinfo_), POLLIN))                \
-    {                                                                               \
-        (result_) = SMPD_FAIL;                                                      \
-        smpd_err_printf("Read already posted on sock, sock_set->id = %d, sock_id = %d, state = %d\n",   \
-                            (pollinfo_)->sock_set->id, (pollinfo_)->sock_id, (pollinfo_)->state);       \
-        goto fail_label_;                                                           \
-    }                                                                               \
-    (result_) = SMPD_SUCCESS;                                                       \
-}
-
-#define SMPDU_SOCKI_VERIFY_NO_POSTED_WRITE(pollfd_, pollinfo_, result_, fail_label_) \
-{                                                                                   \
-    if (SMPDU_SOCKI_POLLFD_OP_ISSET((pollfd_), (pollinfo_), POLLOUT))               \
-    {                                                                               \
-        (result_) = SMPD_FAIL;                                                      \
-        smpd_err_printf("Write already posted on sock, sock_set->id = %d, sock_id = %d, state = %d\n",  \
-                            (pollinfo_)->sock_set->id, (pollinfo_)->sock_id, (pollinfo_)->state);       \
-        goto fail_label_;                                                           \
-    }                                                                               \
-    (result_) = SMPD_SUCCESS;                                                       \
-}
-
-#else
-/* Use minimal to no checking */
-#define SMPDU_SOCKI_VERIFY_INIT(result_,fail_label_)
-#define SMPDU_SOCKI_VALIDATE_SOCK_SET(sock_set_,result_,fail_label_)
-#define SMPDU_SOCKI_VALIDATE_SOCK(sock_,result_,fail_label_)
-#define SMPDU_SOCKI_VERIFY_CONNECTED_READABLE(pollinfo_,result_,fail_label_)
-#define SMPDU_SOCKI_VERIFY_CONNECTED_WRITABLE(pollinfo_,result_,fail_label_)
-#define SMPDU_SOCKI_VALIDATE_FD(pollinfo_,result_,fail_label_)
-#define SMPDU_SOCKI_VERIFY_NO_POSTED_READ(pollfd_,pollinfo_,result,fail_label_)
-#define SMPDU_SOCKI_VERIFY_NO_POSTED_WRITE(pollfd_,pollinfo_,result,fail_label_)
-
-#endif
-
-
-/*
- * SMPDU_Socki_os_to_result()
- *
- * This routine assumes that no thread can change the state between state check before the nonblocking OS operation and the call
- * to this routine.
- */
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Socki_os_to_result
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-/* --BEGIN ERROR HANDLING-- */
-static int SMPDU_Socki_os_to_result(struct pollinfo * pollinfo, int os_errno, char * fcname, int line, int * disconnected)
-{
-    int result = SMPD_FAIL;
-
-    smpd_err_printf("os_error = %d (%s)\n", os_errno, strerror(os_errno));
-    if (os_errno == ENOMEM || os_errno == ENOBUFS)
-    {
-	*disconnected = FALSE;
-    }
-    else if (os_errno == EFAULT || os_errno == EINVAL)
-    {
-	*disconnected = FALSE;
-    }
-    else if (os_errno == EPIPE)
-    {
-	*disconnected = TRUE;
-    }
-    else if (os_errno == ECONNRESET || os_errno == ENOTCONN || os_errno == ETIMEDOUT)
-    {
-	pollinfo->os_errno = os_errno;
-	*disconnected = TRUE;
-    }
-    else if (os_errno == EBADF)
-    {
-	/*
-	 * If we have a bad file descriptor, then either the sock was bad to 
-	 * start with and we didn't catch it in the preliminary
-	 * checks, or a sock closure was finalized after the preliminary 
-	 * checks were performed.  The latter should not happen if
-	 * the thread safety code is correctly implemented.  In any case, 
-	 * the data structures associated with the sock are no
-	 * longer valid and should not be modified.  We indicate this by 
-	 * returning a fatal error.
-	 */
-	*disconnected = FALSE;
-    }
-    else
-    {
-	/*
-	 * Unexpected OS error.
-	 *
-	 * FIXME: technically we should never reach this section of code.  
-	 * What's the right way to handle this situation?  Should
-	 * we print an immediate message asking the user to report the errno 
-	 * so that we can plug the hole?
-	 */
-	pollinfo->os_errno = os_errno;
-	*disconnected = TRUE;
-    }
-
-    return result;
-}
-/* --END ERROR HANDLING-- */
-/* end SMPDU_Socki_os_to_result() */
-
-
-/*
- * SMPDU_Socki_adjust_iov()
- *
- * Use the specified number of bytes (nb) to adjust the iovec and associated
- * values.  If the iovec has been consumed, return
- * true; otherwise return false.
- *
- * The input is an iov (SMPD_IOV is just an iov) and the offset into which 
- * to start (start with entry iov[*offsetp]) and remove nb bytes from the iov.
- * The use of the offsetp term allows use to remove values from the iov without
- * making a copy to shift down elements when only part of the iov is
- * consumed.
- */
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Socki_adjust_iov
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-static int SMPDU_Socki_adjust_iov(ssize_t nb, SMPD_IOV * const iov, const int count, int * const offsetp)
-{
-    int offset = *offsetp;
-    
-    while (offset < count)
-    {
-	if (iov[offset].SMPD_IOV_LEN <= nb)
-	{
-	    nb -= iov[offset].SMPD_IOV_LEN;
-	    offset++;
-	}
-	else
-	{
-	    iov[offset].SMPD_IOV_BUF = (char *) iov[offset].SMPD_IOV_BUF + nb;
-	    iov[offset].SMPD_IOV_LEN -= nb;
-	    *offsetp = offset;
-	    return FALSE;
-	}
-    }
-    
-    *offsetp = offset;
-    return TRUE;
-}
-/* end SMPDU_Socki_adjust_iov() */
-
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Socki_sock_alloc
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-static int SMPDU_Socki_sock_alloc(struct SMPDU_Sock_set * sock_set, struct SMPDU_Sock ** sockp)
-{
-    struct SMPDU_Sock * sock = NULL;
-    int avail_elem;
-    struct pollfd * pollfds = NULL;
-    struct pollinfo * pollinfos = NULL;
-    int result = SMPD_SUCCESS;
-
-    smpd_enter_fn(FCNAME);
-    
-    /* FIXME: Should this use the CHKPMEM macros (perm malloc)? */
-    sock = MPIU_Malloc(sizeof(struct SMPDU_Sock));
-    /* --BEGIN ERROR HANDLING-- */
-    if (sock == NULL)
-    {
-        result = SMPD_FAIL;
-        smpd_err_printf("Allocating memory for sock struct failed\n");
-	goto fn_fail;
-    }
-    /* --END ERROR HANDLING-- */
-
-    /*
-     * Check existing poll structures for a free element.
-     */
-    for (avail_elem = 0; avail_elem < sock_set->poll_array_sz; avail_elem++)
-    {
-	if (sock_set->pollinfos[avail_elem].sock_id == -1)
-	{
-	    if (avail_elem >= sock_set->poll_array_elems)
-	    {
-		sock_set->poll_array_elems = avail_elem + 1;
-	    }
-	    
-	    break;
-	}
-    }
-
-    /*
-     * No free elements were found.  Larger pollfd and pollinfo arrays need to 
-     * be allocated and the existing data transfered over.
-     */
-    if (avail_elem == sock_set->poll_array_sz)
-    {
-	int elem;
-	
-	pollfds = MPIU_Malloc((sock_set->poll_array_sz + SMPDU_SOCK_SET_DEFAULT_SIZE) * sizeof(struct pollfd));
-	/* --BEGIN ERROR HANDLING-- */
-	if (pollfds == NULL)
-	{
-            result = SMPD_FAIL;
-            smpd_err_printf("Allocating memory for pollfds failed\n");
-	    goto fn_fail;
-	}
-	/* --END ERROR HANDLING-- */
-	pollinfos = MPIU_Malloc((sock_set->poll_array_sz + SMPDU_SOCK_SET_DEFAULT_SIZE) * sizeof(struct pollinfo));
-	/* --BEGIN ERROR HANDLING-- */
-	if (pollinfos == NULL)
-	{
-            result = SMPD_FAIL;
-            smpd_err_printf("Allocating memory for pollinfos failed\n");
-	    goto fn_fail;
-	}
-	/* --END ERROR HANDLING-- */
-	
-	if (sock_set->poll_array_sz > 0)
-	{
-	    /*
-	     * Copy information from the old arrays and then free them.  
-	     *
-	     * In the multi-threaded case, the pollfd array can only be copied
-	     * if another thread is not already blocking in poll()
-	     * and thus potentially modifying the array.  Furthermore, the 
-	     * pollfd array must not be freed if it is the one
-	     * actively being used by pol().
-	     */
-	    {
-		memcpy(pollfds, sock_set->pollfds, sock_set->poll_array_sz * sizeof(struct pollfd));
-		MPIU_Free(sock_set->pollfds);
-	    }
-	    
-	    memcpy(pollinfos, sock_set->pollinfos, sock_set->poll_array_sz * sizeof(struct pollinfo));
-	    MPIU_Free(sock_set->pollinfos);
-	}
-
-	sock_set->poll_array_elems = avail_elem + 1;
-	sock_set->poll_array_sz += SMPDU_SOCK_SET_DEFAULT_SIZE;
-	sock_set->pollfds = pollfds;
-	sock_set->pollinfos = pollinfos;
-	
-	/*
-	 * Initialize new elements
-	 */
-	for (elem = avail_elem; elem < sock_set->poll_array_sz; elem++)
-	{
-	    pollfds[elem].fd = -1;
-	    pollfds[elem].events = 0;
-	    pollfds[elem].revents = 0;
-	}
-	for (elem = avail_elem; elem < sock_set->poll_array_sz; elem++)
-	{
-	    pollinfos[elem].fd = -1;
-	    pollinfos[elem].sock_set = sock_set;
-	    pollinfos[elem].elem = elem;
-	    pollinfos[elem].sock = NULL;
-	    pollinfos[elem].sock_id = -1;
-	    pollinfos[elem].type  = SMPDU_SOCKI_TYPE_FIRST;
-	    pollinfos[elem].state = SMPDU_SOCKI_STATE_FIRST;
-	}
-    }
-
-    /*
-     * Verify that memory hasn't been messed up.
-     */
-    MPIU_Assert(sock_set->pollinfos[avail_elem].sock_set == sock_set);
-    MPIU_Assert(sock_set->pollinfos[avail_elem].elem == avail_elem);
-    MPIU_Assert(sock_set->pollinfos[avail_elem].fd == -1);
-    MPIU_Assert(sock_set->pollinfos[avail_elem].sock == NULL);
-    MPIU_Assert(sock_set->pollinfos[avail_elem].sock_id == -1);
-    MPIU_Assert(sock_set->pollinfos[avail_elem].type == SMPDU_SOCKI_TYPE_FIRST);
-    MPIU_Assert(sock_set->pollinfos[avail_elem].state == SMPDU_SOCKI_STATE_FIRST);
-
-    /*
-     * Initialize newly allocated sock structure and associated poll structures
-     */
-    sock_set->pollinfos[avail_elem].sock_id = (sock_set->id << 24) | avail_elem;
-    sock_set->pollinfos[avail_elem].sock = sock;
-    sock->sock_set = sock_set;
-    sock->elem = avail_elem;
-
-    sock_set->pollfds[avail_elem].fd = -1;
-    sock_set->pollfds[avail_elem].events = 0;
-    sock_set->pollfds[avail_elem].revents = 0;
-
-    *sockp = sock;
-    
-  fn_exit:
-    smpd_exit_fn(FCNAME);
-    return result;
-
-    /* --BEGIN ERROR HANDLING-- */
-  fn_fail:
-    if (pollinfos != NULL)
-    {
-	MPIU_Free(pollinfos);
-    }
-
-    if (pollfds != NULL)
-    {
-	MPIU_Free(pollfds);
-    }
-	
-    if (sock != NULL)
-    {
-	MPIU_Free(sock);
-    }
-    
-    goto fn_exit;
-    /* --END ERROR HANDLING-- */
-}
-/* end SMPDU_Socki_sock_alloc() */
-
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Socki_sock_free
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-static void SMPDU_Socki_sock_free(struct SMPDU_Sock * sock)
-{
-    struct pollfd * pollfd = SMPDU_Socki_sock_get_pollfd(sock);
-    struct pollinfo * pollinfo = SMPDU_Socki_sock_get_pollinfo(sock);
-    struct SMPDU_Sock_set * sock_set = sock->sock_set;
-
-    smpd_enter_fn(FCNAME);
-
-    /*
-     * Compress poll array
-     */
-     /* FIXME: move last element into current position and update sock associated with last element.
-     */
-    if (sock->elem + 1 == sock_set->poll_array_elems)
-    { 
-	sock_set->poll_array_elems -= 1;
-	if (sock_set->starting_elem >= sock_set->poll_array_elems)
-	{
-	    sock_set->starting_elem = 0;
-	}
-    }
-
-    /*
-     * Remove entry from the poll list and mark the entry as free
-     */
-    pollinfo->fd      = -1;
-    pollinfo->sock    = NULL;
-    pollinfo->sock_id = -1;
-    pollinfo->type    = SMPDU_SOCKI_TYPE_FIRST;
-    pollinfo->state   = SMPDU_SOCKI_STATE_FIRST;
-		
-    pollfd->fd = -1;
-    pollfd->events = 0;
-    pollfd->revents = 0;
-
-    /*
-     * Mark the sock as invalid so that any future use might be caught
-     */
-    sock->sock_set = NULL;
-    sock->elem = -1;
-    
-    MPIU_Free(sock);
-    
-    smpd_exit_fn(FCNAME);
-}
-/* end SMPDU_Socki_sock_free() */
-
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Socki_event_enqueue
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-static int SMPDU_Socki_event_enqueue(struct pollinfo * pollinfo, SMPDU_Sock_op_t op, SMPDU_Sock_size_t num_bytes,
-				     void * user_ptr, int error)
-{
-    struct SMPDU_Sock_set * sock_set = pollinfo->sock_set;
-    struct SMPDU_Socki_eventq_elem * eventq_elem;
-    int result = SMPD_SUCCESS;
-
-    smpd_enter_fn(FCNAME);
-
-    if (SMPDU_Socki_eventq_pool != NULL)
-    {
-	eventq_elem = SMPDU_Socki_eventq_pool;
-	SMPDU_Socki_eventq_pool = SMPDU_Socki_eventq_pool->next;
-    }
-    else
-    {
-	int i;
-	struct SMPDU_Socki_eventq_table *eventq_table;
-
-	eventq_table = MPIU_Malloc(sizeof(struct SMPDU_Socki_eventq_table));
-	/* --BEGIN ERROR HANDLING-- */
-	if (eventq_table == NULL)
-	{
-            smpd_err_printf("Unable to allocate memory for eventq table\n");
-            result = SMPD_FAIL;
-	    goto fn_exit;
-	}
-	/* --END ERROR HANDLING-- */
-
-        eventq_elem = eventq_table->elems;
-
-        eventq_table->next = SMPDU_Socki_eventq_table_head;
-        SMPDU_Socki_eventq_table_head = eventq_table;
-
-	if (SMPDU_SOCK_EVENTQ_POOL_SIZE > 1)
-	{ 
-	    SMPDU_Socki_eventq_pool = &eventq_elem[1];
-	    for (i = 0; i < SMPDU_SOCK_EVENTQ_POOL_SIZE - 2; i++)
-	    {
-		SMPDU_Socki_eventq_pool[i].next = &SMPDU_Socki_eventq_pool[i+1];
-	    }
-	    SMPDU_Socki_eventq_pool[SMPDU_SOCK_EVENTQ_POOL_SIZE - 2].next = NULL;
-	}
-    }
-    
-    eventq_elem->event.op_type = op;
-    eventq_elem->event.num_bytes = num_bytes;
-    eventq_elem->event.user_ptr = user_ptr;
-    eventq_elem->event.error = error;
-    eventq_elem->set_elem = pollinfo->elem;
-    eventq_elem->next = NULL;
-
-    if (sock_set->eventq_head == NULL)
-    { 
-	sock_set->eventq_head = eventq_elem;
-    }
-    else
-    {
-	sock_set->eventq_tail->next = eventq_elem;
-    }
-    sock_set->eventq_tail = eventq_elem;
-fn_exit:
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-/* end SMPDU_Socki_event_enqueue() */
-
-
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Socki_event_dequeue
-#undef FCNAME
-#define FCNAME SMPDI_QUOTE(FUNCNAME)
-static inline int SMPDU_Socki_event_dequeue(struct SMPDU_Sock_set * sock_set, int * set_elem, struct SMPDU_Sock_event * eventp)
-{
-    struct SMPDU_Socki_eventq_elem * eventq_elem;
-    int result = SMPD_SUCCESS;
-
-    smpd_enter_fn(FCNAME);
-
-    if (sock_set->eventq_head != NULL)
-    {
-	eventq_elem = sock_set->eventq_head;
-	
-	sock_set->eventq_head = eventq_elem->next;
-	if (eventq_elem->next == NULL)
-	{
-	    sock_set->eventq_tail = NULL;
-	}
-	
-	*eventp = eventq_elem->event;
-	*set_elem = eventq_elem->set_elem;
-	
-	eventq_elem->next = SMPDU_Socki_eventq_pool;
-	SMPDU_Socki_eventq_pool = eventq_elem;
-    }
-    /* --BEGIN ERROR HANDLING-- */
-    else
-    {
-	/* FIXME: Shouldn't this be an mpi error code? */
-	result = SMPD_FAIL;
-    }
-    /* --END ERROR HANDLING-- */
-
-    smpd_exit_fn(FCNAME);
-    return result;
-}
-/* end SMPDU_Socki_event_dequeue() */
-
-
-/* FIXME: Who allocates eventq tables?  Should there be a check that these
-   tables are empty first? */
-#undef FUNCNAME
-#define FUNCNAME SMPDU_Socki_free_eventq_mem
-#undef FCNAME
-#define FCNAME "SMPDU_Socki_free_eventq_mem"
-static void SMPDU_Socki_free_eventq_mem(void)
-{
-    struct SMPDU_Socki_eventq_table *eventq_table, *eventq_table_next;
-
-    smpd_enter_fn(FCNAME);
-
-    eventq_table = SMPDU_Socki_eventq_table_head;
-    while (eventq_table) {
-        eventq_table_next = eventq_table->next;
-        MPIU_Free(eventq_table);
-        eventq_table = eventq_table_next;
-    }
-    SMPDU_Socki_eventq_table_head = NULL;
-
-    smpd_exit_fn(FCNAME);
-}
-
-/* Provide a standard mechanism for setting the socket buffer size.
-   The value is -1 if the default size hasn't been set, 0 if no size 
-   should be set, and > 0 if that size should be used */
-static int sockBufSize = -1;
-
-/* Set the socket buffer sizes on fd to the standard values (this is controlled
-   by the parameter MPICH_SOCK_BUFSIZE).  If "firm" is true, require that the
-   sockets actually accept that buffer size.  */
-int SMPDU_Sock_SetSockBufferSize( int fd, int firm )
-{
-    int result = SMPD_SUCCESS;
-    char *env = NULL;
-    int rc;
-
-    /* Get the socket buffer size if we haven't yet acquired it */
-    if (sockBufSize < 0) {
-	/* FIXME: Is this the name that we want to use (this was chosen
-	   to match the original, undocumented name) */
-	rc = MPL_env2int( "MPICH_SOCKET_BUFFER_SIZE", &sockBufSize );
-        env = getenv("MPICH_SOCKET_BUFFER_SIZE");
-        if(env) { 
-            sockBufSize = atoi(env);
-	    if (sockBufSize <= 0) {
-	        sockBufSize = 0;
-	    }
-        }
-        smpd_dbg_printf("Sock buf size = %d\n", sockBufSize);
-    }
-
-    if (sockBufSize > 0) {
-	int bufsz;
-	socklen_t bufsz_len;
-
-	bufsz     = sockBufSize;
-	bufsz_len = sizeof(bufsz);
-	rc = setsockopt(fd, SOL_SOCKET, SO_SNDBUF, &bufsz, bufsz_len);
-	if (rc == -1) {
-            result = SMPD_FAIL;
-            smpd_err_printf("Setting send buf size for socket failed, bufsz = %d, errno = %d(%s)\n",
-                                bufsz, errno, strerror(errno));
-            goto fn_fail;
-	}
-	bufsz     = sockBufSize;
-	bufsz_len = sizeof(bufsz);
-	rc = setsockopt(fd, SOL_SOCKET, SO_RCVBUF, &bufsz, bufsz_len);
-	if (rc == -1) {
-            result = SMPD_FAIL;
-            smpd_err_printf("Setting recv buf size for socket failed, bufsz = %d, errno = %d(%s)\n",
-                                bufsz, errno, strerror(errno));
-            goto fn_fail;
-	}
-	bufsz_len = sizeof(bufsz);
-
-	if (firm) {
-	    rc = getsockopt(fd, SOL_SOCKET, SO_SNDBUF, &bufsz, &bufsz_len);
-	    /* --BEGIN ERROR HANDLING-- */
-	    if (rc == 0) {
-		if (bufsz < sockBufSize * 0.9) {
-		    smpd_dbg_printf("WARNING: send socket buffer size differs from requested size (requested=%d, actual=%d)\n",
-				sockBufSize, bufsz);
-		}
-	    }
-	    /* --END ERROR HANDLING-- */
-	    
-	    bufsz_len = sizeof(bufsz);
-	    rc = getsockopt(fd, SOL_SOCKET, SO_RCVBUF, &bufsz, &bufsz_len);
-	    /* --BEGIN ERROR HANDLING-- */
-	    if (rc == 0) {
-		if (bufsz < sockBufSize * 0.9) {
-		    smpd_dbg_printf("WARNING: receive socket buffer size differs from requested size (requested=%d, actual=%d)\n",
-				    sockBufSize, bufsz);
-		}
-	    }
-	    /* --END ERROR HANDLING-- */
-	}
-    }
- fn_fail:
-    return result;
-}
-
-/* This routine provides a string version of the address. */
-int SMPDU_Sock_AddrToStr( SMPDU_Sock_ifaddr_t *ifaddr, char *str, int maxlen )
-{ 
-    int i;
-    unsigned char *p = ifaddr->ifaddr;
-    for (i=0; i<ifaddr->len && maxlen > 4; i++) { 
-	snprintf( str, maxlen, "%.3d.", *p++ );
-	str += 4;
-	maxlen -= 4;
-    }
-    /* Change the last period to a null; but be careful in case len was zero */
-    if (i > 0) *--str = 0;
-    else       *str = 0;
-    return 0;
-}
diff --git a/src/pm/smpd/sock/poll/smpd_util_sock.c b/src/pm/smpd/sock/poll/smpd_util_sock.c
deleted file mode 100644
index 43e62c6..0000000
--- a/src/pm/smpd/sock/poll/smpd_util_sock.c
+++ /dev/null
@@ -1,202 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-
-#include "smpd_util_sock.h"
-/*#include "mpiimpl.h"*/
-#ifdef HAVE_STRING_H
-/* Include for memcpy and memset */
-#include <string.h>
-#endif
-
-#include "mpishared.h"
-
-#include <unistd.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <sys/uio.h>
-#include <netinet/tcp.h>
-#include <netinet/in.h>
-#include <fcntl.h>
-#if defined(HAVE_POLL_H)
-#include <sys/poll.h>
-#elif defined(HAVE_SYS_POLL_H)
-#include <sys/poll.h>
-#endif
-#include <netdb.h>
-#include <errno.h>
-#include <stdio.h>
-#include "smpd.h"
-
-
-/* FIXME: What do these mean?  Why is 32 a good size (e.g., is it because
-   32*32 = 1024 if these are bits in a 4-byte int?  In that case, should
-   these be related to a maximum processor count or an OS-defined fd limit? */
-#if !defined(SMPDU_SOCK_SET_DEFAULT_SIZE)
-#define SMPDU_SOCK_SET_DEFAULT_SIZE 32
-#endif
-
-#if !defined(SMPDU_SOCK_EVENTQ_POOL_SIZE)
-#define SMPDU_SOCK_EVENTQ_POOL_SIZE 32
-#endif
-
-
-enum SMPDU_Socki_state
-{
-    SMPDU_SOCKI_STATE_FIRST = 0,
-    SMPDU_SOCKI_STATE_CONNECTING,
-    SMPDU_SOCKI_STATE_CONNECTED_RW,
-    SMPDU_SOCKI_STATE_CONNECTED_RO,
-    SMPDU_SOCKI_STATE_DISCONNECTED,
-    SMPDU_SOCKI_STATE_CLOSING,
-    SMPDU_SOCKI_STATE_LAST
-};
-
-enum SMPDU_Socki_type
-{
-    SMPDU_SOCKI_TYPE_FIRST = 0,
-    SMPDU_SOCKI_TYPE_COMMUNICATION,
-    SMPDU_SOCKI_TYPE_LISTENER,
-    SMPDU_SOCKI_TYPE_INTERRUPTER,
-    SMPDU_SOCKI_TYPE_LAST
-};
-
-/*
- * struct pollinfo
- * 
- * sock_id - an integer id comprised of the sock_set id and the element number
- *           in the pollfd/info arrays
- * 
- * sock_set - a pointer to the sock set to which this connection belongs
- * 
- * elem - the element number of this connection in the pollfd/info arrays
- * 
- * sock - at present this is only used to free the sock structure when the 
- *        close is completed by SMPDIU_Sock_wait()
- * 
- * fd - this file descriptor is used whenever the file descriptor is needed. 
- *      this descriptor remains open until the sock, and
- *      thus the socket, are actually closed.  the fd in the pollfd structure
- *      should only be used for telling poll() if it should
- *      check for events on that descriptor.
- * 
- * user_ptr - a user supplied pointer that is included with event associated 
- *            with this connection
- * 
- * state - state of the connection
- *
- */
-struct pollinfo
-{
-    int sock_id;
-    struct SMPDU_Sock_set * sock_set;
-    int elem;
-    struct SMPDU_Sock * sock;
-    int fd;
-    void * user_ptr;
-    enum SMPDU_Socki_type type;
-    enum SMPDU_Socki_state state;
-    int os_errno;
-    union
-    {
-	struct
-	{
-	    SMPD_IOV * ptr;
-	    int count;
-	    int offset;
-	} iov;
-	struct
-	{
-	    char * ptr;
-	    SMPDU_Sock_size_t min;
-	    SMPDU_Sock_size_t max;
-	} buf;
-    } read;
-    int read_iov_flag;
-    SMPDU_Sock_size_t read_nb;
-    SMPDU_Sock_progress_update_func_t read_progress_update_fn;
-    union
-    {
-	struct
-	{
-	    SMPD_IOV * ptr;
-	    int count;
-	    int offset;
-	} iov;
-	struct
-	{
-	    char * ptr;
-	    SMPDU_Sock_size_t min;
-	    SMPDU_Sock_size_t max;
-	} buf;
-    } write;
-    int write_iov_flag;
-    SMPDU_Sock_size_t write_nb;
-    SMPDU_Sock_progress_update_func_t write_progress_update_fn;
-};
-
-struct SMPDU_Socki_eventq_elem
-{
-    struct SMPDU_Sock_event event;
-    int set_elem;
-    struct SMPDU_Socki_eventq_elem * next;
-};
-
-struct SMPDU_Sock_set
-{
-    int id;
-
-    /* when the pollfds array is scanned for activity, start with this element.
-       this is used to prevent favoring a particular
-       element, such as the first. */
-    int starting_elem;
-
-    /* pointers to the pollfd and pollinfo that make up the logical poll array,
-       along with the current size of the array and last
-       allocated element */
-    int poll_array_sz;
-    int poll_array_elems;
-    struct pollfd * pollfds;
-    struct pollinfo * pollinfos;
-
-    /* head and tail pointers for the event queue */
-    struct SMPDU_Socki_eventq_elem * eventq_head;
-    struct SMPDU_Socki_eventq_elem * eventq_tail;
-};
-
-struct SMPDU_Sock
-{
-    struct SMPDU_Sock_set * sock_set;
-    int elem;
-};
-
-/* FIXME: Why aren't these static */
-int SMPDU_Socki_initialized = 0;
-
-static struct SMPDU_Socki_eventq_elem * SMPDU_Socki_eventq_pool = NULL;
-
-/* MT: needs to be atomically incremented */
-static int SMPDU_Socki_set_next_id = 0;
-
-/* Prototypes for functions used only within the socket code. */
-
-/* Set the buffer size on the socket fd from the environment variable
-   or other option; if "firm" is true, fail if the buffer size is not
-   successfully set */
-int SMPDU_Sock_SetSockBufferSize( int fd, int firm );
-/* Get a string version of the address in ifaddr*/
-int SMPDU_Sock_AddrToStr( SMPDU_Sock_ifaddr_t *ifaddr, char *str, int maxlen );
-
-/* FIXME: Why are these files included in this way?  Why not make them either
-   separate files or simply part of (one admittedly large) source file? */
-#include "smpd_socki_util.i"
-
-#include "smpd_sock_init.i"
-#include "smpd_sock_set.i"
-#include "smpd_sock_post.i"
-#include "smpd_sock_immed.i"
-#include "smpd_sock_misc.i"
-#include "smpd_sock_wait.i"
diff --git a/src/pm/smpd/sock/poll/smpd_util_socki.h b/src/pm/smpd/sock/poll/smpd_util_socki.h
deleted file mode 100644
index 266dde3..0000000
--- a/src/pm/smpd/sock/poll/smpd_util_socki.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-
-#if !defined(SOCKI_H_INCLUDED)
-#define SOCKI_H_INCLUDED
-
-#include "mpichconf.h"
-
-#if defined(HAVE_SYS_UIO_H)
-#include <sys/uio.h>
-#endif
-#if defined(HAVE_LIMITS_H)
-#include <limits.h>
-#endif
-#if defined(HAVE_UNISTD_H)
-#include <unistd.h>
-#endif
-
-#if defined(HAVE_GETHOSTNAME) && defined(NEEDS_GETHOSTNAME_DECL) && !defined(gethostname)
-int gethostname(char *name, size_t len);
-# endif
-
-#ifndef SSIZE_MAX
-/* SSIZE_MAX is the maximum amount of data that we expect to be able
-   to read from a socket at one time.  If this is not defined, we
-   guess that the value is 64k */
-/* FIXME!!! */
-#define SSIZE_MAX 65536
-#endif
-#define SMPDU_SOCK_INFINITE_TIME   -1
-#define SMPDU_SOCK_INVALID_SOCK    NULL
-#define SMPDU_SOCK_INVALID_SET     NULL
-#define SMPDU_SOCK_SIZE_MAX	   SSIZE_MAX
-#define SMPDU_SOCK_NATIVE_FD       int
-
-typedef struct SMPDU_Sock_set * SMPDU_Sock_set_t;
-typedef struct SMPDU_Sock * SMPDU_Sock_t;
-typedef size_t SMPDU_Sock_size_t;
-
-#define SMPDU_SOCKI_STATE_LIST \
-SMPD_STATE_SMPDU_SOCKI_READ, \
-SMPD_STATE_SMPDU_SOCKI_WRITE, \
-SMPD_STATE_SMPDU_SOCKI_SOCK_ALLOC, \
-SMPD_STATE_SMPDU_SOCKI_SOCK_FREE, \
-SMPD_STATE_SMPDU_SOCKI_EVENT_ENQUEUE, \
-SMPD_STATE_SMPDU_SOCKI_EVENT_DEQUEUE, \
-SMPD_STATE_SMPDU_SOCKI_ADJUST_IOV, \
-SMPD_STATE_READ, \
-SMPD_STATE_READV, \
-SMPD_STATE_WRITE, \
-SMPD_STATE_WRITEV, \
-SMPD_STATE_POLL,
-
-#endif /* !defined(SOCKI_H_INCLUDED) */
diff --git a/src/pm/smpd/sock/poll/subconfigure.m4 b/src/pm/smpd/sock/poll/subconfigure.m4
deleted file mode 100644
index e16abce..0000000
--- a/src/pm/smpd/sock/poll/subconfigure.m4
+++ /dev/null
@@ -1,147 +0,0 @@
-[#] start of __file__
-dnl MPICH_SUBCFG_AFTER=src/pm/smpd
-
-AC_DEFUN([PAC_SUBCFG_PREREQ_]PAC_SUBCFG_AUTO_SUFFIX,[
-AC_ARG_ENABLE([sock-debug],
-              [--enable-sock-debug - Turn on tests of the socket data structures],
-              [],
-              [enable_sock_debug=no])
-])
-
-dnl _BODY handles the former role of configure in the subsystem
-AC_DEFUN([PAC_SUBCFG_BODY_]PAC_SUBCFG_AUTO_SUFFIX,[
-
-AM_CONDITIONAL([SMPD_SOCK_IS_POLL],[test "X$with_smpd_sock" = "Xpoll"])
-
-AC_ARG_VAR([TCP_LIBS],[add libraries to SMPD's sockets poll link line (deprecated, please don't use)])
-
-AM_COND_IF([BUILD_PM_SMPD],[
-AM_COND_IF([SMPD_SOCK_IS_POLL],[
-dnl _XOPEN_SOURCE_EXTENDED=1 is required for Solaris to build properly */
-dnl (TEMPORARY - Setting the Unix source type must happen before 
-dnl any tests are performed to ensure that all configure tests use the
-dnl same environment.  In particular, under AIX, this causes 
-dnl struct timespec to *not* be defined, 
-dnl CFLAGS="$CFLAGS -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1"
-
-AC_CHECK_FUNC(poll,pac_cv_have_func_poll=yes,pac_cv_have_func_poll=no)
-if test "$pac_cv_have_func_poll" != yes ; then
-    if test -f /sw/include/sys/poll.h ; then
-        dnl This is for Mac OSX (Darwin) which doesn't have a poll function is the standard libraries.  Instead we use a
-        dnl  contributedlibrary found off in la la land (/sw).
-        CFLAGS="$CFLAGS -I/sw/include"
-        TCP_LIBS="$TCP_LIBS -L/sw/lib -lpoll"
-    else
-        AC_MSG_ERROR([This device requires the poll function])
-    fi
-fi
-
-AC_CHECK_HEADERS([assert.h errno.h fcntl.h limits.h netdb.h netinet/in.h])
-AC_CHECK_HEADERS([netinet/tcp.h poll.h stdlib.h sys/param.h sys/poll.h])
-AC_CHECK_HEADERS([sys/types.h sys/uio.h unistd.h])
-
-AC_MSG_CHECKING([if struct poll is defined]);
-AC_TRY_COMPILE([
-#if defined(HAVE_POLL_H)
-#include <poll.h>
-#endif
-#if defined(HAVE_SYS_POLL_H)
-#include <sys/poll.h>
-#endif
-],[
-struct pollfd pollfd;
-pollfd.fd = -1;
-],[
-AC_MSG_RESULT([yes])
-],[
-AC_MSG_RESULT([no])
-AC_MSG_ERROR([This device requires the poll function])
-])
-
-AC_MSG_CHECKING([if a simple program using poll() can be compiled]);
-AC_TRY_COMPILE([
-#if defined(HAVE_POLL_H)
-#include <poll.h>
-#endif
-#if defined(HAVE_SYS_POLL_H)
-#include <sys/poll.h>
-#endif
-],[
-struct pollfd pollfds[2];
-int n_fds;
-pollfds[0].fd = -1;
-pollfds[1].fd = -1;
-n_fds = poll(pollfds, 2, -1);
-],[
-AC_MSG_RESULT([yes])
-],[
-AC_MSG_RESULT([no])
-AC_MSG_ERROR([This device requires the poll function])
-])
-
-dnl
-dnl needed on AIX
-dnl
-AC_MSG_CHECKING([whether bit fields work in ip.h]);
-AC_TRY_COMPILE([
-#include <netinet/tcp.h>
-],[
-int i;
-],[
-AC_MSG_RESULT([yes])
-bit_fields=yes
-],[
-AC_MSG_RESULT([no])
-bit_fields=no
-])
-if test "$bit_fields" = "no" ; then
-     AC_MSG_RESULT([Adding -D_NO_BITFIELDS to CFLAGS])
-     CFLAGS="$CFLAGS -D_NO_BITFIELDS"
-fi
-
-
-AC_CHECK_FUNCS([gethostname])
-if test "$ac_cv_func_gethostname" = "yes" ; then
-    # Do we need to declare gethostname?
-    PAC_FUNC_NEEDS_DECL([#include <unistd.h>],[gethostname])
-fi
-
-saveLIBS="$LIBS"
-LIBS=""
-AC_SEARCH_LIBS([socket],[socket],[],[],[$saveLIBS])
-AC_SEARCH_LIBS([gethostbyname],[nsl],[],[],[$saveLIBS])
-TCP_LIBS="$TCP_LIBS $LIBS"
-LIBS="$saveLIBS $LIBS"
-
-# Check first for sys/socket.h .  We check not only for existence but whether
-# it can be compiled (!), as we have seen some problems with this.
-AC_TRY_COMPILE([
-#include <sys/types.h>
-#include <sys/socket.h>
-],[int a;],[ac_cv_header_sys_socket_h=yes],[ac_cv_header_sys_socket_h=no])
-if test "$ac_cv_header_sys_socket_h" = yes ; then
-    AC_DEFINE([HAVE_SYS_SOCKET_H],[1],[Define if you have the <sys/socket.h> header file.])
-fi
-# Check for socklen_t .  If undefined, define it as int
-# (note the conditional inclusion of sys/socket.h)
-AC_CACHE_CHECK([whether socklen_t is defined (in sys/socket.h if present)],
-[pac_cv_have_socklen_t],[
-AC_TRY_COMPILE([
-#include <sys/types.h>
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-typedef struct { double a; int b; } socklen_t;],
-[socklen_t a;a.a=1.0;],
-[pac_cv_have_socklen_t=no],
-[pac_cv_have_socklen_t=yes])])
-if test "$pac_cv_have_socklen_t" = no ; then
-    AC_DEFINE([socklen_t],[int],[Define if socklen_t is not defined])
-fi
-
-])dnl end AM_COND_IF(SMPD_SOCK_IS_POLL,...)
-
-])dnl end AM_COND_IF(BUILD_PM_SMPD,...)
-])dnl end _BODY
-dnl
-[#] end of __file__
diff --git a/src/pm/smpd/subconfigure.m4 b/src/pm/smpd/subconfigure.m4
deleted file mode 100644
index bb36640..0000000
--- a/src/pm/smpd/subconfigure.m4
+++ /dev/null
@@ -1,122 +0,0 @@
-[#] start of __file__
-
-AC_DEFUN([PAC_SUBCFG_PREREQ_]PAC_SUBCFG_AUTO_SUFFIX,[
-    AC_ARG_WITH([smpd-sock],
-                [AS_HELP_STRING([--with-smpd-sock=SOCK_IMPL],[selects a socket implementation for SMPD])],
-                [],
-                [with_smpd_sock=poll])
-])
-
-dnl _BODY handles the former role of configure in the subsystem
-AC_DEFUN([PAC_SUBCFG_BODY_]PAC_SUBCFG_AUTO_SUFFIX,[
-
-# the pm_names variable is set by the top level configure
-build_smpd=no
-for pm_name in $pm_names ; do
-    if test "X$pm_name" = "Xsmpd" ; then
-        build_smpd=yes
-    fi
-done
-AM_CONDITIONAL([BUILD_PM_SMPD],[test "X$build_smpd" = "Xyes"])
-
-# first_pm_name is set by the top level configure
-AM_CONDITIONAL([PRIMARY_PM_SMPD],[test "X$first_pm_name" = "Xsmpd"])
-
-AM_COND_IF([BUILD_PM_SMPD],[
-AC_MSG_NOTICE([RUNNING CONFIGURE FOR src/pm/smpd])
-
-# Check that we are using the simple PMI implementation
-# (Selecting multiple PMs may require incompatible PMI implementations 
-# (e.g., gforker and SMPD).
-if test -z "$PM_REQUIRES_PMI" ; then
-    PM_REQUIRES_PMI=smpd
-elif test "$PM_REQUIRES_PMI" != "smpd" ; then
-    echo "smpd requires the smpd PMI implementation; $PM_REQUIRES_PMI has already been selected"
-    exit 1
-fi
-
-# a lot of checks that will mostly be redundant with the top level code, but
-# caching will avoid any real speed penalty
-AC_CHECK_HEADERS([sys/types.h sys/wait.h signal.h unistd.h stdlib.h errno.h stdarg.h pthread.h sys/socket.h sys/select.h sys/stat.h ctype.h])
-AC_CHECK_HEADERS([math.h stdio.h termios.h string.h sys/stat.h malloc.h uuid/uuid.h])
-AC_CHECK_HEADERS([stddef.h md5.h openssl/md5.h])
-AC_CHECK_FUNCS([sigaction usleep CFUUIDCreate uuid_generate setenv md5_calc])
-AC_SEARCH_LIBS([uuid_generate], [uuid])
-
-AC_MSG_CHECKING([for poll stdin capability])
-AC_TRY_RUN([
-#include <stdio.h>
-#include <stdlib.h>
-#include <poll.h>
-#include <unistd.h>
-#include <fcntl.h>
-
-int main(int argc, char *argv[])
-{
-    int fd;
-    struct pollfd a[1];
-    int result;
-    int flags;
-
-    fd = fileno(stdin);
-    flags = fcntl(fd, F_GETFL, 0);
-    if (flags == -1)
-    {
-	return -1;
-    }
-    flags = fcntl(fd, F_SETFL, flags | O_NONBLOCK);
-    if (flags == -1)
-    {
-	return -1;
-    }
-
-    a[0].fd = fd;
-    a[0].events = POLLIN;
-    a[0].revents = 0;
-
-    result = poll(a, 1, 1);
-    if (result == 1)
-    {
-	if (a[0].revents & POLLNVAL)
-	{
-	    return 0;
-	}
-    }
-    return -1;
-}
-], AC_MSG_RESULT([no])
-   AC_DEFINE([USE_PTHREAD_STDIN_REDIRECTION],[1],[define if the file descriptor for stdin cannot be passed to poll]), 
-   AC_MSG_RESULT([yes]),
-   AC_MSG_RESULT([not checking when cross compiling]))
-AC_SEARCH_LIBS([MD5], [ssl crypto])
-# Make configure check for MD5 so that the variable will be set
-AC_CHECK_FUNCS([MD5])
-#
-AC_SEARCH_LIBS([md5_calc], [md5])
-AC_MSG_CHECKING([for md5_calc function])
-AC_TRY_COMPILE([
-#ifdef HAVE_STDDEF_H
- #include <stddef.h>
-#endif
-#include <md5.h>
-],[unsigned char hash[16];
-unsigned char c='a';
-md5_calc(hash,&c,1);],[ac_cv_have_md5_calc=yes],[ac_cv_have_md5_calc=no])
-if test "$ac_cv_have_md5_calc" = yes ; then
-    AC_DEFINE([HAVE_MD5_CALC],[1],[Define if you have the md5_calc function.])
-    AC_MSG_RESULT([yes])
-else
-    AC_MSG_RESULT([no])
-fi
-
-# md5 appears to be required for SMPD.  Test that we have either mp5_calc
-# or MP5 (may be part of openssl/md5.h)
-if test "$ac_cv_have_md5_calc" != yes -a \
-  \( "$ac_cv_header_openssl_md5_h" != yes -o "$ac_cv_func_MD5" != yes \) ; then
-    AC_MSG_ERROR([SMPD requires MD5 support, and configure could not find either md5_calc in md5.h or MD5 in openssl/md5.h])
-fi
-
-])dnl end AM_COND_IF(BUILD_PM_SMPD,...)
-])dnl end _BODY
-dnl
-[#] end of __file__
diff --git a/src/pm/smpd/wmpiconfig/App.ico b/src/pm/smpd/wmpiconfig/App.ico
deleted file mode 100644
index 4e91d69..0000000
Binary files a/src/pm/smpd/wmpiconfig/App.ico and /dev/null differ
diff --git a/src/pm/smpd/wmpiconfig/AssemblyInfo.cs b/src/pm/smpd/wmpiconfig/AssemblyInfo.cs
deleted file mode 100644
index 9f89a32..0000000
--- a/src/pm/smpd/wmpiconfig/AssemblyInfo.cs
+++ /dev/null
@@ -1,58 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-
-//
-// General Information about an assembly is controlled through the following 
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-//
-[assembly: AssemblyTitle("")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("")]
-[assembly: AssemblyCopyright("")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]		
-
-//
-// Version information for an assembly consists of the following four values:
-//
-//      Major Version
-//      Minor Version 
-//      Build Number
-//      Revision
-//
-// You can specify all the values or you can default the Revision and Build Numbers 
-// by using the '*' as shown below:
-
-[assembly: AssemblyVersion("1.0.*")]
-
-//
-// In order to sign your assembly you must specify a key to use. Refer to the 
-// Microsoft .NET Framework documentation for more information on assembly signing.
-//
-// Use the attributes below to control which key is used for signing. 
-//
-// Notes: 
-//   (*) If no key is specified, the assembly is not signed.
-//   (*) KeyName refers to a key that has been installed in the Crypto Service
-//       Provider (CSP) on your machine. KeyFile refers to a file which contains
-//       a key.
-//   (*) If the KeyFile and the KeyName values are both specified, the 
-//       following processing occurs:
-//       (1) If the KeyName can be found in the CSP, that key is used.
-//       (2) If the KeyName does not exist and the KeyFile does exist, the key 
-//           in the KeyFile is installed into the CSP and used.
-//   (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
-//       When specifying the KeyFile, the location of the KeyFile should be
-//       relative to the project output directory which is
-//       %Project Directory%\obj\<configuration>. For example, if your KeyFile is
-//       located in the project directory, you would specify the AssemblyKeyFile 
-//       attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
-//   (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
-//       documentation for more information on this.
-//
-[assembly: AssemblyDelaySign(false)]
-[assembly: AssemblyKeyFile("")]
-[assembly: AssemblyKeyName("")]
diff --git a/src/pm/smpd/wmpiconfig/wmpiconfig.cs b/src/pm/smpd/wmpiconfig/wmpiconfig.cs
deleted file mode 100644
index 484a177..0000000
--- a/src/pm/smpd/wmpiconfig/wmpiconfig.cs
+++ /dev/null
@@ -1,1577 +0,0 @@
-#define VERIFY_USING_REGISTRY
-using System;
-using System.Drawing;
-using System.Collections;
-using System.ComponentModel;
-using System.Windows.Forms;
-using System.Data;
-using Microsoft.Win32; // registry reading/writing
-using System.Net; // Dns
-using System.IO; // File
-using System.Diagnostics; // Process
-using System.Runtime.InteropServices;
-using System.Text; // StringBuilder
-
-namespace wmpiconfig
-{
-	/// <summary>
-	/// Summary description for Form1.
-	/// </summary>
-	public class wmpiconfig : System.Windows.Forms.Form
-	{
-		private bool domain_populated;
-		private Color setting_color;
-		private Hashtable hash;
-		private string smpd;
-		private string mpiexec;
-		private System.Windows.Forms.Label host_label;
-		private System.Windows.Forms.TextBox host_textBox;
-		private System.Windows.Forms.Button get_settings_button;
-		private System.Windows.Forms.ListView list;
-		private System.Windows.Forms.Button apply_button;
-		private System.Windows.Forms.Button cancel_button;
-		private System.Windows.Forms.ListView hosts_list;
-		private System.Windows.Forms.Label domain_label;
-		private System.Windows.Forms.Button scan_button;
-		private System.Windows.Forms.ColumnHeader HostsHeader;
-		private System.Windows.Forms.ColumnHeader SettingsHeader;
-		private System.Windows.Forms.ColumnHeader DefaultHeader;
-		private System.Windows.Forms.ColumnHeader AvailableHeader;
-		private System.Windows.Forms.TextBox output_textBox;
-		private System.Windows.Forms.Button ok_button;
-		private System.Windows.Forms.ComboBox domain_comboBox;
-		private System.Windows.Forms.Button get_hosts_button;
-		private System.Windows.Forms.Button apply_all_button;
-		private System.Windows.Forms.CheckBox append_checkBox;
-		private System.Windows.Forms.CheckBox click_checkBox;
-		/// <summary>
-		/// Required designer variable.
-		/// </summary>
-		private System.ComponentModel.Container components = null;
-		private System.Windows.Forms.Button toggle_button;
-		private System.Windows.Forms.ProgressBar scan_progressBar;
-		private ToolTip tool_tip;
-		private System.Windows.Forms.Button versions_button;
-		private System.Windows.Forms.ColumnHeader VersionHeader;
-		private Color orig_background;
-
-		public wmpiconfig()
-		{
-			//
-			// Required for Windows Form Designer support
-			//
-			InitializeComponent();
-
-			hash = new Hashtable();
-			smpd = get_smpd();
-			mpiexec = get_mpiexec();
-			setting_color = Color.FromArgb(204,230,230);
-
-			domain_comboBox.Text = Environment.UserDomainName;
-			domain_populated = false;
-			host_textBox.Text = Environment.MachineName.ToLower();
-			hosts_list.Items.Add(host_textBox.Text);
-
-			// set defaults
-			hash["log"] = new Setting("log", "", "no", "yes,no");
-			hash["logfile"] = new Setting("logfile", "", "none", @"filename (example: c:\temp\smpd.log)");
-			hash["channel"] = new Setting("channel", "", "sock", "nemesis,sock,mt,ssm,shm,auto");
-			hash["internode_channel"] = new Setting("internode_channel", "", "ssm", "nemesis,sock,mt,ssm");
-			hash["phrase"] = new Setting("phrase", "", "", "");
-			hash["hosts"] = new Setting("hosts", "", "localhost", "list of hostnames (example: foo bar bazz)");
-			hash["max_logfile_size"] = new Setting("max_logfile_size", "", "unlimited", "max number of bytes");
-			hash["timeout"] = new Setting("timeout", "", "infinite", "max number of seconds");
-			//hash["map_drives"] = new Setting("map_drives", "", "no", "yes,no");
-			hash["exitcodes"] = new Setting("exitcodes", "", "no", "yes,no");
-			hash["port"] = new Setting("port", "", "8676", "");
-			hash["noprompt"] = new Setting("noprompt", "", "no", "yes,no");
-			hash["priority"] = new Setting("priority", "", "2:3", "0..4[:0..5] idle, below, normal, above, high[:idle, lowest, below, normal, above, highest]");
-			hash["app_path"] = new Setting("app_path", "", "", "path to search for user executables");
-			hash["plaintext"] = new Setting("plaintext", "", "no", "yes,no");
-			hash["localonly"] = new Setting("localonly", "", "no", "yes,no");
-			hash["nocache"] = new Setting("nocache", "", "no", "yes,no");
-			hash["delegate"] = new Setting("delegate", "", "no", "yes,no");
-			hash["sspi_protect"] = new Setting("sspi_protect", "", "no", "yes,no");
-
-			UpdateHash(get_settings(host_textBox.Text));
-			UpdateListBox();
-
-			orig_background = list.BackColor;
-		}
-
-		/// <summary>
-		/// Clean up any resources being used.
-		/// </summary>
-		protected override void Dispose( bool disposing )
-		{
-			if( disposing )
-			{
-				if (components != null) 
-				{
-					components.Dispose();
-				}
-			}
-			base.Dispose( disposing );
-		}
-
-		#region Windows Form Designer generated code
-		/// <summary>
-		/// Required method for Designer support - do not modify
-		/// the contents of this method with the code editor.
-		/// </summary>
-		private void InitializeComponent()
-		{
-			System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(wmpiconfig));
-			this.host_label = new System.Windows.Forms.Label();
-			this.host_textBox = new System.Windows.Forms.TextBox();
-			this.get_settings_button = new System.Windows.Forms.Button();
-			this.list = new System.Windows.Forms.ListView();
-			this.SettingsHeader = new System.Windows.Forms.ColumnHeader();
-			this.DefaultHeader = new System.Windows.Forms.ColumnHeader();
-			this.AvailableHeader = new System.Windows.Forms.ColumnHeader();
-			this.apply_button = new System.Windows.Forms.Button();
-			this.cancel_button = new System.Windows.Forms.Button();
-			this.hosts_list = new System.Windows.Forms.ListView();
-			this.HostsHeader = new System.Windows.Forms.ColumnHeader();
-			this.domain_label = new System.Windows.Forms.Label();
-			this.scan_button = new System.Windows.Forms.Button();
-			this.output_textBox = new System.Windows.Forms.TextBox();
-			this.ok_button = new System.Windows.Forms.Button();
-			this.domain_comboBox = new System.Windows.Forms.ComboBox();
-			this.get_hosts_button = new System.Windows.Forms.Button();
-			this.apply_all_button = new System.Windows.Forms.Button();
-			this.append_checkBox = new System.Windows.Forms.CheckBox();
-			this.click_checkBox = new System.Windows.Forms.CheckBox();
-			this.toggle_button = new System.Windows.Forms.Button();
-			this.scan_progressBar = new System.Windows.Forms.ProgressBar();
-			this.versions_button = new System.Windows.Forms.Button();
-			this.VersionHeader = new System.Windows.Forms.ColumnHeader();
-			this.SuspendLayout();
-			// 
-			// host_label
-			// 
-			this.host_label.Location = new System.Drawing.Point(144, 8);
-			this.host_label.Name = "host_label";
-			this.host_label.Size = new System.Drawing.Size(32, 16);
-			this.host_label.TabIndex = 0;
-			this.host_label.Text = "Host:";
-			// 
-			// host_textBox
-			// 
-			this.host_textBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
-				| System.Windows.Forms.AnchorStyles.Right)));
-			this.host_textBox.Location = new System.Drawing.Point(176, 8);
-			this.host_textBox.Name = "host_textBox";
-			this.host_textBox.Size = new System.Drawing.Size(312, 20);
-			this.host_textBox.TabIndex = 1;
-			this.host_textBox.Text = "localhost";
-			// 
-			// get_settings_button
-			// 
-			this.get_settings_button.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
-			this.get_settings_button.Location = new System.Drawing.Point(408, 32);
-			this.get_settings_button.Name = "get_settings_button";
-			this.get_settings_button.Size = new System.Drawing.Size(80, 23);
-			this.get_settings_button.TabIndex = 2;
-			this.get_settings_button.Text = "&Get Settings";
-			this.get_settings_button.Click += new System.EventHandler(this.get_settings_button_Click);
-			// 
-			// list
-			// 
-			this.list.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
-				| System.Windows.Forms.AnchorStyles.Left) 
-				| System.Windows.Forms.AnchorStyles.Right)));
-			this.list.CheckBoxes = true;
-			this.list.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
-																				   this.SettingsHeader,
-																				   this.DefaultHeader,
-																				   this.AvailableHeader});
-			this.list.FullRowSelect = true;
-			this.list.GridLines = true;
-			this.list.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
-			this.list.Location = new System.Drawing.Point(144, 64);
-			this.list.Name = "list";
-			this.list.Size = new System.Drawing.Size(344, 376);
-			this.list.TabIndex = 3;
-			this.list.View = System.Windows.Forms.View.Details;
-			this.list.ItemActivate += new System.EventHandler(this.list_ItemActivate);
-			this.list.AfterLabelEdit += new System.Windows.Forms.LabelEditEventHandler(this.list_AfterLabelEdit);
-			this.list.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.list_ItemCheck);
-			// 
-			// SettingsHeader
-			// 
-			this.SettingsHeader.Text = "Settings";
-			this.SettingsHeader.Width = 132;
-			// 
-			// DefaultHeader
-			// 
-			this.DefaultHeader.Text = "Default";
-			// 
-			// AvailableHeader
-			// 
-			this.AvailableHeader.Text = "Available options";
-			this.AvailableHeader.Width = 122;
-			// 
-			// apply_button
-			// 
-			this.apply_button.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
-			this.apply_button.Location = new System.Drawing.Point(248, 448);
-			this.apply_button.Name = "apply_button";
-			this.apply_button.TabIndex = 4;
-			this.apply_button.Text = "&Apply";
-			this.apply_button.Click += new System.EventHandler(this.apply_button_Click);
-			// 
-			// cancel_button
-			// 
-			this.cancel_button.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
-			this.cancel_button.Location = new System.Drawing.Point(416, 448);
-			this.cancel_button.Name = "cancel_button";
-			this.cancel_button.TabIndex = 14;
-			this.cancel_button.Text = "&Cancel";
-			this.cancel_button.Click += new System.EventHandler(this.cancel_button_Click);
-			// 
-			// hosts_list
-			// 
-			this.hosts_list.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
-				| System.Windows.Forms.AnchorStyles.Left)));
-			this.hosts_list.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
-																						 this.HostsHeader,
-																						 this.VersionHeader});
-			this.hosts_list.FullRowSelect = true;
-			this.hosts_list.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
-			this.hosts_list.Location = new System.Drawing.Point(8, 144);
-			this.hosts_list.Name = "hosts_list";
-			this.hosts_list.Size = new System.Drawing.Size(128, 328);
-			this.hosts_list.TabIndex = 12;
-			this.hosts_list.View = System.Windows.Forms.View.Details;
-			this.hosts_list.KeyUp += new System.Windows.Forms.KeyEventHandler(this.hosts_list_KeyUp);
-			this.hosts_list.SelectedIndexChanged += new System.EventHandler(this.hosts_list_SelectedIndexChanged);
-			// 
-			// HostsHeader
-			// 
-			this.HostsHeader.Text = "Hosts";
-			this.HostsHeader.Width = 91;
-			// 
-			// domain_label
-			// 
-			this.domain_label.Location = new System.Drawing.Point(8, 8);
-			this.domain_label.Name = "domain_label";
-			this.domain_label.Size = new System.Drawing.Size(48, 16);
-			this.domain_label.TabIndex = 7;
-			this.domain_label.Text = "Domain:";
-			// 
-			// scan_button
-			// 
-			this.scan_button.Location = new System.Drawing.Point(8, 80);
-			this.scan_button.Name = "scan_button";
-			this.scan_button.Size = new System.Drawing.Size(80, 23);
-			this.scan_button.TabIndex = 9;
-			this.scan_button.Text = "&Scan Hosts";
-			this.scan_button.Click += new System.EventHandler(this.scan_button_Click);
-			// 
-			// output_textBox
-			// 
-			this.output_textBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
-				| System.Windows.Forms.AnchorStyles.Right)));
-			this.output_textBox.Location = new System.Drawing.Point(144, 32);
-			this.output_textBox.Multiline = true;
-			this.output_textBox.Name = "output_textBox";
-			this.output_textBox.ReadOnly = true;
-			this.output_textBox.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
-			this.output_textBox.Size = new System.Drawing.Size(256, 32);
-			this.output_textBox.TabIndex = 15;
-			this.output_textBox.Text = "";
-			// 
-			// ok_button
-			// 
-			this.ok_button.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
-			this.ok_button.Location = new System.Drawing.Point(336, 448);
-			this.ok_button.Name = "ok_button";
-			this.ok_button.Size = new System.Drawing.Size(72, 23);
-			this.ok_button.TabIndex = 13;
-			this.ok_button.Text = "OK";
-			this.ok_button.Click += new System.EventHandler(this.ok_button_Click);
-			// 
-			// domain_comboBox
-			// 
-			this.domain_comboBox.Location = new System.Drawing.Point(8, 24);
-			this.domain_comboBox.Name = "domain_comboBox";
-			this.domain_comboBox.Size = new System.Drawing.Size(112, 21);
-			this.domain_comboBox.TabIndex = 6;
-			this.domain_comboBox.DropDown += new System.EventHandler(this.domain_comboBox_DropDown);
-			// 
-			// get_hosts_button
-			// 
-			this.get_hosts_button.Location = new System.Drawing.Point(8, 48);
-			this.get_hosts_button.Name = "get_hosts_button";
-			this.get_hosts_button.TabIndex = 7;
-			this.get_hosts_button.Text = "Get &Hosts";
-			this.get_hosts_button.Click += new System.EventHandler(this.get_hosts_button_Click);
-			// 
-			// apply_all_button
-			// 
-			this.apply_all_button.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
-			this.apply_all_button.Location = new System.Drawing.Point(168, 448);
-			this.apply_all_button.Name = "apply_all_button";
-			this.apply_all_button.TabIndex = 5;
-			this.apply_all_button.Text = "Apply All";
-			this.apply_all_button.Click += new System.EventHandler(this.apply_all_button_Click);
-			// 
-			// append_checkBox
-			// 
-			this.append_checkBox.Appearance = System.Windows.Forms.Appearance.Button;
-			this.append_checkBox.Location = new System.Drawing.Point(88, 51);
-			this.append_checkBox.Name = "append_checkBox";
-			this.append_checkBox.Size = new System.Drawing.Size(16, 16);
-			this.append_checkBox.TabIndex = 8;
-			this.append_checkBox.Text = "+";
-			// 
-			// click_checkBox
-			// 
-			this.click_checkBox.Appearance = System.Windows.Forms.Appearance.Button;
-			this.click_checkBox.Location = new System.Drawing.Point(96, 80);
-			this.click_checkBox.Name = "click_checkBox";
-			this.click_checkBox.Size = new System.Drawing.Size(40, 24);
-			this.click_checkBox.TabIndex = 10;
-			this.click_checkBox.Text = "click";
-			// 
-			// toggle_button
-			// 
-			this.toggle_button.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
-			this.toggle_button.Location = new System.Drawing.Point(144, 448);
-			this.toggle_button.Name = "toggle_button";
-			this.toggle_button.Size = new System.Drawing.Size(16, 23);
-			this.toggle_button.TabIndex = 16;
-			this.toggle_button.Text = "^";
-			this.toggle_button.Click += new System.EventHandler(this.toggle_button_Click);
-			// 
-			// scan_progressBar
-			// 
-			this.scan_progressBar.Location = new System.Drawing.Point(8, 136);
-			this.scan_progressBar.Name = "scan_progressBar";
-			this.scan_progressBar.Size = new System.Drawing.Size(128, 8);
-			this.scan_progressBar.Step = 1;
-			this.scan_progressBar.TabIndex = 17;
-			// 
-			// versions_button
-			// 
-			this.versions_button.Location = new System.Drawing.Point(8, 112);
-			this.versions_button.Name = "versions_button";
-			this.versions_button.Size = new System.Drawing.Size(128, 23);
-			this.versions_button.TabIndex = 11;
-			this.versions_button.Text = "Scan for &Versions";
-			this.versions_button.Click += new System.EventHandler(this.versions_button_Click);
-			// 
-			// VersionHeader
-			// 
-			this.VersionHeader.Text = "Version";
-			// 
-			// wmpiconfig
-			// 
-			this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
-			this.ClientSize = new System.Drawing.Size(496, 483);
-			this.Controls.Add(this.versions_button);
-			this.Controls.Add(this.scan_progressBar);
-			this.Controls.Add(this.toggle_button);
-			this.Controls.Add(this.cancel_button);
-			this.Controls.Add(this.apply_button);
-			this.Controls.Add(this.click_checkBox);
-			this.Controls.Add(this.append_checkBox);
-			this.Controls.Add(this.apply_all_button);
-			this.Controls.Add(this.get_hosts_button);
-			this.Controls.Add(this.domain_comboBox);
-			this.Controls.Add(this.ok_button);
-			this.Controls.Add(this.output_textBox);
-			this.Controls.Add(this.host_textBox);
-			this.Controls.Add(this.scan_button);
-			this.Controls.Add(this.domain_label);
-			this.Controls.Add(this.hosts_list);
-			this.Controls.Add(this.list);
-			this.Controls.Add(this.get_settings_button);
-			this.Controls.Add(this.host_label);
-			this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
-			this.MinimumSize = new System.Drawing.Size(504, 256);
-			this.Name = "wmpiconfig";
-			this.Text = "MPICH Configurable Settings";
-			this.Load += new System.EventHandler(this.wmpiconfig_Load);
-			this.ResumeLayout(false);
-
-		}
-		#endregion
-
-		/// <summary>
-		/// The main entry point for the application.
-		/// </summary>
-		[STAThread]
-		static void Main() 
-		{
-			Application.Run(new wmpiconfig());
-		}
-
-		internal void PopulateDomainList()
-		{
-			ComputerBrowser ce;
-			string domainName = "";
-			string currentDomain = System.Environment.UserDomainName;
-			int index = -1;
-
-			Cursor.Current = Cursors.WaitCursor;
-
-			// browse for domains
-			ce = new ComputerBrowser(ComputerBrowser.ServerType.SV_TYPE_DOMAIN_ENUM);
-			for (int i=0; i<ce.Length; i++)
-			{
-				domainName = ce[i].Name;
-				// Add the name to the dropdown list if it already doesn't exist
-				bool found = false;
-				foreach (string str in domain_comboBox.Items)
-				{
-					if (str.ToLower() == domainName.ToLower())
-						found = true;
-				}
-				if (!found)
-				{
-					domain_comboBox.Items.Add(domainName);
-				}
-				// Save the index of the current machine's domain so it will be selected by default
-				if (domainName.ToLower() == currentDomain.ToLower())
-				{
-					index = i;
-				}
-			}
-			if (index == -1)
-			{
-				index = domain_comboBox.Items.Add(currentDomain);
-			}
-			domain_comboBox.SelectedIndex = index;
-			Cursor.Current = Cursors.Default;
-		}
-
-		internal string [] GetHostNames()
-		{
-			ComputerBrowser ce;
-			string [] results = null;
-
-			Cursor.Current = Cursors.WaitCursor;
-
-			ce = new ComputerBrowser(domain_comboBox.Text);
-			int numServer = ce.Length;
-
-			if (ce.LastError.Length == 0)
-			{
-				IEnumerator enumerator = ce.GetEnumerator();
-
-				// add the domain text to the dropdown list if it isn't already there
-				bool found = false;
-				foreach (string str in domain_comboBox.Items)
-				{
-					if (str == domain_comboBox.Text)
-					{
-						found = true;
-					}
-				}
-				if (!found)
-				{
-					domain_comboBox.Items.Add(domain_comboBox.Text);
-				}
-
-				results = new string[numServer];
-				int i = 0;
-				while (enumerator.MoveNext())
-				{
-					results[i] = ce[i].Name;
-					i++;
-				}
-			}
-			else
-			{
-				output_textBox.Text = "Error \"" + ce.LastError + "\"";
-			}
-
-			Cursor.Current = Cursors.Default;
-			return results;
-		}
-
-		private void UpdateHash(Hashtable h)
-		{
-			// update or add entries to the internal hash for each key in the input hash
-			foreach (string str in h.Keys)
-			{
-				if (str != "binary") // ignore the smpd binary key because it is machine specific
-				{
-					if (hash.Contains(str))
-					{
-						((Setting)hash[str])._value = (string)h[str];
-					}
-					else
-					{
-						hash[str] = new Setting(str, (string)h[str], "", "");
-					}
-				}
-			}
-			// remove settings from the internal hash for keys not in the input hash
-			foreach (string str in hash.Keys)
-			{
-				if (!h.Contains(str))
-				{
-					((Setting)hash[str])._value = "";
-				}
-			}
-		}
-
-		private void UpdateListBox()
-		{
-			int i;
-			Hashtable h = new Hashtable();
-			// make a hash of the settings already in the listbox
-			for (i=0; i<list.Items.Count; i+=2)
-			{
-				// add the name to the hash
-				h.Add(list.Items[i].Text, i+1);
-				// clear the current setting
-				list.Items[i+1].Text = "";
-			}
-			// update or add items to the listbox
-			foreach (string str in hash.Keys)
-			{
-				if (h.Contains(str))
-				{
-					i = (int)h[str];
-					list.Items[i].Text = ((Setting)hash[str])._value;
-				}
-				else
-				{
-					Setting s = (Setting)hash[str];
-					ListViewItem item = list.Items.Add(str);
-					item.BackColor = setting_color;
-					item = list.Items.Add(s._value);
-					item.SubItems.Add(s._default_val);
-					item.SubItems.Add(s._available_values);
-				}
-			}
-		}
-
-		delegate void ScanHostDelegate(string host);
-		private void ScanHost(string host)
-		{
-			bool success;
-			string result = host + "\r\n";
-			Hashtable h;
-			h = get_settings(host);
-			success = !(h.Contains("error") || h.Count == 0);
-
-			SetHostBackgroundDelegate sd = new SetHostBackgroundDelegate(set_host_background);
-			object [] sd_list = new object[2] { host, success };
-			Invoke(sd, sd_list);
-			//set_host_background(host, success);
-
-			foreach (string key in h.Keys)
-			{
-				result = result + key + " = " + h[key] + "\r\n";
-			}
-			UpdateHostScanResultDelegate rd = new UpdateHostScanResultDelegate(UpdateHostScanResult);
-			object [] list = new object[1] { result };
-			Invoke(rd, list);
-		}
-
-		delegate void UpdateHostScanResultDelegate(string result);
-		private void UpdateHostScanResult(string result)
-		{
-			output_textBox.AppendText(result);
-			scan_progressBar.PerformStep();
-		}
-
-		delegate void ScanHostVersionDelegate(string host);
-		private void ScanHostVersion(string host)
-		{
-			string version;
-			version = get_version(host);
-
-			UpdateHostScanVersionResultDelegate rd = new UpdateHostScanVersionResultDelegate(UpdateHostScanVersionResult);
-			object [] list = new object[2] { host, version };
-			Invoke(rd, list);
-		}
-
-		delegate void UpdateHostScanVersionResultDelegate(string host, string version);
-		private void UpdateHostScanVersionResult(string host, string version)
-		{
-			add_host_version_to_list(host, version);
-			scan_progressBar.PerformStep();
-		}
-
-		private void scan_button_Click(object sender, System.EventArgs e)
-		{
-			// Get the versions
-			versions_button_Click(sender, e);
-			// Then get the rest of the details
-			scan_progressBar.Value = 0;
-			scan_progressBar.Maximum = hosts_list.Items.Count;
-			output_textBox.Text = "";
-			foreach (ListViewItem item in hosts_list.Items)
-			{
-				item.BackColor = orig_background;
-				ScanHostDelegate shd = new ScanHostDelegate(ScanHost);
-				shd.BeginInvoke(item.Text, null, null);
-			}
-		}
-
-		private void VerifyEncryptedPasswordExists()
-		{
-			try
-			{
-				bool popup = true;
-				string mpiexec = get_mpiexec();
-#if VERIFY_USING_REGISTRY
-				// Check the registry for the encrypted password
-				// This code will have to be kept synchronized with the smpd code
-				// The advantage of this approach is that the credentials don't have to be valid on the local host
-				RegistryKey key = Registry.CurrentUser.OpenSubKey(@"Software\MPICH");
-				if (key != null)
-				{
-					// check to see that an encrypted password for the current user exists
-					object obj = key.GetValue("smpdPassword");
-					key.Close();
-					if (obj != null)
-					{
-						popup = false;
-					}
-				}
-#else
-				// Or run "mpiexec -validate" and check the output for SUCCESS
-				// This code will last longer because it doesn't rely on known information about the smpd implementation.
-				// The disadvantage of this code is that the user credentials have to be valid on the local host.
-				Process p1 = new Process();
-				p1.StartInfo.RedirectStandardOutput = true;
-				p1.StartInfo.RedirectStandardError = true;
-				p1.StartInfo.UseShellExecute = false;
-				p1.StartInfo.CreateNoWindow = true;
-				p1.StartInfo.FileName = mpiexec;
-				p1.StartInfo.Arguments = "-validate";
-				p1.Start();
-				string output = p1.StandardOutput.ReadToEnd() + p1.StandardError.ReadToEnd();
-				p1.WaitForExit();
-				p1.Close();
-				if (output.IndexOf("SUCCESS") != -1)
-				{
-					popup = false;
-				}
-#endif
-				if (popup)
-				{
-					string wmpiregister;
-					wmpiregister = mpiexec.Replace("mpiexec.exe", "wmpiregister.exe");
-					Process p = new Process();
-					p.StartInfo.FileName = wmpiregister;
-					p.Start();
-					p.WaitForExit();
-				}
-			}
-			catch (Exception)
-			{
-			}
-		}
-
-		private Hashtable get_settings(string host)
-		{
-			string option, val;
-			Hashtable hash = new Hashtable();
-
-			VerifyEncryptedPasswordExists();
-
-			Process p = new Process();
-			p.StartInfo.FileName = mpiexec;
-			p.StartInfo.Arguments = string.Format("-timeout 20 -noprompt -path {{SMPD_PATH}} -n 1 -host {0} smpd.exe -enumerate", host);
-			p.StartInfo.RedirectStandardOutput = true;
-			p.StartInfo.CreateNoWindow = true;
-			p.StartInfo.UseShellExecute = false;
-
-			//MessageBox.Show("About to launch: " + p.StartInfo.FileName + " " + p.StartInfo.Arguments);
-			try
-			{
-				p.Start();
-				while ((option = p.StandardOutput.ReadLine()) != null)
-				{
-					val = p.StandardOutput.ReadLine();
-					if (val == null)
-						break;
-					hash.Add(option, val);
-				}
-				if (!p.WaitForExit(20000))
-				{
-					p.Kill();
-				}
-				if (p.ExitCode != 0)
-				{
-					hash.Clear();
-				}
-				p.Close();
-			}
-			catch (Exception)
-			{
-				hash.Clear();
-				hash.Add("error", host + ": Unable to detect the settings");
-			}
-			if (hash.Count == 0)
-			{
-				hash.Add("error", host + ": MPICH not installed or unable to query the host");
-			}
-			return hash;
-		}
-
-		private string get_version(string host)
-		{
-			string version = "";
-
-			Process p = new Process();
-			p.StartInfo.FileName = smpd;
-			p.StartInfo.Arguments = string.Format("-version {0}", host);
-			p.StartInfo.RedirectStandardOutput = true;
-			p.StartInfo.CreateNoWindow = true;
-			p.StartInfo.UseShellExecute = false;
-
-			//MessageBox.Show("About to launch: " + p.StartInfo.FileName + " " + p.StartInfo.Arguments);
-			try
-			{
-				p.Start();
-				version = p.StandardOutput.ReadToEnd();
-				if (!p.WaitForExit(20000))
-				{
-					p.Kill();
-				}
-				if (p.ExitCode != 0)
-				{
-					version = "";
-				}
-				p.Close();
-			}
-			catch (Exception)
-			{
-			}
-			return version.Trim();
-		}
-
-		private void set_settings(string host, Hashtable h)
-		{
-			StringBuilder str;
-			string val;
-
-			if (h.Keys.Count < 1)
-			{
-				// nothing to set
-				return;
-			}
-
-			VerifyEncryptedPasswordExists();
-
-			str = new StringBuilder("-timeout 20 -noprompt -path {SMPD_PATH} -n 1 -host ");
-			str.AppendFormat("{0} smpd.exe", host);
-			foreach (string key in h.Keys)
-			{
-				val = (string)h[key];
-				if (val.IndexOf(' ') != -1 || val.Length == 0)
-				{
-					str.AppendFormat(" -set {0} \"{1}\"", key, val);
-				}
-				else
-				{
-					str.AppendFormat(" -set {0} {1}", key, val);
-				}
-			}
-			//output_textBox.Text = str.ToString();
-
-			Process p = new Process();
-			p.StartInfo.FileName = mpiexec;
-			p.StartInfo.Arguments = str.ToString();
-			p.StartInfo.RedirectStandardOutput = true;
-			p.StartInfo.CreateNoWindow = true;
-			p.StartInfo.UseShellExecute = false;
-
-			//MessageBox.Show("About to launch: " + p.StartInfo.FileName + " " + p.StartInfo.Arguments);
-			try
-			{
-				output_textBox.AppendText(host + "\r\n");
-				p.Start();
-				while ((val = p.StandardOutput.ReadLine()) != null)
-				{
-					output_textBox.AppendText(val + "\r\n");
-				}
-				if (!p.WaitForExit(20000))
-				{
-					p.Kill();
-				}
-				p.Close();
-			}
-			catch (Exception)
-			{
-			}
-		}
-
-		private Hashtable get_setttings_hash()
-		{
-			int i;
-			Hashtable h = new Hashtable();
-			for (i=0; i<list.Items.Count; i+=2)
-			{
-				if (list.Items[i].Checked)
-				{
-					h[list.Items[i].Text] = list.Items[i+1].Text;
-				}
-			}
-			return h;
-		}
-
-		private string get_mpiexec()
-		{
-			string mpiexec = "";
-			object obj;
-			try
-			{
-				RegistryKey key = Registry.LocalMachine.OpenSubKey(@"Software\MPICH");
-				if (key != null)
-				{
-					obj = key.GetValue("Path");
-					key.Close();
-					if (obj != null)
-					{
-						mpiexec = obj.ToString();
-						if (mpiexec.EndsWith(@"\"))
-						{
-							mpiexec = mpiexec + @"bin\mpiexec.exe";
-						}
-						else
-						{
-							mpiexec = mpiexec + @"\bin\mpiexec.exe";
-						}
-						if (!File.Exists(mpiexec))
-						{
-							mpiexec = "";
-						}
-					}
-				}
-				if (mpiexec == "")
-				{
-					key = Registry.LocalMachine.OpenSubKey(@"Software\MPICH\SMPD");
-					if (key != null)
-					{
-						obj = key.GetValue("binary");
-						key.Close();
-						if (obj != null)
-						{
-							mpiexec = obj.ToString().Replace("smpd.exe", "mpiexec.exe");
-							if (!File.Exists(mpiexec))
-							{
-								mpiexec = "";
-							}
-						}
-					}
-				}
-				if (mpiexec == "")
-				{
-					mpiexec = "mpiexec.exe";
-				}
-				mpiexec = mpiexec.Trim();
-				/*
-				if (mpiexec.IndexOf(' ') != -1)
-				{
-					mpiexec = "\"" + mpiexec + "\"";
-				}
-				*/
-			}
-			catch (Exception)
-			{
-				mpiexec = "mpiexec.exe";
-			}
-			return mpiexec;
-		}
-
-		private string get_smpd()
-		{
-			string smpd = "";
-			object obj;
-			try
-			{
-				RegistryKey key = Registry.LocalMachine.OpenSubKey(@"Software\MPICH");
-				if (key != null)
-				{
-					obj = key.GetValue("Path");
-					key.Close();
-					if (obj != null)
-					{
-						smpd = obj.ToString();
-						if (smpd.EndsWith(@"\"))
-						{
-							smpd = smpd + @"bin\smpd.exe";
-						}
-						else
-						{
-							smpd = smpd + @"\bin\smpd.exe";
-						}
-						if (!File.Exists(smpd))
-						{
-							smpd = "";
-						}
-					}
-				}
-				if (smpd == "")
-				{
-					key = Registry.LocalMachine.OpenSubKey(@"Software\MPICH\SMPD");
-					if (key != null)
-					{
-						obj = key.GetValue("binary");
-						key.Close();
-						if (obj != null)
-						{
-							smpd = obj.ToString();
-							if (!File.Exists(smpd))
-							{
-								smpd = "";
-							}
-						}
-					}
-				}
-				if (smpd == "")
-				{
-					smpd = "smpd.exe";
-				}
-				smpd = smpd.Trim();
-				/*
-				if (smpd.IndexOf(' ') != -1)
-				{
-					smpd = "\"" + smpd + "\"";
-				}
-				*/
-			}
-			catch (Exception)
-			{
-				smpd = "smpd.exe";
-			}
-			return smpd;
-		}
-
-		private string get_value(string key)
-		{
-			object obj;
-			try
-			{
-				RegistryKey regkey = Registry.LocalMachine.OpenSubKey(@"Software\MPICH\SMPD");
-				if (regkey != null)
-				{
-					obj = regkey.GetValue(key);
-					regkey.Close();
-					if (obj != null)
-					{
-						return obj.ToString();
-					}
-				}
-			}
-			catch (Exception)
-			{
-			}
-			return "";
-		}
-
-		private void get_settings_button_Click(object sender, System.EventArgs e)
-		{
-			bool success;
-			Hashtable h;
-			Cursor.Current = Cursors.WaitCursor;
-			output_textBox.Text = "";
-			h = get_settings(host_textBox.Text);
-			UpdateHash(h);
-			UpdateListBox();
-			add_host_to_list(host_textBox.Text);
-			success = !(h.Contains("error") || h.Count == 0);
-			set_host_background(host_textBox.Text, success);
-			Cursor.Current = Cursors.Default;
-		}
-
-		private void add_host_to_list(string host)
-		{
-			bool found = false;
-			foreach (ListViewItem item in hosts_list.Items)
-			{
-				if (String.Compare(item.Text, host, true) == 0)
-					found = true;
-			}
-			if (!found)
-			{
-				hosts_list.Items.Add(host);
-			}
-		}
-
-		private void add_host_version_to_list(string host, string version)
-		{
-			foreach (ListViewItem item in hosts_list.Items)
-			{
-				if (String.Compare(item.Text, host, true) == 0)
-				{
-					if (item.SubItems.Count == 2)
-						item.SubItems[1].Text = version;
-					else
-						item.SubItems.Add(version);
-					return;
-				}
-			}
-		}
-
-		delegate void SetHostBackgroundDelegate(string host, bool success);
-		private void set_host_background(string host, bool success)
-		{
-			foreach (ListViewItem item in hosts_list.Items)
-			{
-				if (String.Compare(item.Text, host, true) == 0)
-				{
-					if (success)
-                        item.BackColor = Color.GreenYellow;
-					else
-						item.BackColor = Color.LightGray;
-				}
-			}
-		}
-
-		private void apply_button_Click(object sender, System.EventArgs e)
-		{
-			Hashtable h;
-
-			Cursor.Current = Cursors.WaitCursor;
-			output_textBox.Clear();
-			h = get_setttings_hash();
-			set_settings(host_textBox.Text, h);
-			Cursor.Current = Cursors.Default;
-		}
-
-		private void apply_all_button_Click(object sender, System.EventArgs e)
-		{
-			Hashtable h;
-
-			Cursor.Current = Cursors.WaitCursor;
-			output_textBox.Clear();
-			h = get_setttings_hash();
-			scan_progressBar.Value = 0;
-			scan_progressBar.Maximum = hosts_list.Items.Count;
-			foreach (ListViewItem item in hosts_list.Items)
-			{
-				set_settings(item.Text, h);
-				scan_progressBar.PerformStep();
-			}
-			Cursor.Current = Cursors.Default;
-		}
-
-		private void cancel_button_Click(object sender, System.EventArgs e)
-		{
-			Close();
-		}
-
-		private void list_ItemActivate(object sender, System.EventArgs e)
-		{
-			int index;
-			if (list.SelectedIndices.Count > 0)
-			{
-				index = list.SelectedIndices[0];
-				if ((index & 0x1) == 0)
-				{
-					index++;
-				}
-				// turn on and begin editing the value field
-				list.LabelEdit = true;
-				list.Items[index].BeginEdit();
-			}
-		}
-
-		private void list_AfterLabelEdit(object sender, System.Windows.Forms.LabelEditEventArgs e)
-		{
-			// turn off editing after a field has been modified to prevent the name from being modified
-			list.LabelEdit = false;
-			list.Items[e.Item].Checked = true;
-		}
-
-		private void ok_button_Click(object sender, System.EventArgs e)
-		{
-			Close();
-		}
-
-		private void hosts_list_SelectedIndexChanged(object sender, System.EventArgs e)
-		{
-			if (hosts_list.SelectedItems.Count > 0)
-			{
-				host_textBox.Text = hosts_list.SelectedItems[0].Text;
-				if (click_checkBox.Checked)
-				{
-					get_settings_button_Click(null, null);
-				}
-				if (hosts_list.SelectedItems[0].BackColor == Color.LightGray)
-				{
-					list.BackColor = Color.LightGray;
-					list.Enabled = false;
-				}
-				else
-				{
-					list.BackColor = orig_background;
-					list.Enabled = true;
-				}
-			}
-			else
-			{
-				list.BackColor = orig_background;
-				list.Enabled = true;
-			}
-		}
-
-		private void domain_comboBox_DropDown(object sender, System.EventArgs e)
-		{
-			if (!domain_populated)
-			{
-				PopulateDomainList();
-				domain_populated = true;
-			}
-		}
-
-		private void get_hosts_button_Click(object sender, System.EventArgs e)
-		{
-			string [] hosts;
-			if (domain_comboBox.Text.ToLower() == Environment.MachineName.ToLower())
-			{
-				hosts = new string[1] { Environment.MachineName };
-			}
-			else
-			{
-				hosts = GetHostNames();
-			}
-			if (hosts != null)
-			{
-				if (!append_checkBox.Checked)
-				{
-					hosts_list.Items.Clear();
-				}
-				// FIXME: This is an N^2 algorithm.
-				// It probably won't slow down until there are hundreds of hosts available.
-				// A Hashtable should be used instead.
-				foreach (string s in hosts)
-				{
-					bool found = false;
-					foreach (ListViewItem item in hosts_list.Items)
-					{
-						if (item.Text.ToLower() == s.ToLower())
-							found = true;
-					}
-					if (!found)
-					{
-						hosts_list.Items.Add(s);
-					}
-				}
-			}
-		}
-
-		private void wmpiconfig_Load(object sender, System.EventArgs e)
-		{
-			tool_tip = new ToolTip();
-
-			tool_tip.SetToolTip(append_checkBox, "Append hosts to the list");
-			tool_tip.SetToolTip(click_checkBox, "Get settings when a host name is selected");
-			tool_tip.SetToolTip(apply_button, "Apply the checked settings to the host in the host edit box");
-			tool_tip.SetToolTip(apply_all_button, "Apply the checked settings to all the hosts in the host list");
-			tool_tip.SetToolTip(scan_button, "Retrieve the settings from the hosts in the host list");
-			tool_tip.SetToolTip(get_hosts_button, "Get the host names from the specified domain");
-			tool_tip.SetToolTip(toggle_button, "Check or uncheck all the checked settings");
-			tool_tip.SetToolTip(versions_button, "Retrieve the version from the hosts in the host list");
-		}
-
-		bool check_recursed = false;
-		private void list_ItemCheck(object sender, System.Windows.Forms.ItemCheckEventArgs e)
-		{
-			int other_index;
-			if (!check_recursed)
-			{
-				check_recursed = true;
-				// Each setting takes up two listbox entries so check and uncheck them together.
-				// Get the index of the sister checkbox.
-				other_index = ((e.Index & 0x1) == 0) ? e.Index + 1 : e.Index - 1;
-				list.Items[other_index].Checked = (e.NewValue == CheckState.Checked);
-				check_recursed = false;
-			}
-		}
-
-		/// <summary>
-		/// Toggle all the check boxes except the "phrase" and "port" options.
-		/// Those options must be selected manually to make their setting more intentional.
-		/// </summary>
-		/// <param name="sender"></param>
-		/// <param name="e"></param>
-		bool checkuncheck = true;
-		private void toggle_button_Click(object sender, System.EventArgs e)
-		{
-			int index = -1;
-			int port_index = -1;
-			int error_index = -1;
-			bool phrase_checked = false;
-			bool port_checked = false;
-			check_recursed = true;
-			foreach (ListViewItem item in list.Items)
-			{
-				if (item.Text == "phrase")
-				{
-					// save the index of the item following the phrase item to reset it afterwards
-					index = item.Index + 1;
-					phrase_checked = item.Checked;
-				}
-				else if (item.Text == "port")
-				{
-					port_index = item.Index + 1;
-					port_checked = item.Checked;
-				}
-				else if (item.Text == "error")
-				{
-					error_index = item.Index + 1;
-				}
-				else
-				{
-					item.Checked = checkuncheck; //!item.Checked;
-				}
-			}
-			if (index != -1)
-			{
-				// reset the phrase value
-				list.Items[index].Checked = phrase_checked;
-			}
-			if (port_index != -1)
-			{
-				// reset the port value
-				list.Items[port_index].Checked = port_checked;
-			}
-			if (error_index != -1)
-			{
-				// remove the error item check
-				list.Items[error_index].Checked = false;
-			}
-			checkuncheck = !checkuncheck;
-			toggle_button.Text = checkuncheck ? "x" : "o";
-			check_recursed = false;
-		}
-
-		private void hosts_list_KeyUp(object sender, System.Windows.Forms.KeyEventArgs e)
-		{
-			if (e.KeyValue == 46) // FIXME: Is there a generic way to determine the delete key?
-			{
-				// remove the host from the list
-				if (hosts_list.FocusedItem != null)
-				{
-					hosts_list.Items.Remove(hosts_list.FocusedItem);
-				}
-			}
-		}
-
-		private void versions_button_Click(object sender, System.EventArgs e)
-		{
-			scan_progressBar.Value = 0;
-			scan_progressBar.Maximum = hosts_list.Items.Count;
-			output_textBox.Text = "";
-			foreach (ListViewItem item in hosts_list.Items)
-			{
-				ScanHostVersionDelegate shd = new ScanHostVersionDelegate(ScanHostVersion);
-				shd.BeginInvoke(item.Text, null, null);
-			}
-		}
-	}
-
-	public class Setting
-	{
-		public string _name;
-		public string _value;
-		public string _default_val;
-		public string _available_values;
-
-		public Setting()
-		{
-		}
-
-		public Setting(string name, string val, string default_val, string available_values)
-		{
-			_name = name;
-			_value = val;
-			_default_val = default_val;
-			_available_values = available_values;
-		}
-	}
-
-	public class ComputerBrowser : IEnumerable, IDisposable
-	{
-		#region "Server type enumeration"
-		[FlagsAttribute]
-		public enum ServerType : uint
-		{
-			SV_TYPE_WORKSTATION       = 0x00000001, // All workstations
-			SV_TYPE_SERVER            = 0x00000002, // All computers that have the server service running
-			SV_TYPE_SQLSERVER         = 0x00000004, // Any server running Microsoft SQL Server
-			SV_TYPE_DOMAIN_CTRL       = 0x00000008, // Primary domain controller
-			SV_TYPE_DOMAIN_BAKCTRL    = 0x00000010, // Backup domain controller
-			SV_TYPE_TIME_SOURCE       = 0x00000020, // Server running the Timesource service
-			SV_TYPE_AFP               = 0x00000040, // Apple File Protocol servers
-			SV_TYPE_NOVELL            = 0x00000080, // Novell servers
-			SV_TYPE_DOMAIN_MEMBER     = 0x00000100, // LAN Manager 2.x domain member
-			SV_TYPE_PRINTQ_SERVER     = 0x00000200, // Server sharing print queue
-			SV_TYPE_DIALIN_SERVER     = 0x00000400, // Server running dial-in service
-			SV_TYPE_XENIX_SERVER      = 0x00000800, // Xenix server
-			SV_TYPE_NT                = 0x00001000, // Windows NT workstation or server
-			SV_TYPE_WFW               = 0x00002000, // Server running Windows for Workgroups
-			SV_TYPE_SERVER_MFPN       = 0x00004000, // Microsoft File and Print for NetWare
-			SV_TYPE_SERVER_NT         = 0x00008000, // Server that is not a domain controller
-			SV_TYPE_POTENTIAL_BROWSER = 0x00010000, // Server that can run the browser service
-			SV_TYPE_BACKUP_BROWSER    = 0x00020000, // Server running a browser service as backup
-			SV_TYPE_MASTER_BROWSER    = 0x00040000, // Server running the master browser service
-			SV_TYPE_DOMAIN_MASTER     = 0x00080000, // Server running the domain master browser
-			SV_TYPE_WINDOWS           = 0x00400000, // Windows 95 or later
-			SV_TYPE_DFS               = 0x00800000, // Root of a DFS tree
-			SV_TYPE_TERMINALSERVER    = 0x02000000, // Terminal Server
-			SV_TYPE_CLUSTER_NT        = 0x01000000, // Server clusters available in the domain
-			SV_TYPE_CLUSTER_VS_NT     = 0x04000000, // Cluster virtual servers available in the domain
-			SV_TYPE_DCE               = 0x10000000, // IBM DSS (Directory and Security Services) or equivalent
-			SV_TYPE_ALTERNATE_XPORT   = 0x20000000, // Return list for alternate transport
-			SV_TYPE_LOCAL_LIST_ONLY   = 0x40000000, // Return local list only
-			SV_TYPE_DOMAIN_ENUM		  = 0x80000000  // Lists available domains
-		}
-		#endregion
-		
-		// Server information structure
-		[StructLayoutAttribute(LayoutKind.Sequential, CharSet=CharSet.Unicode)]
-		internal struct SERVER_INFO_101
-		{
-			public int    sv101_platform_id;
-			public string sv101_name;
-			public int    sv101_version_major;
-			public int    sv101_version_minor;
-			public int    sv101_type;
-			public string sv101_comment;
-		}
-
-		// enumerates network computers
-		[DllImport("Netapi32", CharSet=CharSet.Unicode)]
-		private static extern int NetServerEnum( 
-			string servername,		// must be null
-			int level,				// 100 or 101
-			out IntPtr bufptr,		// pointer to buffer receiving data
-			int prefmaxlen,			// max length of returned data
-			out int entriesread,	// num entries read
-			out int totalentries,	// total servers + workstations
-			uint servertype,		// server type filter
-			[MarshalAs(UnmanagedType.LPWStr)]
-			string domain,			// domain to enumerate
-			IntPtr resume_handle );
-   
-		// Frees buffer created by NetServerEnum
-		[DllImport("netapi32.dll")]
-		private extern static int NetApiBufferFree(IntPtr buf);
-
-		// Constants
-		private const int ERROR_ACCESS_DENIED = 5;
-		private const int ERROR_MORE_DATA = 234;
-		private const int ERROR_NO_SERVERS = 6118;
-
-		private NetworkComputers[] _computers;
-		private string _lastError = "";
-
-		public ComputerBrowser(ServerType serverType, string domain) : this(UInt32.Parse(Enum.Format(typeof(ServerType), serverType, "x"), System.Globalization.NumberStyles.HexNumber), domain)
-		{
-		}
-		public ComputerBrowser(ServerType serverType) : this(UInt32.Parse(Enum.Format(typeof(ServerType), serverType, "x"), System.Globalization.NumberStyles.HexNumber), null)
-		{
-		}
-		public ComputerBrowser(string domainName) : this(0xFFFFFFFF, domainName)
-		{
-		}
-
-		/// <summary>
-		/// Enumerate the hosts of type serverType in the specified domain
-		/// </summary>
-		/// <param name="serverType">Server type filter</param>
-		/// <param name="domain">The domain to search for computers in</param>
-		public ComputerBrowser(uint serverType, string domainName)
-		{			
-			int entriesread;  // number of entries actually read
-			int totalentries; // total visible servers and workstations
-			int result;		  // result of the call to NetServerEnum
-
-			// Pointer to buffer that receives the data
-			IntPtr pBuf = IntPtr.Zero;
-			Type svType = typeof(SERVER_INFO_101);
-
-			// structure containing info about the server
-			SERVER_INFO_101 si;
-
-			try
-			{
-				result = NetServerEnum(null, 101, out pBuf, -1, out entriesread, out totalentries, serverType, domainName, IntPtr.Zero);
-
-				// Successful?
-				if(result != 0) 
-				{
-					switch (result)
-					{
-						case ERROR_MORE_DATA:
-							_lastError = "More data is available";
-							break;
-						case ERROR_ACCESS_DENIED:
-							_lastError = "Access was denied";
-							break;
-						case ERROR_NO_SERVERS:
-							_lastError = "No servers available for this domain";
-							break;
-						default:
-							_lastError = "Unknown error code "+result;
-							break;
-					}					
-					return;
-				}
-				else
-				{
-					_computers = new NetworkComputers[entriesread];
-
-					int tmp = (int)pBuf;
-					for(int i = 0; i < entriesread; i++ )
-					{
-						// fill our struct
-						si = (SERVER_INFO_101)Marshal.PtrToStructure((IntPtr)tmp, svType);
-						_computers[i] = new NetworkComputers(si);
-
-						// next struct
-						tmp += Marshal.SizeOf(svType);
-					}
-				}
-			}
-			finally
-			{
-				// free the buffer
-				NetApiBufferFree(pBuf); 
-				pBuf = IntPtr.Zero;
-			}
-		}
-
-		/// <summary>
-		/// Total computers in the collection
-		/// </summary>
-		public int Length
-		{
-			get
-			{
-				if(_computers!=null)
-				{
-					return _computers.Length;
-				}
-				else
-				{
-					return 0;
-				}
-			}
-		}
-		
-		/// <summary>
-		/// Last error message
-		/// </summary>
-		public string LastError
-		{
-			get { return _lastError; }
-		}
-		
-		/// <summary>
-		/// Obtains the enumerator for ComputerEnumerator class
-		/// </summary>
-		/// <returns>IEnumerator</returns>
-		public IEnumerator GetEnumerator()
-		{
-			return new ComputerEnumerator(_computers);		
-		}
-
-		// cleanup
-		public void Dispose()
-		{
-			_computers = null;	
-		}
-   
-		public NetworkComputers this[int item]
-		{
-			get 
-			{ 
-				return _computers[item];
-			}
-		}
-
-		// holds computer info.
-		public struct NetworkComputers
-		{
-			ComputerBrowser.SERVER_INFO_101 _computerinfo;
-			internal NetworkComputers(ComputerBrowser.SERVER_INFO_101 info)
-			{
-				_computerinfo = info;
-			}
-
-			/// <summary>
-			/// Name of computer
-			/// </summary>
-			public string Name
-			{
-				get { return _computerinfo.sv101_name; }
-			}
-			/// <summary>
-			/// Server comment
-			/// </summary>
-			public string Comment
-			{
-				get { return _computerinfo.sv101_comment; }
-			}
-			/// <summary>
-			/// Major version number of OS
-			/// </summary>
-			public int VersionMajor
-			{
-				get { return _computerinfo.sv101_version_major; }
-			}
-			/// <summary>
-			/// Minor version number of OS
-			/// </summary>
-			public int VersionMinor
-			{
-				get { return _computerinfo.sv101_version_minor; }
-			}
-		}
-
-		/// <summary>
-		/// Enumerates the collection of computers
-		/// </summary>
-		public class ComputerEnumerator : IEnumerator
-		{
-			private NetworkComputers[] aryComputers;
-			private int indexer;
-
-			internal ComputerEnumerator(NetworkComputers[] networkComputers)
-			{
-				aryComputers = networkComputers;
-				indexer = -1;
-			}
-
-			public void Reset()
-			{
-				indexer = -1;
-			}
-
-			public object Current
-			{
-				get
-				{
-					return aryComputers[indexer];
-				}
-			}
-
-			public bool MoveNext()
-			{
-				if (aryComputers == null)
-				{
-					return false;
-				}
-				if (indexer < aryComputers.Length)
-				{
-					indexer++;
-				}
-				return (!(indexer == aryComputers.Length));
-			}
-		}
-	}
-}
diff --git a/src/pm/smpd/wmpiconfig/wmpiconfig.csproj b/src/pm/smpd/wmpiconfig/wmpiconfig.csproj
deleted file mode 100644
index aca7430..0000000
--- a/src/pm/smpd/wmpiconfig/wmpiconfig.csproj
+++ /dev/null
@@ -1,151 +0,0 @@
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <ProjectType>Local</ProjectType>
-    <ProductVersion>8.0.50727</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{1C99A11B-39CF-454A-BA19-5CA9BE9A1A70}</ProjectGuid>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ApplicationIcon>App.ico</ApplicationIcon>
-    <AssemblyKeyContainerName>
-    </AssemblyKeyContainerName>
-    <AssemblyName>wmpiconfig</AssemblyName>
-    <AssemblyOriginatorKeyFile>
-    </AssemblyOriginatorKeyFile>
-    <DefaultClientScript>JScript</DefaultClientScript>
-    <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
-    <DefaultTargetSchema>IE50</DefaultTargetSchema>
-    <DelaySign>false</DelaySign>
-    <OutputType>WinExe</OutputType>
-    <RootNamespace>wmpiconfig</RootNamespace>
-    <RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
-    <StartupObject>
-    </StartupObject>
-    <FileUpgradeFlags>
-    </FileUpgradeFlags>
-    <UpgradeBackupLocation>
-    </UpgradeBackupLocation>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <OutputPath>bin\Debug\</OutputPath>
-    <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
-    <BaseAddress>285212672</BaseAddress>
-    <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
-    <ConfigurationOverrideFile>
-    </ConfigurationOverrideFile>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <DocumentationFile>
-    </DocumentationFile>
-    <DebugSymbols>true</DebugSymbols>
-    <FileAlignment>4096</FileAlignment>
-    <NoStdLib>false</NoStdLib>
-    <NoWarn>
-    </NoWarn>
-    <Optimize>false</Optimize>
-    <RegisterForComInterop>false</RegisterForComInterop>
-    <RemoveIntegerChecks>false</RemoveIntegerChecks>
-    <TreatWarningsAsErrors>false</TreatWarningsAsErrors>
-    <WarningLevel>4</WarningLevel>
-    <DebugType>full</DebugType>
-    <ErrorReport>prompt</ErrorReport>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <OutputPath>..\..\..\..\bin\</OutputPath>
-    <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
-    <BaseAddress>285212672</BaseAddress>
-    <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
-    <ConfigurationOverrideFile>
-    </ConfigurationOverrideFile>
-    <DefineConstants>TRACE</DefineConstants>
-    <DocumentationFile>
-    </DocumentationFile>
-    <DebugSymbols>false</DebugSymbols>
-    <FileAlignment>4096</FileAlignment>
-    <NoStdLib>false</NoStdLib>
-    <NoWarn>
-    </NoWarn>
-    <Optimize>true</Optimize>
-    <RegisterForComInterop>false</RegisterForComInterop>
-    <RemoveIntegerChecks>false</RemoveIntegerChecks>
-    <TreatWarningsAsErrors>false</TreatWarningsAsErrors>
-    <WarningLevel>4</WarningLevel>
-    <DebugType>none</DebugType>
-    <ErrorReport>prompt</ErrorReport>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'fmpewrap|AnyCPU' ">
-    <OutputPath>bin\fmpewrap\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <BaseAddress>285212672</BaseAddress>
-    <Optimize>true</Optimize>
-    <DebugType>
-    </DebugType>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <CodeAnalysisRuleAssemblies>C:\Program Files\Microsoft Visual Studio 8\Team Tools\Static Analysis Tools\FxCop\\rules</CodeAnalysisRuleAssemblies>
-    <CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
-    <CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
-    <ErrorReport>prompt</ErrorReport>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'ch3nemesisPRelease|AnyCPU' ">
-    <OutputPath>bin\ch3nemesisPRelease\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <BaseAddress>285212672</BaseAddress>
-    <Optimize>true</Optimize>
-    <DebugType>
-    </DebugType>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <CodeAnalysisRuleAssemblies>C:\Program Files\Microsoft Visual Studio 8\Team Tools\Static Analysis Tools\FxCop\\rules</CodeAnalysisRuleAssemblies>
-    <CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
-    <CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
-    <ErrorReport>prompt</ErrorReport>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'fortPRelease|AnyCPU' ">
-    <OutputPath>bin\fortPRelease\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <BaseAddress>285212672</BaseAddress>
-    <Optimize>true</Optimize>
-    <DebugType>
-    </DebugType>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <CodeAnalysisRuleAssemblies>C:\Program Files\Microsoft Visual Studio 8\Team Tools\Static Analysis Tools\FxCop\\rules</CodeAnalysisRuleAssemblies>
-    <CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
-    <CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
-    <ErrorReport>prompt</ErrorReport>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System">
-      <Name>System</Name>
-    </Reference>
-    <Reference Include="System.Data">
-      <Name>System.Data</Name>
-    </Reference>
-    <Reference Include="System.Drawing">
-      <Name>System.Drawing</Name>
-    </Reference>
-    <Reference Include="System.Windows.Forms">
-      <Name>System.Windows.Forms</Name>
-    </Reference>
-    <Reference Include="System.Xml">
-      <Name>System.XML</Name>
-    </Reference>
-  </ItemGroup>
-  <ItemGroup>
-    <Content Include="App.ico" />
-    <Compile Include="AssemblyInfo.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="wmpiconfig.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <EmbeddedResource Include="wmpiconfig.resx">
-      <DependentUpon>wmpiconfig.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-  </ItemGroup>
-  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
-  <PropertyGroup>
-    <PreBuildEvent>
-    </PreBuildEvent>
-    <PostBuildEvent>
-    </PostBuildEvent>
-  </PropertyGroup>
-</Project>
\ No newline at end of file
diff --git a/src/pm/smpd/wmpiconfig/wmpiconfig.resx b/src/pm/smpd/wmpiconfig/wmpiconfig.resx
deleted file mode 100644
index f88639b..0000000
--- a/src/pm/smpd/wmpiconfig/wmpiconfig.resx
+++ /dev/null
@@ -1,353 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 1.3
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">1.3</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1">this is my long string</data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        [base64 mime encoded serialized .NET Framework object]
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        [base64 mime encoded string representing a byte array form of the .NET Framework object]
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used forserialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>1.3</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <data name="host_label.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="host_label.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="host_label.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="host_textBox.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="host_textBox.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="host_textBox.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="get_settings_button.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="get_settings_button.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="get_settings_button.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="list.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="list.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="list.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="SettingsHeader.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="SettingsHeader.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="DefaultHeader.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="DefaultHeader.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="AvailableHeader.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="AvailableHeader.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="apply_button.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="apply_button.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="apply_button.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="cancel_button.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="cancel_button.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="cancel_button.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="hosts_list.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="hosts_list.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="hosts_list.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="HostsHeader.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="HostsHeader.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="domain_label.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="domain_label.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="domain_label.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="scan_button.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="scan_button.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="scan_button.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="output_textBox.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="output_textBox.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="output_textBox.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ok_button.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="ok_button.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ok_button.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="domain_comboBox.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="domain_comboBox.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="domain_comboBox.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="get_hosts_button.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="get_hosts_button.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="get_hosts_button.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="apply_all_button.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="apply_all_button.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="apply_all_button.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="append_checkBox.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="append_checkBox.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="append_checkBox.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="click_checkBox.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="click_checkBox.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="click_checkBox.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="toggle_button.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="toggle_button.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="toggle_button.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="scan_progressBar.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="scan_progressBar.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="scan_progressBar.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="versions_button.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="versions_button.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="versions_button.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="VersionHeader.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="VersionHeader.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="$this.Name">
-    <value>wmpiconfig</value>
-  </data>
-  <data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>(Default)</value>
-  </data>
-  <data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>8, 8</value>
-  </data>
-  <data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </data>
-  <data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>80</value>
-  </data>
-  <data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </data>
-  <data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAABAAIAICAQAAAAAADoAgAAJgAAABAQEAAAAAAAKAEAAA4DAAAoAAAAIAAAAEAAAAABAAQAAAAAAAAC
-        AAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/
-        AAAA//8A/wAAAP8A/wD//wAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAd3d3d3d3d3d3d3d3d3dwBEREREREREREREREREREcAT/
-        ////////////////9HAE//////////////////RwBP///////xEREf/////0cAT//////xEREREf////
-        9HAE//////ERH//xH/////RwBP/////xEf///x/////0cAT/////ER//////////9HAE/////xEf////
-        //////RwBP////8RH//////////0cAT/////ER//////////9HAE/////xEf//////////RwBP////8R
-        H//////////0cAT/////8RH///8f////9HAE//////ERH//xH/////RwBP//////ERERER/////0cAT/
-        //////8RERH/////9HAE//////////////////RwBP/////////////////0cASIiIiIiIiIiIiIiIiI
-        hHAERERERERERERERERERERwBExMTExMTExMTE7Ozkl0cATMzMzMzMzMzMzMzMzMxAAARERERERERERE
-        REREREAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////
-        /////////////8AAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAA
-        AAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAA8AAAAf/////////////
-        //8oAAAAEAAAACAAAAABAAQAAAAAAIAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAgAAAgAAAAICAAIAA
-        AACAAIAAgIAAAICAgADAwMAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AAAAAAAAAAAAB3d3d3d3
-        d3dERERERERER0////////hHT///ERH/+EdP//Ef///4R0//8R////hHT//xH///+EdP//Ef///4R0//
-        8R////hHT///ERH/+EdIiIiIiIiIR0zMzMzMzMxHxERERERERMAAAAAAAAAAAAAAAAAAAAAA//8AAIAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAD//wAA//8AAA==
-</value>
-  </data>
-</root>
\ No newline at end of file
diff --git a/src/pm/smpd/wmpiexec/App.ico b/src/pm/smpd/wmpiexec/App.ico
deleted file mode 100644
index 381a5e2..0000000
Binary files a/src/pm/smpd/wmpiexec/App.ico and /dev/null differ
diff --git a/src/pm/smpd/wmpiexec/AssemblyInfo.cs b/src/pm/smpd/wmpiexec/AssemblyInfo.cs
deleted file mode 100644
index 9f89a32..0000000
--- a/src/pm/smpd/wmpiexec/AssemblyInfo.cs
+++ /dev/null
@@ -1,58 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-
-//
-// General Information about an assembly is controlled through the following 
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-//
-[assembly: AssemblyTitle("")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("")]
-[assembly: AssemblyCopyright("")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]		
-
-//
-// Version information for an assembly consists of the following four values:
-//
-//      Major Version
-//      Minor Version 
-//      Build Number
-//      Revision
-//
-// You can specify all the values or you can default the Revision and Build Numbers 
-// by using the '*' as shown below:
-
-[assembly: AssemblyVersion("1.0.*")]
-
-//
-// In order to sign your assembly you must specify a key to use. Refer to the 
-// Microsoft .NET Framework documentation for more information on assembly signing.
-//
-// Use the attributes below to control which key is used for signing. 
-//
-// Notes: 
-//   (*) If no key is specified, the assembly is not signed.
-//   (*) KeyName refers to a key that has been installed in the Crypto Service
-//       Provider (CSP) on your machine. KeyFile refers to a file which contains
-//       a key.
-//   (*) If the KeyFile and the KeyName values are both specified, the 
-//       following processing occurs:
-//       (1) If the KeyName can be found in the CSP, that key is used.
-//       (2) If the KeyName does not exist and the KeyFile does exist, the key 
-//           in the KeyFile is installed into the CSP and used.
-//   (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
-//       When specifying the KeyFile, the location of the KeyFile should be
-//       relative to the project output directory which is
-//       %Project Directory%\obj\<configuration>. For example, if your KeyFile is
-//       located in the project directory, you would specify the AssemblyKeyFile 
-//       attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
-//   (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
-//       documentation for more information on this.
-//
-[assembly: AssemblyDelaySign(false)]
-[assembly: AssemblyKeyFile("")]
-[assembly: AssemblyKeyName("")]
diff --git a/src/pm/smpd/wmpiexec/jumpshot.ico b/src/pm/smpd/wmpiexec/jumpshot.ico
deleted file mode 100644
index 38e0d00..0000000
Binary files a/src/pm/smpd/wmpiexec/jumpshot.ico and /dev/null differ
diff --git a/src/pm/smpd/wmpiexec/sample.txt b/src/pm/smpd/wmpiexec/sample.txt
deleted file mode 100644
index 4370895..0000000
--- a/src/pm/smpd/wmpiexec/sample.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-exe c:\Program Files\MPICH\Examples\cpi.exe
-n 4
-wdir c:\temp
-hosts localhost
-cfg c:\temp\foo.job
-mpich1 c:\temp\oldjob.cfg
-env NAME=John AGE=32
-map H:\\myserver\myhome
-channel ssm
-log no
-extra 
-window yes
diff --git a/src/pm/smpd/wmpiexec/wmpiexec.cs b/src/pm/smpd/wmpiexec/wmpiexec.cs
deleted file mode 100644
index 7cbdcc6..0000000
--- a/src/pm/smpd/wmpiexec/wmpiexec.cs
+++ /dev/null
@@ -1,1762 +0,0 @@
-using System;
-using System.Drawing;
-using System.Collections;
-using System.ComponentModel;
-using System.Windows.Forms;
-using System.Data;
-using Microsoft.Win32;
-using System.IO;
-using System.Threading;
-using System.Diagnostics;
-
-namespace wmpiexec
-{
-	/// <summary>
-	/// Summary description for Form1.
-	/// </summary>
-	public class wmpiexec : System.Windows.Forms.Form
-	{
-		private System.Windows.Forms.Label application_label;
-		private System.Windows.Forms.Button application_browse_button;
-		private System.Windows.Forms.Label nproc_label;
-		private System.Windows.Forms.NumericUpDown nproc_numericUpDown;
-		private System.Windows.Forms.Label wdir_label;
-		private System.Windows.Forms.TextBox wdir_textBox;
-		private System.Windows.Forms.Button wdir_browse_button;
-		private System.Windows.Forms.Label hosts_label;
-		private System.Windows.Forms.TextBox hosts_textBox;
-		private System.Windows.Forms.Button hosts_reset_button;
-		private System.Windows.Forms.Label configfile_label;
-		private System.Windows.Forms.TextBox configfile_textBox;
-		private System.Windows.Forms.Button configfile_browse_button;
-		private System.Windows.Forms.Label mpich1_label;
-		private System.Windows.Forms.TextBox mpich1_textBox;
-		private System.Windows.Forms.Button mpich1_browse_button;
-		private System.Windows.Forms.Label env_label;
-		private System.Windows.Forms.TextBox env_textBox;
-		private System.Windows.Forms.Label drive_map_label;
-		private System.Windows.Forms.TextBox drive_map_textBox;
-		private System.Windows.Forms.Label channel_label;
-		private System.Windows.Forms.ComboBox channel_comboBox;
-		private System.Windows.Forms.Button save_job_button;
-		private System.Windows.Forms.Button load_job_button;
-		private System.Windows.Forms.Button execute_button;
-		private System.Windows.Forms.Button break_button;
-		private System.Windows.Forms.RichTextBox output_richTextBox;
-		private System.Windows.Forms.ComboBox application_comboBox;
-		private System.Windows.Forms.Button show_command_button;
-		private System.Windows.Forms.TextBox command_line_textBox;
-		private System.Windows.Forms.RadioButton application_radioButton;
-		private System.Windows.Forms.RadioButton configfile_radioButton;
-		private System.Windows.Forms.RadioButton mpich1_radioButton;
-		private System.Windows.Forms.CheckBox show_bottom_checkBox;
-		private System.Windows.Forms.TextBox extra_options_textBox;
-		private System.Windows.Forms.Label extra_options_label;
-		private System.Windows.Forms.CheckBox popup_checkBox;
-		private System.Windows.Forms.Button jumpshot_button;
-		private System.Windows.Forms.CheckBox log_checkBox;
-		/// <summary>
-		/// Required designer variable.
-		/// </summary>
-		private System.ComponentModel.Container components = null;
-
-		private RunCommandDelegate run_command;
-		private IAsyncResult last_execute_result;
-		private Process process;
-		private string thread_command;
-		private string thread_mpiexec_command;
-		private string thread_mpiexec_command_args;
-		private bool thread_popup;
-		private TextReader thread_output_stream;
-		private TextReader thread_error_stream;
-		private TextWriter thread_input_stream;
-		delegate void RunCommandDelegate(string command, string mpiexec_command, string mpiexec_command_args, bool popup);
-		delegate void ReadOutputDelegate(TextReader stream);
-		delegate void ReadErrorDelegate(TextReader stream);
-		delegate void WriteInputDelegate(TextWriter stream);
-		delegate void AppendTextDelegate(string str);
-		delegate void SetProcessDelegate(Process p);
-		delegate void ResetExecuteButtonsDelegate();
-
-		private string mpiexec_command, mpiexec_command_args;
-		private int expanded_dialog_difference;
-
-		public wmpiexec()
-		{
-			//
-			// Required for Windows Form Designer support
-			//
-			InitializeComponent();
-
-			expanded_dialog_difference = mpich1_browse_button.Bottom - show_bottom_checkBox.Bottom + 8;
-			//MessageBox.Show(string.Format("difference = {0}", mpich1_browse_button.Bottom - show_bottom_checkBox.Bottom));
-
-			run_command = null;
-			last_execute_result = null;
-			UpdateExtraControls(show_bottom_checkBox.Checked);
-			EnableApplicationControls();
-			DisableConfigfileControls();
-			DisableMPICH1Controls();
-		}
-
-		/// <summary>
-		/// Clean up any resources being used.
-		/// </summary>
-		protected override void Dispose( bool disposing )
-		{
-			if( disposing )
-			{
-				if (components != null) 
-				{
-					components.Dispose();
-				}
-			}
-			base.Dispose( disposing );
-		}
-
-		#region Windows Form Designer generated code
-		/// <summary>
-		/// Required method for Designer support - do not modify
-		/// the contents of this method with the code editor.
-		/// </summary>
-		private void InitializeComponent()
-		{
-			System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(wmpiexec));
-			this.application_label = new System.Windows.Forms.Label();
-			this.application_browse_button = new System.Windows.Forms.Button();
-			this.nproc_label = new System.Windows.Forms.Label();
-			this.nproc_numericUpDown = new System.Windows.Forms.NumericUpDown();
-			this.wdir_label = new System.Windows.Forms.Label();
-			this.wdir_textBox = new System.Windows.Forms.TextBox();
-			this.wdir_browse_button = new System.Windows.Forms.Button();
-			this.hosts_label = new System.Windows.Forms.Label();
-			this.hosts_textBox = new System.Windows.Forms.TextBox();
-			this.hosts_reset_button = new System.Windows.Forms.Button();
-			this.configfile_label = new System.Windows.Forms.Label();
-			this.configfile_textBox = new System.Windows.Forms.TextBox();
-			this.configfile_browse_button = new System.Windows.Forms.Button();
-			this.mpich1_label = new System.Windows.Forms.Label();
-			this.mpich1_textBox = new System.Windows.Forms.TextBox();
-			this.mpich1_browse_button = new System.Windows.Forms.Button();
-			this.env_label = new System.Windows.Forms.Label();
-			this.env_textBox = new System.Windows.Forms.TextBox();
-			this.drive_map_label = new System.Windows.Forms.Label();
-			this.drive_map_textBox = new System.Windows.Forms.TextBox();
-			this.channel_label = new System.Windows.Forms.Label();
-			this.channel_comboBox = new System.Windows.Forms.ComboBox();
-			this.save_job_button = new System.Windows.Forms.Button();
-			this.load_job_button = new System.Windows.Forms.Button();
-			this.execute_button = new System.Windows.Forms.Button();
-			this.break_button = new System.Windows.Forms.Button();
-			this.output_richTextBox = new System.Windows.Forms.RichTextBox();
-			this.application_comboBox = new System.Windows.Forms.ComboBox();
-			this.show_command_button = new System.Windows.Forms.Button();
-			this.command_line_textBox = new System.Windows.Forms.TextBox();
-			this.application_radioButton = new System.Windows.Forms.RadioButton();
-			this.configfile_radioButton = new System.Windows.Forms.RadioButton();
-			this.mpich1_radioButton = new System.Windows.Forms.RadioButton();
-			this.show_bottom_checkBox = new System.Windows.Forms.CheckBox();
-			this.extra_options_textBox = new System.Windows.Forms.TextBox();
-			this.extra_options_label = new System.Windows.Forms.Label();
-			this.popup_checkBox = new System.Windows.Forms.CheckBox();
-			this.jumpshot_button = new System.Windows.Forms.Button();
-			this.log_checkBox = new System.Windows.Forms.CheckBox();
-			((System.ComponentModel.ISupportInitialize)(this.nproc_numericUpDown)).BeginInit();
-			this.SuspendLayout();
-			// 
-			// application_label
-			// 
-			this.application_label.Location = new System.Drawing.Point(24, 8);
-			this.application_label.Name = "application_label";
-			this.application_label.Size = new System.Drawing.Size(64, 23);
-			this.application_label.TabIndex = 1;
-			this.application_label.Text = "Application";
-			// 
-			// application_browse_button
-			// 
-			this.application_browse_button.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
-			this.application_browse_button.Location = new System.Drawing.Point(480, 8);
-			this.application_browse_button.Name = "application_browse_button";
-			this.application_browse_button.Size = new System.Drawing.Size(24, 21);
-			this.application_browse_button.TabIndex = 3;
-			this.application_browse_button.Text = "...";
-			this.application_browse_button.Click += new System.EventHandler(this.application_browse_button_Click);
-			// 
-			// nproc_label
-			// 
-			this.nproc_label.Location = new System.Drawing.Point(24, 32);
-			this.nproc_label.Name = "nproc_label";
-			this.nproc_label.Size = new System.Drawing.Size(112, 23);
-			this.nproc_label.TabIndex = 3;
-			this.nproc_label.Text = "Number of processes";
-			// 
-			// nproc_numericUpDown
-			// 
-			this.nproc_numericUpDown.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
-			this.nproc_numericUpDown.Location = new System.Drawing.Point(456, 32);
-			this.nproc_numericUpDown.Maximum = new System.Decimal(new int[] {
-																				10000,
-																				0,
-																				0,
-																				0});
-			this.nproc_numericUpDown.Minimum = new System.Decimal(new int[] {
-																				1,
-																				0,
-																				0,
-																				0});
-			this.nproc_numericUpDown.Name = "nproc_numericUpDown";
-			this.nproc_numericUpDown.Size = new System.Drawing.Size(48, 20);
-			this.nproc_numericUpDown.TabIndex = 4;
-			this.nproc_numericUpDown.Value = new System.Decimal(new int[] {
-																			  1,
-																			  0,
-																			  0,
-																			  0});
-			// 
-			// wdir_label
-			// 
-			this.wdir_label.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
-			this.wdir_label.Location = new System.Drawing.Point(24, 368);
-			this.wdir_label.Name = "wdir_label";
-			this.wdir_label.Size = new System.Drawing.Size(96, 24);
-			this.wdir_label.TabIndex = 5;
-			this.wdir_label.Text = "working directory";
-			// 
-			// wdir_textBox
-			// 
-			this.wdir_textBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) 
-				| System.Windows.Forms.AnchorStyles.Right)));
-			this.wdir_textBox.Location = new System.Drawing.Point(152, 368);
-			this.wdir_textBox.Name = "wdir_textBox";
-			this.wdir_textBox.Size = new System.Drawing.Size(328, 20);
-			this.wdir_textBox.TabIndex = 13;
-			this.wdir_textBox.Text = "";
-			// 
-			// wdir_browse_button
-			// 
-			this.wdir_browse_button.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
-			this.wdir_browse_button.Location = new System.Drawing.Point(480, 368);
-			this.wdir_browse_button.Name = "wdir_browse_button";
-			this.wdir_browse_button.Size = new System.Drawing.Size(24, 20);
-			this.wdir_browse_button.TabIndex = 14;
-			this.wdir_browse_button.Text = "...";
-			this.wdir_browse_button.Click += new System.EventHandler(this.wdir_browse_button_Click);
-			// 
-			// hosts_label
-			// 
-			this.hosts_label.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
-			this.hosts_label.Location = new System.Drawing.Point(24, 392);
-			this.hosts_label.Name = "hosts_label";
-			this.hosts_label.Size = new System.Drawing.Size(32, 23);
-			this.hosts_label.TabIndex = 8;
-			this.hosts_label.Text = "hosts";
-			// 
-			// hosts_textBox
-			// 
-			this.hosts_textBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) 
-				| System.Windows.Forms.AnchorStyles.Right)));
-			this.hosts_textBox.Location = new System.Drawing.Point(152, 392);
-			this.hosts_textBox.Name = "hosts_textBox";
-			this.hosts_textBox.Size = new System.Drawing.Size(312, 20);
-			this.hosts_textBox.TabIndex = 15;
-			this.hosts_textBox.Text = "";
-			// 
-			// hosts_reset_button
-			// 
-			this.hosts_reset_button.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
-			this.hosts_reset_button.Location = new System.Drawing.Point(464, 392);
-			this.hosts_reset_button.Name = "hosts_reset_button";
-			this.hosts_reset_button.Size = new System.Drawing.Size(40, 20);
-			this.hosts_reset_button.TabIndex = 16;
-			this.hosts_reset_button.Text = "reset";
-			this.hosts_reset_button.Click += new System.EventHandler(this.hosts_reset_button_Click);
-			// 
-			// configfile_label
-			// 
-			this.configfile_label.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
-			this.configfile_label.Location = new System.Drawing.Point(24, 524);
-			this.configfile_label.Name = "configfile_label";
-			this.configfile_label.Size = new System.Drawing.Size(88, 16);
-			this.configfile_label.TabIndex = 11;
-			this.configfile_label.Text = "configuration file";
-			// 
-			// configfile_textBox
-			// 
-			this.configfile_textBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) 
-				| System.Windows.Forms.AnchorStyles.Right)));
-			this.configfile_textBox.Location = new System.Drawing.Point(152, 522);
-			this.configfile_textBox.Name = "configfile_textBox";
-			this.configfile_textBox.Size = new System.Drawing.Size(320, 20);
-			this.configfile_textBox.TabIndex = 22;
-			this.configfile_textBox.Text = "";
-			// 
-			// configfile_browse_button
-			// 
-			this.configfile_browse_button.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
-			this.configfile_browse_button.Location = new System.Drawing.Point(480, 522);
-			this.configfile_browse_button.Name = "configfile_browse_button";
-			this.configfile_browse_button.Size = new System.Drawing.Size(24, 20);
-			this.configfile_browse_button.TabIndex = 23;
-			this.configfile_browse_button.Text = "...";
-			this.configfile_browse_button.Click += new System.EventHandler(this.configfile_browse_button_Click);
-			// 
-			// mpich1_label
-			// 
-			this.mpich1_label.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
-			this.mpich1_label.Location = new System.Drawing.Point(24, 548);
-			this.mpich1_label.Name = "mpich1_label";
-			this.mpich1_label.Size = new System.Drawing.Size(128, 16);
-			this.mpich1_label.TabIndex = 14;
-			this.mpich1_label.Text = "mpich1 configuration file";
-			// 
-			// mpich1_textBox
-			// 
-			this.mpich1_textBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) 
-				| System.Windows.Forms.AnchorStyles.Right)));
-			this.mpich1_textBox.Location = new System.Drawing.Point(152, 546);
-			this.mpich1_textBox.Name = "mpich1_textBox";
-			this.mpich1_textBox.Size = new System.Drawing.Size(320, 20);
-			this.mpich1_textBox.TabIndex = 25;
-			this.mpich1_textBox.Text = "";
-			// 
-			// mpich1_browse_button
-			// 
-			this.mpich1_browse_button.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
-			this.mpich1_browse_button.Location = new System.Drawing.Point(480, 546);
-			this.mpich1_browse_button.Name = "mpich1_browse_button";
-			this.mpich1_browse_button.Size = new System.Drawing.Size(24, 20);
-			this.mpich1_browse_button.TabIndex = 26;
-			this.mpich1_browse_button.Text = "...";
-			this.mpich1_browse_button.Click += new System.EventHandler(this.mpich1_browse_button_Click);
-			// 
-			// env_label
-			// 
-			this.env_label.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
-			this.env_label.Location = new System.Drawing.Point(24, 416);
-			this.env_label.Name = "env_label";
-			this.env_label.Size = new System.Drawing.Size(120, 23);
-			this.env_label.TabIndex = 17;
-			this.env_label.Text = "environment variables";
-			// 
-			// env_textBox
-			// 
-			this.env_textBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) 
-				| System.Windows.Forms.AnchorStyles.Right)));
-			this.env_textBox.Location = new System.Drawing.Point(152, 416);
-			this.env_textBox.Name = "env_textBox";
-			this.env_textBox.Size = new System.Drawing.Size(352, 20);
-			this.env_textBox.TabIndex = 17;
-			this.env_textBox.Text = "";
-			// 
-			// drive_map_label
-			// 
-			this.drive_map_label.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
-			this.drive_map_label.Location = new System.Drawing.Point(24, 440);
-			this.drive_map_label.Name = "drive_map_label";
-			this.drive_map_label.Size = new System.Drawing.Size(88, 23);
-			this.drive_map_label.TabIndex = 19;
-			this.drive_map_label.Text = "drive mappings";
-			// 
-			// drive_map_textBox
-			// 
-			this.drive_map_textBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) 
-				| System.Windows.Forms.AnchorStyles.Right)));
-			this.drive_map_textBox.Location = new System.Drawing.Point(152, 440);
-			this.drive_map_textBox.Name = "drive_map_textBox";
-			this.drive_map_textBox.Size = new System.Drawing.Size(352, 20);
-			this.drive_map_textBox.TabIndex = 18;
-			this.drive_map_textBox.Text = "";
-			// 
-			// channel_label
-			// 
-			this.channel_label.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
-			this.channel_label.Location = new System.Drawing.Point(24, 464);
-			this.channel_label.Name = "channel_label";
-			this.channel_label.Size = new System.Drawing.Size(48, 23);
-			this.channel_label.TabIndex = 21;
-			this.channel_label.Text = "channel";
-			// 
-			// channel_comboBox
-			// 
-			this.channel_comboBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
-			this.channel_comboBox.Items.AddRange(new object[] {
-																  "sock",
-																  "nemesis",
-																  "shm",
-																  "ssm",
-																  "mt",
-																  "default",
-																  "auto"});
-			this.channel_comboBox.Location = new System.Drawing.Point(424, 464);
-			this.channel_comboBox.Name = "channel_comboBox";
-			this.channel_comboBox.Size = new System.Drawing.Size(80, 21);
-			this.channel_comboBox.TabIndex = 19;
-			this.channel_comboBox.Text = "default";
-			// 
-			// save_job_button
-			// 
-			this.save_job_button.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
-			this.save_job_button.Location = new System.Drawing.Point(429, 56);
-			this.save_job_button.Name = "save_job_button";
-			this.save_job_button.TabIndex = 8;
-			this.save_job_button.Text = "Save Job";
-			this.save_job_button.Click += new System.EventHandler(this.save_job_button_Click);
-			// 
-			// load_job_button
-			// 
-			this.load_job_button.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
-			this.load_job_button.Location = new System.Drawing.Point(352, 56);
-			this.load_job_button.Name = "load_job_button";
-			this.load_job_button.TabIndex = 7;
-			this.load_job_button.Text = "Load Job";
-			this.load_job_button.Click += new System.EventHandler(this.load_job_button_Click);
-			// 
-			// execute_button
-			// 
-			this.execute_button.Location = new System.Drawing.Point(8, 56);
-			this.execute_button.Name = "execute_button";
-			this.execute_button.TabIndex = 5;
-			this.execute_button.Text = "Execute";
-			this.execute_button.Click += new System.EventHandler(this.execute_button_Click);
-			// 
-			// break_button
-			// 
-			this.break_button.Enabled = false;
-			this.break_button.Location = new System.Drawing.Point(88, 56);
-			this.break_button.Name = "break_button";
-			this.break_button.TabIndex = 6;
-			this.break_button.Text = "Break";
-			this.break_button.Click += new System.EventHandler(this.break_button_Click);
-			// 
-			// output_richTextBox
-			// 
-			this.output_richTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
-				| System.Windows.Forms.AnchorStyles.Left) 
-				| System.Windows.Forms.AnchorStyles.Right)));
-			this.output_richTextBox.Font = new System.Drawing.Font("Lucida Console", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
-			this.output_richTextBox.Location = new System.Drawing.Point(8, 104);
-			this.output_richTextBox.Name = "output_richTextBox";
-			this.output_richTextBox.Size = new System.Drawing.Size(496, 224);
-			this.output_richTextBox.TabIndex = 11;
-			this.output_richTextBox.Text = "";
-			this.output_richTextBox.WordWrap = false;
-			this.output_richTextBox.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.output_richTextBox_KeyPress);
-			// 
-			// application_comboBox
-			// 
-			this.application_comboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
-				| System.Windows.Forms.AnchorStyles.Right)));
-			this.application_comboBox.Location = new System.Drawing.Point(88, 8);
-			this.application_comboBox.Name = "application_comboBox";
-			this.application_comboBox.Size = new System.Drawing.Size(392, 21);
-			this.application_comboBox.TabIndex = 2;
-			// 
-			// show_command_button
-			// 
-			this.show_command_button.Location = new System.Drawing.Point(8, 80);
-			this.show_command_button.Name = "show_command_button";
-			this.show_command_button.Size = new System.Drawing.Size(96, 23);
-			this.show_command_button.TabIndex = 9;
-			this.show_command_button.Text = "Show Command";
-			this.show_command_button.Click += new System.EventHandler(this.show_command_button_Click);
-			// 
-			// command_line_textBox
-			// 
-			this.command_line_textBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
-				| System.Windows.Forms.AnchorStyles.Right)));
-			this.command_line_textBox.Location = new System.Drawing.Point(104, 80);
-			this.command_line_textBox.Name = "command_line_textBox";
-			this.command_line_textBox.ReadOnly = true;
-			this.command_line_textBox.Size = new System.Drawing.Size(400, 20);
-			this.command_line_textBox.TabIndex = 10;
-			this.command_line_textBox.Text = "";
-			// 
-			// application_radioButton
-			// 
-			this.application_radioButton.Checked = true;
-			this.application_radioButton.Location = new System.Drawing.Point(8, 8);
-			this.application_radioButton.Name = "application_radioButton";
-			this.application_radioButton.Size = new System.Drawing.Size(16, 24);
-			this.application_radioButton.TabIndex = 1;
-			this.application_radioButton.TabStop = true;
-			this.application_radioButton.CheckedChanged += new System.EventHandler(this.application_radioButton_CheckedChanged);
-			// 
-			// configfile_radioButton
-			// 
-			this.configfile_radioButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
-			this.configfile_radioButton.Location = new System.Drawing.Point(8, 520);
-			this.configfile_radioButton.Name = "configfile_radioButton";
-			this.configfile_radioButton.Size = new System.Drawing.Size(16, 24);
-			this.configfile_radioButton.TabIndex = 21;
-			this.configfile_radioButton.CheckedChanged += new System.EventHandler(this.configfile_radioButton_CheckedChanged);
-			// 
-			// mpich1_radioButton
-			// 
-			this.mpich1_radioButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
-			this.mpich1_radioButton.Location = new System.Drawing.Point(8, 544);
-			this.mpich1_radioButton.Name = "mpich1_radioButton";
-			this.mpich1_radioButton.Size = new System.Drawing.Size(16, 24);
-			this.mpich1_radioButton.TabIndex = 24;
-			this.mpich1_radioButton.CheckedChanged += new System.EventHandler(this.mpich1_radioButton_CheckedChanged);
-			// 
-			// show_bottom_checkBox
-			// 
-			this.show_bottom_checkBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
-			this.show_bottom_checkBox.Location = new System.Drawing.Point(8, 328);
-			this.show_bottom_checkBox.Name = "show_bottom_checkBox";
-			this.show_bottom_checkBox.Size = new System.Drawing.Size(96, 16);
-			this.show_bottom_checkBox.TabIndex = 12;
-			this.show_bottom_checkBox.Text = "more options";
-			this.show_bottom_checkBox.CheckedChanged += new System.EventHandler(this.show_bottom_checkBox_CheckedChanged);
-			// 
-			// extra_options_textBox
-			// 
-			this.extra_options_textBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) 
-				| System.Windows.Forms.AnchorStyles.Right)));
-			this.extra_options_textBox.Location = new System.Drawing.Point(152, 496);
-			this.extra_options_textBox.Name = "extra_options_textBox";
-			this.extra_options_textBox.Size = new System.Drawing.Size(352, 20);
-			this.extra_options_textBox.TabIndex = 27;
-			this.extra_options_textBox.Text = "";
-			// 
-			// extra_options_label
-			// 
-			this.extra_options_label.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
-			this.extra_options_label.Location = new System.Drawing.Point(24, 496);
-			this.extra_options_label.Name = "extra_options_label";
-			this.extra_options_label.Size = new System.Drawing.Size(120, 23);
-			this.extra_options_label.TabIndex = 28;
-			this.extra_options_label.Text = "extra mpiexec options";
-			// 
-			// popup_checkBox
-			// 
-			this.popup_checkBox.Location = new System.Drawing.Point(168, 56);
-			this.popup_checkBox.Name = "popup_checkBox";
-			this.popup_checkBox.Size = new System.Drawing.Size(168, 24);
-			this.popup_checkBox.TabIndex = 29;
-			this.popup_checkBox.Text = "run in an separate window";
-			// 
-			// jumpshot_button
-			// 
-			this.jumpshot_button.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
-			this.jumpshot_button.Location = new System.Drawing.Point(432, 336);
-			this.jumpshot_button.Name = "jumpshot_button";
-			this.jumpshot_button.Size = new System.Drawing.Size(75, 24);
-			this.jumpshot_button.TabIndex = 30;
-			this.jumpshot_button.Text = "Jumpshot";
-			this.jumpshot_button.Click += new System.EventHandler(this.jumpshot_button_Click);
-			// 
-			// log_checkBox
-			// 
-			this.log_checkBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
-			this.log_checkBox.Location = new System.Drawing.Point(312, 336);
-			this.log_checkBox.Name = "log_checkBox";
-			this.log_checkBox.Size = new System.Drawing.Size(112, 24);
-			this.log_checkBox.TabIndex = 31;
-			this.log_checkBox.Text = "produce clog2 file";
-			// 
-			// wmpiexec
-			// 
-			this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
-			this.ClientSize = new System.Drawing.Size(512, 579);
-			this.Controls.Add(this.log_checkBox);
-			this.Controls.Add(this.jumpshot_button);
-			this.Controls.Add(this.popup_checkBox);
-			this.Controls.Add(this.extra_options_label);
-			this.Controls.Add(this.extra_options_textBox);
-			this.Controls.Add(this.application_radioButton);
-			this.Controls.Add(this.command_line_textBox);
-			this.Controls.Add(this.drive_map_textBox);
-			this.Controls.Add(this.env_textBox);
-			this.Controls.Add(this.mpich1_textBox);
-			this.Controls.Add(this.configfile_textBox);
-			this.Controls.Add(this.hosts_textBox);
-			this.Controls.Add(this.wdir_textBox);
-			this.Controls.Add(this.show_bottom_checkBox);
-			this.Controls.Add(this.mpich1_radioButton);
-			this.Controls.Add(this.configfile_radioButton);
-			this.Controls.Add(this.show_command_button);
-			this.Controls.Add(this.application_comboBox);
-			this.Controls.Add(this.output_richTextBox);
-			this.Controls.Add(this.break_button);
-			this.Controls.Add(this.execute_button);
-			this.Controls.Add(this.load_job_button);
-			this.Controls.Add(this.save_job_button);
-			this.Controls.Add(this.channel_comboBox);
-			this.Controls.Add(this.channel_label);
-			this.Controls.Add(this.drive_map_label);
-			this.Controls.Add(this.env_label);
-			this.Controls.Add(this.mpich1_browse_button);
-			this.Controls.Add(this.mpich1_label);
-			this.Controls.Add(this.configfile_browse_button);
-			this.Controls.Add(this.configfile_label);
-			this.Controls.Add(this.hosts_reset_button);
-			this.Controls.Add(this.hosts_label);
-			this.Controls.Add(this.wdir_browse_button);
-			this.Controls.Add(this.wdir_label);
-			this.Controls.Add(this.nproc_numericUpDown);
-			this.Controls.Add(this.nproc_label);
-			this.Controls.Add(this.application_browse_button);
-			this.Controls.Add(this.application_label);
-			this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
-			this.Name = "wmpiexec";
-			this.Text = "MPIEXEC wrapper";
-			this.Closing += new System.ComponentModel.CancelEventHandler(this.wmpiexec_Closing);
-			((System.ComponentModel.ISupportInitialize)(this.nproc_numericUpDown)).EndInit();
-			this.ResumeLayout(false);
-
-		}
-		#endregion
-
-		/// <summary>
-		/// The main entry point for the application.
-		/// </summary>
-		[STAThread]
-		static void Main() 
-		{
-			Application.Run(new wmpiexec());
-		}
-
-		private void AppendText(string str)
-		{
-			output_richTextBox.AppendText(str);
-		}
-
-		private void SetProcess(Process p)
-		{
-			process = p;
-		}
-
-		private void ResetExecuteButtons()
-		{
-			execute_button.Enabled = true;
-			break_button.Enabled = false;
-		}
-
-		private void application_browse_button_Click(object sender, System.EventArgs e)
-		{
-			OpenFileDialog dlg = new OpenFileDialog();
-			dlg.Filter = "Executable files (*.exe)|*.exe|All files (*.*)|*.*";
-			if (dlg.ShowDialog() == DialogResult.OK)
-			{
-				if (dlg.FileName.IndexOf(' ') != -1)
-				{
-					application_comboBox.Text = "\"" + dlg.FileName + "\"";
-				}
-				else
-				{
-					application_comboBox.Text = dlg.FileName;
-				}
-			}
-		}
-
-		private void wdir_browse_button_Click(object sender, System.EventArgs e)
-		{
-			FolderBrowserDialog dlg = new FolderBrowserDialog();
-			if (wdir_textBox.Text.Length > 0)
-			{
-				dlg.SelectedPath = wdir_textBox.Text;
-			}
-			else
-			{
-				dlg.SelectedPath = Environment.CurrentDirectory;
-			}
-			if (dlg.ShowDialog() == DialogResult.OK)
-			{
-				wdir_textBox.Text = dlg.SelectedPath;
-			}
-		}
-
-		private void hosts_reset_button_Click(object sender, System.EventArgs e)
-		{
-			object obj;
-			RegistryKey key = Registry.LocalMachine.OpenSubKey(@"Software\MPICH\SMPD");
-			obj = key.GetValue("hosts");
-			if (obj != null)
-			{
-				hosts_textBox.Text = obj.ToString();
-			}
-			else
-			{
-				hosts_textBox.Text = "";
-			}
-		}
-
-		private void configfile_browse_button_Click(object sender, System.EventArgs e)
-		{
-			OpenFileDialog dlg = new OpenFileDialog();
-			dlg.Filter = "All files (*.*)|*.*";
-			if (dlg.ShowDialog() == DialogResult.OK)
-			{
-				configfile_textBox.Text = dlg.FileName;
-			}
-		}
-
-		private void mpich1_browse_button_Click(object sender, System.EventArgs e)
-		{
-			OpenFileDialog dlg = new OpenFileDialog();
-			dlg.Filter = "Configuration file (*.cfg)|*.cfg|All files (*.*)|*.*";
-			if (dlg.ShowDialog() == DialogResult.OK)
-			{
-				mpich1_textBox.Text = dlg.FileName;
-			}
-		}
-
-		private void save_job_button_Click(object sender, System.EventArgs e)
-		{
-			SaveFileDialog dlg = new SaveFileDialog();
-			dlg.Filter = "Job files (*.txt *.mpi)|*.txt;*.mpi|All files (*.*)|*.*";
-			if (dlg.ShowDialog() == DialogResult.OK)
-			{
-				StreamWriter stream;
-				using (stream = new StreamWriter(dlg.FileName))
-				{
-					stream.WriteLine("exe {0}", application_comboBox.Text.Trim());
-					stream.WriteLine("n {0}", nproc_numericUpDown.Value);
-					stream.WriteLine("wdir {0}", wdir_textBox.Text.Trim());
-					stream.WriteLine("hosts {0}", hosts_textBox.Text.Trim());
-					stream.WriteLine("cfg {0}", configfile_textBox.Text.Trim());
-					stream.WriteLine("mpich1 {0}", mpich1_textBox.Text.Trim());
-					stream.WriteLine("env {0}", env_textBox.Text.Trim());
-					stream.WriteLine("map {0}", drive_map_textBox.Text.Trim());
-					stream.WriteLine("channel {0}", channel_comboBox.Text.Trim());
-					stream.WriteLine("extra {0}", extra_options_textBox.Text.Trim());
-					stream.WriteLine(popup_checkBox.Checked ? "window yes" : "window no");
-					stream.WriteLine(log_checkBox.Checked ? "log yes" : "log no");
-					stream.Close();
-				}
-			}
-		}
-
-		private void load_job_button_Click(object sender, System.EventArgs e)
-		{
-			OpenFileDialog dlg = new OpenFileDialog();
-			dlg.Filter = "Job files (*.txt *.mpi)|*.txt;*.mpi|All files (*.*)|*.*";
-			if (dlg.ShowDialog() == DialogResult.OK)
-			{
-				StreamReader stream;
-				using (stream = new StreamReader(dlg.FileName))
-				{
-					string line;
-					int index;
-
-					// reset all the values before loading new ones
-					application_comboBox.Text = "";
-					nproc_numericUpDown.Value = 1;
-					wdir_textBox.Text = "";
-					hosts_textBox.Text = "";
-					configfile_textBox.Text = "";
-					mpich1_textBox.Text = "";
-					env_textBox.Text = "";
-					drive_map_textBox.Text = "";
-					channel_comboBox.Text = "";
-					extra_options_textBox.Text = "";
-					popup_checkBox.Checked = false;
-					log_checkBox.Checked = false;
-
-					line = stream.ReadLine();
-					while (line != null)
-					{
-						index = line.IndexOf(" ");
-						if (index > 0)
-						{
-							string key, val;
-							key = line.Substring(0, index);
-							val = line.Substring(index+1);
-							switch (key)
-							{
-								case "exe":
-									application_comboBox.Text = val;
-									break;
-								case "n":
-									nproc_numericUpDown.Value = Convert.ToInt32(val);
-									break;
-								case "wdir":
-									wdir_textBox.Text = val;
-									break;
-								case "hosts":
-									hosts_textBox.Text = val;
-									break;
-								case "cfg":
-									configfile_textBox.Text = val;
-									break;
-								case "mpich1":
-									mpich1_textBox.Text = val;
-									break;
-								case "env":
-									env_textBox.Text = val;
-									break;
-								case "map":
-									drive_map_textBox.Text = val;
-									break;
-								case "channel":
-									channel_comboBox.Text = val;
-									break;
-								case "extra":
-									extra_options_textBox.Text = val;
-									break;
-								case "window":
-									if (val == "yes")
-										popup_checkBox.Checked = true;
-									else
-										popup_checkBox.Checked = false;
-									break;
-								case "log":
-									if (val == "yes")
-										log_checkBox.Checked = true;
-									else
-										log_checkBox.Checked = false;
-									break;
-							}
-						}
-						line = stream.ReadLine();
-					}
-					stream.Close();
-				}
-			}
-		}
-
-		#region Process thread functions
-		/// <summary>
-		/// These functions read and write input and output of the spawned mpiexec process.
-		/// They are run in separate threads since they can execute for a long period of time
-		/// and therefore shouldn't come from the thread pool (delegates).
-		/// Is this a correct design decision?
-		/// </summary>
-		private void ReadOutput(TextReader stream)
-		{
-			thread_output_stream = stream;
-			Thread thread = new Thread(new ThreadStart(ReadOutputThread));
-			thread.Start();
-		}
-
-		private void ReadError(TextReader stream)
-		{
-			thread_error_stream = stream;
-			Thread thread = new Thread(new ThreadStart(ReadErrorThread));
-			thread.Start();
-		}
-
-		private void ReadErrorThread()
-		{
-			int num_read;
-			char [] buffer = new char[4096];
-			TextReader stream = thread_error_stream;
-			num_read = stream.Read(buffer, 0, 4096);
-			while (num_read > 0)
-			{
-				string str;
-				char [] text = new char[num_read];
-				Array.Copy(buffer, 0, text, 0, num_read);
-				str = new string(text);
-				object[] pList = { str };
-				// put the string in the edit box in a thread safe way
-				AppendTextDelegate ap = new AppendTextDelegate(AppendText);
-				output_richTextBox.Invoke(ap, pList);
-				num_read = stream.Read(buffer, 0, 1024);
-			}
-		}
-
-		private void ReadOutputThread()
-		{
-			int num_read;
-			char [] buffer = new char[4096];
-			TextReader stream = thread_output_stream;
-			num_read = stream.Read(buffer, 0, 4096);
-			while (num_read > 0)
-			{
-				string str;
-				char [] text = new char[num_read];
-				Array.Copy(buffer, 0, text, 0, num_read);
-				str = new string(text);
-				object[] pList = { str };
-				// put the string in the edit box in a thread safe way
-				AppendTextDelegate ap = new AppendTextDelegate(AppendText);
-				output_richTextBox.Invoke(ap, pList);
-				num_read = stream.Read(buffer, 0, 1024);
-			}
-		}
-
-		ManualResetEvent char_available = new ManualResetEvent(false);
-		ManualResetEvent char_written = new ManualResetEvent(true);
-		bool quit_input = false;
-		char ch;
-		private void WriteInput(TextWriter stream)
-		{
-			thread_input_stream = stream;
-			Thread thread = new Thread(new ThreadStart(WriteInputThread));
-			thread.Start();
-		}
-
-		private void WriteInputThread()
-		{
-			WriteInputEx(thread_input_stream);
-		}
-
-		private void WriteInputEx(TextWriter stream)
-		{
-			while (char_available.WaitOne())
-			{
-				if (quit_input)
-				{
-					return;
-				}
-				stream.Write(ch);
-				stream.Flush();
-				char_available.Reset();
-				char_written.Set();
-
-				/*
-				object[] pList = { "ch(" + ch + ")" };
-				// put the string in the edit box in a thread safe way
-				AppendTextDelegate ap = new AppendTextDelegate(AppendText);
-				output_richTextBox.Invoke(ap, pList);
-				*/
-			}
-		}
-
-		private void RunCommand(string command, string mpiexec_command, string mpiexec_command_args, bool popup)
-		{
-			thread_command = command;
-			thread_mpiexec_command = mpiexec_command;
-			thread_mpiexec_command_args = mpiexec_command_args;
-			thread_popup = popup;
-			Thread thread = new Thread(new ThreadStart(RunCommandThread));
-			thread.Start();
-		}
-
-		void RunCommandThread()
-		{
-			RunCommandEx(thread_command, thread_mpiexec_command, thread_mpiexec_command_args, thread_popup);
-		}
-
-		private void RunCommandEx(string command, string mpiexec_command, string mpiexec_command_args, bool popup)
-		{
-			if (popup)
-			{
-				// start a process to run the mpiexec command
-				Process p = new Process();
-				p.StartInfo.UseShellExecute = true;
-				p.StartInfo.CreateNoWindow = false;
-				p.StartInfo.RedirectStandardError = false;
-				p.StartInfo.RedirectStandardInput = false;
-				p.StartInfo.RedirectStandardOutput = false;
-				p.StartInfo.FileName = "cmd.exe";
-				if (command.IndexOf('"') != -1)
-				{
-					p.StartInfo.Arguments = "/C \"" + command + "\" && pause";
-				}
-				else
-				{
-					p.StartInfo.Arguments = "/C " + command + " && pause";
-				}
-				p.Start();
-				p.WaitForExit();
-			}
-			else
-			{
-				quit_input = false;
-				// start a process to run the mpiexec command
-				Process p = new Process();
-				p.StartInfo.UseShellExecute = false;
-				p.StartInfo.CreateNoWindow = true;
-				p.StartInfo.RedirectStandardError = true;
-				p.StartInfo.RedirectStandardInput = true;
-				p.StartInfo.RedirectStandardOutput = true;
-				p.StartInfo.FileName = mpiexec_command;
-				p.StartInfo.Arguments = mpiexec_command_args;
-				p.Start();
-				// start a delagate to read stdout
-				ReadOutputDelegate r1 = new ReadOutputDelegate(ReadOutput);
-				//IAsyncResult ar1 = r1.BeginInvoke(TextReader.Synchronized(p.StandardOutput), null, null);
-				object [] list1 = { TextReader.Synchronized(p.StandardOutput) };
-				Invoke(r1, list1);
-				// start a delagate to read stderr
-				ReadErrorDelegate r2 = new ReadErrorDelegate(ReadError);
-				//IAsyncResult ar2 = r2.BeginInvoke(TextReader.Synchronized(p.StandardError), null, null);
-				object [] list2 = { TextReader.Synchronized(p.StandardError) };
-				Invoke(r2, list2);
-				// Send stdin to the process
-				WriteInputDelegate w = new WriteInputDelegate(WriteInput);
-				//IAsyncResult ar3 = w.BeginInvoke(TextWriter.Synchronized(p.StandardInput), null, null);
-				object [] list3 = { TextWriter.Synchronized(p.StandardInput) };
-				Invoke(w, list3);
-
-				//process = p;
-				SetProcessDelegate sp = new SetProcessDelegate(SetProcess);
-				object [] list = { p };
-				Invoke(sp, list);
-				// wait for the process to exit
-				p.WaitForExit();
-				// wait for the output and error delegates to finish
-				//r1.EndInvoke(ar1);
-				//r2.EndInvoke(ar2);
-				// set the process variable to null
-				list[0] = null;
-				Invoke(sp, list);
-				// signal the input delegate to exit after setting the process variable to null to avoid conflicts with the keypressed handler
-				quit_input = true;
-				char_available.Set();
-				//w.EndInvoke(ar3);
-			}
-			ResetExecuteButtonsDelegate d = new ResetExecuteButtonsDelegate(ResetExecuteButtons);
-			Invoke(d);
-		}
-		#endregion
-
-		private void execute_button_Click(object sender, System.EventArgs e)
-		{
-			VerifyEncryptedPasswordExists();
-			execute_button.Enabled = false;
-			break_button.Enabled = true;
-			output_richTextBox.Clear();
-			if (last_execute_result != null)
-			{
-				run_command.EndInvoke(last_execute_result);
-			}
-			// Create the command line
-			command_line_textBox.Text = get_command_line();
-			// Add the command to the application drop down if it has not already been added
-			bool found = false;
-			foreach (string str in application_comboBox.Items)
-			{
-				if (str == application_comboBox.Text)
-					found = true;
-			}
-			if (!found)
-			{
-				application_comboBox.Items.Add(application_comboBox.Text);
-			}
-			run_command = new RunCommandDelegate(RunCommand);
-			last_execute_result = run_command.BeginInvoke(command_line_textBox.Text, mpiexec_command, mpiexec_command_args, popup_checkBox.Checked, null, null);
-			// after starting a command move to the output box so the user can interact with the running process.
-			output_richTextBox.Focus();
-		}
-
-		private void VerifyEncryptedPasswordExists()
-		{
-			try
-			{
-				bool popup = true;
-				string mpiexec = get_mpiexec();
-
-				// Check the registry for the encrypted password
-				// This code will have to be kept synchronized with the smpd code
-				// The advantage of this approach is that the credentials don't have to be valid on the local host
-				RegistryKey key = Registry.CurrentUser.OpenSubKey(@"Software\MPICH");
-				if (key != null)
-				{
-					// check to see that an encrypted password for the current user exists
-					object obj = key.GetValue("smpdPassword");
-					key.Close();
-					if (obj != null)
-					{
-						popup = false;
-					}
-				}
-
-				// Or run "mpiexec -validate" and check the output for SUCCESS
-				// This code will last longer because it doesn't rely on known information about the smpd implementation
-				// The disadvantage of this code is that the user credentials have to be valid on the local host.
-				/*
-				Process p1 = new Process();
-				p1.StartInfo.RedirectStandardOutput = true;
-				p1.StartInfo.RedirectStandardError = true;
-				p1.StartInfo.UseShellExecute = false;
-				p1.StartInfo.CreateNoWindow = true;
-				p1.StartInfo.FileName = mpiexec;
-				p1.StartInfo.Arguments = "-validate";
-				p1.Start();
-				string output = p1.StandardOutput.ReadToEnd() + p1.StandardError.ReadToEnd();
-				p1.WaitForExit();
-				p1.Close();
-				if (output.IndexOf("SUCCESS") != -1)
-				{
-					popup = false;
-				}
-				*/
-
-				if (popup)
-				{
-					string wmpiregister;
-					wmpiregister = mpiexec.Replace("mpiexec.exe", "wmpiregister.exe");
-					Process p = new Process();
-					p.StartInfo.FileName = wmpiregister;
-					p.Start();
-					p.WaitForExit();
-				}
-			}
-			catch (Exception)
-			{
-			}
-		}
-
-		private void break_button_Click(object sender, System.EventArgs e)
-		{
-			if (process != null)
-			{
-				process.Kill();
-			}
-		}
-
-		#region Get known files: mpiexec, jumpshot, and clog2 files
-		private string get_jumpshot()
-		{
-			string jumpshot = "";
-			object obj;
-			try
-			{
-				RegistryKey key = Registry.LocalMachine.OpenSubKey(@"Software\MPICH");
-				if (key != null)
-				{
-					obj = key.GetValue("Path");
-					key.Close();
-					if (obj != null)
-					{
-						jumpshot = obj.ToString();
-						if (jumpshot.EndsWith(@"\"))
-						{
-							jumpshot = jumpshot + @"bin\jumpshot.jar";
-						}
-						else
-						{
-							jumpshot = jumpshot + @"\bin\jumpshot.jar";
-						}
-						if (!File.Exists(jumpshot))
-						{
-							jumpshot = "";
-						}
-					}
-				}
-				if (jumpshot == "")
-				{
-					key = Registry.LocalMachine.OpenSubKey(@"Software\MPICH\SMPD");
-					if (key != null)
-					{
-						obj = key.GetValue("binary");
-						key.Close();
-						if (obj != null)
-						{
-							jumpshot = obj.ToString().Replace("smpd.exe", "jumpshot.jar");
-							if (!File.Exists(jumpshot))
-							{
-								jumpshot = "";
-							}
-						}
-					}
-				}
-				if (jumpshot == "")
-				{
-					jumpshot = "jumpshot.jar";
-				}
-				jumpshot = jumpshot.Trim();
-				if (jumpshot.IndexOf(' ') != -1)
-				{
-					jumpshot = "\"" + jumpshot + "\"";
-				}
-			}
-			catch (Exception)
-			{
-				jumpshot = "jumpshot.jar";
-			}
-			return jumpshot;
-		}
-
-		private string get_clog2()
-		{
-			int index, last;
-			string app = application_comboBox.Text;
-			try
-			{
-				if (app[0] == '\"')
-				{
-					// remove the quotes to be restored at the end
-					app = app.Replace("\"", "");
-				}
-				index = app.LastIndexOf('\\');
-				if (index == -1)
-				{
-					index = 0;
-				}
-				last = index;
-				// find the index of .exe starting from the last \
-				index = app.IndexOf(".exe", last);
-				if (index == -1)
-				{
-					// no .exe so find the first space after the last \
-					// This assumes the executable does not have spaces in its name
-					index = app.IndexOf(' ', last);
-					if (index == -1)
-					{
-						// no .exe and no spaces found so take the entire string
-						index = app.Length;
-					}
-				}
-				app = app.Substring(0, index) + ".exe.clog2";
-				app = app.Trim();
-				if (!File.Exists(app) && wdir_textBox.Text.Length > 0)
-				{
-					// file not found from the application combo box so try finding it in the working directory
-					string app2 = application_comboBox.Text;
-					if (app2[0] == '\"')
-					{
-						// remove the quotes to be restored at the end
-						app2 = app2.Replace("\"", "");
-					}
-					index = app2.LastIndexOf('\\');
-					if (index != -1)
-					{
-						// remove the path
-						app2 = app2.Remove(0, index);
-					}
-					// find the index of .exe
-					index = app2.IndexOf(".exe");
-					if (index != -1)
-					{
-						// remove any arguments after the executable name
-						app2 = app2.Substring(0, index + 4);
-					}
-					else
-					{
-						// no .exe so find the first space
-						// This assumes the executable does not have spaces in its name
-						index = app.IndexOf(' ');
-						if (index != -1)
-						{
-							app2 = app2.Substring(0, index) + ".exe";
-						}
-						else
-						{
-							// no .exe and no arguments so append .exe
-							app2 += ".exe";
-						}
-					}
-					// app2 should now contain only the executable name
-					// Add the wdir path and clog2 extension
-					if (wdir_textBox.Text.EndsWith("\\"))
-						app2 = wdir_textBox.Text + app2 + ".clog2";
-					else
-						app2 = wdir_textBox.Text + "\\" + app2 + ".clog2";
-					if (File.Exists(app2))
-					{
-						app = app2;
-						FileStream f = File.OpenRead(app2);
-						app = f.Name;
-						f.Close();
-					}
-				}
-				if (app.IndexOf(' ') != -1)
-				{
-					app = "\"" + app + "\"";
-				}
-			}
-			catch (Exception)
-			{
-				app = "";
-			}
-			return app;
-		}
-
-		private string get_mpiexec()
-		{
-			string mpiexec = "";
-			object obj;
-			try
-			{
-				RegistryKey key = Registry.LocalMachine.OpenSubKey(@"Software\MPICH");
-				if (key != null)
-				{
-					obj = key.GetValue("Path");
-					key.Close();
-					if (obj != null)
-					{
-						mpiexec = obj.ToString();
-						if (mpiexec.EndsWith(@"\"))
-						{
-							mpiexec = mpiexec + @"bin\mpiexec.exe";
-						}
-						else
-						{
-							mpiexec = mpiexec + @"\bin\mpiexec.exe";
-						}
-						if (!File.Exists(mpiexec))
-						{
-							mpiexec = "";
-						}
-					}
-				}
-				if (mpiexec == "")
-				{
-					key = Registry.LocalMachine.OpenSubKey(@"Software\MPICH\SMPD");
-					if (key != null)
-					{
-						obj = key.GetValue("binary");
-						key.Close();
-						if (obj != null)
-						{
-							mpiexec = obj.ToString().Replace("smpd.exe", "mpiexec.exe");
-							if (!File.Exists(mpiexec))
-							{
-								mpiexec = "";
-							}
-						}
-					}
-				}
-				if (mpiexec == "")
-				{
-					mpiexec = "mpiexec.exe";
-				}
-				mpiexec = mpiexec.Trim();
-				mpiexec_command = mpiexec; // save the path to mpiexec.exe without quotes
-				if (mpiexec.IndexOf(' ') != -1)
-				{
-					mpiexec = "\"" + mpiexec + "\"";
-				}
-			}
-			catch (Exception)
-			{
-				mpiexec = "mpiexec.exe";
-			}
-			return mpiexec;
-		}
-		#endregion
-
-		private string get_command_line()
-		{
-			string cmd, mpiexec;
-			cmd = mpiexec = get_mpiexec();
-			if (application_radioButton.Checked)
-			{
-				wdir_textBox.Text = wdir_textBox.Text.Trim();
-				if (wdir_textBox.Text.Length > 0)
-				{
-					if (wdir_textBox.Text.IndexOf(' ') != -1)
-					{
-						cmd = cmd + " -wdir \"" + wdir_textBox.Text + "\"";
-					}
-					else
-					{
-						cmd = cmd + " -wdir " + wdir_textBox.Text;
-					}
-				}
-				drive_map_textBox.Text = drive_map_textBox.Text.Trim();
-				if (drive_map_textBox.Text.Length > 0)
-				{
-					if (drive_map_textBox.Text.IndexOf(' ') != -1)
-					{
-						cmd = cmd + " -map \"" + drive_map_textBox.Text + "\"";
-					}
-					else
-					{
-						cmd = cmd + " -map " + drive_map_textBox.Text;
-					}
-				}
-				if (log_checkBox.Checked)
-				{
-					cmd = cmd + " -log";
-				}
-				channel_comboBox.Text = channel_comboBox.Text.Trim();
-				if (channel_comboBox.Text != "default" && channel_comboBox.Text != "auto" && channel_comboBox.Text != "")
-				{
-					cmd = cmd + " -env MPICH_CHANNEL " + channel_comboBox.Text;
-				}
-				env_textBox.Text = env_textBox.Text.Trim();
-				if (env_textBox.Text.Length > 0)
-				{
-					foreach (string keyval in env_textBox.Text.Split(' '))
-					{
-						string [] kv;
-						kv = keyval.Split('=');
-						if (kv.Length > 1)
-						{
-							cmd = cmd + " -env " + kv[0] + " " + kv[1];
-						}
-					}
-				}
-				hosts_textBox.Text = hosts_textBox.Text.Trim();
-				if (hosts_textBox.Text.Length > 0)
-				{
-					string [] hosts;
-					int n;
-					hosts = hosts_textBox.Text.Split(' ');
-					n = (int)nproc_numericUpDown.Value;
-					if (n > hosts.Length)
-					{
-						int max = n % hosts.Length;
-						cmd = cmd + " -hosts " + hosts.Length + " ";
-						for (int i=0; i<hosts.Length; i++)
-						{
-							if (i<max)
-							{
-								cmd = cmd + hosts[i] + " " + ((n / hosts.Length) + 1) + " ";
-							}
-							else
-							{
-								cmd = cmd + hosts[i] + " " + (n / hosts.Length) + " ";
-							}
-						}
-					}
-					else
-					{
-						cmd = cmd + " -hosts " + n + " ";
-						for (int i=0; i<n; i++)
-						{
-							cmd = cmd + hosts[i] + " ";
-						}
-					}
-				}
-				else
-				{
-					cmd = cmd + " -n " + nproc_numericUpDown.Value + " ";
-				}
-				extra_options_textBox.Text = extra_options_textBox.Text.Trim();
-				if (extra_options_textBox.Text.Length > 0)
-				{
-					cmd = cmd + " " + extra_options_textBox.Text;
-				}
-				application_comboBox.Text = application_comboBox.Text.Trim();
-				// Don't add quotes because they would enclose any arguments to the application
-				// The user must provide the quotes as necessary in the combo box.
-				/*
-				if (application_comboBox.Text.IndexOf(' ') != -1)
-				{
-					cmd = cmd + " \"" + application_comboBox.Text + "\"";
-				}
-				else
-				{
-					cmd = cmd + " " + application_comboBox.Text;
-				}
-				*/
-				cmd = cmd + " -noprompt " + application_comboBox.Text; // add -noprompt since we can't send input to stdin
-				mpiexec_command_args = cmd.Replace(mpiexec, ""); // save the command line minus the mpiexec path
-			}
-			else if (configfile_radioButton.Checked)
-			{
-				configfile_textBox.Text = configfile_textBox.Text.Trim();
-				if (configfile_textBox.Text.IndexOf(' ') != -1)
-				{
-					cmd = cmd + " -configfile \"" + configfile_textBox.Text + "\"";
-				}
-				else
-				{
-					cmd = cmd + " -configfile " + configfile_textBox.Text;
-				}
-			}
-			else if (mpich1_radioButton.Checked)
-			{
-				mpich1_textBox.Text = mpich1_textBox.Text.Trim();
-				if (mpich1_textBox.Text.IndexOf(' ') != -1)
-				{
-					cmd = cmd + " -file \"" + mpich1_textBox.Text + "\"";
-				}
-				else
-				{
-					cmd = cmd + " -file " + mpich1_textBox.Text;
-				}
-			}
-			else
-			{
-				cmd = "";
-			}
-			return cmd;
-		}
-
-		private void show_command_button_Click(object sender, System.EventArgs e)
-		{
-			command_line_textBox.Text = get_command_line();
-		}
-
-		private void output_richTextBox_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
-		{
-			if (process != null)
-			{
-				char_written.WaitOne();
-				ch = e.KeyChar;
-				char_written.Reset();
-				char_available.Set();
-			}
-		}
-
-		#region Radio buttons enabling and disabling functions
-		/// <summary>
-		/// Enable and disable controls based on which radio button is selected
-		/// </summary>
-		private void DisableApplicationControls()
-		{
-			application_label.Enabled = false;
-			application_comboBox.Enabled = false;
-			application_browse_button.Enabled = false;
-			nproc_label.Enabled = false;
-			nproc_numericUpDown.Enabled = false;
-			wdir_label.Enabled = false;
-			wdir_textBox.Enabled = false;
-			wdir_browse_button.Enabled = false;
-			hosts_label.Enabled = false;
-			hosts_textBox.Enabled = false;
-			hosts_reset_button.Enabled = false;
-			env_label.Enabled = false;
-			env_textBox.Enabled = false;
-			drive_map_label.Enabled = false;
-			drive_map_textBox.Enabled = false;
-			channel_label.Enabled = false;
-			channel_comboBox.Enabled = false;
-			extra_options_label.Enabled = false;
-			extra_options_textBox.Enabled = false;
-			log_checkBox.Enabled = false;
-		}
-
-		private void EnableApplicationControls()
-		{
-			application_label.Enabled = true;
-			application_comboBox.Enabled = true;
-			application_browse_button.Enabled = true;
-			nproc_label.Enabled = true;
-			nproc_numericUpDown.Enabled = true;
-			wdir_label.Enabled = true;
-			wdir_textBox.Enabled = true;
-			wdir_browse_button.Enabled = true;
-			hosts_label.Enabled = true;
-			hosts_textBox.Enabled = true;
-			hosts_reset_button.Enabled = true;
-			env_label.Enabled = true;
-			env_textBox.Enabled = true;
-			drive_map_label.Enabled = true;
-			drive_map_textBox.Enabled = true;
-			channel_label.Enabled = true;
-			channel_comboBox.Enabled = true;
-			extra_options_textBox.Enabled = true;
-			extra_options_label.Enabled = true;
-			log_checkBox.Enabled = true;
-		}
-
-		private void DisableConfigfileControls()
-		{
-			configfile_label.Enabled = false;
-			configfile_textBox.Enabled = false;
-			configfile_browse_button.Enabled = false;
-		}
-
-		private void EnableConfigfileControls()
-		{
-			configfile_label.Enabled = true;
-			configfile_textBox.Enabled = true;
-			configfile_browse_button.Enabled = true;
-		}
-
-		private void DisableMPICH1Controls()
-		{
-			mpich1_label.Enabled = false;
-			mpich1_textBox.Enabled = false;
-			mpich1_browse_button.Enabled = false;
-		}
-
-		private void EnableMPICH1Controls()
-		{
-			mpich1_label.Enabled = true;
-			mpich1_textBox.Enabled = true;
-			mpich1_browse_button.Enabled = true;
-		}
-
-		private void application_radioButton_CheckedChanged(object sender, System.EventArgs e)
-		{
-			if (application_radioButton.Checked)
-			{
-				EnableApplicationControls();
-				DisableConfigfileControls();
-				DisableMPICH1Controls();
-			}
-		}
-
-		private void configfile_radioButton_CheckedChanged(object sender, System.EventArgs e)
-		{
-			if (configfile_radioButton.Checked)
-			{
-				DisableApplicationControls();
-				EnableConfigfileControls();
-				DisableMPICH1Controls();
-			}
-		}
-
-		private void mpich1_radioButton_CheckedChanged(object sender, System.EventArgs e)
-		{
-			if (mpich1_radioButton.Checked)
-			{
-				DisableApplicationControls();
-				DisableConfigfileControls();
-				EnableMPICH1Controls();
-			}
-		}
-		#endregion
-
-		#region Dialog expansion and contraction
-		/// <summary>
-		/// Manage expansion and contraction of the extra dialog controls
-		/// </summary>
-		private void DisableAnchors()
-		{
-			show_bottom_checkBox.Anchor = AnchorStyles.Top;
-			wdir_label.Anchor = AnchorStyles.Top;
-			wdir_textBox.Anchor = AnchorStyles.Top;
-			wdir_browse_button.Anchor = AnchorStyles.Top;
-			hosts_label.Anchor = AnchorStyles.Top;
-			hosts_textBox.Anchor = AnchorStyles.Top;
-			hosts_reset_button.Anchor = AnchorStyles.Top;
-			configfile_label.Anchor = AnchorStyles.Top;
-			configfile_textBox.Anchor = AnchorStyles.Top;
-			configfile_browse_button.Anchor = AnchorStyles.Top;
-			mpich1_label.Anchor = AnchorStyles.Top;
-			mpich1_textBox.Anchor = AnchorStyles.Top;
-			mpich1_browse_button.Anchor = AnchorStyles.Top;
-			env_label.Anchor = AnchorStyles.Top;
-			env_textBox.Anchor = AnchorStyles.Top;
-			drive_map_label.Anchor = AnchorStyles.Top;
-			drive_map_textBox.Anchor = AnchorStyles.Top;
-			channel_label.Anchor = AnchorStyles.Top;
-			channel_comboBox.Anchor = AnchorStyles.Top;
-			output_richTextBox.Anchor = AnchorStyles.Top;
-			configfile_radioButton.Anchor = AnchorStyles.Top;
-			mpich1_radioButton.Anchor = AnchorStyles.Top;
-			extra_options_label.Anchor = AnchorStyles.Top;
-			extra_options_textBox.Anchor = AnchorStyles.Top;
-			log_checkBox.Anchor = AnchorStyles.Top;
-			jumpshot_button.Anchor = AnchorStyles.Top;
-		}
-
-		private void EnableAnchors()
-		{
-			show_bottom_checkBox.Anchor = (AnchorStyles.Bottom | AnchorStyles.Left);
-			wdir_label.Anchor = ((AnchorStyles)((AnchorStyles.Bottom | AnchorStyles.Left)));
-			wdir_textBox.Anchor = ((AnchorStyles)(((AnchorStyles.Bottom | AnchorStyles.Left) | AnchorStyles.Right)));
-			wdir_browse_button.Anchor = ((AnchorStyles)((AnchorStyles.Bottom | AnchorStyles.Right)));
-			hosts_label.Anchor = ((AnchorStyles)((AnchorStyles.Bottom | AnchorStyles.Left)));
-			hosts_textBox.Anchor = ((AnchorStyles)(((AnchorStyles.Bottom | AnchorStyles.Left) | AnchorStyles.Right)));
-			hosts_reset_button.Anchor = ((AnchorStyles)((AnchorStyles.Bottom | AnchorStyles.Right)));
-			configfile_label.Anchor = ((AnchorStyles)((AnchorStyles.Bottom | AnchorStyles.Left)));
-			configfile_textBox.Anchor = ((AnchorStyles)(((AnchorStyles.Bottom | AnchorStyles.Left) | AnchorStyles.Right)));
-			configfile_browse_button.Anchor = ((AnchorStyles)((AnchorStyles.Bottom | AnchorStyles.Right)));
-			mpich1_label.Anchor = ((AnchorStyles)((AnchorStyles.Bottom | AnchorStyles.Left)));
-			mpich1_textBox.Anchor = ((AnchorStyles)(((AnchorStyles.Bottom | AnchorStyles.Left) | AnchorStyles.Right)));
-			mpich1_browse_button.Anchor = ((AnchorStyles)((AnchorStyles.Bottom | AnchorStyles.Right)));
-			env_label.Anchor = ((AnchorStyles)((AnchorStyles.Bottom | AnchorStyles.Left)));
-			env_textBox.Anchor = ((AnchorStyles)(((AnchorStyles.Bottom | AnchorStyles.Left) | AnchorStyles.Right)));
-			drive_map_label.Anchor = ((AnchorStyles)((AnchorStyles.Bottom | AnchorStyles.Left)));
-			drive_map_textBox.Anchor = ((AnchorStyles)(((AnchorStyles.Bottom | AnchorStyles.Left) | AnchorStyles.Right)));
-			channel_label.Anchor = ((AnchorStyles)((AnchorStyles.Bottom | AnchorStyles.Left)));
-			channel_comboBox.Anchor = ((AnchorStyles)((AnchorStyles.Bottom | AnchorStyles.Right)));
-			output_richTextBox.Anchor = ((AnchorStyles)((((AnchorStyles.Top | AnchorStyles.Bottom) | AnchorStyles.Left) | AnchorStyles.Right)));
-			configfile_radioButton.Anchor = ((AnchorStyles)((AnchorStyles.Bottom | AnchorStyles.Left)));
-			mpich1_radioButton.Anchor = ((AnchorStyles)((AnchorStyles.Bottom | AnchorStyles.Left)));
-			extra_options_label.Anchor = ((AnchorStyles)((AnchorStyles.Bottom | AnchorStyles.Left)));
-			extra_options_textBox.Anchor = ((AnchorStyles)(((AnchorStyles.Bottom | AnchorStyles.Left) | AnchorStyles.Right)));
-			log_checkBox.Anchor = ((AnchorStyles)((AnchorStyles.Bottom | AnchorStyles.Right)));
-			jumpshot_button.Anchor = ((AnchorStyles)((AnchorStyles.Bottom | AnchorStyles.Right)));
-		}
-
-		private void HideExtraOptions()
-		{
-			wdir_label.Hide();
-			wdir_textBox.Hide();
-			wdir_browse_button.Hide();
-			hosts_label.Hide();
-			hosts_textBox.Hide();
-			hosts_reset_button.Hide();
-			configfile_label.Hide();
-			configfile_textBox.Hide();
-			configfile_browse_button.Hide();
-			mpich1_label.Hide();
-			mpich1_textBox.Hide();
-			mpich1_browse_button.Hide();
-			env_label.Hide();
-			env_textBox.Hide();
-			drive_map_label.Hide();
-			drive_map_textBox.Hide();
-			channel_label.Hide();
-			channel_comboBox.Hide();
-			configfile_radioButton.Hide();
-			mpich1_radioButton.Hide();
-			extra_options_textBox.Hide();
-			extra_options_label.Hide();
-			log_checkBox.Hide();
-			jumpshot_button.Hide();
-		}
-
-		private void ShowExtraOptions()
-		{
-			wdir_label.Show();
-			wdir_textBox.Show();
-			wdir_browse_button.Show();
-			hosts_label.Show();
-			hosts_textBox.Show();
-			hosts_reset_button.Show();
-			configfile_label.Show();
-			configfile_textBox.Show();
-			configfile_browse_button.Show();
-			mpich1_label.Show();
-			mpich1_textBox.Show();
-			mpich1_browse_button.Show();
-			env_label.Show();
-			env_textBox.Show();
-			drive_map_label.Show();
-			drive_map_textBox.Show();
-			channel_label.Show();
-			channel_comboBox.Show();
-			configfile_radioButton.Show();
-			mpich1_radioButton.Show();
-			extra_options_label.Show();
-			extra_options_textBox.Show();
-			log_checkBox.Show();
-			jumpshot_button.Show();
-		}
-
-		private void UpdateExtraControls(bool bShow)
-		{
-			DisableAnchors();
-			if (bShow)
-			{
-				ShowExtraOptions();
-				Height = Height + expanded_dialog_difference;//230;
-			}
-			else
-			{
-				HideExtraOptions();
-				Height = Height - expanded_dialog_difference;//230;
-			}
-			EnableAnchors();
-		}
-
-		private void show_bottom_checkBox_CheckedChanged(object sender, System.EventArgs e)
-		{
-			UpdateExtraControls(show_bottom_checkBox.Checked);
-		}
-		#endregion
-
-		private void wmpiexec_Closing(object sender, System.ComponentModel.CancelEventArgs e)
-		{
-			if (process != null)
-			{
-				process.Kill();
-			}
-			if (last_execute_result != null)
-			{
-				run_command.EndInvoke(last_execute_result);
-				last_execute_result = null;
-			}
-		}
-
-		private void jumpshot_button_Click(object sender, System.EventArgs e)
-		{
-			Process p;
-			string args = "-Xms32m -Xmx256m -jar " + get_jumpshot() + " " + get_clog2();
-			//MessageBox.Show("javaw.exe " + args);
-			//output_richTextBox.AppendText("javaw.exe " + args + "\r\n");
-			try
-			{
-				p = Process.Start("javaw.exe", args);
-			}
-			catch (Exception x)
-			{
-				MessageBox.Show("Unable to start: javaw.exe " + args + "\r\n" + x.Message, "Error");
-			}
-		}
-	}
-}
diff --git a/src/pm/smpd/wmpiexec/wmpiexec.csproj b/src/pm/smpd/wmpiexec/wmpiexec.csproj
deleted file mode 100644
index 3dd5880..0000000
--- a/src/pm/smpd/wmpiexec/wmpiexec.csproj
+++ /dev/null
@@ -1,152 +0,0 @@
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <ProjectType>Local</ProjectType>
-    <ProductVersion>8.0.50727</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{B0365633-1495-4C2C-8FD6-6943F5208D5C}</ProjectGuid>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ApplicationIcon>App.ico</ApplicationIcon>
-    <AssemblyKeyContainerName>
-    </AssemblyKeyContainerName>
-    <AssemblyName>wmpiexec</AssemblyName>
-    <AssemblyOriginatorKeyFile>
-    </AssemblyOriginatorKeyFile>
-    <DefaultClientScript>JScript</DefaultClientScript>
-    <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
-    <DefaultTargetSchema>IE50</DefaultTargetSchema>
-    <DelaySign>false</DelaySign>
-    <OutputType>WinExe</OutputType>
-    <RootNamespace>wmpiexec</RootNamespace>
-    <RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
-    <StartupObject>
-    </StartupObject>
-    <FileUpgradeFlags>
-    </FileUpgradeFlags>
-    <UpgradeBackupLocation>
-    </UpgradeBackupLocation>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <OutputPath>bin\Debug\</OutputPath>
-    <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
-    <BaseAddress>285212672</BaseAddress>
-    <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
-    <ConfigurationOverrideFile>
-    </ConfigurationOverrideFile>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <DocumentationFile>
-    </DocumentationFile>
-    <DebugSymbols>true</DebugSymbols>
-    <FileAlignment>4096</FileAlignment>
-    <NoStdLib>false</NoStdLib>
-    <NoWarn>
-    </NoWarn>
-    <Optimize>false</Optimize>
-    <RegisterForComInterop>false</RegisterForComInterop>
-    <RemoveIntegerChecks>false</RemoveIntegerChecks>
-    <TreatWarningsAsErrors>false</TreatWarningsAsErrors>
-    <WarningLevel>4</WarningLevel>
-    <DebugType>full</DebugType>
-    <ErrorReport>prompt</ErrorReport>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <OutputPath>..\..\..\..\bin\</OutputPath>
-    <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
-    <BaseAddress>285212672</BaseAddress>
-    <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
-    <ConfigurationOverrideFile>
-    </ConfigurationOverrideFile>
-    <DefineConstants>TRACE</DefineConstants>
-    <DocumentationFile>
-    </DocumentationFile>
-    <DebugSymbols>false</DebugSymbols>
-    <FileAlignment>4096</FileAlignment>
-    <NoStdLib>false</NoStdLib>
-    <NoWarn>
-    </NoWarn>
-    <Optimize>true</Optimize>
-    <RegisterForComInterop>false</RegisterForComInterop>
-    <RemoveIntegerChecks>false</RemoveIntegerChecks>
-    <TreatWarningsAsErrors>false</TreatWarningsAsErrors>
-    <WarningLevel>4</WarningLevel>
-    <DebugType>none</DebugType>
-    <ErrorReport>prompt</ErrorReport>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'fmpewrap|AnyCPU' ">
-    <OutputPath>bin\fmpewrap\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <BaseAddress>285212672</BaseAddress>
-    <Optimize>true</Optimize>
-    <DebugType>
-    </DebugType>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <CodeAnalysisRuleAssemblies>C:\Program Files\Microsoft Visual Studio 8\Team Tools\Static Analysis Tools\FxCop\\rules</CodeAnalysisRuleAssemblies>
-    <CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
-    <CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
-    <ErrorReport>prompt</ErrorReport>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'ch3nemesisPRelease|AnyCPU' ">
-    <OutputPath>bin\ch3nemesisPRelease\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <BaseAddress>285212672</BaseAddress>
-    <Optimize>true</Optimize>
-    <DebugType>
-    </DebugType>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <CodeAnalysisRuleAssemblies>C:\Program Files\Microsoft Visual Studio 8\Team Tools\Static Analysis Tools\FxCop\\rules</CodeAnalysisRuleAssemblies>
-    <CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
-    <CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
-    <ErrorReport>prompt</ErrorReport>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'fortPRelease|AnyCPU' ">
-    <OutputPath>bin\fortPRelease\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <BaseAddress>285212672</BaseAddress>
-    <Optimize>true</Optimize>
-    <DebugType>
-    </DebugType>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <CodeAnalysisRuleAssemblies>C:\Program Files\Microsoft Visual Studio 8\Team Tools\Static Analysis Tools\FxCop\\rules</CodeAnalysisRuleAssemblies>
-    <CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
-    <CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
-    <ErrorReport>prompt</ErrorReport>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System">
-      <Name>System</Name>
-    </Reference>
-    <Reference Include="System.Data">
-      <Name>System.Data</Name>
-    </Reference>
-    <Reference Include="System.Drawing">
-      <Name>System.Drawing</Name>
-    </Reference>
-    <Reference Include="System.Windows.Forms">
-      <Name>System.Windows.Forms</Name>
-    </Reference>
-    <Reference Include="System.Xml">
-      <Name>System.XML</Name>
-    </Reference>
-  </ItemGroup>
-  <ItemGroup>
-    <Content Include="App.ico" />
-    <Content Include="jumpshot.ico" />
-    <Compile Include="AssemblyInfo.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="wmpiexec.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <EmbeddedResource Include="wmpiexec.resx">
-      <DependentUpon>wmpiexec.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-  </ItemGroup>
-  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
-  <PropertyGroup>
-    <PreBuildEvent>
-    </PreBuildEvent>
-    <PostBuildEvent>
-    </PostBuildEvent>
-  </PropertyGroup>
-</Project>
\ No newline at end of file
diff --git a/src/pm/smpd/wmpiexec/wmpiexec.resx b/src/pm/smpd/wmpiexec/wmpiexec.resx
deleted file mode 100644
index e8f7d02..0000000
--- a/src/pm/smpd/wmpiexec/wmpiexec.resx
+++ /dev/null
@@ -1,503 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 1.3
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">1.3</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1">this is my long string</data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        [base64 mime encoded serialized .NET Framework object]
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        [base64 mime encoded string representing a byte array form of the .NET Framework object]
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used forserialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>1.3</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <data name="application_label.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="application_label.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="application_label.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="application_browse_button.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="application_browse_button.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="application_browse_button.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="nproc_label.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="nproc_label.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="nproc_label.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="nproc_numericUpDown.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="nproc_numericUpDown.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="nproc_numericUpDown.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="wdir_label.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="wdir_label.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="wdir_label.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="wdir_textBox.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="wdir_textBox.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="wdir_textBox.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="wdir_browse_button.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="wdir_browse_button.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="wdir_browse_button.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="hosts_label.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="hosts_label.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="hosts_label.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="hosts_textBox.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="hosts_textBox.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="hosts_textBox.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="hosts_reset_button.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="hosts_reset_button.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="hosts_reset_button.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="configfile_label.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="configfile_label.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="configfile_label.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="configfile_textBox.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="configfile_textBox.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="configfile_textBox.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="configfile_browse_button.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="configfile_browse_button.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="configfile_browse_button.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="mpich1_label.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="mpich1_label.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="mpich1_label.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="mpich1_textBox.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="mpich1_textBox.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="mpich1_textBox.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="mpich1_browse_button.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="mpich1_browse_button.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="mpich1_browse_button.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="env_label.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="env_label.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="env_label.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="env_textBox.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="env_textBox.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="env_textBox.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="drive_map_label.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="drive_map_label.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="drive_map_label.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="drive_map_textBox.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="drive_map_textBox.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="drive_map_textBox.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="channel_label.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="channel_label.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="channel_label.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="channel_comboBox.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="channel_comboBox.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="channel_comboBox.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="save_job_button.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="save_job_button.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="save_job_button.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="load_job_button.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="load_job_button.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="load_job_button.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="execute_button.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="execute_button.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="execute_button.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="break_button.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="break_button.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="break_button.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="output_richTextBox.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="output_richTextBox.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="output_richTextBox.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="application_comboBox.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="application_comboBox.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="application_comboBox.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="show_command_button.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="show_command_button.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="show_command_button.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="command_line_textBox.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="command_line_textBox.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="command_line_textBox.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="application_radioButton.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="application_radioButton.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="application_radioButton.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="configfile_radioButton.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="configfile_radioButton.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="configfile_radioButton.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="mpich1_radioButton.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="mpich1_radioButton.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="mpich1_radioButton.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="show_bottom_checkBox.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="show_bottom_checkBox.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="show_bottom_checkBox.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="extra_options_textBox.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="extra_options_textBox.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="extra_options_textBox.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="extra_options_label.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="extra_options_label.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="extra_options_label.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="popup_checkBox.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="popup_checkBox.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="popup_checkBox.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="jumpshot_button.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="jumpshot_button.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="jumpshot_button.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="log_checkBox.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="log_checkBox.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="log_checkBox.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="$this.Name">
-    <value>wmpiexec</value>
-  </data>
-  <data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>(Default)</value>
-  </data>
-  <data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>8, 8</value>
-  </data>
-  <data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </data>
-  <data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>80</value>
-  </data>
-  <data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </data>
-  <data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAABAAIAICAQAAAAAADoAgAAJgAAABAQEAAAAAAAKAEAAA4DAAAoAAAAIAAAAEAAAAABAAQAAAAAAAAC
-        AAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/
-        AAAA//8A/wAAAP8A/wD//wAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAd3d3d3d3d3d3d3d3d3dwBEREREREREREREREREREcAT/
-        ////////////////9HAE//////////////////RwBP/////////////////0cAT/////EREREREf////
-        9HAE/////xERERERH/////RwBP////8RH//////////0cAT/////ER//////////9HAE/////xEf////
-        //////RwBP////8RH//////////0cAT/////ERERER//////9HAE/////xEREREf//////RwBP////8R
-        H//////////0cAT/////ER//////////9HAE/////xEf//////////RwBP////8RH//////////0cAT/
-        ////EREREREf////9HAE/////xERERERH/////RwBP/////////////////0cASIiIiIiIiIiIiIiIiI
-        hHAERERERERERERERERERERwBExMTExMTExMTE7Ozkl0cATMzMzMzMzMzMzMzMzMxAAARERERERERERE
-        REREREAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////
-        /////////////8AAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAA
-        AAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAA8AAAAf/////////////
-        //8oAAAAEAAAACAAAAABAAQAAAAAAIAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAgAAAgAAAAICAAIAA
-        AACAAIAAgIAAAICAgADAwMAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AAAAAAAAAAAAB3d3d3d3
-        d3dERERERERER0////////hHT//xERH/+EdP/xEfER/4R0//ER////hHT/8REREf+EdP/xEfER/4R0//
-        8RER//hHT///////+EdIiIiIiIiIR0zMzMzMzMxHxERERERERMAAAAAAAAAAAAAAAAAAAAAA//8AAIAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAD//wAA//8AAA==
-</value>
-  </data>
-</root>
\ No newline at end of file
diff --git a/src/pm/smpd/wmpiregister/App.ico b/src/pm/smpd/wmpiregister/App.ico
deleted file mode 100644
index de41ed7..0000000
Binary files a/src/pm/smpd/wmpiregister/App.ico and /dev/null differ
diff --git a/src/pm/smpd/wmpiregister/AssemblyInfo.cs b/src/pm/smpd/wmpiregister/AssemblyInfo.cs
deleted file mode 100644
index 9f89a32..0000000
--- a/src/pm/smpd/wmpiregister/AssemblyInfo.cs
+++ /dev/null
@@ -1,58 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-
-//
-// General Information about an assembly is controlled through the following 
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-//
-[assembly: AssemblyTitle("")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("")]
-[assembly: AssemblyCopyright("")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]		
-
-//
-// Version information for an assembly consists of the following four values:
-//
-//      Major Version
-//      Minor Version 
-//      Build Number
-//      Revision
-//
-// You can specify all the values or you can default the Revision and Build Numbers 
-// by using the '*' as shown below:
-
-[assembly: AssemblyVersion("1.0.*")]
-
-//
-// In order to sign your assembly you must specify a key to use. Refer to the 
-// Microsoft .NET Framework documentation for more information on assembly signing.
-//
-// Use the attributes below to control which key is used for signing. 
-//
-// Notes: 
-//   (*) If no key is specified, the assembly is not signed.
-//   (*) KeyName refers to a key that has been installed in the Crypto Service
-//       Provider (CSP) on your machine. KeyFile refers to a file which contains
-//       a key.
-//   (*) If the KeyFile and the KeyName values are both specified, the 
-//       following processing occurs:
-//       (1) If the KeyName can be found in the CSP, that key is used.
-//       (2) If the KeyName does not exist and the KeyFile does exist, the key 
-//           in the KeyFile is installed into the CSP and used.
-//   (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
-//       When specifying the KeyFile, the location of the KeyFile should be
-//       relative to the project output directory which is
-//       %Project Directory%\obj\<configuration>. For example, if your KeyFile is
-//       located in the project directory, you would specify the AssemblyKeyFile 
-//       attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
-//   (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
-//       documentation for more information on this.
-//
-[assembly: AssemblyDelaySign(false)]
-[assembly: AssemblyKeyFile("")]
-[assembly: AssemblyKeyName("")]
diff --git a/src/pm/smpd/wmpiregister/wmpiregister.cs b/src/pm/smpd/wmpiregister/wmpiregister.cs
deleted file mode 100644
index aef7829..0000000
--- a/src/pm/smpd/wmpiregister/wmpiregister.cs
+++ /dev/null
@@ -1,364 +0,0 @@
-using System;
-using System.Drawing;
-using System.Collections;
-using System.ComponentModel;
-using System.Windows.Forms;
-using System.Data;
-using System.Diagnostics;
-using Microsoft.Win32;
-using System.IO;
-
-namespace wmpiregister
-{
-	/// <summary>
-	/// Summary description for Form1.
-	/// </summary>
-	public class wmpiregister : System.Windows.Forms.Form
-	{
-		private System.Windows.Forms.Label account_label;
-		private System.Windows.Forms.TextBox account_textBox;
-		private System.Windows.Forms.Label password_label;
-		private System.Windows.Forms.TextBox password_textBox;
-		private System.Windows.Forms.Button register_button;
-		private System.Windows.Forms.Button remove_button;
-		private System.Windows.Forms.Button cancel_button;
-		private System.Windows.Forms.Label usage_label;
-		private System.Windows.Forms.Label usage2_label;
-		private System.Windows.Forms.Label example_label;
-		private System.Windows.Forms.TextBox result_textBox;
-		private System.Windows.Forms.Button ok_button;
-		private Label usage3_label;
-		/// <summary>
-		/// Required designer variable.
-		/// </summary>
-		private System.ComponentModel.Container components = null;
-
-		public wmpiregister()
-		{
-			//
-			// Required for Windows Form Designer support
-			//
-			InitializeComponent();
-
-			//
-			// TODO: Add any constructor code after InitializeComponent call
-			//
-		}
-
-		/// <summary>
-		/// Clean up any resources being used.
-		/// </summary>
-		protected override void Dispose( bool disposing )
-		{
-			if( disposing )
-			{
-				if (components != null) 
-				{
-					components.Dispose();
-				}
-			}
-			base.Dispose( disposing );
-		}
-
-		#region Windows Form Designer generated code
-		/// <summary>
-		/// Required method for Designer support - do not modify
-		/// the contents of this method with the code editor.
-		/// </summary>
-		private void InitializeComponent()
-		{
-			System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(wmpiregister));
-			this.account_label = new System.Windows.Forms.Label();
-			this.account_textBox = new System.Windows.Forms.TextBox();
-			this.password_label = new System.Windows.Forms.Label();
-			this.password_textBox = new System.Windows.Forms.TextBox();
-			this.register_button = new System.Windows.Forms.Button();
-			this.remove_button = new System.Windows.Forms.Button();
-			this.cancel_button = new System.Windows.Forms.Button();
-			this.usage_label = new System.Windows.Forms.Label();
-			this.usage2_label = new System.Windows.Forms.Label();
-			this.example_label = new System.Windows.Forms.Label();
-			this.result_textBox = new System.Windows.Forms.TextBox();
-			this.ok_button = new System.Windows.Forms.Button();
-			this.usage3_label = new System.Windows.Forms.Label();
-			this.SuspendLayout();
-			// 
-			// account_label
-			// 
-			this.account_label.Location = new System.Drawing.Point(24, 152);
-			this.account_label.Name = "account_label";
-			this.account_label.TabIndex = 0;
-			this.account_label.Text = "Account:";
-			// 
-			// account_textBox
-			// 
-			this.account_textBox.Location = new System.Drawing.Point(128, 152);
-			this.account_textBox.Name = "account_textBox";
-			this.account_textBox.TabIndex = 1;
-			// 
-			// password_label
-			// 
-			this.password_label.Location = new System.Drawing.Point(24, 184);
-			this.password_label.Name = "password_label";
-			this.password_label.TabIndex = 2;
-			this.password_label.Text = "password";
-			// 
-			// password_textBox
-			// 
-			this.password_textBox.Location = new System.Drawing.Point(128, 184);
-			this.password_textBox.Name = "password_textBox";
-			this.password_textBox.PasswordChar = '*';
-			this.password_textBox.TabIndex = 3;
-			// 
-			// register_button
-			// 
-			this.register_button.Location = new System.Drawing.Point(8, 253);
-			this.register_button.Name = "register_button";
-			this.register_button.Size = new System.Drawing.Size(64, 23);
-			this.register_button.TabIndex = 4;
-			this.register_button.Text = "Register";
-			this.register_button.Click += new System.EventHandler(this.register_button_Click);
-			// 
-			// remove_button
-			// 
-			this.remove_button.Location = new System.Drawing.Point(80, 253);
-			this.remove_button.Name = "remove_button";
-			this.remove_button.Size = new System.Drawing.Size(64, 23);
-			this.remove_button.TabIndex = 5;
-			this.remove_button.Text = "Remove";
-			this.remove_button.Click += new System.EventHandler(this.remove_button_Click);
-			// 
-			// cancel_button
-			// 
-			this.cancel_button.Location = new System.Drawing.Point(216, 253);
-			this.cancel_button.Name = "cancel_button";
-			this.cancel_button.Size = new System.Drawing.Size(64, 23);
-			this.cancel_button.TabIndex = 7;
-			this.cancel_button.Text = "Cancel";
-			this.cancel_button.Click += new System.EventHandler(this.cancel_button_Click);
-			// 
-			// usage_label
-			// 
-			this.usage_label.Location = new System.Drawing.Point(24, 8);
-			this.usage_label.Name = "usage_label";
-			this.usage_label.Size = new System.Drawing.Size(224, 48);
-			this.usage_label.TabIndex = 9;
-			this.usage_label.Text = "Use this tool to encrypt an account and password to be used by mpiexec to launch " +
-				"mpich jobs.";
-			// 
-			// usage2_label
-			// 
-			this.usage2_label.Location = new System.Drawing.Point(24, 56);
-			this.usage2_label.Name = "usage2_label";
-			this.usage2_label.Size = new System.Drawing.Size(224, 48);
-			this.usage2_label.TabIndex = 10;
-			this.usage2_label.Text = "The account provided must be a valid user account available on all the nodes that" +
-				" will participate in mpich jobs.";
-			// 
-			// example_label
-			// 
-			this.example_label.Location = new System.Drawing.Point(24, 104);
-			this.example_label.Name = "example_label";
-			this.example_label.Size = new System.Drawing.Size(120, 40);
-			this.example_label.TabIndex = 11;
-			this.example_label.Text = "Example: mydomain\\myaccount or myaccount";
-			// 
-			// result_textBox
-			// 
-			this.result_textBox.Location = new System.Drawing.Point(8, 285);
-			this.result_textBox.Multiline = true;
-			this.result_textBox.Name = "result_textBox";
-			this.result_textBox.ReadOnly = true;
-			this.result_textBox.Size = new System.Drawing.Size(272, 64);
-			this.result_textBox.TabIndex = 8;
-			// 
-			// ok_button
-			// 
-			this.ok_button.Location = new System.Drawing.Point(152, 253);
-			this.ok_button.Name = "ok_button";
-			this.ok_button.Size = new System.Drawing.Size(56, 23);
-			this.ok_button.TabIndex = 6;
-			this.ok_button.Text = "OK";
-			this.ok_button.Click += new System.EventHandler(this.ok_button_Click);
-			// 
-			// usage3_label
-			// 
-			this.usage3_label.Location = new System.Drawing.Point(24, 210);
-			this.usage3_label.Name = "usage3_label";
-			this.usage3_label.Size = new System.Drawing.Size(224, 37);
-			this.usage3_label.TabIndex = 12;
-			this.usage3_label.Text = "Click register to save the credentials and Remove to delete the credentials for t" +
-				"he current user.";
-			// 
-			// wmpiregister
-			// 
-			this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
-			this.ClientSize = new System.Drawing.Size(288, 359);
-			this.Controls.Add(this.usage3_label);
-			this.Controls.Add(this.ok_button);
-			this.Controls.Add(this.result_textBox);
-			this.Controls.Add(this.example_label);
-			this.Controls.Add(this.usage2_label);
-			this.Controls.Add(this.usage_label);
-			this.Controls.Add(this.cancel_button);
-			this.Controls.Add(this.remove_button);
-			this.Controls.Add(this.register_button);
-			this.Controls.Add(this.password_textBox);
-			this.Controls.Add(this.password_label);
-			this.Controls.Add(this.account_textBox);
-			this.Controls.Add(this.account_label);
-			this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
-			this.Name = "wmpiregister";
-			this.Text = "MPIEXEC -register wrapper";
-			this.ResumeLayout(false);
-			this.PerformLayout();
-
-		}
-		#endregion
-
-		/// <summary>
-		/// The main entry point for the application.
-		/// </summary>
-		[STAThread]
-		static void Main() 
-		{
-			Application.Run(new wmpiregister());
-		}
-
-		private string get_mpiexec()
-		{
-			string mpiexec = "";
-			object obj;
-			try
-			{
-				RegistryKey key = Registry.LocalMachine.OpenSubKey(@"Software\MPICH");
-				if (key != null)
-				{
-					obj = key.GetValue("Path");
-					key.Close();
-					if (obj != null)
-					{
-						mpiexec = obj.ToString();
-						if (mpiexec.EndsWith(@"\"))
-						{
-							mpiexec = mpiexec + @"bin\mpiexec.exe";
-						}
-						else
-						{
-							mpiexec = mpiexec + @"\bin\mpiexec.exe";
-						}
-						if (!File.Exists(mpiexec))
-						{
-							mpiexec = "";
-						}
-					}
-				}
-				if (mpiexec == "")
-				{
-					key = Registry.LocalMachine.OpenSubKey(@"Software\MPICH\SMPD");
-					if (key != null)
-					{
-						obj = key.GetValue("binary");
-						key.Close();
-						if (obj != null)
-						{
-							mpiexec = obj.ToString().Replace("smpd.exe", "mpiexec.exe");
-							if (!File.Exists(mpiexec))
-							{
-								mpiexec = "";
-							}
-						}
-					}
-				}
-				if (mpiexec == "")
-				{
-					mpiexec = "mpiexec.exe";
-				}
-				mpiexec = mpiexec.Trim();
-				/*
-				if (mpiexec.IndexOf(' ') != -1)
-				{
-					mpiexec = "\"" + mpiexec + "\"";
-				}
-				*/
-			}
-			catch (Exception)
-			{
-				mpiexec = "mpiexec.exe";
-			}
-			return mpiexec;
-		}
-
-		private void register_button_Click(object sender, System.EventArgs e)
-		{
-			string output;
-			//string error;
-			try
-			{
-				if (password_textBox.Text.Length == 0)
-				{
-					MessageBox.Show("MPICH cannot use user credentials with empty passwords, please select another user");
-					return;
-				}
-				Process process = new Process();
-				process.StartInfo.FileName = get_mpiexec();
-				process.StartInfo.Arguments = "-register";
-				process.StartInfo.RedirectStandardInput = true;
-				process.StartInfo.RedirectStandardOutput = true;
-				//process.StartInfo.RedirectStandardError = true;
-				process.StartInfo.RedirectStandardError = false;
-				process.StartInfo.UseShellExecute = false;
-				process.StartInfo.CreateNoWindow = true;
-				process.Start();
-				process.StandardInput.WriteLine(account_textBox.Text);
-				process.StandardInput.WriteLine(password_textBox.Text);
-				process.StandardInput.WriteLine(password_textBox.Text);
-				//error = process.StandardError.ReadToEnd();
-				output = process.StandardOutput.ReadToEnd();
-				process.WaitForExit();
-				result_textBox.Text = output; // + "\n" + error;
-			}
-			catch (Exception x)
-			{
-				result_textBox.Text = "Unable to run \"mpiexec -register\"\r\nError: " + x.Message;
-			}
-		}
-
-		private void remove_button_Click(object sender, System.EventArgs e)
-		{
-			string output;
-			//string error;
-			try
-			{
-				Process process = new Process();
-				process.StartInfo.FileName = get_mpiexec();
-				process.StartInfo.Arguments = "-remove";
-				process.StartInfo.RedirectStandardInput = false;
-				process.StartInfo.RedirectStandardOutput = true;
-				//process.StartInfo.RedirectStandardError = true;
-				process.StartInfo.RedirectStandardError = false;
-				process.StartInfo.UseShellExecute = false;
-				process.StartInfo.CreateNoWindow = true;
-				process.Start();
-				//error = process.StandardError.ReadToEnd();
-				output = process.StandardOutput.ReadToEnd();
-				process.WaitForExit();
-				result_textBox.Text = output;// + "\n" + error;
-			}
-			catch (Exception x)
-			{
-				result_textBox.Text = "Unable to run \"mpiexec -remove\"\r\nError: " + x.Message;
-			}
-		}
-
-		private void cancel_button_Click(object sender, System.EventArgs e)
-		{
-			Close();
-		}
-
-		private void ok_button_Click(object sender, System.EventArgs e)
-		{
-			Close();
-		}
-	}
-}
diff --git a/src/pm/smpd/wmpiregister/wmpiregister.csproj b/src/pm/smpd/wmpiregister/wmpiregister.csproj
deleted file mode 100644
index 0e8eed7..0000000
--- a/src/pm/smpd/wmpiregister/wmpiregister.csproj
+++ /dev/null
@@ -1,151 +0,0 @@
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <ProjectType>Local</ProjectType>
-    <ProductVersion>8.0.50727</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{8E126FE2-6F09-42FF-B17C-9C73BF3B74B9}</ProjectGuid>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ApplicationIcon>App.ico</ApplicationIcon>
-    <AssemblyKeyContainerName>
-    </AssemblyKeyContainerName>
-    <AssemblyName>wmpiregister</AssemblyName>
-    <AssemblyOriginatorKeyFile>
-    </AssemblyOriginatorKeyFile>
-    <DefaultClientScript>JScript</DefaultClientScript>
-    <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
-    <DefaultTargetSchema>IE50</DefaultTargetSchema>
-    <DelaySign>false</DelaySign>
-    <OutputType>WinExe</OutputType>
-    <RootNamespace>wmpiregister</RootNamespace>
-    <RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
-    <StartupObject>
-    </StartupObject>
-    <FileUpgradeFlags>
-    </FileUpgradeFlags>
-    <UpgradeBackupLocation>
-    </UpgradeBackupLocation>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <OutputPath>bin\Debug\</OutputPath>
-    <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
-    <BaseAddress>285212672</BaseAddress>
-    <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
-    <ConfigurationOverrideFile>
-    </ConfigurationOverrideFile>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <DocumentationFile>
-    </DocumentationFile>
-    <DebugSymbols>true</DebugSymbols>
-    <FileAlignment>4096</FileAlignment>
-    <NoStdLib>false</NoStdLib>
-    <NoWarn>
-    </NoWarn>
-    <Optimize>false</Optimize>
-    <RegisterForComInterop>false</RegisterForComInterop>
-    <RemoveIntegerChecks>false</RemoveIntegerChecks>
-    <TreatWarningsAsErrors>false</TreatWarningsAsErrors>
-    <WarningLevel>4</WarningLevel>
-    <DebugType>full</DebugType>
-    <ErrorReport>prompt</ErrorReport>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <OutputPath>..\..\..\..\bin\</OutputPath>
-    <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
-    <BaseAddress>285212672</BaseAddress>
-    <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
-    <ConfigurationOverrideFile>
-    </ConfigurationOverrideFile>
-    <DefineConstants>TRACE</DefineConstants>
-    <DocumentationFile>
-    </DocumentationFile>
-    <DebugSymbols>false</DebugSymbols>
-    <FileAlignment>4096</FileAlignment>
-    <NoStdLib>false</NoStdLib>
-    <NoWarn>
-    </NoWarn>
-    <Optimize>true</Optimize>
-    <RegisterForComInterop>false</RegisterForComInterop>
-    <RemoveIntegerChecks>false</RemoveIntegerChecks>
-    <TreatWarningsAsErrors>false</TreatWarningsAsErrors>
-    <WarningLevel>4</WarningLevel>
-    <DebugType>none</DebugType>
-    <ErrorReport>prompt</ErrorReport>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'fmpewrap|AnyCPU' ">
-    <OutputPath>bin\fmpewrap\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <BaseAddress>285212672</BaseAddress>
-    <Optimize>true</Optimize>
-    <DebugType>
-    </DebugType>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <CodeAnalysisRuleAssemblies>C:\Program Files\Microsoft Visual Studio 8\Team Tools\Static Analysis Tools\FxCop\\rules</CodeAnalysisRuleAssemblies>
-    <CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
-    <CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
-    <ErrorReport>prompt</ErrorReport>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'ch3nemesisPRelease|AnyCPU' ">
-    <OutputPath>bin\ch3nemesisPRelease\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <BaseAddress>285212672</BaseAddress>
-    <Optimize>true</Optimize>
-    <DebugType>
-    </DebugType>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <CodeAnalysisRuleAssemblies>C:\Program Files\Microsoft Visual Studio 8\Team Tools\Static Analysis Tools\FxCop\\rules</CodeAnalysisRuleAssemblies>
-    <CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
-    <CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
-    <ErrorReport>prompt</ErrorReport>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'fortPRelease|AnyCPU' ">
-    <OutputPath>bin\fortPRelease\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <BaseAddress>285212672</BaseAddress>
-    <Optimize>true</Optimize>
-    <DebugType>
-    </DebugType>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <CodeAnalysisRuleAssemblies>C:\Program Files\Microsoft Visual Studio 8\Team Tools\Static Analysis Tools\FxCop\\rules</CodeAnalysisRuleAssemblies>
-    <CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
-    <CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
-    <ErrorReport>prompt</ErrorReport>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System">
-      <Name>System</Name>
-    </Reference>
-    <Reference Include="System.Data">
-      <Name>System.Data</Name>
-    </Reference>
-    <Reference Include="System.Drawing">
-      <Name>System.Drawing</Name>
-    </Reference>
-    <Reference Include="System.Windows.Forms">
-      <Name>System.Windows.Forms</Name>
-    </Reference>
-    <Reference Include="System.XML">
-      <Name>System.XML</Name>
-    </Reference>
-  </ItemGroup>
-  <ItemGroup>
-    <Content Include="App.ico" />
-    <Compile Include="AssemblyInfo.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="wmpiregister.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <EmbeddedResource Include="wmpiregister.resx">
-      <DependentUpon>wmpiregister.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-  </ItemGroup>
-  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
-  <PropertyGroup>
-    <PreBuildEvent>
-    </PreBuildEvent>
-    <PostBuildEvent>
-    </PostBuildEvent>
-  </PropertyGroup>
-</Project>
\ No newline at end of file
diff --git a/src/pm/smpd/wmpiregister/wmpiregister.resx b/src/pm/smpd/wmpiregister/wmpiregister.resx
deleted file mode 100644
index 95817d6..0000000
--- a/src/pm/smpd/wmpiregister/wmpiregister.resx
+++ /dev/null
@@ -1,140 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
-  <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAABAAIAICAQAAAAAADoAgAAJgAAABAQEAAAAAAAKAEAAA4DAAAoAAAAIAAAAEAAAAABAAQAAAAAAAAC
-        AAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/
-        AAAA//8A/wAAAP8A/wD//wAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAd3d3d3d3d3d3d3d3d3dwBEREREREREREREREREREcAT/
-        ////////////////9HAE//////////////////RwBP/////////////////0cAT/////ER////ER////
-        9HAE/////xEf//8REf////RwBP////8RH//xER/////0cAT/////ER//ERH/////9HAE/////xEf8REf
-        //////RwBP////8RERER///////0cAT/////ERERER//////9HAE/////xEf/xER//////RwBP////8R
-        H//xEf/////0cAT/////ER//8RH/////9HAE/////xEf/xER//////RwBP////8RERERH//////0cAT/
-        ////EREREf//////9HAE//////////////////RwBP/////////////////0cASIiIiIiIiIiIiIiIiI
-        hHAERERERERERERERERERERwBExMTExMTExMTE7Ozkl0cATMzMzMzMzMzMzMzMzMxAAARERERERERERE
-        REREREAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////
-        /////////////8AAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAA
-        AAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAA8AAAAf/////////////
-        //8oAAAAEAAAACAAAAABAAQAAAAAAIAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAgAAAgAAAAICAAIAA
-        AACAAIAAgIAAAICAgADAwMAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AAAAAAAAAAAAB3d3d3d3
-        d3dERERERERER0////////hHT//xH///+EdP//Ef///4R0//8R////hHT//xH///+EdP//ER8R/4R0//
-        8RERH/hHT///////+EdIiIiIiIiIR0zMzMzMzMxHxERERERERMAAAAAAAAAAAAAAAAAAAAAA//8AAIAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAD//wAA//8AAA==
-</value>
-  </data>
-</root>
\ No newline at end of file
diff --git a/src/pmi/Makefile.mk b/src/pmi/Makefile.mk
index 4eec259..c8e0f42 100644
--- a/src/pmi/Makefile.mk
+++ b/src/pmi/Makefile.mk
@@ -7,7 +7,6 @@
 
 include $(top_srcdir)/src/pmi/pmi2/Makefile.mk
 include $(top_srcdir)/src/pmi/simple/Makefile.mk
-include $(top_srcdir)/src/pmi/smpd/Makefile.mk
 
 errnames_txt_files += src/pmi/errnames.txt
 
diff --git a/src/pmi/smpd/Makefile.mk b/src/pmi/smpd/Makefile.mk
deleted file mode 100644
index d1bd00d..0000000
--- a/src/pmi/smpd/Makefile.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-## -*- Mode: Makefile; -*-
-## vim: set ft=automake :
-##
-## (C) 2011 by Argonne National Laboratory.
-##     See COPYRIGHT in top-level directory.
-##
-
-if BUILD_PMI_SMPD
-
-lib_lib at MPILIBNAME@_la_SOURCES += \
-    src/pmi/smpd/smpd_pmi.c       \
-    src/pmi/smpd/smpd_ipmi.c
-
-noinst_HEADERS += src/pmi/smpd/ipmi.h
-
-AM_CPPFLAGS += -I$(top_srcdir)/src/pmi/smpd
-
-endif BUILD_PMI_SMPD
-
diff --git a/src/pmi/smpd/ipmi.h b/src/pmi/smpd/ipmi.h
deleted file mode 100644
index 458b078..0000000
--- a/src/pmi/smpd/ipmi.h
+++ /dev/null
@@ -1,146 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-
-#ifndef IPMI_H
-#define IPMI_H
-
-#include "mpichconf.h"
-
-#include <stdio.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-#ifdef HAVE_STRING_H
-#include <string.h>
-#endif
-#ifdef HAVE_STDARG_H
-#include <stdarg.h>
-#endif
-#ifdef HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include "pmi.h"
-/*
-#include "mpidu_sock.h"
-*/
-#include "smpd.h"
-#include "mpi.h"
-
-#define PMI_SUCCESS     0
-#define PMI_FAIL       -1
-
-/* prototypes for the iPMI interface */
-
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-/* PMI Group functions */
-int iPMI_Init( int *spawned );           /* initialize PMI for this process group
-                                           The value of spawned indicates whether this process
-                                           was created by PMI_Spawn_multiple. */
-int iPMI_Initialized( int *initialized );            /* Return true if PMI has been initialized */
-int iPMI_Finalize( void );               /* finalize PMI for this process group */
-int iPMI_Get_size( int *size );          /* get size of process group */
-int iPMI_Get_rank( int *rank );          /* get rank in process group */
-int iPMI_Get_universe_size( int *size ); /* get the maximum allowed spawnable resources */
-int iPMI_Get_appnum( int *appnum );      /* get the application number */
-int iPMI_Get_id( char id_str[], int length );         /* get a string to uniquely identify the process group */
-int iPMI_Get_kvs_domain_id( char id_str[], int length );     /* get a string to uniquely identify the kvs domain */
-int iPMI_Get_id_length_max( int *maxlen);      /* get the maximum length the id string can be. Must return >= 40 */
-int iPMI_Barrier( void );                /* barrier across processes in process group */
-int iPMI_Get_clique_size( int *size );   /* get the number of processes on my node */
-int iPMI_Get_clique_ranks( int ranks[], int length ); /* get the ranks on my node */
-int iPMI_Abort(int exit_code, const char error_msg[]); /* abort this process group */
-
-/* PMI Keymap functions */
-int iPMI_KVS_Get_my_name( char kvsname[], int length );       /* get name of keyval space */
-int iPMI_KVS_Get_name_length_max( int *maxlen );        /* needed to communicate keyval space */
-int iPMI_KVS_Get_key_length_max( int *maxlen );         /* contents to a foreign domain */
-int iPMI_KVS_Get_value_length_max( int *maxlen );
-int iPMI_KVS_Create( char kvsname[], int length );            /* make a new one, get name */
-int iPMI_KVS_Destroy( const char kvsname[] );     /* finish with one */
-int iPMI_KVS_Put( const char kvsname[], const char key[],
-                const char value[]);             /* put data */
-int iPMI_KVS_Commit( const char kvsname[] );      /* block until all pending put
-                                                   operations from this process
-                                                   are complete.  This is a process
-                                                   local operation. */
-int iPMI_KVS_Get( const char kvsname[],
-                 const char key[], char value[], int length); /* get value associated with key */
-int iPMI_KVS_Iter_first(const char kvsname[], char key[], int key_len, char val[], int val_len);  /* loop through the */
-int iPMI_KVS_Iter_next(const char kvsname[], char key[], int key_len, char val[], int val_len);   /* pairs in the kvs */
-
-/* PMI Process Creation functions */
-
-int iPMI_Spawn_multiple(int count,
-                       const char * cmds[],
-                       const char ** argvs[],
-                       const int maxprocs[],
-                       const int info_keyval_sizes[],
-                       const PMI_keyval_t * info_keyval_vectors[],
-                       int preput_keyval_size,
-                       const PMI_keyval_t preput_keyval_vector[],
-                       int errors[]);
-
-int iPMI_Parse_option(int num_args, char *args[], int *num_parsed, PMI_keyval_t **keyvalp, int *size);
-/* parse PMI implementation specific values into an info object that can then be passed to 
-   PMI_Spawn_multiple.  Remove PMI implementation specific arguments from argc and argv */
-int iPMI_Args_to_keyval(int *argcp, char *((*argvp)[]), PMI_keyval_t **keyvalp, int *size);
-/* free the data returned by iPMI_Parse_option or iPMI_Args_to_keyval */
-int iPMI_Free_keyvals(PMI_keyval_t keyvalp[], int size);
-
-/* External Interface Functions */
-
-int iPMI_Publish_name( const char service_name[], const char port[] );
-int iPMI_Unpublish_name( const char service_name[] );
-int iPMI_Lookup_name( const char service_name[], char port[] );
-
-typedef struct ipmi_functions_t
-{
-    int (*PMI_Init)( int * );
-    int (*PMI_Initialized)( int *);
-    int (*PMI_Finalize)( void );
-    int (*PMI_Get_size)( int * );
-    int (*PMI_Get_rank)( int * );
-    int (*PMI_Get_universe_size)( int * );
-    int (*PMI_Get_appnum)( int * );
-    int (*PMI_Get_id)( char[] , int );
-    int (*PMI_Get_kvs_domain_id)( char [], int );
-    int (*PMI_Get_id_length_max)( int *);
-    int (*PMI_Barrier)( void );
-    int (*PMI_Get_clique_size)( int * );
-    int (*PMI_Get_clique_ranks)( int [], int );
-    int (*PMI_Abort)( int, const char [] );
-    int (*PMI_KVS_Get_my_name)( char [], int );
-    int (*PMI_KVS_Get_name_length_max)( int * );
-    int (*PMI_KVS_Get_key_length_max)( int * );
-    int (*PMI_KVS_Get_value_length_max)( int * );
-    int (*PMI_KVS_Create)( char [], int );
-    int (*PMI_KVS_Destroy)( const char [] );
-    int (*PMI_KVS_Put)( const char [], const char [], const char [] );
-    int (*PMI_KVS_Commit)( const char [] );
-    int (*PMI_KVS_Get)( const char [], const char [], char [], int );
-    int (*PMI_KVS_Iter_first)( const char [], char [], int, char [], int );
-    int (*PMI_KVS_Iter_next)( const char [], char [], int , char [], int );
-    int (*PMI_Spawn_multiple)( int, const char *[], const char **[], const int [], const int [], const PMI_keyval_t *[], int, const PMI_keyval_t [], int [] );
-    int (*PMI_Parse_option)( int, char *[], int *, PMI_keyval_t **, int * );
-    int (*PMI_Args_to_keyval)( int *, char *((*)[]), PMI_keyval_t **, int * );
-    int (*PMI_Free_keyvals)( PMI_keyval_t [], int );
-    int (*PMI_Publish_name)( const char [], const char [] );
-    int (*PMI_Unpublish_name)( const char [] );
-    int (*PMI_Lookup_name)( const char [], char [] );
-} ipmi_functions_t;
-
-#if defined(__cplusplus)
-}
-#endif
-
-#endif
diff --git a/src/pmi/smpd/pmi.vcproj b/src/pmi/smpd/pmi.vcproj
deleted file mode 100644
index 77d987c..0000000
--- a/src/pmi/smpd/pmi.vcproj
+++ /dev/null
@@ -1,318 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="pmi"
-	ProjectGUID="{97B727A6-0F41-4E8E-A524-FC0F30D3AC8A}"
-	RootNamespace="pmi"
-	Keyword="Win32Proj"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="Debug"
-			IntermediateDirectory="Debug"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\include;..\..\include\win32;..\..\mpl\include;..\..\pm\smpd;..\..\pm\smpd\sock\include;..\..\pm\smpd\sock\iocp\include"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;HAVE_WINDOWS_H;USE_WINCONF_H;USE_WINCONF_H;_WIN32_WINNT=0x0500"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\pmid.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="Release"
-			IntermediateDirectory="Release"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\..\include;..\..\include\win32;..\..\mpl\include;..\..\pm\smpd;..\..\pm\smpd\sock\include;..\..\pm\smpd\sock\iocp\include"
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;HAVE_WINDOWS_H;USE_WINCONF_H;USE_WINCONF_H;_WIN32_WINNT=0x0500"
-				RuntimeLibrary="0"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\pmi.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3nemesisPRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\..\include,..\..\include\win32,..\..\mpid\common\sock,..\..\mpid\common\sock\iocp,..\..\pm\smpd"
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;HAVE_WINDOWS_H;USE_WINCONF_H;USE_WINCONF_H;_WIN32_WINNT=0x0500"
-				RuntimeLibrary="0"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\pmi.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="fortPRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\..\include;..\..\include\win32;..\..\mpl\include;..\..\pm\smpd;..\..\pm\smpd\sock\include;..\..\pm\smpd\sock\iocp\include"
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;HAVE_WINDOWS_H;USE_WINCONF_H;USE_WINCONF_H;_WIN32_WINNT=0x0500"
-				RuntimeLibrary="0"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\pmi.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath=".\smpd_ipmi.c"
-				>
-			</File>
-			<File
-				RelativePath=".\smpd_pmi.c"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-			<File
-				RelativePath=".\ipmi.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\include\pmi.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\pm\smpd\smpd.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/src/pmi/smpd/smpd_ipmi.c b/src/pmi/smpd/smpd_ipmi.c
deleted file mode 100644
index 6eba5d7..0000000
--- a/src/pmi/smpd/smpd_ipmi.c
+++ /dev/null
@@ -1,3151 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-#include "ipmi.h"
-#ifdef HAVE_CTYPE_H
-#include <ctype.h>
-#endif
-
-/* pmiimpl.h */
-
-static int root_smpd(void *p);
-
-/* Define to prevent an smpd root thread or process from being created when 
-   there is only one process. */
-/* Currently, defining this prevents the use of the spawn command. */
-/*#define SINGLE_PROCESS_OPTIMIZATION*/
-
-#define PMI_MAX_KEY_LEN          256
-#define PMI_MAX_VALUE_LEN        8192
-#define PMI_MAX_KVS_NAME_LENGTH  100
-#define PMI_MAX_HOST_NAME_LENGTH 100
-#define PMI_MAX_STR_VAL_LENGTH   100
-
-#ifdef HAVE_WINDOWS_H
-    #define PMII_PROCESS_HANDLE_TYPE    HANDLE
-    #define PMII_PROCESS_INVALID_HANDLE    NULL
-#else
-    #define PMII_PROCESS_HANDLE_TYPE    int
-    #define PMII_PROCESS_INVALID_HANDLE    -1
-#endif
-
-typedef enum {PMI_UNINITIALIZED,
-                PMI_SINGLETON_INIT_BUT_NO_PM,
-                PMI_SINGLETON_INIT_WITH_PM, 
-                PMI_INITIALIZED,
-                PMI_FINALIZED} PMIState;
-
-/*
-#define PMI_INITIALIZED 0
-#define PMI_FINALIZED   1
-*/
-
-#define PMI_TRUE        1
-#define PMI_FALSE       0
-
-typedef struct pmi_process_t
-{
-    int rpmi;
-#ifdef HAVE_WINDOWS_H
-    HANDLE hRootThread;
-    HANDLE hRootThreadReadyEvent;
-#else
-    int root_pid;
-#endif
-    char root_host[100];
-    int root_port;
-    int local_kvs;
-    char kvs_name[PMI_MAX_KVS_NAME_LENGTH];
-    char domain_name[PMI_MAX_KVS_NAME_LENGTH];
-    SMPDU_Sock_t sock;
-    SMPDU_Sock_set_t set;
-    int iproc;
-    int nproc;
-    PMIState init_finalized;
-    int smpd_id;
-    SMPDU_SOCK_NATIVE_FD smpd_fd;
-    int smpd_key;
-    smpd_context_t *context;
-    int clique_size;
-    int *clique_ranks;
-    char host[PMI_MAX_HOST_NAME_LENGTH];
-    int port;
-    int appnum;
-    PMII_PROCESS_HANDLE_TYPE singleton_mpiexec_fd;
-    char kvs_name_singleton_nopm[PMI_MAX_KVS_NAME_LENGTH];
-} pmi_process_t;
-
-/* global variables */
-static pmi_process_t pmi_process =
-{
-    PMI_FALSE,           /* rpmi           */
-#ifdef HAVE_WINDOWS_H
-    NULL,                /* root thread    */
-    NULL,                /* hRootThreadReadyEvent */
-#else
-    0,                   /* root pid       */
-#endif
-    "",                  /* root host      */
-    0,                   /* root port      */
-    PMI_FALSE,           /* local_kvs      */
-    "",                  /* kvs_name       */
-    "",                  /* domain_name    */
-    SMPDU_SOCK_INVALID_SOCK,  /* sock           */
-    SMPDU_SOCK_INVALID_SET,   /* set            */
-    -1,                  /* iproc          */
-    -1,                  /* nproc          */
-    PMI_UNINITIALIZED,       /* init_finalized */
-    -1,                  /* smpd_id        */
-    0,                   /* smpd_fd        */
-    0,                   /* smpd_key       */
-    NULL,                /* context        */
-    0,                   /* clique_size    */
-    NULL,                /* clique_ranks   */
-    "",                  /* host           */
-    -1,                  /* port           */
-    0,                    /* appnum         */
-    PMII_PROCESS_INVALID_HANDLE, /* singleton mpiexec proc handle/pid */
-    ""                      /* kvs_name of singleton proc with no PM */
-};
-
-
-void pmi_init_printf(void)
-{
-    char *env;
-    
-    env = getenv("SMPD_DBG_OUTPUT");
-    if(env != NULL){
-        /* We only support tracing for now */
-        smpd_process.verbose = SMPD_TRUE;
-        smpd_process.dbg_state |= SMPD_DBG_STATE_ERROUT | SMPD_DBG_STATE_STDOUT | SMPD_DBG_STATE_TRACE;
-    }
-}
-
-static int silence = 0;
-static int pmi_err_printf(char *str, ...)
-{
-    int n=0;
-    va_list list;
-
-    if (!silence)
-    {
-	printf("[%d] ", pmi_process.iproc);
-	va_start(list, str);
-	n = vprintf(str, list);
-	va_end(list);
-
-	fflush(stdout);
-    }
-
-    return n;
-}
-
-#ifdef PMII_DEBUG_
-static int pmi_dbg_printf(char *str, ...)
-{
-    int n=0;
-    va_list list;
-
-	printf("[%d] ", pmi_process.iproc);
-	va_start(list, str);
-	n = vprintf(str, list);
-	va_end(list);
-	fflush(stdout);
-
-    return n;
-}
-#else
-#   define pmi_dbg_printf(...)  1
-#endif
-
-static int pmi_mpi_err_printf(int mpi_errno, char *fmt, ... )
-{
-    int n;
-    va_list list;
-
-    /* convert the error code to a string */
-    printf("mpi_errno: %d\n", mpi_errno);
-
-    printf("[%d] ", pmi_process.iproc);
-    va_start(list, fmt);
-    n = vprintf(fmt, list);
-    va_end(list);
-
-    fflush(stdout);
-
-    MPIR_Err_return_comm(NULL, "", mpi_errno);
-
-    return n;
-}
-
-static int pmi_create_post_command(const char *command, const char *name, const char *key, const char *value)
-{
-    int result;
-    smpd_command_t *cmd_ptr;
-    int dest = 1;
-    int add_id = 0;
-
-    if (!pmi_process.rpmi)
-    {
-	if (strcmp(command, "done") == 0)
-	{
-	    /* done commands go to the immediate smpd, not the root */
-	    dest = pmi_process.smpd_id;
-	}
-    }
-    if ((strcmp(command, "init") == 0) || (strcmp(command, "finalize") == 0))
-    {
-	add_id = 1;
-	dest = 0;
-    }
-
-    result = smpd_create_command((char*)command, pmi_process.smpd_id, dest, SMPD_TRUE, &cmd_ptr);
-    if (result != SMPD_SUCCESS)
-    {
-	pmi_err_printf("unable to create a %s command.\n", command);
-	return PMI_FAIL;
-    }
-    result = smpd_add_command_int_arg(cmd_ptr, "ctx_key", pmi_process.smpd_key);
-    if (result != SMPD_SUCCESS)
-    {
-	pmi_err_printf("unable to add the key to the %s command.\n", command);
-	return PMI_FAIL;
-    }
-
-    if (name != NULL)
-    {
-	result = smpd_add_command_arg(cmd_ptr, "name", (char*)name);
-	if (result != SMPD_SUCCESS)
-	{
-	    pmi_err_printf("unable to add the kvs name('%s') to the %s command.\n", name, command);
-	    return PMI_FAIL;
-	}
-    }
-
-    if (key != NULL)
-    {
-	result = smpd_add_command_arg(cmd_ptr, "key", (char*)key);
-	if (result != SMPD_SUCCESS)
-	{
-	    pmi_err_printf("unable to add the key('%s') to the %s command.\n", key, command);
-	    return PMI_FAIL;
-	}
-    }
-
-    if (value != NULL)
-    {
-	result = smpd_add_command_arg(cmd_ptr, "value", (char*)value);
-	if (result != SMPD_SUCCESS)
-	{
-	    pmi_err_printf("unable to add the value('%s') to the %s command.\n", value, command);
-	    return PMI_FAIL;
-	}
-    }
-
-    if (add_id)
-    {
-	result = smpd_add_command_int_arg(cmd_ptr, "node_id", pmi_process.smpd_id);
-	if (result != SMPD_SUCCESS)
-	{
-	    pmi_err_printf("unable to add the node_id(%d) to the %s command.\n", pmi_process.smpd_id, command);
-	    return PMI_FAIL;
-	}
-    }
-
-    /* post the write of the command */
-    /*
-    printf("posting write of dbs command to %s context, sock %d: '%s'\n",
-	smpd_get_context_str(pmi_process.context), SMPDU_Sock_getid(pmi_process.context->sock), cmd_ptr->cmd);
-    fflush(stdout);
-    */
-    /* If proc_info command add the proc_info args */
-    if(strcmp(command, "proc_info") == 0){
-        /* FIXME - Send the actual exe name */
-        result = smpd_add_command_arg(cmd_ptr, "c", "singleton_client");
-        if(result != SMPD_SUCCESS){
-            smpd_err_printf("Unable to add executable name to 'proc_info' cmd\n");
-        }
-        result = smpd_add_command_int_arg(cmd_ptr, "i", pmi_process.iproc);
-        if(result != SMPD_SUCCESS){
-            smpd_err_printf("Unable to add rank to 'proc_info' cmd\n");        
-        }
-        result = smpd_add_command_int_arg(cmd_ptr, "n", pmi_process.nproc);
-        if(result != SMPD_SUCCESS){
-            smpd_err_printf("Unable to add nprocs to 'proc_info' cmd\n");
-        }
-        result = smpd_add_command_int_arg(cmd_ptr, "s", smpd_process.is_singleton_client ? 1 : 0);
-        if(result != SMPD_SUCCESS){
-            smpd_err_printf("Unable to add 'is_singleton_client' to 'proc_info' cmd\n");
-        }
-#ifndef HAVE_WINDOWS_H
-        /* For non-windows systems send the PID in 'proc_info' */
-        /* FIXME: Can we send a pid_t as an int ? */
-        result = smpd_add_command_int_arg(cmd_ptr, "p", getpid());
-        if(result != SMPD_SUCCESS){
-            smpd_err_printf("Unable to add PID to 'proc_info' cmd \n");
-        }
-#endif
-    }
-
-    result = smpd_post_write_command(pmi_process.context, cmd_ptr);
-    if (result != SMPD_SUCCESS)
-    {
-	pmi_err_printf("unable to post a write of the %s command.\n", command);
-	return PMI_FAIL;
-    }
-    if (strcmp(command, "done"))
-    {
-	/* and post a read for the result if it is not a done command */
-	result = smpd_post_read_command(pmi_process.context);
-	if (result != SMPD_SUCCESS)
-	{
-	    pmi_err_printf("unable to post a read of the next command on the pmi context.\n");
-	    return PMI_FAIL;
-	}
-    }
-
-    /* let the state machine send the command and receive the result */
-    result = smpd_enter_at_state(pmi_process.set, SMPD_WRITING_CMD);
-    if (result != SMPD_SUCCESS)
-    {
-	pmi_err_printf("the state machine logic failed to get the result of the %s command.\n", command);
-	return PMI_FAIL;
-    }
-    return PMI_SUCCESS;
-}
-
-static int uPMI_ConnectToHost(char *host, int port, smpd_state_t state)
-{
-    int result;
-    char error_msg[MPI_MAX_ERROR_STRING];
-    int len;
-
-    /* Make sure that we have the smpd passphrase before connecting to PM */
-    if (smpd_process.passphrase[0] == '\0'){
-        smpd_get_smpd_data("phrase", smpd_process.passphrase, SMPD_PASSPHRASE_MAX_LENGTH);
-    }
-    if (smpd_process.passphrase[0] == '\0'){
-        if (smpd_process.noprompt){
-            pmi_err_printf("Error: No smpd passphrase specified through the registry or .smpd file, exiting.\n");
-            return PMI_FAIL;
-        }
-        else{
-            printf("Please specify an authentication passphrase for smpd: "); fflush(stdout);
-            smpd_get_password(smpd_process.passphrase);
-        }
-    }
-
-    /*printf("posting a connect to %s:%d\n", host, port);fflush(stdout);*/
-    result = smpd_create_context(SMPD_CONTEXT_PMI, pmi_process.set, SMPDU_SOCK_INVALID_SOCK/*pmi_process.sock*/, smpd_process.id, &pmi_process.context);
-    if (result != SMPD_SUCCESS)
-    {
-	pmi_err_printf("PMI_ConnectToHost failed: unable to create a context to connect to %s:%d with.\n", host, port);
-	return PMI_FAIL;
-    }
-
-    result = SMPDU_Sock_post_connect(pmi_process.set, pmi_process.context, host, port, &pmi_process.sock);
-    if (result != SMPD_SUCCESS)
-    {
-	printf("SMPDU_Sock_post_connect failed.\n");fflush(stdout);
-	len = MPI_MAX_ERROR_STRING;
-	PMPI_Error_string(result, error_msg, &len);
-	pmi_err_printf("PMI_ConnectToHost failed: unable to post a connect to %s:%d, error: %s\n", host, port, error_msg);
-	printf("uPMI_ConnectToHost returning PMI_FAIL\n");fflush(stdout);
-	return PMI_FAIL;
-    }
-
-    pmi_process.context->sock = pmi_process.sock;
-    pmi_process.context->state = state;
-
-    result = smpd_enter_at_state(pmi_process.set, state);
-    if (result != MPI_SUCCESS)
-    {
-	pmi_mpi_err_printf(result, "PMI_ConnectToHost failed: unable to connect to %s:%d.\n", host, port);
-	return PMI_FAIL;
-    }
-
-    if (state == SMPD_CONNECTING_RPMI)
-    {
-	/* remote pmi processes receive their smpd_key when they connect to the smpd pmi server */
-	pmi_process.smpd_key = atoi(pmi_process.context->session);
-    }
-
-    return SMPD_SUCCESS;
-}
-
-static int pmi_create_localKVS(void ){
-    /* Its ok to init here since we can only have one local db */
-	if (smpd_dbs_init() != SMPD_DBS_SUCCESS){
-	    pmi_err_printf("unable to initialize the local dbs engine.\n");
-	    return PMI_FAIL;
-	}
-
-	if (smpd_dbs_create(pmi_process.kvs_name) != SMPD_DBS_SUCCESS){
-	    pmi_err_printf("unable to create the process group kvs\n");
-	    return PMI_FAIL;
-	}
-    /* smpd_process.domain_name is created in smpd_dbs_init() */
-	MPIU_Strncpy(pmi_process.domain_name, smpd_process.domain_name, 
-        PMI_MAX_KVS_NAME_LENGTH);
-	pmi_process.local_kvs = PMI_TRUE;
-    return PMI_SUCCESS;
-}
-
-static int pmi_destroy_localKVS(void ){
-    /* Its ok to finalize here since we can only have one local db */
-    if(smpd_dbs_finalize() != SMPD_DBS_SUCCESS){
-        pmi_err_printf("unable to finalize the local dbs engine.\n");
-        return PMI_FAIL;
-    }
-    pmi_process.local_kvs = PMI_FALSE;
-    return PMI_SUCCESS;
-}
-
-/* FIXME : Currently only used for singleton init -- mostly only one
- * pair of (key, val) . Inefficient for large number of (key,val)s
- */
-
-static int pmi_rsync_localKVS(const char *localKVSName,
-        const char *remoteKVSName){
-    smpd_dbsIter_t localKVSIter;
-    char key[SMPD_MAX_DBS_KEY_LEN], value[SMPD_MAX_DBS_VALUE_LEN];
-    if(smpd_dbsIter_init(localKVSName, &localKVSIter) !=
-        SMPD_DBS_SUCCESS){
-        pmi_err_printf("Error initializing local KVS iterator\n");
-        return PMI_FAIL;
-    }
-    while(smpd_dbs_hasMoreKeys(localKVSIter)){
-        if(smpd_dbs_getNextKeyVal(&localKVSIter, key, value)
-            != SMPD_DBS_SUCCESS){
-            smpd_err_printf("Error reading key/val from localKVS\n");
-            return PMI_FAIL;
-        }
-        if(PMI_KVS_Put(remoteKVSName, key, value) != PMI_SUCCESS){
-            smpd_err_printf("Error syncing localKVS to remoteKVS\n");
-            return PMI_FAIL;
-        }
-    }
-    smpd_dbsIter_finalize(&localKVSIter);
-    return PMI_SUCCESS;
-}
-
-/* Launch an instance of mpiexec which will connect to SMPD and start a PMI service.
- * This instance of mpiexec will connect back using the portNo specified in the "-port" option
- * and provide info about the new PMI service.
- */
-static PMII_PROCESS_HANDLE_TYPE launch_mpiexec_process(int portNo){
-#ifdef HAVE_WINDOWS_H
-#define PMII_MAX_MPIEXEC_CMD_STR_LENGTH 100
-    char progName[PMII_MAX_MPIEXEC_CMD_STR_LENGTH];
-    STARTUPINFO sInfo;
-    PROCESS_INFORMATION pInfo = { 0 };
-    ZeroMemory(&sInfo, sizeof(sInfo));
-    sInfo.cb = sizeof(sInfo);
-    ZeroMemory(&pInfo, sizeof(pInfo));
-    snprintf(progName, PMII_MAX_MPIEXEC_CMD_STR_LENGTH, 
-                "mpiexec -pmiserver 1 -port %d -hide_console", portNo);
-    if(!CreateProcess(NULL, progName, NULL, NULL, TRUE, 
-                        NORMAL_PRIORITY_CLASS | CREATE_NO_WINDOW, NULL, NULL, &sInfo, &pInfo)){
-        pmi_err_printf("Error creating mpiexec process...%d\n", GetLastError());
-        pmi_err_printf("This singleton init program tried to access a feature which requires PM support\n");
-        pmi_err_printf("eg: spawn, universe_size etc\n");
-        pmi_err_printf("The program failed because mpiexec could not be located\n");
-        return PMII_PROCESS_INVALID_HANDLE;
-    }
-    return pInfo.hProcess;
-#else
-#define PMII_MPIEXEC_CMDLINE_ARGV_SIZE 6
-    int pid, rc;
-    char *mpiexecArgv[PMII_MPIEXEC_CMDLINE_ARGV_SIZE];
-	char port[16];
-    pid = fork();
-    if(pid < 0){
-        pmi_err_printf("Error creating mpiexec process...\n");
-        return PMII_PROCESS_INVALID_HANDLE;
-    }
-    else if(pid == 0){
-		MPIU_Snprintf(port, sizeof(port), "%d", portNo);
-        mpiexecArgv[0] = "mpiexec";
-        mpiexecArgv[1] = "-pmiserver";
-        mpiexecArgv[2] = "1";
-        mpiexecArgv[3] = "-port";
-        mpiexecArgv[4] = port;
-        mpiexecArgv[5] = NULL;
-        rc = execvp(mpiexecArgv[0], mpiexecArgv);
-        pmi_err_printf("Error Singinit execv'ing mpiexec failed\n");
-        pmi_err_printf("This singleton init program tried to access a feature which requires PM support\n");
-        pmi_err_printf("eg: spawn, universe_size etc\n");
-        pmi_err_printf("The program failed because mpiexec could not be located\n");
-        exit(-1);
-    }
-    else{
-        return pid;
-    }
-#endif
-}
-
-#define PMII_ERR_SETPRINTANDJUMP(msg, errcode) { pmi_err_printf("%s", msg); retval = errcode; goto fn_fail; }
-#define PMII_MAX_ERR_MSG_LENGTH     100
-
-static int PMIi_InitSingleton(void ){
-    SMPDU_Sock_set_t singleton_client_set;
-    SMPDU_Sock_t singleton_client_sock;
-    smpd_context_t *p_singleton_context=NULL;
-    char err_msg[PMII_MAX_ERR_MSG_LENGTH];
-    int singleton_client_lport;
-    int result, retval = PMI_SUCCESS;
-    char rank_str[PMI_MAX_STR_VAL_LENGTH], size_str[PMI_MAX_STR_VAL_LENGTH];
-    char str[PMI_MAX_STR_VAL_LENGTH];
-
-    /* Enable singleton_init state machine tracing */
-    /*
-    smpd_process.verbose = SMPD_TRUE;
-	smpd_process.dbg_state |= SMPD_DBG_STATE_ERROUT | SMPD_DBG_STATE_STDOUT | SMPD_DBG_STATE_TRACE;
-    */
-
-    result = SMPDU_Sock_create_set(&singleton_client_set);
-    if(result != SMPD_SUCCESS){
-        MPIU_Snprintf(err_msg, PMII_MAX_ERR_MSG_LENGTH, "SMPDU_Sock_create_set failed: unable to create a sock set, error: %d\n", result);
-	    PMII_ERR_SETPRINTANDJUMP(err_msg, result);
-    }
-
-    /* Assign an ephemeral port */
-    singleton_client_lport = 0;
-    result = SMPDU_Sock_listen(singleton_client_set, NULL, &singleton_client_lport, &singleton_client_sock);
-    if (result != SMPD_SUCCESS){
-        MPIU_Snprintf(err_msg, PMII_MAX_ERR_MSG_LENGTH, "SMPDU_Sock_listen failed,\nsock error: %s\n", get_sock_error_string(result));
-	    PMII_ERR_SETPRINTANDJUMP(err_msg, result);
-    }
-
-    result = smpd_create_context(SMPD_CONTEXT_SINGLETON_INIT_CLIENT, singleton_client_set, singleton_client_sock,
-                                     -1, &p_singleton_context);
-    if (result != SMPD_SUCCESS){
-        MPIU_Snprintf(err_msg, PMII_MAX_ERR_MSG_LENGTH, "smpd_create_context failed, error = %d\n", result);
-	    PMII_ERR_SETPRINTANDJUMP(err_msg, result);
-    }
-
-    result = SMPDU_Sock_set_user_ptr(singleton_client_sock, p_singleton_context);
-    if (result != SMPD_SUCCESS){
-        MPIU_Snprintf(err_msg, PMII_MAX_ERR_MSG_LENGTH, "SMPDU_Sock_set_user_ptr failed,\nsock error: %s\n", get_sock_error_string(result));
-	    PMII_ERR_SETPRINTANDJUMP(err_msg, result);
-    }
-
-    p_singleton_context->state = SMPD_SINGLETON_CLIENT_LISTENING;
-
-    /* Create an instance of mpiexec that will connect back and give us information about the PM to connect to */
-    pmi_process.singleton_mpiexec_fd = launch_mpiexec_process(singleton_client_lport);
-    if(pmi_process.singleton_mpiexec_fd == PMII_PROCESS_INVALID_HANDLE){
-        result = -1;
-        MPIU_Snprintf(err_msg, PMII_MAX_ERR_MSG_LENGTH, "launchMpiexecProcess failed\n");
-	    PMII_ERR_SETPRINTANDJUMP(err_msg, result);
-    }
-    /* FIXME: Switch to PMI v2 to recognize non-MPICH mpiexecs */
-    /* SMPD state machine will accept connection from mpiexec & get information about the PM */
-    result = smpd_enter_at_state(singleton_client_set, SMPD_SINGLETON_CLIENT_LISTENING);
-    if (result != SMPD_SUCCESS) {
-        MPIU_Snprintf(err_msg, PMII_MAX_ERR_MSG_LENGTH, "smpd state machine failed, error = %d\n", result);
-	    PMII_ERR_SETPRINTANDJUMP(err_msg, result);
-    }
-    /* SMPD state machine has set the PMI info for smpd_process */
-    /* Now we have PMI_KVS, PMI_HOST and PMI_PORT info */
-	if ((smpd_process.port > 0) && 
-        (strlen(smpd_process.host) > 0) &&
-        (strlen(smpd_process.kvs_name) > 0)){
-        /* Save the current local KVS name */
-        MPIU_Strncpy(pmi_process.kvs_name_singleton_nopm, pmi_process.kvs_name, PMI_MAX_KVS_NAME_LENGTH);
-        /* Update the pmi process structs with the new remote KVS info */
-        MPIU_Strncpy(pmi_process.kvs_name, smpd_process.kvs_name, PMI_MAX_KVS_NAME_LENGTH);
-        MPIU_Strncpy(pmi_process.domain_name, smpd_process.domain_name, PMI_MAX_KVS_NAME_LENGTH);
-        MPIU_Strncpy(pmi_process.host, smpd_process.host, PMI_MAX_HOST_NAME_LENGTH);
-        MPIU_Strncpy(pmi_process.root_host, smpd_process.host, PMI_MAX_HOST_NAME_LENGTH);
-        pmi_process.root_port = smpd_process.port;
-        pmi_process.port = smpd_process.port;
-        /*
-        printf("Received:\nkvs_name = %s\nhost = %s\nport = %d\n",
-                pmi_process.kvs_name, pmi_process.host, pmi_process.port); fflush(stdout);
-        */
-
-        smpd_process.id = 1;
-        pmi_process.smpd_id = 1;
-        pmi_process.smpd_key = 0;
-        pmi_process.rpmi = PMI_TRUE;
-        pmi_process.local_kvs = PMI_FALSE;
-        pmi_process.iproc = 0;
-        pmi_process.nproc = 1;
-
-        smpd_process.is_singleton_client = SMPD_TRUE;
-
-        result = SMPDU_Sock_create_set(&pmi_process.set);
-	    if (result != SMPD_SUCCESS){
-            MPIU_Snprintf(err_msg, PMII_MAX_ERR_MSG_LENGTH, "SMPDU_Sock_create_set failed: unable to create a sock set, error: %d\n", result);
-    	    PMII_ERR_SETPRINTANDJUMP(err_msg, result);
-		}
-
-        /* Connect to PM */
-		result = uPMI_ConnectToHost(pmi_process.root_host, pmi_process.root_port, SMPD_CONNECTING_RPMI);
-		if (result != SMPD_SUCCESS){ 
-            MPIU_Snprintf(err_msg, PMII_MAX_ERR_MSG_LENGTH, "uPMI_ConnectToHost failed: error: %d\n", result);
-    	    PMII_ERR_SETPRINTANDJUMP(err_msg, result);
-		}
-
-        /* FIXME: Reduce size of rank_str & size_str */
-        MPIU_Snprintf(rank_str, PMI_MAX_STR_VAL_LENGTH, "%d", pmi_process.iproc);
-        MPIU_Snprintf(size_str, PMI_MAX_STR_VAL_LENGTH, "%d", pmi_process.nproc);
-
-        result = pmi_create_post_command("init", pmi_process.kvs_name, rank_str, size_str);
-        if (result != PMI_SUCCESS){
-	        pmi_err_printf("PMIi_InitSingleton failed: unable to create an init command.\n");
-	        return PMI_FAIL;
-        }
-
-        /* parse the result of the command */
-        if (MPIU_Str_get_string_arg(pmi_process.context->read_cmd.cmd, "result", str, PMI_MAX_STR_VAL_LENGTH)
-             != MPIU_STR_SUCCESS){
-        	pmi_err_printf("PMIi_InitSingleton failed: no result string in the 'init' result command.\n");
-	        return PMI_FAIL;
-        }
-
-        if (strncmp(str, SMPD_SUCCESS_STR, PMI_MAX_STR_VAL_LENGTH)){
-	        pmi_err_printf("PMIi_InitSingleton failed: %s\n", str);
-	        return PMI_FAIL;
-        }
-
-        /* Send info about the process to PM */
-        result = pmi_create_post_command("proc_info", pmi_process.kvs_name, rank_str, size_str);
-        if (result != PMI_SUCCESS){
-	        pmi_dbg_printf("PMIi_InitSingleton failed: unable to create a 'proc_info' command.\n");
-	        return PMI_FAIL;
-        }
-
-        /* parse the result of the command */
-        if (MPIU_Str_get_string_arg(pmi_process.context->read_cmd.cmd, "result", str, PMI_MAX_STR_VAL_LENGTH)
-             != MPIU_STR_SUCCESS){
-        	pmi_err_printf("PMIi_InitSingleton failed: no result string in the 'proc_info' result command.\n");
-	        return PMI_FAIL;
-        }
-
-        if (strncmp(str, SMPD_SUCCESS_STR, PMI_MAX_STR_VAL_LENGTH)){
-	        pmi_err_printf("PMIi_InitSingleton failed: %s\n", str);
-	        return PMI_FAIL;
-        }
-
-        pmi_process.init_finalized = PMI_INITIALIZED;
-        /* Sync old local KVS with new remote KVS */
-        if(pmi_rsync_localKVS(pmi_process.kvs_name_singleton_nopm, pmi_process.kvs_name)
-                != PMI_SUCCESS){
-            PMII_ERR_SETPRINTANDJUMP("Sync'ing local KVS in singleton proc to remote KVS in PM failed",
-                PMI_FAIL);
-        }
-
-        /* Remove local KVS */
-        if(pmi_destroy_localKVS() != PMI_SUCCESS){
-            PMII_ERR_SETPRINTANDJUMP("Error removing local KVS in singleton proc\n", PMI_FAIL);
-        }
-    }
-	else{
-        MPIU_Snprintf(err_msg, PMII_MAX_ERR_MSG_LENGTH, 
-            "No mechanism specified for connecting to the process manager - host %s or port %d provided.\n", 
-            pmi_process.host, pmi_process.port);
-	    PMII_ERR_SETPRINTANDJUMP(err_msg, result);
-	}
-
-fn_exit:
-    if(singleton_client_set){
-        result = SMPDU_Sock_destroy_set(singleton_client_set);
-        if(result != SMPD_SUCCESS){
-            pmi_err_printf("SMPDU_Sock_destroy_set failed: unable to destroy a sock set, error: %d\n", result);
-        }
-    }
-    /* Make sure we return the error code set within the funcn */
-    return retval;
-fn_fail:
-    /* FIXME : Make sure the newly created mpiexec process is also killed in the case of an error */
-	/* FIXME : On failure do we have a local KVS ? */
-    if(p_singleton_context){
-        result = smpd_free_context(p_singleton_context);
-        if(result != SMPD_SUCCESS){
-            pmi_err_printf("smpd_free_context failed, error = %d\n", result);
-        }
-    }
-    goto fn_exit;
-}
-
-int iPMI_Initialized(int *initialized)
-{
-    if (initialized == NULL)
-	return PMI_ERR_INVALID_ARG;
-    if (pmi_process.init_finalized == PMI_INITIALIZED)
-    {
-	*initialized = PMI_TRUE;
-    }
-    else
-    {
-	*initialized = PMI_FALSE;
-    }
-    return PMI_SUCCESS;
-}
-
-static int parse_clique(const char *str_orig)
-{
-    int count, i;
-    char *str, *token;
-    int first, last;
-
-    /* count clique */
-    count = 0;
-    str = MPIU_Strdup(str_orig);
-    if (str == NULL)
-	return PMI_FAIL;
-    token = strtok(str, ",");
-    while (token)
-    {
-	first = atoi(token);
-	while (isdigit(*token))
-	    token++;
-	if (*token == '\0')
-	    count++;
-	else
-	{
-	    if (*token == '.')
-	    {
-		token++;
-		token++;
-		last = atoi(token);
-		count += last - first + 1;
-	    }
-	    else
-	    {
-		pmi_err_printf("unexpected clique token: '%s'\n", token);
-		MPIU_Free(str);
-		return PMI_FAIL;
-	    }
-	}
-	token = strtok(NULL, ",");
-    }
-    MPIU_Free(str);
-
-    /* allocate array */
-    pmi_process.clique_ranks = (int*)MPIU_Malloc(count * sizeof(int));
-    if (pmi_process.clique_ranks == NULL)
-	return PMI_FAIL;
-    pmi_process.clique_size = count;
-    
-    /* populate array */
-    count = 0;
-    str = MPIU_Strdup(str_orig);
-    if (str == NULL)
-	return PMI_FAIL;
-    token = strtok(str, ",");
-    while (token)
-    {
-	first = atoi(token);
-	while (isdigit(*token))
-	    token++;
-	if (*token == '\0')
-	{
-	    pmi_process.clique_ranks[count] = first;
-	    count++;
-	}
-	else
-	{
-	    if (*token == '.')
-	    {
-		token++;
-		token++;
-		last = atoi(token);
-		for (i=first; i<=last; i++)
-		{
-		    pmi_process.clique_ranks[count] = i;
-		    count++;
-		}
-	    }
-	    else
-	    {
-		pmi_err_printf("unexpected clique token: '%s'\n", token);
-		MPIU_Free(str);
-		return PMI_FAIL;
-	    }
-	}
-	token = strtok(NULL, ",");
-    }
-    MPIU_Free(str);
-
-    /*
-    printf("clique: %d [", pmi_process.iproc);
-    for (i=0; i<pmi_process.clique_size; i++)
-    {
-	printf("%d,", pmi_process.clique_ranks[i]);
-    }
-    printf("]\n");
-    fflush(stdout);
-    */
-    return PMI_SUCCESS;
-}
-
-
-static int rPMI_Init(int *spawned)
-{
-    char *p;
-    int result;
-    char rank_str[100], size_str[100];
-    char str[1024];
-
-    if (spawned == NULL)
-	return PMI_ERR_INVALID_ARG;
-
-    /* Enable state machine tracing 
-    smpd_process.verbose = SMPD_TRUE;
-    smpd_process.dbg_state |= SMPD_DBG_STATE_ERROUT | SMPD_DBG_STATE_STDOUT | SMPD_DBG_STATE_TRACE;
-    */
-
-    /* initialize to defaults */
-    smpd_process.id = 1;
-    pmi_process.smpd_id = 1;
-    pmi_process.rpmi = PMI_TRUE;
-    pmi_process.iproc = 0;
-    pmi_process.nproc = 1;
-
-    p = getenv("PMI_ROOT_HOST");
-    if (p == NULL)
-    {
-	pmi_err_printf("unable to initialize the rPMI library: no PMI_ROOT_HOST specified.\n");
-	return PMI_FAIL;
-    }
-    strncpy(pmi_process.root_host, p, 100);
-
-    p = getenv("PMI_ROOT_PORT");
-    if (p == NULL)
-    {
-	/* set to default port? */
-	pmi_err_printf("unable to initialize the rPMI library: no PMI_ROOT_PORT specified.\n");
-	return PMI_FAIL;
-    }
-    pmi_process.root_port = atoi(p);
-    if (pmi_process.root_port < 1)
-    {
-	pmi_err_printf("invalid root port specified: %s\n", p);
-	return PMI_FAIL;
-    }
-    smpd_process.port = pmi_process.root_port;
-    strcpy(smpd_process.host, pmi_process.root_host);
-
-    p = getenv("PMI_SPAWN");
-    if (p)
-    {
-	*spawned = atoi(p);
-    }
-    else
-    {
-	*spawned = 0;
-    }
-
-    p = getenv("PMI_KVS");
-    if (p != NULL)
-    {
-	/* use specified kvs name */
-	strncpy(pmi_process.kvs_name, p, PMI_MAX_KVS_NAME_LENGTH);
-	strncpy(smpd_process.kvs_name, p, PMI_MAX_KVS_NAME_LENGTH);
-    }
-    else
-    {
-	/* use default kvs name */
-	strncpy(pmi_process.kvs_name, "default_mpich_kvs_name", PMI_MAX_KVS_NAME_LENGTH);
-	strncpy(smpd_process.kvs_name, "default_mpich_kvs_name", PMI_MAX_KVS_NAME_LENGTH);
-    }
-
-    p = getenv("PMI_DOMAIN");
-    if (p != NULL)
-    {
-	strncpy(pmi_process.domain_name, p, PMI_MAX_KVS_NAME_LENGTH);
-	strncpy(smpd_process.domain_name, p, PMI_MAX_KVS_NAME_LENGTH);
-    }
-    else
-    {
-	strncpy(pmi_process.domain_name, "mpich", PMI_MAX_KVS_NAME_LENGTH);
-	strncpy(smpd_process.domain_name, "mpich", PMI_MAX_KVS_NAME_LENGTH);
-    }
-
-    p = getenv("PMI_RANK");
-    if (p != NULL)
-    {
-	pmi_process.iproc = atoi(p);
-	if (pmi_process.iproc < 0)
-	{
-	    pmi_err_printf("invalid rank %d\n", pmi_process.iproc);
-	    return PMI_FAIL;
-	}
-    }
-
-    p = getenv("PMI_SIZE");
-    if (p != NULL)
-    {
-	pmi_process.nproc = atoi(p);
-	if (pmi_process.nproc < 1)
-	{
-	    pmi_err_printf("invalid size %d\n", pmi_process.nproc);
-	    return PMI_FAIL;
-	}
-    }
-    smpd_process.nproc = pmi_process.nproc;
-#ifdef SINGLE_PROCESS_OPTIMIZATION
-/* leave this code #ifdef'd out so we can test rPMI stuff with one process */
-    if (pmi_process.nproc == 1)
-    {
-	pmi_process.local_kvs = PMI_TRUE;
-	result = smpd_dbs_init();
-	if (result != SMPD_SUCCESS)
-	{
-	    pmi_err_printf("unable to initialize the local dbs engine.\n");
-	    return PMI_FAIL;
-	}
-	result = smpd_dbs_create(pmi_process.kvs_name);
-	if (result != SMPD_SUCCESS)
-	{
-	    pmi_err_printf("unable to create the process group kvs\n");
-	    return PMI_FAIL;
-	}
-	pmi_process.init_finalized = PMI_INITIALIZED;
-	return PMI_SUCCESS;
-    }
-#endif
-
-    p = getenv("PMI_CLIQUE");
-    if (p != NULL)
-    {
-	parse_clique(p);
-    }
-
-    /*
-    printf("PMI_ROOT_HOST=%s PMI_ROOT_PORT=%s PMI_RANK=%s PMI_SIZE=%s PMI_KVS=%s PMI_CLIQUE=%s\n",
-	getenv("PMI_ROOT_HOST"), getenv("PMI_ROOT_PORT"), getenv("PMI_RANK"), getenv("PMI_SIZE"),
-	getenv("PMI_KVS"), getenv("PMI_CLIQUE"));
-    fflush(stdout);
-    */
-
-    if (pmi_process.iproc == 0)
-    {
-	p = getenv("PMI_ROOT_LOCAL");
-	if (p && strcmp(p, "1") == 0)
-	{
-#ifdef HAVE_WINDOWS_H
-	    pmi_process.hRootThreadReadyEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
-	    if (pmi_process.hRootThreadReadyEvent == NULL)
-	    {
-		pmi_err_printf("unable to create the root listener synchronization event, error: %d\n", GetLastError());
-		return PMI_FAIL;
-	    }
-	    pmi_process.hRootThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)root_smpd, NULL, 0, NULL);
-	    if (pmi_process.hRootThread == NULL)
-	    {
-		pmi_err_printf("unable to create the root listener thread: error %d\n", GetLastError());
-		return PMI_FAIL;
-	    }
-	    if (WaitForSingleObject(pmi_process.hRootThreadReadyEvent, 60000) != WAIT_OBJECT_0)
-	    {
-		pmi_err_printf("the root process thread failed to initialize.\n");
-		return PMI_FAIL;
-	    }
-#else
-	    result = fork();
-	    if (result == -1)
-	    {
-		pmi_err_printf("unable to fork the root listener, errno %d\n", errno);
-		return PMI_FAIL;
-	    }
-	    if (result == 0)
-	    {
-		root_smpd(NULL);
-		exit(0);
-	    }
-	    pmi_process.root_pid = result;
-#endif
-	}
-    }
-
-    /* connect to the root */
-
-    result = SMPDU_Sock_create_set(&pmi_process.set);
-    if (result != SMPD_SUCCESS)
-    {
-	pmi_err_printf("PMI_Init failed: unable to create a sock set, error: %d\n", result);
-	return PMI_FAIL;
-    }
-
-    result = uPMI_ConnectToHost(pmi_process.root_host, pmi_process.root_port, SMPD_CONNECTING_RPMI);
-    if (result != SMPD_SUCCESS)
-    {
-	pmi_err_printf("PMI_Init failed.\n");
-	return PMI_FAIL;
-    }
-
-    pmi_process.init_finalized = PMI_INITIALIZED;
-
-    sprintf(rank_str, "%d", pmi_process.iproc);
-    sprintf(size_str, "%d", pmi_process.nproc);
-    result = pmi_create_post_command("init", pmi_process.kvs_name, rank_str, size_str);
-    if (result != PMI_SUCCESS)
-    {
-	pmi_err_printf("PMI_Init failed: unable to create an init command.\n");
-	return PMI_FAIL;
-    }
-
-    /* parse the result of the command */
-    if (MPIU_Str_get_string_arg(pmi_process.context->read_cmd.cmd, "result", str, 1024) != MPIU_STR_SUCCESS)
-    {
-	pmi_err_printf("PMI_Init failed: no result string in the result command.\n");
-	return PMI_FAIL;
-    }
-    if (strcmp(str, SMPD_SUCCESS_STR))
-    {
-	pmi_err_printf("PMI_Init failed: %s\n", str);
-	return PMI_FAIL;
-    }
-
-    return PMI_SUCCESS;
-}
-
-static int rPMI_Finalize()
-{
-    int result;
-    char rank_str[100];
-    char str[1024];
-#ifndef HAVE_WINDOWS_H
-    int status;
-#endif
-
-    if (pmi_process.init_finalized == PMI_FINALIZED)
-	return PMI_SUCCESS;
-
-    if(pmi_process.init_finalized < PMI_INITIALIZED)
-    return PMI_SUCCESS;
-
-    if (pmi_process.local_kvs)
-    {
-	if(pmi_destroy_localKVS() != PMI_SUCCESS){
-        pmi_dbg_printf("Failed to destroy local KVS\n");
-    }
-    if(pmi_process.singleton_mpiexec_fd != PMII_PROCESS_INVALID_HANDLE){
-#ifdef HAVE_WINDOWS_H
-        WaitForSingleObject(pmi_process.singleton_mpiexec_fd, INFINITE);
-#else
-        waitpid(pmi_process.singleton_mpiexec_fd, &status, WUNTRACED);
-#endif	
-    }
-
-	result = SMPDU_Sock_finalize();
-	pmi_process.init_finalized = PMI_FINALIZED;
-	return PMI_SUCCESS;
-    }
-
-    sprintf(rank_str, "%d", pmi_process.iproc);
-    result = pmi_create_post_command("finalize", pmi_process.kvs_name, rank_str, NULL);
-    if (result != PMI_SUCCESS)
-    {
-	pmi_err_printf("PMI_Finalize failed: unable to create an finalize command.\n");
-	return PMI_FAIL;
-    }
-
-    /* parse the result of the command */
-    if (MPIU_Str_get_string_arg(pmi_process.context->read_cmd.cmd, "result", str, 1024) != MPIU_STR_SUCCESS)
-    {
-	pmi_err_printf("PMI_Finalize failed: no result string in the result command.\n");
-	return PMI_FAIL;
-    }
-    if (strcmp(str, SMPD_SUCCESS_STR))
-    {
-	pmi_err_printf("PMI_Finalize failed: %s\n", str);
-	return PMI_FAIL;
-    }
-
-    if (pmi_process.iproc == 0)
-    {
-	/* the root process tells the root to exit when all the pmi contexts have exited */
-	result = pmi_create_post_command("exit_on_done", NULL, NULL, NULL);
-	if (result != PMI_SUCCESS)
-	{
-	    pmi_err_printf("exit_on_done command failed.\n");
-	    return PMI_FAIL;
-	}
-	/*printf("exit_on_done command returned successfully.\n");fflush(stdout);*/
-    }
-
-    /*printf("entering finalize pmi_barrier.\n");fflush(stdout);*/
-    PMI_Barrier();
-    /*printf("after finalize pmi_barrier, posting done command.\n");fflush(stdout);*/
-
-    /* post a done command to close the pmi context */
-    result = pmi_create_post_command("done", NULL, NULL, NULL);
-    if (result != PMI_SUCCESS)
-    {
-	pmi_err_printf("failed.\n");
-	return PMI_FAIL;
-    }
-
-    if (pmi_process.iproc == 0)
-    {
-#ifdef HAVE_WINDOWS_H
-	WaitForSingleObject(pmi_process.hRootThread, INFINITE);
-    if(pmi_process.singleton_mpiexec_fd != PMII_PROCESS_INVALID_HANDLE){
-        WaitForSingleObject(pmi_process.singleton_mpiexec_fd, INFINITE);
-    }
-#else
-	waitpid(pmi_process.root_pid, &status, WUNTRACED);
-    if(pmi_process.singleton_mpiexec_fd != PMII_PROCESS_INVALID_HANDLE){
-        waitpid(pmi_process.singleton_mpiexec_fd, &status, WUNTRACED);
-    }
-#endif
-    }
-
-    /*if (pmi_process.sock != SMPDU_SOCK_INVALID_SOCK)*/
-    {
-	result = SMPDU_Sock_finalize();
-	if (result != SMPD_SUCCESS)
-	{
-	    /*pmi_err_printf("SMPDU_Sock_finalize failed, error: %d\n", result);*/
-	}
-    }
-
-    pmi_process.init_finalized = PMI_FINALIZED;
-
-    return PMI_SUCCESS;
-}
-
-int iPMI_Init(int *spawned)
-{
-    char *p;
-    int result;
-    char rank_str[100], size_str[100];
-    char str[1024];
-
-    if (spawned == NULL){
-	return PMI_ERR_INVALID_ARG;
-    }
-
-    /* Enable smpd state machine tracing */
-    /*
-    smpd_process.verbose = SMPD_TRUE;
-	smpd_process.dbg_state |= SMPD_DBG_STATE_ERROUT | SMPD_DBG_STATE_STDOUT | SMPD_DBG_STATE_TRACE;
-    */
-
-    pmi_init_printf();
-
-    /* don't allow pmi_init to be called more than once */
-    if (pmi_process.init_finalized == PMI_INITIALIZED)
-	return PMI_SUCCESS;
-
-    /* initialize to defaults */
-
-    result = SMPDU_Sock_init();
-    if (result != SMPD_SUCCESS)
-    {
-	pmi_err_printf("SMPDU_Sock_init failed,\nsock error: %s\n", get_sock_error_string(result));
-	return PMI_FAIL;
-    }
-
-    result = smpd_init_process();
-    if (result != SMPD_SUCCESS)
-    {
-	pmi_err_printf("unable to initialize the smpd global process structure.\n");
-	return PMI_FAIL;
-    }
-
-    p = getenv("PMI_ROOT_HOST");
-    if (p != NULL)
-    {
-	return rPMI_Init(spawned);
-    }
-
-    pmi_process.iproc = 0;
-    pmi_process.nproc = 1;
-
-    p = getenv("PMI_SPAWN");
-    if (p)
-    {
-	*spawned = atoi(p);
-    }
-    else
-    {
-	*spawned = 0;
-    }
-
-    p = getenv("PMI_APPNUM");
-    if (p)
-    {
-	pmi_process.appnum = atoi(p);
-    }
-    else
-    {
-	pmi_process.appnum = 0;
-    }
-
-    /* Determine If singleton */
-    p = getenv("PMI_SMPD_FD");
-    if( p == NULL){
-        p = getenv("PMI_HOST");
-        if( p == NULL){
-            /* FIXME: Do we need a check for PMI_KVS to determine if 
-             * client is singleton ?
-             */
-            p = getenv("PMI_KVS");
-            if(p == NULL){
-                /* Assume singleton. 
-                * Setup the PMI service when required i.e., later 
-                */
-                pmi_process.init_finalized = 
-                    PMI_SINGLETON_INIT_BUT_NO_PM;
-                /* Rank & Nprocs initialized by default above*/
-                /* Create a local KVS which will be used until
-                    spawn(), universe_size, kvs_get() is called*/
-                if(pmi_create_localKVS() == PMI_SUCCESS){
-                    return PMI_SUCCESS;
-                }
-                else{
-                    pmi_err_printf("Unable to create local KVS\n");
-                    return PMI_FAIL;
-                }
-            }
-        }
-    }
-    else{
-        /* decode PMI_SMPD_FD */
-#ifdef HAVE_WINDOWS_H
-	    pmi_process.smpd_fd = smpd_decode_handle(p);
-#else
-	    pmi_process.smpd_fd = (SMPDU_SOCK_NATIVE_FD)atoi(p);
-#endif
-        if(pmi_process.smpd_fd <= 0){
-            /* FIXME: hack - Is there a better way ? */
-            /* mpiexec sets smpd_fd<=0 to distinguish itself from
-             * a singleton MPI process
-             */
-            /* FIXME: Get rid of this hack - we already create 
-             * local KVS for all singleton clients by default
-             */
-            pmi_process.smpd_fd = 0;
-            putenv("PMI_SMPD_FD=");
-        }
-    }
-
-    p = getenv("PMI_KVS");
-    if (p != NULL)
-    {
-	strncpy(pmi_process.kvs_name, p, PMI_MAX_KVS_NAME_LENGTH);
-    }
-    else
-    {
-        /* mpiexec/smpd don't set PMI_KVS */
-        if(pmi_create_localKVS() == PMI_SUCCESS){
-	        pmi_process.init_finalized = PMI_INITIALIZED;
-	        return PMI_SUCCESS;
-        }
-        else{
-            pmi_err_printf("unable to create local KVS\n");
-            return PMI_FAIL;
-        }
-    }
-
-    p = getenv("PMI_DOMAIN");
-    if (p != NULL)
-    {
-	strncpy(pmi_process.domain_name, p, PMI_MAX_KVS_NAME_LENGTH);
-    }
-    else
-    {
-	strncpy(pmi_process.domain_name, "mpich", PMI_MAX_KVS_NAME_LENGTH);
-    }
-
-    p = getenv("PMI_RANK");
-    if (p != NULL)
-    {
-	pmi_process.iproc = atoi(p);
-	if (pmi_process.iproc < 0)
-	{
-	    pmi_err_printf("invalid rank %d, setting to 0\n", pmi_process.iproc);
-	    pmi_process.iproc = 0;
-	}
-    }
-
-    p = getenv("PMI_SIZE");
-    if (p != NULL)
-    {
-	pmi_process.nproc = atoi(p);
-	if (pmi_process.nproc < 1)
-	{
-	    pmi_err_printf("invalid size %d, setting to 1\n", pmi_process.nproc);
-	    pmi_process.nproc = 1;
-	}
-    }
-
-    p = getenv("PMI_SMPD_ID");
-    if (p != NULL){
-        pmi_process.smpd_id = atoi(p);
-	    smpd_process.id = pmi_process.smpd_id;
-    }
-
-    p = getenv("PMI_SMPD_KEY");
-    if (p != NULL)
-    {
-	pmi_process.smpd_key = atoi(p);
-    }
-
-    p = getenv("PMI_SMPD_FD");
-    if (p != NULL)
-    {
-	    result = SMPDU_Sock_create_set(&pmi_process.set);
-	    if (result != SMPD_SUCCESS)
-	    {
-	    pmi_err_printf("PMI_Init failed: unable to create a sock set, error:\n%s\n",
-		get_sock_error_string(result));
-	    return PMI_FAIL;
-	    }
-        /* pmi_process.smpd_fd is decoded when checking for Singleton Init */
-	    result = SMPDU_Sock_native_to_sock(pmi_process.set, pmi_process.smpd_fd, NULL, &pmi_process.sock);
-	    if (result != SMPD_SUCCESS)
-	    {
-	    pmi_err_printf("SMPDU_Sock_native_to_sock failed, error %s\n", get_sock_error_string(result));
-	    return PMI_FAIL;
-	    }
-	    result = smpd_create_context(SMPD_CONTEXT_PMI, pmi_process.set, pmi_process.sock, pmi_process.smpd_id, &pmi_process.context);
-	    if (result != SMPD_SUCCESS)
-	    {
-	    pmi_err_printf("unable to create a pmi context.\n");
-	    return PMI_FAIL;
-	    }
-    }
-    else
-    {
-	p = getenv("PMI_HOST");
-	if (p != NULL)
-	{
-	    strncpy(pmi_process.host, p, PMI_MAX_HOST_NAME_LENGTH);
-	    p = getenv("PMI_PORT");
-	    if (p != NULL)
-	    {
-		pmi_process.port = atoi(p);
-
-		result = SMPDU_Sock_create_set(&pmi_process.set);
-		if (result != SMPD_SUCCESS)
-		{
-		    pmi_err_printf("PMI_Init failed: unable to create a sock set, error: %d\n", result);
-		    return PMI_FAIL;
-		}
-
-		result = uPMI_ConnectToHost(pmi_process.host, pmi_process.port, SMPD_CONNECTING_PMI);
-		if (result != SMPD_SUCCESS)
-		{
-		    pmi_err_printf("PMI_Init failed.\n");
-		    return PMI_FAIL;
-		}
-	    }
-	    else
-	    {
-		pmi_err_printf("No mechanism specified for connecting to the process manager - host %s but no port provided.\n", pmi_process.host);
-		return PMI_FAIL;
-	    }
-	}
-	else
-	{
-        /* SINGLETON: Assume singleton here and initialize to SINGLETON_INIT_BUT_NO_PM 
-         * Also set PMI_KVS & PMI_DOMAIN after this step...
-         */
-	    pmi_err_printf("No mechanism specified for connecting to the process manager.\n");
-	    return PMI_FAIL;
-	}
-    }
-
-    p = getenv("PMI_CLIQUE");
-    if (p != NULL)
-    {
-	parse_clique(p);
-    }
-    /*
-    printf("PMI_RANK=%s PMI_SIZE=%s PMI_KVS=%s PMI_SMPD_ID=%s PMI_SMPD_FD=%s PMI_SMPD_KEY=%s\n PMI_SPAWN=%s",
-	getenv("PMI_RANK"), getenv("PMI_SIZE"), getenv("PMI_KVS"), getenv("PMI_SMPD_ID"),
-	getenv("PMI_SMPD_FD"), getenv("PMI_SMPD_KEY"), getenv("PMI_SPAWN"));
-    fflush(stdout);
-    */
-
-    pmi_process.init_finalized = PMI_INITIALIZED;
-
-    sprintf(rank_str, "%d", pmi_process.iproc);
-    sprintf(size_str, "%d", pmi_process.nproc);
-    result = pmi_create_post_command("init", pmi_process.kvs_name, rank_str, size_str);
-    if (result != PMI_SUCCESS)
-    {
-	pmi_err_printf("PMI_Init failed: unable to create an init command.\n");
-	return PMI_FAIL;
-    }
-
-    /* parse the result of the command */
-    if (MPIU_Str_get_string_arg(pmi_process.context->read_cmd.cmd, "result", str, 1024) != MPIU_STR_SUCCESS)
-    {
-	pmi_err_printf("PMI_Init failed: no result string in the result command.\n");
-	return PMI_FAIL;
-    }
-    if (strcmp(str, SMPD_SUCCESS_STR))
-    {
-	pmi_err_printf("PMI_Init failed: %s\n", str);
-	return PMI_FAIL;
-    }
-
-    /*
-    if (*spawned && pmi_process.iproc == 0)
-    {
-	char key[1024], val[8192];
-	key[0] = '\0';
-	result = PMI_KVS_Iter_first(pmi_process.kvs_name, key, 1024, val, 8192);
-	if (result != PMI_SUCCESS || key[0] == '\0')
-	{
-	    printf("No preput values in %s\n", pmi_process.kvs_name);
-	}
-	while (result == PMI_SUCCESS && key[0] != '\0')
-	{
-	    printf("PREPUT key=%s, val=%s\n", key, val);
-	    result = PMI_KVS_Iter_next(pmi_process.kvs_name, key, 1024, val, 8192);
-	}
-	fflush(stdout);
-    }
-    iPMI_Barrier();
-    */
-
-    /*printf("iPMI_Init returning success.\n");fflush(stdout);*/
-    return PMI_SUCCESS;
-}
-
-int iPMI_Finalize()
-{
-    int result;
-    char rank_str[100];
-    char str[1024];
-
-    if (pmi_process.init_finalized == PMI_FINALIZED)
-	return PMI_SUCCESS;
-
-    if (pmi_process.rpmi)
-    {
-	return rPMI_Finalize();
-    }
-
-    if(pmi_process.init_finalized < PMI_INITIALIZED)
-    return PMI_SUCCESS;
-
-    if (pmi_process.local_kvs)
-    {
-	if(pmi_destroy_localKVS() != PMI_SUCCESS){
-        pmi_dbg_printf("Failed to destroy local KVS\n");
-    }
-	result = SMPDU_Sock_finalize();
-	pmi_process.init_finalized = PMI_FINALIZED;
-	return PMI_SUCCESS;
-    }
-
-    sprintf(rank_str, "%d", pmi_process.iproc);
-    result = pmi_create_post_command("finalize", pmi_process.kvs_name, rank_str, NULL);
-    if (result != PMI_SUCCESS)
-    {
-	pmi_err_printf("PMI_Finalize failed: unable to create an finalize command.\n");
-	goto fn_fail;
-    }
-
-    /* parse the result of the command */
-    if (MPIU_Str_get_string_arg(pmi_process.context->read_cmd.cmd, "result", str, 1024) != MPIU_STR_SUCCESS)
-    {
-	pmi_err_printf("PMI_Finalize failed: no result string in the result command.\n");
-	goto fn_fail;
-    }
-    if (strcmp(str, SMPD_SUCCESS_STR))
-    {
-	pmi_err_printf("PMI_Finalize failed: %s\n", str);
-	goto fn_fail;
-    }
-
-    PMI_Barrier();
-
-    /* post the done command and wait for the result */
-    result = pmi_create_post_command("done", NULL, NULL, NULL);
-    if (result != PMI_SUCCESS)
-    {
-	pmi_err_printf("failed.\n");
-	goto fn_fail;
-    }
-
-    /*if (pmi_process.sock != SMPDU_SOCK_INVALID_SOCK)*/
-    {
-	result = SMPDU_Sock_finalize();
-	if (result != SMPD_SUCCESS)
-	{
-	    /*pmi_err_printf("SMPDU_Sock_finalize failed,\nsock error: %s\n", get_sock_error_string(result));*/
-	}
-    }
-
-    pmi_process.init_finalized = PMI_FINALIZED;
-    /*printf("iPMI_Finalize success.\n");fflush(stdout);*/
-    return PMI_SUCCESS;
-
-fn_fail:
-    /* set the state to finalized so PMI_Abort will not dereference mangled structures due to a failure */
-    pmi_process.init_finalized = PMI_FINALIZED;
-    return PMI_FAIL;
-}
-
-int iPMI_Abort(int exit_code, const char error_msg[])
-{
-    int result;
-    smpd_command_t *cmd_ptr;
-
-    /* flush any output before aborting */
-    /* This doesn't work because it flushes output from the mpich dll but does not flush the main module's output */
-    fflush(stdout);
-    fflush(stderr);
-
-    if (pmi_process.init_finalized == PMI_FINALIZED)
-    {
-	printf("PMI_Abort called after PMI_Finalize, error message:\n%s\n", error_msg);
-	fflush(stdout);
-#ifdef HAVE_WINDOWS_H
-	/* ExitProcess(exit_code); */
-    TerminateProcess(GetCurrentProcess(), exit_code);
-#else
-	exit(exit_code);
-	return PMI_FAIL;
-#endif
-    }
-
-    if (pmi_process.local_kvs)
-    {
-	if (smpd_process.verbose_abort_output)
-	{
-	    printf("\njob aborted:\n");
-	    printf("process: node: exit code: error message:\n");
-	    printf("0: localhost: %d", exit_code);
-	    if (error_msg != NULL)
-	    {
-		printf(": %s", error_msg);
-	    }
-	    printf("\n");
-	}
-	else
-	{
-	    if (error_msg != NULL)
-	    {
-		printf("%s\n", error_msg);
-	    }
-	}
-	fflush(stdout);
-	if(pmi_destroy_localKVS() != PMI_SUCCESS){
-        pmi_dbg_printf("Failed to destroy local KVS\n");
-    }
-	pmi_process.init_finalized = PMI_FINALIZED;
-#ifdef HAVE_WINDOWS_H
-	/* ExitProcess(exit_code); */
-    TerminateProcess(GetCurrentProcess(), exit_code);
-#else
-	exit(exit_code);
-	return PMI_FAIL;
-#endif
-    }
-    if(pmi_process.init_finalized < PMI_INITIALIZED)
-        return PMI_FAIL;
-
-    result = smpd_create_command("abort_job", pmi_process.smpd_id, 0, SMPD_FALSE, &cmd_ptr);
-    if (result != SMPD_SUCCESS)
-    {
-	pmi_err_printf("unable to create an abort command.\n");
-	return PMI_FAIL;
-    }
-
-    result = smpd_add_command_arg(cmd_ptr, "name", pmi_process.kvs_name);
-    if (result != SMPD_SUCCESS)
-    {
-	pmi_err_printf("unable to add the kvs name('%s') to the abort command.\n", pmi_process.kvs_name);
-	return PMI_FAIL;
-    }
-
-    result = smpd_add_command_int_arg(cmd_ptr, "rank", pmi_process.iproc);
-    if (result != SMPD_SUCCESS)
-    {
-	pmi_err_printf("unable to add the rank %d to the abort command.\n", pmi_process.iproc);
-	return PMI_FAIL;
-    }
-
-    result = smpd_add_command_arg(cmd_ptr, "error", (char*)error_msg);
-    if (result != SMPD_SUCCESS)
-    {
-	pmi_err_printf("unable to add the error message('%s') to the abort command.\n", error_msg);
-	return PMI_FAIL;
-    }
-
-    result = smpd_add_command_int_arg(cmd_ptr, "exit_code", exit_code);
-    if (result != SMPD_SUCCESS)
-    {
-	pmi_err_printf("unable to add the exit code(%d) to the abort command.\n", exit_code);
-	return PMI_FAIL;
-    }
-
-    /* post the write of the command */
-    result = smpd_post_write_command(pmi_process.context, cmd_ptr);
-    if (result != SMPD_SUCCESS)
-    {
-	pmi_err_printf("unable to post a write of the abort command.\n");
-	return PMI_FAIL;
-    }
-
-    /* and post a read for the result */
-    /*
-    result = smpd_post_read_command(pmi_process.context);
-    if (result != SMPD_SUCCESS)
-    {
-	pmi_err_printf("unable to post a read of the next command on the pmi context.\n");
-	return PMI_FAIL;
-    }
-    */
-
-    /* let the state machine send the command and receive the result */
-    result = smpd_enter_at_state(pmi_process.set, SMPD_WRITING_CMD);
-    if (result != SMPD_SUCCESS)
-    {
-	pmi_err_printf("the state machine logic failed to handle the abort command.\n");
-	return PMI_FAIL;
-    }
-
-    if(pmi_process.iproc == 0 && 
-        pmi_process.singleton_mpiexec_fd != PMII_PROCESS_INVALID_HANDLE){
-		int status;
-#ifdef HAVE_WINDOWS_H
-        WaitForSingleObject(pmi_process.singleton_mpiexec_fd, INFINITE);
-#else
-        waitpid(pmi_process.singleton_mpiexec_fd, &status, WUNTRACED);
-#endif
-    }
-
-#ifdef HAVE_WINDOWS_H
-    /* ExitProcess(exit_code); */
-    TerminateProcess(GetCurrentProcess(), exit_code);
-#else
-    exit(exit_code);
-    return PMI_FAIL;
-#endif
-}
-
-int iPMI_Get_size(int *size)
-{
-    if (pmi_process.init_finalized == PMI_FINALIZED)
-	return PMI_ERR_INIT;
-    if (size == NULL)
-	return PMI_ERR_INVALID_ARG;
-
-    *size = pmi_process.nproc;
-
-    return PMI_SUCCESS;
-}
-
-int iPMI_Get_rank(int *rank)
-{
-    if (pmi_process.init_finalized == PMI_FINALIZED)
-	return PMI_ERR_INIT;
-    if (rank == NULL)
-	return PMI_ERR_INVALID_ARG;
-
-    *rank = pmi_process.iproc;
-
-    return PMI_SUCCESS;
-}
-
-int iPMI_Get_universe_size(int *size)
-{
-    if (pmi_process.init_finalized == PMI_FINALIZED)
-	return PMI_ERR_INIT;
-    /* Singleton init */
-    if(pmi_process.init_finalized == PMI_SINGLETON_INIT_BUT_NO_PM){
-        if(PMIi_InitSingleton() != PMI_SUCCESS){
-            return PMI_ERR_INIT;
-        }
-    }
-    if (size == NULL)
-	return PMI_ERR_INVALID_ARG;
-
-    *size = -1;
-
-    return PMI_SUCCESS;
-}
-
-int iPMI_Get_appnum(int *appnum)
-{
-    if (pmi_process.init_finalized == PMI_FINALIZED)
-	return PMI_ERR_INIT;
-    if (appnum == NULL)
-	return PMI_ERR_INVALID_ARG;
-
-    *appnum = pmi_process.appnum;
-
-    return PMI_SUCCESS;
-}
-
-int iPMI_Get_clique_size( int *size )
-{
-    if (pmi_process.init_finalized == PMI_FINALIZED)
-	return PMI_ERR_INIT;
-    if (size == NULL)
-	return PMI_ERR_INVALID_ARG;
-
-    if (pmi_process.clique_size == 0)
-	*size = 1;
-    else
-	*size = pmi_process.clique_size;
-    return PMI_SUCCESS;
-}
-
-int iPMI_Get_clique_ranks( int ranks[], int length )
-{
-    int i;
-
-    if (pmi_process.init_finalized == PMI_FINALIZED)
-	return PMI_ERR_INIT;
-    if (ranks == NULL)
-	return PMI_ERR_INVALID_ARG;
-    if (length < pmi_process.clique_size)
-	return PMI_ERR_INVALID_LENGTH;
-
-    if (pmi_process.clique_size == 0)
-    {
-	*ranks = 0;
-    }
-    else
-    {
-	for (i=0; i<pmi_process.clique_size; i++)
-	{
-	    ranks[i] = pmi_process.clique_ranks[i];
-	}
-    }
-    return PMI_SUCCESS;
-}
-
-int iPMI_Get_id( char id_str[], int length )
-{
-    return iPMI_KVS_Get_my_name(id_str, length);
-}
-
-int iPMI_Get_id_length_max(int *maxlen)
-{
-    return iPMI_KVS_Get_name_length_max(maxlen);
-}
-
-int iPMI_Get_kvs_domain_id(char id_str[], int length)
-{
-    if (pmi_process.init_finalized == PMI_FINALIZED)
-	return PMI_ERR_INIT;
-    if (id_str == NULL)
-	return PMI_ERR_INVALID_ARG;
-    if (length < PMI_MAX_KVS_NAME_LENGTH)
-	return PMI_ERR_INVALID_LENGTH;
-
-    strncpy(id_str, pmi_process.domain_name, length);
-
-    return PMI_SUCCESS;
-}
-
-int iPMI_Barrier()
-{
-    int result;
-    char count_str[20];
-    char str[1024];
-    
-    if (pmi_process.init_finalized == PMI_FINALIZED)
-	return PMI_ERR_INIT;
-
-    if (pmi_process.nproc == 1)
-	return PMI_SUCCESS;
-
-    /*printf("entering barrier %d, %s\n", pmi_process.nproc, pmi_process.kvs_name);fflush(stdout);*/
-
-    /* encode the size of the barrier */
-    snprintf(count_str, 20, "%d", pmi_process.nproc);
-
-    /* post the command and wait for the result */
-    result = pmi_create_post_command("barrier", pmi_process.kvs_name, NULL, count_str);
-    if (result != PMI_SUCCESS)
-    {
-	pmi_err_printf("PMI_Barrier failed.\n");
-	return PMI_FAIL;
-    }
-
-    /* interpret the result */
-    if (MPIU_Str_get_string_arg(pmi_process.context->read_cmd.cmd, "result", str, 1024) != MPIU_STR_SUCCESS)
-    {
-	pmi_err_printf("PMI_Barrier failed: no result string in the result command.\n");
-	return PMI_FAIL;
-    }
-    if (strcmp(str, DBS_SUCCESS_STR))
-    {
-	pmi_err_printf("PMI_Barrier failed: '%s'\n", str);
-	return PMI_FAIL;
-    }
-
-    /*printf("iPMI_Barrier success.\n");fflush(stdout);*/
-    return PMI_SUCCESS;
-}
-
-int iPMI_KVS_Get_my_name(char kvsname[], int length)
-{
-    if (pmi_process.init_finalized == PMI_FINALIZED)
-	return PMI_ERR_INIT;
-    if (kvsname == NULL)
-	return PMI_ERR_INVALID_ARG;
-    if (length < PMI_MAX_KVS_NAME_LENGTH)
-	return PMI_ERR_INVALID_LENGTH;
-
-    strncpy(kvsname, pmi_process.kvs_name, length);
-
-    /*
-    printf("my kvs name is %s\n", kvsname);fflush(stdout);
-    */
-
-    return PMI_SUCCESS;
-}
-
-int iPMI_KVS_Get_name_length_max(int *maxlen)
-{
-    if (pmi_process.init_finalized == PMI_FINALIZED)
-	return PMI_ERR_INIT;
-    if (maxlen == NULL)
-	return PMI_ERR_INVALID_ARG;
-    *maxlen = PMI_MAX_KVS_NAME_LENGTH;
-    return PMI_SUCCESS;
-}
-
-int iPMI_KVS_Get_key_length_max(int *maxlen)
-{
-    if (pmi_process.init_finalized == PMI_FINALIZED)
-	return PMI_ERR_INIT;
-    if (maxlen == NULL)
-	return PMI_ERR_INVALID_ARG;
-    *maxlen = PMI_MAX_KEY_LEN;
-    return PMI_SUCCESS;
-}
-
-int iPMI_KVS_Get_value_length_max(int *maxlen)
-{
-    if (pmi_process.init_finalized == PMI_FINALIZED)
-	return PMI_ERR_INIT;
-    if (maxlen == NULL)
-	return PMI_ERR_INVALID_ARG;
-    *maxlen = PMI_MAX_VALUE_LEN;
-    return PMI_SUCCESS;
-}
-
-int iPMI_KVS_Create(char kvsname[], int length)
-{
-    int result;
-    char str[1024];
-
-    if (pmi_process.init_finalized == PMI_FINALIZED)
-	return PMI_ERR_INIT;
-    if (kvsname == NULL)
-	return PMI_ERR_INVALID_ARG;
-    if (length < PMI_MAX_KVS_NAME_LENGTH)
-	return PMI_ERR_INVALID_LENGTH;
-
-    if(pmi_process.init_finalized == PMI_SINGLETON_INIT_BUT_NO_PM){
-        if(PMIi_InitSingleton() != PMI_SUCCESS){
-            return PMI_ERR_INIT;
-        }
-    }
-
-    if (pmi_process.local_kvs)
-    {
-	result = smpd_dbs_create(kvsname);
-	return (result == SMPD_SUCCESS) ? PMI_SUCCESS : PMI_FAIL;
-    }
-
-    result = pmi_create_post_command("dbcreate", NULL, NULL, NULL);
-    if (result != PMI_SUCCESS)
-    {
-	pmi_err_printf("PMI_KVS_Create failed: unable to create a pmi kvs space.\n");
-	return PMI_FAIL;
-    }
-
-    /* parse the result of the command */
-    if (MPIU_Str_get_string_arg(pmi_process.context->read_cmd.cmd, "result", str, 1024) != MPIU_STR_SUCCESS)
-    {
-	pmi_err_printf("PMI_KVS_Create failed: no result string in the result command.\n");
-	return PMI_FAIL;
-    }
-    if (strcmp(str, DBS_SUCCESS_STR))
-    {
-	pmi_err_printf("PMI_KVS_Create failed: %s\n", str);
-	return PMI_FAIL;
-    }
-    if (MPIU_Str_get_string_arg(pmi_process.context->read_cmd.cmd, "name", str, 1024) != MPIU_STR_SUCCESS)
-    {
-	pmi_err_printf("PMI_KVS_Create failed: no kvs name in the dbcreate result command.\n");
-	return PMI_FAIL;
-    }
-    strncpy(kvsname, str, PMI_MAX_KVS_NAME_LENGTH);
-
-    /*printf("iPMI_KVS_Create success.\n");fflush(stdout);*/
-    return PMI_SUCCESS;
-}
-
-int iPMI_KVS_Destroy(const char kvsname[])
-{
-    int result;
-    char str[1024];
-
-    if (pmi_process.init_finalized == PMI_FINALIZED)
-	return PMI_ERR_INIT;
-    if (kvsname == NULL)
-	return PMI_ERR_INVALID_ARG;
-
-    if (pmi_process.local_kvs)
-    {
-	result = smpd_dbs_destroy(kvsname);
-	return (result == SMPD_SUCCESS) ? PMI_SUCCESS : PMI_FAIL;
-    }
-    else{
-        /* FIXME: Test only for singleton init proc */
-        int len = 0;
-        if((len = strlen(kvsname)) > PMI_MAX_KVS_NAME_LENGTH){
-            return PMI_ERR_INVALID_LENGTH;
-        }
-        /* Is the destroy req for stale kvsname before
-         * singleton init ?
-         */
-        if(strncmp(kvsname, pmi_process.kvs_name_singleton_nopm, len)
-            == 0){
-            return PMI_SUCCESS;
-        }
-    }
-
-    result = pmi_create_post_command("dbdestroy", kvsname, NULL, NULL);
-    if (result != PMI_SUCCESS)
-    {
-	pmi_err_printf("PMI_KVS_Destroy failed: unable to destroy the pmi kvs space named '%s'.\n", kvsname);
-	return PMI_FAIL;
-    }
-
-    /* parse the result of the command */
-    if (MPIU_Str_get_string_arg(pmi_process.context->read_cmd.cmd, "result", str, 1024) != MPIU_STR_SUCCESS)
-    {
-	pmi_err_printf("PMI_KVS_Destroy failed: no result string in the result command.\n");
-	return PMI_FAIL;
-    }
-    if (strcmp(str, DBS_SUCCESS_STR))
-    {
-	pmi_err_printf("PMI_KVS_Destroy failed: %s\n", str);
-	return PMI_FAIL;
-    }
-
-    return PMI_SUCCESS;
-}
-
-int iPMI_KVS_Put(const char kvsname[], const char key[], const char value[])
-{
-    int result;
-    char str[1024];
-    const char *kvsname_ = NULL;
-
-    if (pmi_process.init_finalized == PMI_FINALIZED)
-	return PMI_ERR_INIT;
-    if (kvsname == NULL)
-	return PMI_ERR_INVALID_ARG;
-    if (key == NULL)
-	return PMI_ERR_INVALID_KEY;
-    if (value == NULL)
-	return PMI_ERR_INVALID_VAL;
-
-    kvsname_ = kvsname;
-    /*printf("putting <%s><%s><%s>\n", kvsname, key, value);fflush(stdout);*/
-
-    if (pmi_process.local_kvs)
-    {
-	result = smpd_dbs_put(kvsname_, key, value);
-	return (result == SMPD_SUCCESS) ? PMI_SUCCESS : PMI_FAIL;
-    }
-    else{
-        int len = 0;
-        if((len = strlen(kvsname)) > PMI_MAX_KVS_NAME_LENGTH){
-            return PMI_ERR_INVALID_LENGTH;
-        }
-        /* Update kvsname if the caller has the stale kvsname before
-         * singleton init
-         */
-        if(strncmp(kvsname, pmi_process.kvs_name_singleton_nopm, len)
-            == 0){
-            kvsname_ = pmi_process.kvs_name;
-        }
-    }
-
-    result = pmi_create_post_command("dbput", kvsname_, key, value);
-    if (result != PMI_SUCCESS)
-    {
-	pmi_err_printf("PMI_KVS_Put failed: unable to put '%s:%s:%s'\n", kvsname_, key, value);
-	return PMI_FAIL;
-    }
-
-    /* parse the result of the command */
-    if (MPIU_Str_get_string_arg(pmi_process.context->read_cmd.cmd, "result", str, 1024) != MPIU_STR_SUCCESS)
-    {
-	pmi_err_printf("PMI_KVS_Put failed: no result string in the result command.\n");
-	return PMI_FAIL;
-    }
-    if (strcmp(str, DBS_SUCCESS_STR))
-    {
-	pmi_err_printf("PMI_KVS_Put failed: '%s'\n", str);
-	return PMI_FAIL;
-    }
-
-    /*printf("iPMI_KVS_Put success.\n");fflush(stdout);*/
-    return PMI_SUCCESS;
-}
-
-int iPMI_KVS_Commit(const char kvsname[])
-{
-    if (pmi_process.init_finalized == PMI_FINALIZED)
-	return PMI_ERR_INIT;
-    if (kvsname == NULL)
-	return PMI_ERR_INVALID_ARG;
-
-    if (pmi_process.local_kvs)
-    {
-	return PMI_SUCCESS;
-    }
-
-    /* Make the puts return when the commands are written but not acknowledged.
-       Then have this function wait until all outstanding puts are acknowledged.
-       */
-
-    return PMI_SUCCESS;
-}
-
-int iPMI_KVS_Get(const char kvsname[], const char key[], char value[], int length)
-{
-    int result;
-    char str[1024];
-    const char *kvsname_ = NULL;
-
-    if (pmi_process.init_finalized == PMI_FINALIZED)
-	return PMI_ERR_INIT;
-
-    if (kvsname == NULL)
-	return PMI_ERR_INVALID_ARG;
-    if (key == NULL)
-	return PMI_ERR_INVALID_KEY;
-    if (value == NULL)
-	return PMI_ERR_INVALID_VAL;
-
-    kvsname_ = kvsname;
-
-	/* We need singleton init only for spawn, universe_size
-    if(pmi_process.init_finalized == PMI_SINGLETON_INIT_BUT_NO_PM){
-       if(PMIi_InitSingleton() != PMI_SUCCESS){
-            return PMI_ERR_INIT;
-        }
-     }
-	*/
-
-    if (pmi_process.local_kvs)
-    {
-		result = smpd_dbs_get(kvsname_, key, value);
-		return (result == SMPD_SUCCESS) ? PMI_SUCCESS : PMI_FAIL;
-    }
-    else{
-        int len = 0;
-        if((len = strlen(kvsname)) > PMI_MAX_KVS_NAME_LENGTH){
-            return PMI_ERR_INVALID_LENGTH;
-        }
-        /* Update kvsname if the caller has the stale kvsname before
-         * singleton init
-         */
-        if(strncmp(kvsname, pmi_process.kvs_name_singleton_nopm, len)
-            == 0){
-            kvsname_ = pmi_process.kvs_name;
-        }
-    }
-
-    result = pmi_create_post_command("dbget", kvsname_, key, NULL);
-    if (result != PMI_SUCCESS)
-    {
-	pmi_err_printf("PMI_KVS_Get failed: unable to get '%s:%s'\n", kvsname_, key);
-	return PMI_FAIL;
-    }
-
-    /* parse the result of the command */
-    if (MPIU_Str_get_string_arg(pmi_process.context->read_cmd.cmd, "result", str, 1024) != MPIU_STR_SUCCESS)
-    {
-	pmi_err_printf("PMI_KVS_Get failed: no result string in the result command.\n");
-	return PMI_FAIL;
-    }
-    if (strcmp(str, DBS_SUCCESS_STR))
-    {
-        /* Unable to find the keyval in db. The caller should handle this error */
-	pmi_dbg_printf("PMI_KVS_Get failed: '%s'\n", str);
-	return PMI_FAIL;
-    }
-    if (MPIU_Str_get_string_arg(pmi_process.context->read_cmd.cmd, "value", value, length) != MPIU_STR_SUCCESS)
-    {
-	pmi_err_printf("PMI_KVS_Get failed: no value in the result command for the get: '%s'\n", pmi_process.context->read_cmd.cmd);
-	return PMI_FAIL;
-    }
-
-    /*
-    printf("iPMI_KVS_Get success.\n");fflush(stdout);
-    printf("get <%s><%s><%s>\n", kvsname, key, value);
-    fflush(stdout);
-    */
-    return PMI_SUCCESS;
-}
-
-int iPMI_KVS_Iter_first(const char kvsname[], char key[], int key_len, char value[], int val_len)
-{
-    int result;
-    char str[1024];
-    const char *kvsname_ = NULL;
-
-    if (pmi_process.init_finalized == PMI_FINALIZED)
-	return PMI_ERR_INIT;
-    if (kvsname == NULL)
-	return PMI_ERR_INVALID_ARG;
-    if (key == NULL)
-	return PMI_ERR_INVALID_KEY;
-    if (key_len < PMI_MAX_KEY_LEN)
-	return PMI_ERR_INVALID_KEY_LENGTH;
-    if (value == NULL)
-	return PMI_ERR_INVALID_VAL;
-    if (val_len < PMI_MAX_VALUE_LEN)
-	return PMI_ERR_INVALID_VAL_LENGTH;
-
-    kvsname_ = kvsname;
-    if (pmi_process.local_kvs)
-    {
-	result = smpd_dbs_first(kvsname_, key, value);
-	return (result == SMPD_SUCCESS) ? PMI_SUCCESS : PMI_FAIL;
-    }
-    else{
-        int len = 0;
-        if((len = strlen(kvsname)) > PMI_MAX_KVS_NAME_LENGTH){
-            return PMI_ERR_INVALID_LENGTH;
-        }
-        /* Update kvsname if the caller has the stale kvsname before
-         * singleton init
-         */
-        if(strncmp(kvsname, pmi_process.kvs_name_singleton_nopm, len)
-            == 0){
-            kvsname_ = pmi_process.kvs_name;
-        }
-    }
-
-    result = pmi_create_post_command("dbfirst", kvsname_, NULL, NULL);
-    if (result != PMI_SUCCESS)
-    {
-	pmi_err_printf("PMI_KVS_Iter_first failed: unable to get the first key/value pair from '%s'\n", kvsname_);
-	return PMI_FAIL;
-    }
-
-    /* parse the result of the command */
-    if (MPIU_Str_get_string_arg(pmi_process.context->read_cmd.cmd, "result", str, 1024) != MPIU_STR_SUCCESS)
-    {
-	pmi_err_printf("PMI_KVS_Iter_first failed: no result string in the result command.\n");
-	return PMI_FAIL;
-    }
-    if (strcmp(str, DBS_SUCCESS_STR))
-    {
-	pmi_err_printf("PMI_KVS_Iter_first failed: %s\n", str);
-	return PMI_FAIL;
-    }
-    if (MPIU_Str_get_string_arg(pmi_process.context->read_cmd.cmd, "key", str, PMI_MAX_KEY_LEN) != MPIU_STR_SUCCESS)
-    {
-	pmi_err_printf("PMI_KVS_Iter_first failed: no key in the result command for the pmi iter_first: '%s'\n", pmi_process.context->read_cmd.cmd);
-	return PMI_FAIL;
-    }
-    if (strcmp(str, DBS_END_STR) == 0)
-    {
-	*key = '\0';
-	*value = '\0';
-	return PMI_SUCCESS;
-    }
-    strcpy(key, str);
-    if (MPIU_Str_get_string_arg(pmi_process.context->read_cmd.cmd, "value", value, PMI_MAX_VALUE_LEN) != MPIU_STR_SUCCESS)
-    {
-	pmi_err_printf("PMI_KVS_Iter_first failed: no value in the result command for the pmi iter_first: '%s'\n", pmi_process.context->read_cmd.cmd);
-	return PMI_FAIL;
-    }
-
-    return PMI_SUCCESS;
-}
-
-int iPMI_KVS_Iter_next(const char kvsname[], char key[], int key_len, char value[], int val_len)
-{
-    int result;
-    char str[1024];
-    const char *kvsname_ = NULL;
-
-    if (pmi_process.init_finalized == PMI_FINALIZED)
-	return PMI_ERR_INIT;
-    if (kvsname == NULL)
-	return PMI_ERR_INVALID_ARG;
-    if (key == NULL)
-	return PMI_ERR_INVALID_KEY;
-    if (key_len < PMI_MAX_KEY_LEN)
-	return PMI_ERR_INVALID_KEY_LENGTH;
-    if (value == NULL)
-	return PMI_ERR_INVALID_VAL;
-    if (val_len < PMI_MAX_VALUE_LEN)
-	return PMI_ERR_INVALID_VAL_LENGTH;
-
-    kvsname_ = kvsname;
-
-    if (pmi_process.local_kvs)
-    {
-	result = smpd_dbs_next(kvsname_, key, value);
-	return (result == SMPD_SUCCESS) ? PMI_SUCCESS : PMI_FAIL;
-    }
-    else{
-        int len = 0;
-        if((len = strlen(kvsname)) > PMI_MAX_KVS_NAME_LENGTH){
-            return PMI_ERR_INVALID_LENGTH;
-        }
-        /* Update kvsname if the caller has the stale kvsname before
-         * singleton init
-         */
-        if(strncmp(kvsname, pmi_process.kvs_name_singleton_nopm, len)
-            == 0){
-            kvsname_ = pmi_process.kvs_name;
-        }
-    }
-
-    result = pmi_create_post_command("dbnext", kvsname_, NULL, NULL);
-    if (result != PMI_SUCCESS)
-    {
-	pmi_err_printf("PMI_KVS_Iter_next failed: unable to get the next key/value pair from '%s'\n", kvsname_);
-	return PMI_FAIL;
-    }
-
-    /* parse the result of the command */
-    if (MPIU_Str_get_string_arg(pmi_process.context->read_cmd.cmd, "result", str, 1024) != MPIU_STR_SUCCESS)
-    {
-	pmi_err_printf("PMI_KVS_Iter_next failed: no result string in the result command.\n");
-	return PMI_FAIL;
-    }
-    if (strcmp(str, DBS_SUCCESS_STR))
-    {
-	pmi_err_printf("PMI_KVS_Iter_next failed: %s\n", str);
-	return PMI_FAIL;
-    }
-    if (MPIU_Str_get_string_arg(pmi_process.context->read_cmd.cmd, "key", str, PMI_MAX_KEY_LEN) != MPIU_STR_SUCCESS)
-    {
-	pmi_err_printf("PMI_KVS_Iter_next failed: no key in the result command for the pmi iter_next: '%s'\n", pmi_process.context->read_cmd.cmd);
-	return PMI_FAIL;
-    }
-    if (strcmp(str, DBS_END_STR) == 0)
-    {
-	*key = '\0';
-	*value = '\0';
-	return PMI_SUCCESS;
-    }
-    strcpy(key, str);
-    if (MPIU_Str_get_string_arg(pmi_process.context->read_cmd.cmd, "value", value, PMI_MAX_VALUE_LEN) != MPIU_STR_SUCCESS)
-    {
-	pmi_err_printf("PMI_KVS_Iter_next failed: no value in the result command for the pmi iter_next: '%s'\n", pmi_process.context->read_cmd.cmd);
-	return PMI_FAIL;
-    }
-
-    return PMI_SUCCESS;
-}
-
-int iPMI_Spawn_multiple(int count,
-                       const char * cmds[],
-                       const char ** argvs[],
-                       const int maxprocs[],
-                       const int cinfo_keyval_sizes[],
-                       const PMI_keyval_t * info_keyval_vectors[],
-                       int preput_keyval_size,
-                       const PMI_keyval_t preput_keyval_vector[],
-                       int errors[])
-{
-    int result;
-    smpd_command_t *cmd_ptr;
-    int dest = 0;
-    char buffer[SMPD_MAX_CMD_LENGTH];
-    char keyval_buf[SMPD_MAX_CMD_LENGTH];
-    char key[100];
-    char *iter, *iter2;
-    int i, j, maxlen, maxlen2;
-    int path_specified = 0, wdir_specified = 0;
-    char path[SMPD_MAX_PATH_LENGTH] = "";
-    int *info_keyval_sizes;
-    int total_num_processes;
-    int appnum = 0;
-
-    if (pmi_process.init_finalized == PMI_FINALIZED)
-	return PMI_ERR_INIT;
-    if(pmi_process.init_finalized == PMI_SINGLETON_INIT_BUT_NO_PM){
-        if(PMIi_InitSingleton() != PMI_SUCCESS){
-            return PMI_ERR_INIT;
-        }
-    }
-
-    if (count < 1 || cmds == NULL || maxprocs == NULL || preput_keyval_size < 0)
-	return PMI_ERR_INVALID_ARG;
-
-    if (pmi_process.local_kvs)
-    {
-	return PMI_FAIL;
-    }
-
-    /*printf("creating spawn command.\n");fflush(stdout);*/
-    result = smpd_create_command("spawn", pmi_process.smpd_id, dest, SMPD_TRUE, &cmd_ptr);
-    if (result != SMPD_SUCCESS)
-    {
-	pmi_err_printf("unable to create a spawn command.\n");
-	return PMI_FAIL;
-    }
-    result = smpd_add_command_int_arg(cmd_ptr, "ctx_key", pmi_process.smpd_key);
-    if (result != SMPD_SUCCESS)
-    {
-	pmi_err_printf("unable to add the key to the spawn command.\n");
-	return PMI_FAIL;
-    }
-
-    /* add the number of commands */
-    result = smpd_add_command_int_arg(cmd_ptr, "ncmds", count);
-    if (result != SMPD_SUCCESS)
-    {
-	pmi_err_printf("unable to add the ncmds field to the spawn command.\n");
-	return PMI_FAIL;
-    }
-    /* add the commands and their argv arrays */
-    for (i=0; i<count; i++)
-    {
-	sprintf(key, "cmd%d", i);
-#ifdef HAVE_WINDOWS_H
-	if (strlen(cmds[i]) > 2)
-	{
-	    if (cmds[i][0] == '.' && cmds[i][1] == '/')
-	    {
-		result = smpd_add_command_arg(cmd_ptr, key, (char*)&cmds[i][2]);
-	    }
-	    else
-	    {
-		result = smpd_add_command_arg(cmd_ptr, key, (char*)cmds[i]);
-	    }
-	}
-	else
-	{
-	    result = smpd_add_command_arg(cmd_ptr, key, (char*)cmds[i]);
-	}
-#else
-	result = smpd_add_command_arg(cmd_ptr, key, (char*)cmds[i]);
-#endif
-	if (result != SMPD_SUCCESS)
-	{
-	    pmi_err_printf("unable to add %s(%s) to the spawn command.\n", key, cmds[i]);
-	    return PMI_FAIL;
-	}
-	if (argvs)
-	{
-	    buffer[0] = '\0';
-	    iter = buffer;
-	    maxlen = SMPD_MAX_CMD_LENGTH;
-	    if (argvs[i] != NULL)
-	    {
-		for (j=0; argvs[i][j] != NULL; j++)
-		{
-		    result = MPIU_Str_add_string(&iter, &maxlen, argvs[i][j]);
-		}
-		if (iter > buffer)
-		{
-		    iter--;
-		    *iter = '\0'; /* erase the trailing space */
-		}
-	    }
-	    sprintf(key, "argv%d", i);
-	    result = smpd_add_command_arg(cmd_ptr, key, buffer);
-	    if (result != SMPD_SUCCESS)
-	    {
-		pmi_err_printf("unable to add %s(%s) to the spawn command.\n", key, buffer);
-		return PMI_FAIL;
-	    }
-	}
-    }
-    /* add the maxprocs array and count the total number of processes */
-    total_num_processes = 0;
-    buffer[0] = '\0';
-    for (i=0; i<count; i++)
-    {
-	total_num_processes += maxprocs[i];
-	if (i < count-1)
-	    sprintf(key, "%d ", maxprocs[i]);
-	else
-	    sprintf(key, "%d", maxprocs[i]);
-	strcat(buffer, key);
-    }
-    result = smpd_add_command_arg(cmd_ptr, "maxprocs", buffer);
-    if (result != SMPD_SUCCESS)
-    {
-	pmi_err_printf("unable to add maxprocs(%s) to the spawn command.\n", buffer);
-	return PMI_FAIL;
-    }
-
-#ifdef HAVE_WINDOWS_H
-    {
-	HMODULE hModule;
-	char exe_path[SMPD_MAX_PATH_LENGTH];
-	char *iter;
-	int length;
-
-	GetCurrentDirectory(SMPD_MAX_PATH_LENGTH, path);
-	hModule = GetModuleHandle(NULL);
-	if (GetModuleFileName(hModule, exe_path, SMPD_MAX_PATH_LENGTH)) 
-	{
-	    iter = strrchr(exe_path, '\\');
-	    if (iter != NULL)
-	    {
-		if (iter == (exe_path + 2) && *(iter-1) == ':')
-		{
-		    /* leave the \ if the path is at the root, like c:\foo.exe */
-		    iter++;
-		}
-		*iter = '\0'; /* erase the file name leaving only the path */
-	    }
-	    length = (int)strlen(path);
-	    iter = &path[length];
-	    MPIU_Snprintf(iter, SMPD_MAX_PATH_LENGTH-length, ";%s", exe_path);
-	}
-    }
-#else
-    getcwd(path, SMPD_MAX_PATH_LENGTH);
-#endif
-
-    /* create a copy of the sizes so we can change the values locally */
-    info_keyval_sizes = (int*)MPIU_Malloc(count * sizeof(int));
-    if (info_keyval_sizes == NULL)
-    {
-	pmi_err_printf("unable to allocate an array of kevval sizes.\n");
-	return PMI_FAIL;
-    }
-    for (i=0; i<count; i++)
-    {
-	info_keyval_sizes[i] = cinfo_keyval_sizes[i];
-    }
-
-    /* add the keyvals */
-    if (info_keyval_sizes && info_keyval_vectors){
-        for (i=0; i<count; i++){
-            path_specified = 0;
-            wdir_specified = 0;
-            buffer[0] = '\0';
-            iter = buffer;
-            maxlen = SMPD_MAX_CMD_LENGTH;
-	    
-            for (j=0; j<info_keyval_sizes[i]; j++){
-                keyval_buf[0] = '\0';
-                iter2 = keyval_buf;
-                maxlen2 = SMPD_MAX_CMD_LENGTH;
-                if (strcmp(info_keyval_vectors[i][j].key, "path") == 0){
-                    size_t val2len;
-                    char *val2;
-                    val2len = sizeof(char) * strlen(info_keyval_vectors[i][j].val) + 1 + strlen(path) + 1;
-                    val2 = (char*)MPIU_Malloc(val2len);
-                    if (val2 == NULL){
-                        pmi_err_printf("unable to allocate memory for the path key.\n");
-                        return PMI_FAIL;
-                    }
-                    /*printf("creating path %d: <%s>;<%s>\n", val2len, info_keyval_vectors[i][j].val, path);fflush(stdout);*/
-                    MPIU_Snprintf(val2, val2len, "%s;%s", info_keyval_vectors[i][j].val, path);
-                    result = MPIU_Str_add_string_arg(&iter2, &maxlen2, info_keyval_vectors[i][j].key, val2);
-                    if (result != MPIU_STR_SUCCESS){
-                        pmi_err_printf("unable to add %s=%s to the spawn command.\n", info_keyval_vectors[i][j].key, val2);
-                        MPIU_Free(val2);
-                        return PMI_FAIL;
-                    }
-                    MPIU_Free(val2);
-                    path_specified = 1;
-                }
-                else{
-                    if(strcmp(info_keyval_vectors[i][j].key, "wdir") == 0){
-                        wdir_specified = 1;
-                    }
-                    result = MPIU_Str_add_string_arg(&iter2, &maxlen2, info_keyval_vectors[i][j].key, info_keyval_vectors[i][j].val);
-                    if (result != MPIU_STR_SUCCESS){
-                        pmi_err_printf("unable to add %s=%s to the spawn command.\n", info_keyval_vectors[i][j].key, info_keyval_vectors[i][j].val);
-                        return PMI_FAIL;
-                    }
-                }
-                if (iter2 > keyval_buf){
-                    iter2--;
-                    *iter2 = '\0'; /* remove the trailing space */
-                }
-                sprintf(key, "%d", j);
-                result = MPIU_Str_add_string_arg(&iter, &maxlen, key, keyval_buf);
-                if (result != MPIU_STR_SUCCESS){
-                    pmi_err_printf("unable to add %s=%s to the spawn command.\n", key, keyval_buf);
-                    return PMI_FAIL;
-                }
-            }
-            /* add the current directory as the default path if a path has not been specified */
-            if (!path_specified){
-                keyval_buf[0] = '\0';
-                iter2 = keyval_buf;
-                maxlen2 = SMPD_MAX_CMD_LENGTH;
-                result = MPIU_Str_add_string_arg(&iter2, &maxlen2, "path", path);
-                iter2--;
-                *iter2 = '\0';
-                sprintf(key, "%d", j++);
-                result = MPIU_Str_add_string_arg(&iter, &maxlen, key, keyval_buf);
-                if (result != MPIU_STR_SUCCESS){
-                    pmi_err_printf("unable to add %s=%s to the spawn command.\n", key, keyval_buf);
-                    return PMI_FAIL;
-                }
-                info_keyval_sizes[i]++;
-            }
-            if(!wdir_specified){
-                char wdir[SMPD_MAX_DIR_LENGTH];
-                if(getcwd(wdir, SMPD_MAX_DIR_LENGTH)){
-                    keyval_buf[0] = '\0';
-                    iter2 = keyval_buf;
-                    maxlen2 = SMPD_MAX_CMD_LENGTH;
-                    result = MPIU_Str_add_string_arg(&iter2, &maxlen2, "wdir", wdir);
-                    if(result != MPIU_STR_SUCCESS){
-                        pmi_err_printf("Unable to add wdir to keyval_buf\n");
-                        return PMI_FAIL;
-                    }
-                    *(--iter2) = '\0';
-                    sprintf(key, "%d", j++);
-                    result = MPIU_Str_add_string_arg(&iter, &maxlen, key, keyval_buf);
-                    if(result != MPIU_STR_SUCCESS){
-                        pmi_err_printf("unable to add %s=%s to the spawn command\n", key, keyval_buf);
-                        return PMI_FAIL;
-                    }
-                    info_keyval_sizes[i]++;
-                }
-            }
-#ifdef HAVE_WINDOWS_H
-            /* FIXME: We don't support user environment infos for spawn() */
-            if(pmi_process.rpmi == PMI_TRUE){
-                /* Add channel environment for rpmi/singleton_init procs */
-                char *env, env_str[SMPD_MAX_ENV_LENGTH];
-                env = getenv("MPICH_CHANNEL");
-                if(env != NULL){
-                    snprintf(env_str, SMPD_MAX_ENV_LENGTH, "MPICH_CHANNEL=%s", env);
-                    keyval_buf[0] = '\0';
-                    iter2 = keyval_buf;
-                    maxlen2 = SMPD_MAX_CMD_LENGTH;
-                    result = MPIU_Str_add_string_arg(&iter2, &maxlen2, "env", env_str);
-                    iter2--;
-                    *iter2 = '\0';
-                    sprintf(key, "%d", j++);
-                    result = MPIU_Str_add_string_arg(&iter, &maxlen, key, keyval_buf);
-                    if (result != MPIU_STR_SUCCESS){
-                        pmi_err_printf("unable to add %s=%s to the spawn command.\n", key, keyval_buf);
-                        return PMI_FAIL;
-                    }
-                    info_keyval_sizes[i]++;
-                }
-            }
-#endif
-            if (iter != buffer){
-                iter--;
-                *iter = '\0'; /* remove the trailing space */
-            }
-            sprintf(key, "keyvals%d", i);
-            result = smpd_add_command_arg(cmd_ptr, key, buffer);
-            if (result != SMPD_SUCCESS){
-                pmi_err_printf("unable to add %s(%s) to the spawn command.\n", key, buffer);
-                return PMI_FAIL;
-            }
-        }
-    }
-    else
-    {
-	if (!info_keyval_sizes)
-	{
-	    buffer[0] = '\0';
-	    for (i=0; i<count; i++)
-	    {
-		if (i < count-1)
-		    strcat(buffer, "1 ");
-		else
-		    strcat(buffer, "1");
-	    }
-	    result = smpd_add_command_arg(cmd_ptr, "nkeyvals", buffer);
-	    if (result != SMPD_SUCCESS)
-	    {
-		pmi_err_printf("unable to add nkeyvals(%s) to the spawn command.\n", buffer);
-		return PMI_FAIL;
-	    }
-	}
-	for (i=0; i<count; i++)
-	{
-	    buffer[0] = '\0';
-	    iter = buffer;
-	    maxlen = SMPD_MAX_CMD_LENGTH;
-	    /* add the current directory as the default path if a path has not been specified */
-	    keyval_buf[0] = '\0';
-	    iter2 = keyval_buf;
-	    maxlen2 = SMPD_MAX_CMD_LENGTH;
-	    result = MPIU_Str_add_string_arg(&iter2, &maxlen2, "path", path);
-	    iter2--;
-	    *iter2 = '\0';
-	    strcpy(key, "0");
-	    result = MPIU_Str_add_string_arg(&iter, &maxlen, key, keyval_buf);
-	    if (result != MPIU_STR_SUCCESS)
-	    {
-		pmi_err_printf("unable to add %s=%s to the spawn command.\n", key, keyval_buf);
-		return PMI_FAIL;
-	    }
-	    sprintf(key, "keyvals%d", i);
-	    result = smpd_add_command_arg(cmd_ptr, key, buffer);
-	    if (result != SMPD_SUCCESS)
-	    {
-		pmi_err_printf("unable to add %s(%s) to the spawn command.\n", key, buffer);
-		return PMI_FAIL;
-	    }
-	}
-    }
-
-    /* add the keyval sizes array */
-    if (info_keyval_sizes)
-    {
-	buffer[0] = '\0';
-	for (i=0; i<count; i++)
-	{
-	    if (i < count-1)
-		sprintf(key, "%d ", info_keyval_sizes[i] > 0 ? info_keyval_sizes[i] : 1);
-	    else
-		sprintf(key, "%d", info_keyval_sizes[i] > 0 ? info_keyval_sizes[i] : 1);
-	    strcat(buffer, key);
-	}
-	result = smpd_add_command_arg(cmd_ptr, "nkeyvals", buffer);
-	if (result != SMPD_SUCCESS)
-	{
-	    pmi_err_printf("unable to add nkeyvals(%s) to the spawn command.\n", buffer);
-	    return PMI_FAIL;
-	}
-    }
-
-    MPIU_Free(info_keyval_sizes);
-
-    /* add the pre-put keyvals */
-    result = smpd_add_command_int_arg(cmd_ptr, "npreput", preput_keyval_size);
-    if (result != SMPD_SUCCESS)
-    {
-	pmi_err_printf("unable to add npreput=%d to the spawn command.\n", preput_keyval_size);
-	return PMI_FAIL;
-    }
-    if (preput_keyval_size > 0 && preput_keyval_vector)
-    {
-	buffer[0] = '\0';
-	iter = buffer;
-	maxlen = SMPD_MAX_CMD_LENGTH;
-	for (i=0; i<preput_keyval_size; i++)
-	{
-	    keyval_buf[0] = '\0';
-	    iter2 = keyval_buf;
-	    maxlen2 = SMPD_MAX_CMD_LENGTH;
-	    result = MPIU_Str_add_string_arg(&iter2, &maxlen2, preput_keyval_vector[i].key, preput_keyval_vector[i].val);
-	    if (result != MPIU_STR_SUCCESS)
-	    {
-		pmi_err_printf("unable to add %s=%s to the spawn command.\n", preput_keyval_vector[i].key, preput_keyval_vector[i].val);
-		return PMI_FAIL;
-	    }
-	    if (iter2 > keyval_buf)
-	    {
-		iter2--;
-		*iter2 = '\0'; /* remove the trailing space */
-	    }
-	    sprintf(key, "%d", i);
-	    result = MPIU_Str_add_string_arg(&iter, &maxlen, key, keyval_buf);
-	    if (result != MPIU_STR_SUCCESS)
-	    {
-		pmi_err_printf("unable to add %s=%s to the spawn command.\n", key, keyval_buf);
-		return PMI_FAIL;
-	    }
-	}
-	result = smpd_add_command_arg(cmd_ptr, "preput", buffer);
-	if (result != SMPD_SUCCESS)
-	{
-	    pmi_err_printf("unable to add preput(%s) to the spawn command.\n", buffer);
-	    return PMI_FAIL;
-	}
-    }	
-
-    /*printf("spawn command: <%s>\n", cmd_ptr->cmd);*/
-
-    /* post the write of the command */
-    /*
-    printf("posting write of spawn command to %s context, sock %d: '%s'\n",
-	smpd_get_context_str(pmi_process.context), SMPDU_Sock_get_sock_id(pmi_process.context->sock), cmd_ptr->cmd);
-    fflush(stdout);
-    */
-    
-    result = smpd_post_write_command(pmi_process.context, cmd_ptr);
-    if (result != SMPD_SUCCESS)
-    {
-	pmi_err_printf("unable to post a write of the spawn command.\n");
-	return PMI_FAIL;
-    }
-
-    /* post a read for the result*/
-    result = smpd_post_read_command(pmi_process.context);
-    if (result != SMPD_SUCCESS)
-    {
-	pmi_err_printf("unable to post a read of the next command on the pmi context.\n");
-	return PMI_FAIL;
-    }
-
-    /* let the state machine send the command and receive the result */
-    result = smpd_enter_at_state(pmi_process.set, SMPD_WRITING_CMD);
-    if (result != SMPD_SUCCESS)
-    {
-	/*printf("PMI_Spawn_multiple returning failure.\n");fflush(stdout);*/
-	pmi_err_printf("the state machine logic failed to get the result of the spawn command.\n");
-	return PMI_FAIL;
-    }
-
-    for (i=0; i<total_num_processes; i++)
-    {
-	errors[i] = PMI_SUCCESS;
-    }
-    /*printf("PMI_Spawn_multiple returning success.\n");fflush(stdout);*/
-    return PMI_SUCCESS;
-}
-
-int iPMI_Parse_option(int num_args, char *args[], int *num_parsed, PMI_keyval_t **keyvalp, int *size)
-{
-    if (num_args < 1)
-	return PMI_ERR_INVALID_NUM_ARGS;
-    if (args == NULL)
-	return PMI_ERR_INVALID_ARGS;
-    if (num_parsed == NULL)
-	return PMI_ERR_INVALID_NUM_PARSED;
-    if (keyvalp == NULL)
-	return PMI_ERR_INVALID_KEYVALP;
-    if (size == NULL)
-	return PMI_ERR_INVALID_SIZE;
-    *num_parsed = 0;
-    *keyvalp = NULL;
-    *size = 0;
-    return PMI_SUCCESS;
-}
-
-int iPMI_Args_to_keyval(int *argcp, char *((*argvp)[]), PMI_keyval_t **keyvalp, int *size)
-{
-    if (argcp == NULL || argvp == NULL || keyvalp == NULL || size == NULL)
-	return PMI_ERR_INVALID_ARG;
-    return PMI_SUCCESS;
-}
-
-int iPMI_Free_keyvals(PMI_keyval_t keyvalp[], int size)
-{
-    if (keyvalp == NULL || size < 0)
-	return PMI_ERR_INVALID_ARG;
-    if (size == 0)
-	return PMI_SUCCESS;
-    /* free stuff */
-    return PMI_SUCCESS;
-}
-
-static char * namepub_kvs = NULL;
-static int setup_name_service()
-{
-    int result;
-    char *pmi_namepub_kvs;
-
-    if (namepub_kvs != NULL)
-    {
-	/* FIXME: Should it be an error to call setup_name_service twice? */
-	MPIU_Free(namepub_kvs);
-    }
-
-    namepub_kvs = (char*)MPIU_Malloc(PMI_MAX_KVS_NAME_LENGTH);
-    if (!namepub_kvs)
-    {
-	pmi_err_printf("unable to allocate memory for the name publisher kvs.\n");
-	return PMI_FAIL;
-    }
-
-    pmi_namepub_kvs = getenv("PMI_NAMEPUB_KVS");
-    if (pmi_namepub_kvs)
-    {
-	strncpy(namepub_kvs, pmi_namepub_kvs, PMI_MAX_KVS_NAME_LENGTH);
-    }
-    else
-    {
-	/*result = PMI_KVS_Create(namepub_kvs, PMI_MAX_KVS_NAME_LENGTH);*/
-	result = iPMI_Get_kvs_domain_id(namepub_kvs, PMI_MAX_KVS_NAME_LENGTH);
-	if (result != PMI_SUCCESS)
-	{
-	    pmi_err_printf("unable to get the name publisher kvs name.\n");
-	    return result;
-	}
-    }
-
-    /*printf("namepub kvs: <%s>\n", namepub_kvs);fflush(stdout);*/
-    return PMI_SUCCESS;
-}
-
-int iPMI_Publish_name( const char service_name[], const char port[] )
-{
-    int result;
-    if (service_name == NULL || port == NULL)
-	return PMI_ERR_INVALID_ARG;
-    if (namepub_kvs == NULL)
-    {
-	result = setup_name_service();
-	if (result != PMI_SUCCESS)
-	    return result;
-    }
-    /*printf("publish kvs: <%s>\n", namepub_kvs);fflush(stdout);*/
-    result = iPMI_KVS_Put(namepub_kvs, service_name, port);
-    if (result != PMI_SUCCESS)
-    {
-	pmi_err_printf("unable to put the service name and port into the name publisher kvs.\n");
-	return result;
-    }
-    result = iPMI_KVS_Commit(namepub_kvs);
-    if (result != PMI_SUCCESS)
-    {
-	pmi_err_printf("unable to commit the name publisher kvs.\n");
-	return result;
-    }
-    return PMI_SUCCESS;
-}
-
-int iPMI_Unpublish_name( const char service_name[] )
-{
-    int result;
-    if (service_name == NULL)
-	return PMI_ERR_INVALID_ARG;
-    if (namepub_kvs == NULL)
-    {
-	result = setup_name_service();
-	if (result != PMI_SUCCESS)
-	    return result;
-    }
-    /*printf("unpublish kvs: <%s>\n", namepub_kvs);fflush(stdout);*/
-    /* This assumes you can put the same key more than once which breaks the PMI specification */
-    result = iPMI_KVS_Put(namepub_kvs, service_name, "");
-    if (result != PMI_SUCCESS)
-    {
-	pmi_err_printf("unable to put the blank service name and port into the name publisher kvs.\n");
-	return result;
-    }
-    result = iPMI_KVS_Commit(namepub_kvs);
-    if (result != PMI_SUCCESS)
-    {
-	pmi_err_printf("unable to commit the name publisher kvs.\n");
-	return result;
-    }
-    return PMI_SUCCESS;
-}
-
-int iPMI_Lookup_name( const char service_name[], char port[] )
-{
-    int result;
-    if (service_name == NULL || port == NULL)
-	return PMI_ERR_INVALID_ARG;
-    if (namepub_kvs == NULL)
-    {
-	result = setup_name_service();
-	if (result != PMI_SUCCESS)
-	    return result;
-    }
-    /*printf("lookup kvs: <%s>\n", namepub_kvs);fflush(stdout);*/
-    silence = 1;
-    result = iPMI_KVS_Get(namepub_kvs, service_name, port, MPI_MAX_PORT_NAME);
-    silence = 0;
-    if (result != PMI_SUCCESS)
-    {
-	/* fail silently */
-	/*pmi_err_printf("unable to get the service name and port from the name publisher kvs.\n");*/
-	return result;
-    }
-
-    if (port[0] == '\0')
-    {
-	return MPI_ERR_NAME;
-    }
-    return PMI_SUCCESS;
-}
-
-#ifndef HAVE_WINDOWS_H
-static int writebuf(int fd, void *buffer, int length)
-{
-    unsigned char *buf;
-    int num_written;
-    
-    buf = (unsigned char *)buffer;
-    while (length)
-    {
-	num_written = write(fd, buf, length);
-	if (num_written < 0)
-	{
-	    if (errno != EINTR)
-	    {
-		return errno;
-	    }
-	    num_written = 0;
-	}
-	buf = buf + num_written;
-	length = length - num_written;
-    }
-    return 0;
-}
-
-static int readbuf(int fd, void *buffer, int length)
-{
-    unsigned char *buf;
-    int num_read;
-
-    buf = (unsigned char *)buffer;
-    while (length)
-    {
-	num_read = read(fd, buf, length);
-	if (num_read < 0)
-	{
-	    if (errno != EINTR)
-	    {
-		return errno;
-	    }
-	    num_read = 0;
-	}
-	else if (num_read == 0)
-	{
-	    return -1;
-	}
-	buf = buf + num_read;
-	length = length - num_read;
-    }
-    return 0;
-}
-#endif
-
-int PMIX_Start_root_smpd(int nproc, char *host, int len, int *port)
-{
-#ifdef HAVE_WINDOWS_H
-    DWORD dwLength = len;
-#else
-    int pipe_fd[2];
-    int result;
-#endif
-
-    pmi_process.nproc = nproc;
-
-#ifdef HAVE_WINDOWS_H
-    pmi_process.hRootThreadReadyEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
-    if (pmi_process.hRootThreadReadyEvent == NULL)
-    {
-	pmi_err_printf("unable to create the root listener synchronization event, error: %d\n", GetLastError());
-	return PMI_FAIL;
-    }
-    pmi_process.hRootThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)root_smpd, NULL, 0, NULL);
-    if (pmi_process.hRootThread == NULL)
-    {
-	pmi_err_printf("unable to create the root listener thread: error %d\n", GetLastError());
-	return PMI_FAIL;
-    }
-    if (WaitForSingleObject(pmi_process.hRootThreadReadyEvent, 60000) != WAIT_OBJECT_0)
-    {
-	pmi_err_printf("the root process thread failed to initialize.\n");
-	return PMI_FAIL;
-    }
-    /*GetComputerName(host, &dwLength);*/
-    GetComputerNameEx(ComputerNameDnsFullyQualified, host, &dwLength);
-#else
-    pipe(pipe_fd);
-    result = fork();
-    if (result == -1)
-    {
-	pmi_err_printf("unable to fork the root listener, errno %d\n", errno);
-	return PMI_FAIL;
-    }
-    if (result == 0)
-    {
-	close(pipe_fd[0]); /* close the read end of the pipe */
-	result = root_smpd(&pipe_fd[1]);
-	exit(result);
-    }
-
-    /* close the write end of the pipe */
-    close(pipe_fd[1]);
-    /* read the port from the root_smpd process */
-    readbuf(pipe_fd[0], &pmi_process.root_port, sizeof(int));
-    /* read the kvs name */
-    readbuf(pipe_fd[0], smpd_process.kvs_name, SMPD_MAX_DBS_NAME_LEN);
-    /* close the read end of the pipe */
-    close(pipe_fd[0]);
-    pmi_process.root_pid = result;
-    gethostname(host, len);
-#endif
-
-    *port = pmi_process.root_port;
-
-    return PMI_SUCCESS;
-}
-
-int PMIX_Stop_root_smpd()
-{
-#ifdef HAVE_WINDOWS_H
-    DWORD result;
-#else
-    int status;
-#endif
-
-#ifdef HAVE_WINDOWS_H
-    result = WaitForSingleObject(pmi_process.hRootThread, INFINITE);
-    if (result != WAIT_OBJECT_0)
-    {
-	return PMI_FAIL;
-    }
-#else
-    kill(pmi_process.root_pid, SIGKILL);
-    /*
-    if (waitpid(pmi_process.root_pid, &status, WUNTRACED) == -1)
-    {
-	return PMI_FAIL;
-    }
-    */
-#endif
-    return PMI_SUCCESS;
-}
-
-/* FIXME: Why is this func defined here ? 
- * - shouldn't this be in smpd_util*.lib ?
- */
-static int root_smpd(void *p)
-{
-    int result;
-    SMPDU_Sock_set_t set;
-    SMPDU_Sock_t listener;
-    smpd_process_group_t *pg;
-    int i;
-#ifndef HAVE_WINDOWS_H
-    int send_kvs = 0;
-    int pipe_fd;
-#endif
-
-    /* unreferenced parameter */
-    SMPD_UNREFERENCED_ARG(p);
-
-    smpd_process.id = 1;
-    smpd_process.root_smpd = SMPD_FALSE;
-    smpd_process.map0to1 = SMPD_TRUE;
-
-    result = SMPDU_Sock_create_set(&set);
-    if (result != SMPD_SUCCESS)
-    {
-	pmi_mpi_err_printf(result, "SMPDU_Sock_create_set failed.\n");
-	return PMI_FAIL;
-    }
-    smpd_process.set = set;
-    smpd_dbg_printf("created a set for the listener: %d\n", SMPDU_Sock_get_sock_set_id(set));
-    result = SMPDU_Sock_listen(set, NULL, &pmi_process.root_port, &listener); 
-    if (result != SMPD_SUCCESS)
-    {
-	pmi_mpi_err_printf(result, "SMPDU_Sock_listen failed.\n");
-	return PMI_FAIL;
-    }
-    smpd_dbg_printf("smpd listening on port %d\n", pmi_process.root_port);
-
-    result = smpd_create_context(SMPD_CONTEXT_LISTENER, set, listener, -1, &smpd_process.listener_context);
-    if (result != SMPD_SUCCESS)
-    {
-	pmi_err_printf("unable to create a context for the smpd listener.\n");
-	return PMI_FAIL;
-    }
-    result = SMPDU_Sock_set_user_ptr(listener, smpd_process.listener_context);
-    if (result != SMPD_SUCCESS)
-    {
-	pmi_mpi_err_printf(result, "SMPDU_Sock_set_user_ptr failed.\n");
-	return PMI_FAIL;
-    }
-    smpd_process.listener_context->state = SMPD_SMPD_LISTENING;
-
-    smpd_dbs_init();
-    smpd_process.have_dbs = SMPD_TRUE;
-    if (smpd_process.kvs_name[0] != '\0')
-    {
-	result = smpd_dbs_create_name_in(smpd_process.kvs_name);
-    }
-    else
-    {
-	result = smpd_dbs_create(smpd_process.kvs_name);
-#ifndef HAVE_WINDOWS_H
-	send_kvs = 1;
-#endif
-    }
-    if (result != SMPD_DBS_SUCCESS)
-    {
-	pmi_err_printf("unable to create a kvs database: name = <%s>.\n", smpd_process.kvs_name);
-	return PMI_FAIL;
-    }
-
-    /* Set up the process group */
-    /* initialize a new process group structure */
-    pg = (smpd_process_group_t*)MPIU_Malloc(sizeof(smpd_process_group_t));
-    if (pg == NULL)
-    {
-	pmi_err_printf("unable to allocate memory for a process group structure.\n");
-	return PMI_FAIL;
-    }
-    pg->aborted = SMPD_FALSE;
-    pg->any_init_received = SMPD_FALSE;
-    pg->any_noinit_process_exited = SMPD_FALSE;
-    strncpy(pg->kvs, smpd_process.kvs_name, SMPD_MAX_DBS_NAME_LEN);
-    pg->num_procs = pmi_process.nproc;
-    pg->processes = (smpd_exit_process_t*)MPIU_Malloc(pmi_process.nproc * sizeof(smpd_exit_process_t));
-    if (pg->processes == NULL)
-    {
-	pmi_err_printf("unable to allocate an array of %d process exit structures.\n", pmi_process.nproc);
-	return PMI_FAIL;
-    }
-    for (i=0; i<pmi_process.nproc; i++)
-    {
-	pg->processes[i].ctx_key[0] = '\0';
-	pg->processes[i].errmsg = NULL;
-	pg->processes[i].exitcode = -1;
-	pg->processes[i].exited = SMPD_FALSE;
-	pg->processes[i].finalize_called = SMPD_FALSE;
-	pg->processes[i].init_called = SMPD_FALSE;
-	pg->processes[i].node_id = i+1;
-	pg->processes[i].host[0] = '\0';
-	pg->processes[i].suspended = SMPD_FALSE;
-	pg->processes[i].suspend_cmd = NULL;
-    }
-    /* add the process group to the global list */
-    pg->next = smpd_process.pg_list;
-    smpd_process.pg_list = pg;
-
-#ifdef HAVE_WINDOWS_H
-    SetEvent(pmi_process.hRootThreadReadyEvent);
-#else
-    if (p != NULL)
-    {
-	pipe_fd = *(int*)p;
-	/* send the root port back over the pipe */
-	writebuf(pipe_fd, &pmi_process.root_port, sizeof(int));
-	if (send_kvs)
-	{
-	    writebuf(pipe_fd, smpd_process.kvs_name, SMPD_MAX_DBS_NAME_LEN);
-	}  
-	close(pipe_fd);
-    }
-#endif
-
-    result = smpd_enter_at_state(set, SMPD_SMPD_LISTENING);
-    if (result != SMPD_SUCCESS)
-    {
-	pmi_err_printf("root_smpd state machine failed.\n");
-	return PMI_FAIL;
-    }
-
-    result = SMPDU_Sock_destroy_set(set);
-    if (result != SMPD_SUCCESS)
-    {
-	pmi_mpi_err_printf(result, "unable to destroy the set.\n");
-    }
-
-    return PMI_SUCCESS;
-}
diff --git a/src/pmi/smpd/smpd_pmi.c b/src/pmi/smpd/smpd_pmi.c
deleted file mode 100644
index 336c87a..0000000
--- a/src/pmi/smpd/smpd_pmi.c
+++ /dev/null
@@ -1,281 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
-/*
- *  (C) 2001 by Argonne National Laboratory.
- *      See COPYRIGHT in top-level directory.
- */
-#include "ipmi.h"
-#ifdef HAVE_MACH_O_DYLD_H
-#include <mach-o/dyld.h>
-#endif
-
-#ifdef HAVE_WINDOWS_H
-
-#define PMILoadLibrary(a,b) a = LoadLibrary( b )
-#define PMIGetProcAddress GetProcAddress
-#define PMIModule HMODULE
-
-#elif defined(HAVE_DLOPEN)
-
-#define PMILoadLibrary(a, b) a = dlopen( b , RTLD_LAZY /* or RTLD_NOW */)
-#define PMIGetProcAddress dlsym
-#define PMIModule void *
-
-#elif defined(HAVE_NSLINKMODULE)
-
-#define PMILoadLibrary(a, b) \
-{ \
-    NSObjectFileImage fileImage; \
-    NSObjectFileImageReturnCode returnCode = \
-	NSCreateObjectFileImageFromFile(b, &fileImage); \
-    if (returnCode == NSObjectFileImageSuccess) \
-    { \
-	a = NSLinkModule(fileImage, b, \
-			 NSLINKMODULE_OPTION_RETURN_ON_ERROR \
-			 | NSLINKMODULE_OPTION_PRIVATE); \
-	NSDestroyObjectFileImage(fileImage); \
-    } else { \
-	a = NULL; \
-    } \
-}
-#define PMIGetProcAddress(a, b) NSAddressOfSymbol( NSLookupSymbolInModule( a, b ) )
-#define PMIModule NSModule
-
-#else
-#error PMILoadLibrary functions needed
-#endif
-
-/* global variables */
-static ipmi_functions_t fn =
-{
-    NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
-};
-
-int PMI_Init(int *spawned)
-{
-    char *dll_name;
-    PMIModule hModule;
-
-    if (fn.PMI_Init != NULL)
-    {
-	/* Init cannot be called more than once? */
-	return PMI_FAIL;
-    }
-
-    dll_name = getenv("PMI_DLL_NAME");
-    if (dll_name)
-    {
-	PMILoadLibrary(hModule, dll_name);
-	if (hModule != NULL)
-	{
-	    fn.PMI_Init = (int (*)(int *))PMIGetProcAddress(hModule, "PMI_Init");
-	    if (fn.PMI_Init == NULL)
-	    {
-		return PMI_FAIL;
-	    }
-	    fn.PMI_Initialized = (int (*)(int *))PMIGetProcAddress(hModule, "PMI_Initialized");
-	    fn.PMI_Finalize = (int (*)(void))PMIGetProcAddress(hModule, "PMI_Finalize");
-	    fn.PMI_Get_size = (int (*)(int *))PMIGetProcAddress(hModule, "PMI_Get_size");
-	    fn.PMI_Get_rank = (int (*)(int *))PMIGetProcAddress(hModule, "PMI_Get_rank");
-	    fn.PMI_Get_universe_size = (int (*)(int *))PMIGetProcAddress(hModule, "PMI_Get_universe_size");
-	    fn.PMI_Get_appnum = (int (*)(int *))PMIGetProcAddress(hModule, "PMI_Get_appnum");
-	    fn.PMI_Get_id = (int (*)(char [], int))PMIGetProcAddress(hModule, "PMI_Get_id");
-	    fn.PMI_Get_kvs_domain_id = (int (*)(char [], int))PMIGetProcAddress(hModule, "PMI_Get_kvs_domain_id");
-	    fn.PMI_Get_id_length_max = (int (*)(int *))PMIGetProcAddress(hModule, "PMI_Get_id_length_max");
-	    fn.PMI_Barrier = (int (*)(void))PMIGetProcAddress(hModule, "PMI_Barrier");
-	    fn.PMI_Get_clique_size = (int (*)(int *))PMIGetProcAddress(hModule, "PMI_Get_clique_size");
-	    fn.PMI_Get_clique_ranks = (int (*)(int [], int))PMIGetProcAddress(hModule, "PMI_Get_clique_ranks");
-	    fn.PMI_Abort = (int (*)(int, const char[]))PMIGetProcAddress(hModule, "PMI_Abort");
-	    fn.PMI_KVS_Get_my_name = (int (*)(char [], int))PMIGetProcAddress(hModule, "PMI_KVS_Get_my_name");
-	    fn.PMI_KVS_Get_name_length_max = (int (*)(int *))PMIGetProcAddress(hModule, "PMI_KVS_Get_name_length_max");
-	    fn.PMI_KVS_Get_key_length_max = (int (*)(int *))PMIGetProcAddress(hModule, "PMI_KVS_Get_key_length_max");
-	    fn.PMI_KVS_Get_value_length_max = (int (*)(int *))PMIGetProcAddress(hModule, "PMI_KVS_Get_value_length_max");
-	    fn.PMI_KVS_Create = (int (*)(char [], int))PMIGetProcAddress(hModule, "PMI_KVS_Create");
-	    fn.PMI_KVS_Destroy = (int (*)(const char []))PMIGetProcAddress(hModule, "PMI_KVS_Destroy");
-	    fn.PMI_KVS_Put = (int (*)(const char [], const char [], const char []))PMIGetProcAddress(hModule, "PMI_KVS_Put");
-	    fn.PMI_KVS_Commit = (int (*)(const char []))PMIGetProcAddress(hModule, "PMI_KVS_Commit");
-	    fn.PMI_KVS_Get = (int (*)(const char [], const char [], char [], int))PMIGetProcAddress(hModule, "PMI_KVS_Get");
-	    fn.PMI_KVS_Iter_first = (int (*)(const char [], char [], int, char [], int))PMIGetProcAddress(hModule, "PMI_KVS_Iter_first");
-	    fn.PMI_KVS_Iter_next = (int (*)(const char [], char [], int, char [], int))PMIGetProcAddress(hModule, "PMI_KVS_Iter_next");
-	    fn.PMI_Spawn_multiple = (int (*)(int, const char *[], const char **[], const int [], const int [], const PMI_keyval_t *[], int, const PMI_keyval_t [], int []))PMIGetProcAddress(hModule, "PMI_Spawn_multiple");
-	    fn.PMI_Parse_option = (int (*)(int, char *[], int *, PMI_keyval_t **, int *))PMIGetProcAddress(hModule, "PMI_Parse_option");
-	    fn.PMI_Args_to_keyval = (int (*)(int *, char *((*)[]), PMI_keyval_t **, int *))PMIGetProcAddress(hModule, "PMI_Args_to_keyval");
-	    fn.PMI_Free_keyvals = (int (*)(PMI_keyval_t [], int))PMIGetProcAddress(hModule, "PMI_Free_keyvals");
-	    fn.PMI_Publish_name = (int (*)(const char [], const char [] ))PMIGetProcAddress(hModule, "PMI_Publish_name");
-	    fn.PMI_Unpublish_name = (int (*)( const char [] ))PMIGetProcAddress(hModule, "PMI_Unpublish_name");
-	    fn.PMI_Lookup_name = (int (*)( const char [], char [] ))PMIGetProcAddress(hModule, "PMI_Lookup_name");
-	    return fn.PMI_Init(spawned);
-	}
-    }
-
-    fn.PMI_Init = iPMI_Init;
-    fn.PMI_Initialized = iPMI_Initialized;
-    fn.PMI_Finalize = iPMI_Finalize;
-    fn.PMI_Get_size = iPMI_Get_size;
-    fn.PMI_Get_rank = iPMI_Get_rank;
-    fn.PMI_Get_universe_size = iPMI_Get_universe_size;
-    fn.PMI_Get_appnum = iPMI_Get_appnum;
-    fn.PMI_Get_id = iPMI_Get_id;
-    fn.PMI_Get_kvs_domain_id = iPMI_Get_kvs_domain_id;
-    fn.PMI_Get_id_length_max = iPMI_Get_id_length_max;
-    fn.PMI_Barrier = iPMI_Barrier;
-    fn.PMI_Get_clique_size = iPMI_Get_clique_size;
-    fn.PMI_Get_clique_ranks = iPMI_Get_clique_ranks;
-    fn.PMI_Abort = iPMI_Abort;
-    fn.PMI_KVS_Get_my_name = iPMI_KVS_Get_my_name;
-    fn.PMI_KVS_Get_name_length_max = iPMI_KVS_Get_name_length_max;
-    fn.PMI_KVS_Get_key_length_max = iPMI_KVS_Get_key_length_max;
-    fn.PMI_KVS_Get_value_length_max = iPMI_KVS_Get_value_length_max;
-    fn.PMI_KVS_Create = iPMI_KVS_Create;
-    fn.PMI_KVS_Destroy = iPMI_KVS_Destroy;
-    fn.PMI_KVS_Put = iPMI_KVS_Put;
-    fn.PMI_KVS_Commit = iPMI_KVS_Commit;
-    fn.PMI_KVS_Get = iPMI_KVS_Get;
-    fn.PMI_KVS_Iter_first = iPMI_KVS_Iter_first;
-    fn.PMI_KVS_Iter_next = iPMI_KVS_Iter_next;
-    fn.PMI_Spawn_multiple = iPMI_Spawn_multiple;
-    fn.PMI_Parse_option = iPMI_Parse_option;
-    fn.PMI_Args_to_keyval = iPMI_Args_to_keyval;
-    fn.PMI_Free_keyvals = iPMI_Free_keyvals;
-    fn.PMI_Publish_name = iPMI_Publish_name;
-    fn.PMI_Unpublish_name = iPMI_Unpublish_name;
-    fn.PMI_Lookup_name = iPMI_Lookup_name;
-
-    return fn.PMI_Init(spawned);
-}
-
-int PMI_Finalize()
-{
-    if (fn.PMI_Finalize == NULL)
-	return PMI_FAIL;
-    return fn.PMI_Finalize();
-}
-
-int PMI_Get_size(int *size)
-{
-    if (fn.PMI_Get_size == NULL)
-	return PMI_FAIL;
-    return fn.PMI_Get_size(size);
-}
-
-int PMI_Get_rank(int *rank)
-{
-    if (fn.PMI_Get_rank == NULL)
-	return PMI_FAIL;
-    return fn.PMI_Get_rank(rank);
-}
-
-int PMI_Get_universe_size(int *size)
-{
-    if (fn.PMI_Get_universe_size == NULL)
-	return PMI_FAIL;
-    return fn.PMI_Get_universe_size(size);
-}
-
-int PMI_Get_appnum(int *appnum)
-{
-    if (fn.PMI_Get_appnum == NULL)
-	return PMI_FAIL;
-    return fn.PMI_Get_appnum(appnum);
-}
-
-int PMI_Barrier()
-{
-    if (fn.PMI_Barrier == NULL)
-	return PMI_FAIL;
-    return fn.PMI_Barrier();
-}
-
-int PMI_Abort(int exit_code, const char error_msg[])
-{
-    if (fn.PMI_Abort == NULL)
-	return PMI_FAIL;
-    return fn.PMI_Abort(exit_code, error_msg);
-}
-
-int PMI_KVS_Get_my_name(char kvsname[], int length)
-{
-    if (fn.PMI_KVS_Get_my_name == NULL)
-	return PMI_FAIL;
-    return fn.PMI_KVS_Get_my_name(kvsname, length);
-}
-
-int PMI_KVS_Get_name_length_max(int *maxlen)
-{
-    if (fn.PMI_KVS_Get_name_length_max == NULL)
-	return PMI_FAIL;
-    return fn.PMI_KVS_Get_name_length_max(maxlen);
-}
-
-int PMI_KVS_Get_key_length_max(int *maxlen)
-{
-    if (fn.PMI_KVS_Get_key_length_max == NULL)
-	return PMI_FAIL;
-    return fn.PMI_KVS_Get_key_length_max(maxlen);
-}
-
-int PMI_KVS_Get_value_length_max(int *maxlen)
-{
-    if (fn.PMI_KVS_Get_value_length_max == NULL)
-	return PMI_FAIL;
-    return fn.PMI_KVS_Get_value_length_max(maxlen);
-}
-
-int PMI_KVS_Put(const char kvsname[], const char key[], const char value[])
-{
-    if (fn.PMI_KVS_Put == NULL)
-	return PMI_FAIL;
-    return fn.PMI_KVS_Put(kvsname, key, value);
-}
-
-int PMI_KVS_Commit(const char kvsname[])
-{
-    if (fn.PMI_KVS_Commit == NULL)
-	return PMI_FAIL;
-    return fn.PMI_KVS_Commit(kvsname);
-}
-
-int PMI_KVS_Get(const char kvsname[], const char key[], char value[], int length)
-{
-    if (fn.PMI_KVS_Get == NULL)
-	return PMI_FAIL;
-    return fn.PMI_KVS_Get(kvsname, key, value, length);
-}
-
-int PMI_Spawn_multiple(int count,
-                       const char * cmds[],
-                       const char ** argvs[],
-                       const int maxprocs[],
-                       const int info_keyval_sizes[],
-                       const PMI_keyval_t * info_keyval_vectors[],
-                       int preput_keyval_size,
-                       const PMI_keyval_t preput_keyval_vector[],
-                       int errors[])
-{
-    if (fn.PMI_Spawn_multiple == NULL)
-	return PMI_FAIL;
-    return fn.PMI_Spawn_multiple(count, cmds, argvs, maxprocs,
-	info_keyval_sizes, info_keyval_vectors,
-	preput_keyval_size, preput_keyval_vector,
-	errors);
-}
-
-int PMI_Publish_name( const char service_name[], const char port[] )
-{
-    if (fn.PMI_Publish_name == NULL)
-	return PMI_FAIL;
-    return fn.PMI_Publish_name(service_name, port);
-}
-
-int PMI_Unpublish_name( const char service_name[] )
-{
-    if (fn.PMI_Unpublish_name == NULL)
-	return PMI_FAIL;
-    return fn.PMI_Unpublish_name(service_name);
-}
-
-int PMI_Lookup_name( const char service_name[], char port[] )
-{
-    if (fn.PMI_Lookup_name == NULL)
-	return PMI_FAIL;
-    return fn.PMI_Lookup_name(service_name, port);
-}
diff --git a/src/pmi/smpd/subconfigure.m4 b/src/pmi/smpd/subconfigure.m4
deleted file mode 100644
index c2cf79b..0000000
--- a/src/pmi/smpd/subconfigure.m4
+++ /dev/null
@@ -1,27 +0,0 @@
-[#] start of __file__
-
-AC_DEFUN([PAC_SUBCFG_PREREQ_]PAC_SUBCFG_AUTO_SUFFIX,[
-])
-
-AC_DEFUN([PAC_SUBCFG_BODY_]PAC_SUBCFG_AUTO_SUFFIX,[
-
-AM_CONDITIONAL([BUILD_PMI_SMPD],[test "x$pmi_name" = "xsmpd"])
-
-AM_COND_IF([BUILD_PMI_SMPD],[
-
-AC_CHECK_HEADERS([stdarg.h unistd.h string.h stdlib.h dlfcn.h uuid/uuid.h mach-o/dyld.h ctype.h])
-AC_CHECK_FUNCS([dlopen NSLinkModule])
-AC_SEARCH_LIBS([dlopen], [dl])
-
-AC_TRY_COMPILE([
-#include <dlfcn.h>
-],[int a;],[ac_cv_func_dlopen=yes],[ac_cv_func_dlopen=no])
-if test "$ac_cv_func_dlopen" = yes ; then
-    AC_DEFINE([HAVE_DLOPEN],[1],[Define if you have the dlopen function.])
-fi
-
-])dnl end COND_IF
-
-])dnl end BODY macro
-
-[#] end of __file__
diff --git a/src/util/dbg/dbg.vcproj b/src/util/dbg/dbg.vcproj
deleted file mode 100644
index 679b9c4..0000000
--- a/src/util/dbg/dbg.vcproj
+++ /dev/null
@@ -1,1930 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="dbg"
-	ProjectGUID="{DFFFA925-D59C-4480-8094-1B7E9D12BC02}"
-	RootNamespace="dbg"
-	Keyword="Win32Proj"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\include;..\..\include\win32;..\..\mpid\ch3\include;..\..\mpid\common\datatype;..\..\mpid\ch3\channels\sock\include"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;USE_WINCONF_H"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\dbgd.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="..\..\include;..\..\include\win32;..\..\mpl\include;..\..\mpid\ch3\include;..\..\mpid\common\datatype;..\..\mpid\ch3\channels\sock\include"
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;USE_WINCONF_H"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\dbg.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3ssmDebug|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\include,..\..\include\win32,..\..\mpid\ch3\include,..\..\mpid\ch3\channels\ssm\include,..\..\mpid\common\datatype,..\..\mpid\common\sock,..\..\mpid\common\sock\iocp"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;USE_WINCONF_H;MPICH_DBG_OUTPUT"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\dbgd.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3sockDebug|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\include;..\..\include\win32;..\..\mpid\ch3\include;..\..\mpid\ch3\channels\sock\include;..\..\mpid\common\datatype;..\..\mpid\common\sock;..\..\mpid\common\sock\iocp;..\..\mpl\include"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;USE_WINCONF_H;MPICH_DBG_OUTPUT;USE_DBG_LOGGING"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\dbgd.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3shmDebug|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\include,..\..\include\win32,..\..\mpid\ch3\include,..\..\mpid\ch3\channels\shm\include,..\..\mpid\common\datatype,..\..\mpid\common\locks"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;USE_WINCONF_H;MPICH_DBG_OUTPUT"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\dbgd.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3ssmRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="..\..\include;..\..\include\win32;..\..\mpl\include;..\..\mpid\ch3\include;..\..\mpid\ch3\channels\ssm\include;..\..\mpid\common\datatype;..\..\mpid\common\sock;..\..\mpid\common\sock\iocp"
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;USE_WINCONF_H"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\dbg.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3sockRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="..\..\include;..\..\include\win32;..\..\mpl\include;..\..\mpid\ch3\include;..\..\mpid\ch3\channels\sock\include;..\..\mpid\common\datatype;..\..\mpid\common\sched;..\..\mpid\common\sock;..\..\mpid\common\sock\iocp"
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;USE_WINCONF_H"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\dbg.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3shmRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="..\..\include;..\..\include\win32;..\..\mpl\include;..\..\mpid\ch3\include;..\..\mpid\ch3\channels\shm\include;..\..\mpid\common\datatype;..\..\mpid\common\locks"
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;USE_WINCONF_H"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\dbg.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3sshmDebug|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\include,..\..\include\win32,..\..\mpid\ch3\include,..\..\mpid\ch3\channels\sshm\include,..\..\mpid\common\datatype"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;USE_WINCONF_H;MPICH_DBG_OUTPUT"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\dbgd.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3sshmRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="..\..\include,..\..\include\win32,..\..\mpid\ch3\include,..\..\mpid\ch3\channels\sshm\include,..\..\mpid\common\datatype"
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;USE_WINCONF_H"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\dbg.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3ibDebug|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\include,..\..\include\win32,..\..\mpid\ch3\include,..\..\mpid\ch3\channels\sock\include,..\..\mpid\common\datatype,..\..\mpid\common\sock,..\..\mpid\common\sock\iocp"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;USE_WINCONF_H;MPICH_DBG_OUTPUT"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\dbgd.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3ibRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="..\..\include,..\..\include\win32,..\..\mpid\ch3\include,..\..\mpid\ch3\channels\sock\include,..\..\mpid\common\datatype,..\..\mpid\common\sock,..\..\mpid\common\sock\iocp"
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;USE_WINCONF_H"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\dbg.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3essmDebug|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\include,..\..\include\win32,..\..\mpid\ch3\include,..\..\mpid\ch3\channels\essm\include,..\..\mpid\common\datatype,..\..\mpid\common\sock,..\..\mpid\common\sock\iocp"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;USE_WINCONF_H;MPICH_DBG_OUTPUT,MPICH_MULTITHREADED"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\dbgmtd.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3essmRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="..\..\include,..\..\include\win32,..\..\mpid\ch3\include,..\..\mpid\ch3\channels\essm\include,..\..\mpid\common\datatype,..\..\mpid\common\sock,..\..\mpid\common\sock\iocp"
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;USE_WINCONF_H,MPICH_MULTITHREADED"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\dbgmt.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3sockmtDebug|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\include,..\..\include\win32,..\..\mpid\ch3\include,..\..\mpid\ch3\channels\sock\include,..\..\mpid\common\datatype,..\..\mpid\common\sock,..\..\mpid\common\sock\iocp"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;USE_WINCONF_H;MPICH_DBG_OUTPUT,MPICH_MULTITHREADED"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\dbgmtd.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3sockmtRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="..\..\include;..\..\include\win32;..\..\mpl\include;..\..\mpid\ch3\include;..\..\mpid\ch3\channels\sock\include;..\..\mpid\common\datatype;..\..\mpid\common\sched;..\..\mpid\common\sock;..\..\mpid\common\sock\iocp"
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;USE_WINCONF_H,MPICH_MULTITHREADED"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\dbgmt.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-				OutputDocumentFile=""
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				OutputFile=""
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3sockmtPRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="..\..\include;..\..\include\win32;..\..\mpl\include;..\..\mpid\ch3\include;..\..\mpid\ch3\channels\sock\include;..\..\mpid\common\datatype;..\..\mpid\common\sched;..\..\mpid\common\sock;..\..\mpid\common\sock\iocp"
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;USE_WINCONF_H,HAVE_TIMING=MPID_TIMING_KIND_LOG_DETAILED,USE_LOGGING=MPID_LOGGING_RLOG,MPICH_MULTITHREADED"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\dbgmtp.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichDebugConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\include;..\..\include\win32;..\..\mpid\ch3\include;..\..\mpid\common\datatype;..\..\mpid\ch3\channels\sock\include;..\..\mpid\common\sock;..\..\mpid\common\sock\iocp"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;USE_WINCONF_H"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\dbgd.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="..\..\include;..\..\include\win32;..\..\mpid\ch3\include;..\..\mpid\common\datatype;..\..\mpid\ch3\channels\sock\include;..\..\mpid\common\sock;..\..\mpid\common\sock\iocp"
-				PreprocessorDefinitions="WIN32;_LIB;USE_WINCONF_H"
-				MinimalRebuild="false"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\dbg.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="..\..\include;..\..\include\win32;..\..\mpid\ch3\include;..\..\mpid\common\datatype;..\..\mpid\ch3\channels\shm\include;..\..\mpid\common\sock;..\..\mpid\common\sock\iocp"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;USE_WINCONF_H"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\dbg.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="..\..\include;..\..\include\win32;..\..\mpid\ch3\include;..\..\mpid\common\datatype;..\..\mpid\ch3\channels\sshm\include;..\..\mpid\common\sock;..\..\mpid\common\sock\iocp"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;USE_WINCONF_H"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\dbg.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="..\..\include;..\..\include\win32;..\..\mpid\ch3\include;..\..\mpid\common\datatype;..\..\mpid\ch3\channels\ssm\include;..\..\mpid\common\sock;..\..\mpid\common\sock\iocp"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;USE_WINCONF_H"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\dbgssm.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mt_mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="..\..\include;..\..\include\win32;..\..\mpid\ch3\include;..\..\mpid\common\datatype;..\..\mpid\ch3\channels\sock\include;..\..\mpid\common\sock;..\..\mpid\common\sock\iocp"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;USE_WINCONF_H;MPICH_MULTITHREADED"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\dbgmt.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="testrelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;USE_WINCONF_H"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\dbg.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichDebugConfig_1_0_5|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\include;..\..\include\win32;..\..\mpid\ch3\include;..\..\mpid\common\datatype;..\..\mpid\ch3\channels\sock\include;..\..\mpid\common\sock;..\..\mpid\common\sock\iocp"
-				PreprocessorDefinitions="WIN32;_LIB;USE_WINCONF_H"
-				MinimalRebuild="false"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="0"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\dbg.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="fortDebugConfig_1_0_5|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="..\..\include,..\..\include\win32"
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;USE_WINCONF_H"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\dbg.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3nemesisPRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="..\..\include,..\..\include\win32,..\..\mpid\ch3\include,..\..\mpid\ch3\channels\sock\include,..\..\mpid\common\datatype,..\..\mpid\common\sock,..\..\mpid\common\sock\iocp"
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;USE_WINCONF_H,MPICH_MULTITHREADED"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\dbgmt.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="fortPRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="..\..\include;..\..\include\win32;..\..\mpl\include;..\..\mpid\ch3\include;..\..\mpid\common\datatype;..\..\mpid\ch3\channels\sock\include"
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;USE_WINCONF_H"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\dbg.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"
-			>
-			<File
-				RelativePath="..\mem\argstr.c"
-				>
-			</File>
-			<File
-				RelativePath="..\other\assert.c"
-				>
-			</File>
-			<File
-				RelativePath=".\dbg_control.c"
-				>
-			</File>
-			<File
-				RelativePath="dbg_printf.c"
-				>
-			</File>
-			<File
-				RelativePath=".\exit.c"
-				>
-			</File>
-			<File
-				RelativePath="..\msgs\msgprint.c"
-				>
-			</File>
-			<File
-				RelativePath="..\param\param_vals.c"
-				>
-			</File>
-			<File
-				RelativePath="..\mem\safestr.c"
-				>
-			</File>
-			<File
-				RelativePath="..\mem\strerror.c"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/src/util/ex/executive.vcproj b/src/util/ex/executive.vcproj
deleted file mode 100644
index 5f7313b..0000000
--- a/src/util/ex/executive.vcproj
+++ /dev/null
@@ -1,235 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="executive"
-	ProjectGUID="{ACB7CE11-E708-49CD-9DC5-6022B1BF730B}"
-	RootNamespace="executive"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="../../include;../../include/win32;../../mpl/include"
-				PreprocessorDefinitions="USE_DBG_LOGGING"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\lib\exd.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			CharacterSet="2"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				FavorSizeOrSpeed="1"
-				WholeProgramOptimization="false"
-				AdditionalIncludeDirectories="../../include;../../include/win32;../../mpl/include"
-				PreprocessorDefinitions="NDEBUG"
-				RuntimeLibrary="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="../../../lib/ex.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="fortPRelease|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			CharacterSet="2"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				FavorSizeOrSpeed="1"
-				WholeProgramOptimization="false"
-				AdditionalIncludeDirectories="../../include;../../include/win32;../../mpl/include"
-				PreprocessorDefinitions="NDEBUG"
-				RuntimeLibrary="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="../../../lib/ex.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath=".\ex.c"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/src/util/logging/rlog/TraceInput/TraceInput.vcproj b/src/util/logging/rlog/TraceInput/TraceInput.vcproj
deleted file mode 100644
index 7940150..0000000
--- a/src/util/logging/rlog/TraceInput/TraceInput.vcproj
+++ /dev/null
@@ -1,246 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="TraceInput"
-	ProjectGUID="{0DC0BF9A-8CA1-403A-93A7-AAF9C717213C}"
-	RootNamespace="TraceInput"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="NDEBUG"
-				MkTypLibCompatible="true"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				TypeLibraryName=".\Release/TraceInput.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				InlineFunctionExpansion="1"
-				AdditionalIncludeDirectories="..\..\rlog;..\..\..\..\mpe2\src\slog2sdk\src\logformat\trace;..\..\..\..\include;..\..\..\..\include\win32;..\..\..\..\mpl\include;"$(JAVA_HOME)\include";"$(JAVA_HOME)\include\win32""
-				PreprocessorDefinitions="USE_WINCONF_H;WIN32;NDEBUG;_WINDOWS;_USRDLL;TRACEINPUT_EXPORTS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\Release/TraceInput.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				BrowseInformation="1"
-				BrowseInformationFile=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="rlog.lib dbg.lib odbc32.lib odbccp32.lib"
-				OutputFile=".\Release/TraceInput.dll"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="..\..\..\..\..\lib"
-				ProgramDatabaseFile=".\Release/TraceInput.pdb"
-				ImportLibrary=".\Release/TraceInput.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_DEBUG"
-				MkTypLibCompatible="true"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				TypeLibraryName=".\Debug/TraceInput.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\..\..\mpe2\src\slog2sdk\src\logformat\trace;..\..\..\..\include;.\..\..\..\include\win32;C:\progra~1\Java\jdk1.5.0_08\include;C:\progra~1\Java\jdk1.5.0_08\include\win32"
-				PreprocessorDefinitions="USE_WINCONF_H;WIN32;_DEBUG;_WINDOWS;_USRDLL;TRACEINPUT_EXPORTS"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\Debug/TraceInput.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="rlogd.lib dbgd.lib odbc32.lib odbccp32.lib"
-				OutputFile=".\Debug/TraceInput.dll"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="..\..\..\..\..\lib"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/TraceInput.pdb"
-				ImportLibrary=".\Debug/TraceInput.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat;f90;for;f;fpp"
-			>
-			<File
-				RelativePath=".\logformat_trace_InputLog.c"
-				>
-			</File>
-			<File
-				RelativePath=".\trace_input.c"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;fi;fd"
-			>
-			<File
-				RelativePath="..\logformat_trace_InputLog.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-			>
-		</Filter>
-		<File
-			RelativePath=".\ReadMe.txt"
-			>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/src/util/logging/rlog/irlog2rlog.vcproj b/src/util/logging/rlog/irlog2rlog.vcproj
deleted file mode 100644
index 38d3a0d..0000000
--- a/src/util/logging/rlog/irlog2rlog.vcproj
+++ /dev/null
@@ -1,225 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="irlog2rlog"
-	ProjectGUID="{F190D299-4970-4727-8CA0-70ABFEC3BAE1}"
-	RootNamespace="irlog2rlog"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Release/irlog2rlog.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				InlineFunctionExpansion="1"
-				AdditionalIncludeDirectories="..\..\..\include;..\..\..\include\win32;..\..\..\mpl\include"
-				PreprocessorDefinitions="WIN32,NDEBUG,_CONSOLE"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\Release/irlog2rlog.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				BrowseInformation="1"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="rlog.lib dbg.lib odbc32.lib odbccp32.lib"
-				OutputFile=".\Release/irlog2rlog.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="..\..\..\..\lib"
-				ProgramDatabaseFile=".\Release/irlog2rlog.pdb"
-				SubSystem="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Debug/irlog2rlog.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\..\include,..\..\..\include\win32"
-				PreprocessorDefinitions="WIN32,_DEBUG,_CONSOLE"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\Debug/irlog2rlog.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="rlogd.lib dbgd.lib odbc32.lib odbccp32.lib"
-				OutputFile=".\Debug/irlog2rlog.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="..\..\..\..\lib"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/irlog2rlog.pdb"
-				SubSystem="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat;f90;for;f;fpp"
-			>
-			<File
-				RelativePath=".\irlog2rlog.c"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;fi;fd"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/src/util/logging/rlog/minalignrlog.vcproj b/src/util/logging/rlog/minalignrlog.vcproj
deleted file mode 100644
index 16ecc85..0000000
--- a/src/util/logging/rlog/minalignrlog.vcproj
+++ /dev/null
@@ -1,210 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="minalignrlog"
-	ProjectGUID="{5BB52061-18A7-4115-A19A-7F7195779E93}"
-	RootNamespace="minalignrlog"
-	Keyword="Win32Proj"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="Debug"
-			IntermediateDirectory="Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\..\include,..\..\..\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="rlogd.lib dbgd.lib"
-				OutputFile="$(OutDir)/minalignrlog.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\..\..\..\lib"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)/minalignrlog.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="Release"
-			IntermediateDirectory="Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="..\..\..\include;..\..\..\include\win32;..\..\..\mpl\include"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="rlog.lib dbg.lib"
-				OutputFile="$(OutDir)/minalignrlog.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\..\..\..\lib"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			>
-			<File
-				RelativePath="minalignrlog.c"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			>
-			<File
-				RelativePath="..\..\..\include\rlog.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/src/util/logging/rlog/printirlog.vcproj b/src/util/logging/rlog/printirlog.vcproj
deleted file mode 100644
index 3827a8b..0000000
--- a/src/util/logging/rlog/printirlog.vcproj
+++ /dev/null
@@ -1,223 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="printirlog"
-	ProjectGUID="{B05E4BC8-8A99-476E-82C0-CA653435D8B5}"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Debug/printirlog.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\..\include,..\..\..\include\win32"
-				PreprocessorDefinitions="WIN32,_DEBUG,_CONSOLE"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\Debug/printirlog.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="rlogd.lib dbgd.lib odbc32.lib odbccp32.lib"
-				OutputFile=".\Debug/printirlog.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="..\..\..\..\lib"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/printirlog.pdb"
-				SubSystem="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Release/printirlog.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				InlineFunctionExpansion="1"
-				AdditionalIncludeDirectories="..\..\..\include,..\..\..\include\win32"
-				PreprocessorDefinitions="WIN32,NDEBUG,_CONSOLE"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\Release/printirlog.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="rlog.lib dbg.lib odbc32.lib odbccp32.lib"
-				OutputFile=".\Release/printirlog.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="..\..\..\..\lib"
-				ProgramDatabaseFile=".\Release/printirlog.pdb"
-				SubSystem="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat;f90;for;f;fpp"
-			>
-			<File
-				RelativePath=".\printirlog.c"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;fi;fd"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/src/util/logging/rlog/printrlog.vcproj b/src/util/logging/rlog/printrlog.vcproj
deleted file mode 100644
index 40419fd..0000000
--- a/src/util/logging/rlog/printrlog.vcproj
+++ /dev/null
@@ -1,223 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="printrlog"
-	ProjectGUID="{702C12FC-FDB8-4C3A-BE67-FE7A814F4F76}"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Release/printrlog.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				InlineFunctionExpansion="1"
-				AdditionalIncludeDirectories="..\..\..\include,..\..\..\include\win32"
-				PreprocessorDefinitions="WIN32,NDEBUG,_CONSOLE"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\Release/printrlog.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="rlog.lib dbg.lib odbc32.lib odbccp32.lib"
-				OutputFile=".\Release/printrlog.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="..\..\..\..\lib"
-				ProgramDatabaseFile=".\Release/printrlog.pdb"
-				SubSystem="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Debug/printrlog.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\..\include,..\..\..\include\win32"
-				PreprocessorDefinitions="WIN32,_DEBUG,_CONSOLE"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\Debug/printrlog.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="rlogd.lib dbgd.lib odbc32.lib odbccp32.lib"
-				OutputFile=".\Debug/printrlog.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="..\..\..\..\lib"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/printrlog.pdb"
-				SubSystem="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat;f90;for;f;fpp"
-			>
-			<File
-				RelativePath=".\printrlog.c"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;fi;fd"
-			>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/src/util/logging/rlog/rimshot/rimshot.vcproj b/src/util/logging/rlog/rimshot/rimshot.vcproj
deleted file mode 100644
index a3277cd..0000000
--- a/src/util/logging/rlog/rimshot/rimshot.vcproj
+++ /dev/null
@@ -1,297 +0,0 @@
-<?xml version="1.0" encoding = "Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.00"
-	Name="rimshot"
-	ProjectGUID="{A5B3B52D-DFE7-4F84-AF10-3E39B2E9455E}"
-	SccProjectName=""
-	SccLocalPath=""
-	Keyword="MFCProj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="1"
-			UseOfMFC="1"
-			ATLMinimizesCRunTimeLibraryUsage="FALSE"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				InlineFunctionExpansion="1"
-				AdditionalIncludeDirectories="..\..\..\..\include,..\..\..\..\include\win32"
-				PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
-				StringPooling="TRUE"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="TRUE"
-				UsePrecompiledHeader="3"
-				PrecompiledHeaderThrough="stdafx.h"
-				PrecompiledHeaderFile=".\Release/rimshot.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				BrowseInformation="1"
-				WarningLevel="3"
-				SuppressStartupBanner="TRUE"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="rlog.lib"
-				OutputFile=".\Release/rimshot.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="..\..\..\..\..\lib"
-				ProgramDatabaseFile=".\Release/rimshot.pdb"
-				SubSystem="2"/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="NDEBUG"
-				MkTypLibCompatible="TRUE"
-				SuppressStartupBanner="TRUE"
-				TargetEnvironment="1"
-				TypeLibraryName=".\Release/rimshot.tlb"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1033"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="1"
-			UseOfMFC="1"
-			ATLMinimizesCRunTimeLibraryUsage="FALSE"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\..\..\include,..\..\..\..\include\win32"
-				PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="3"
-				PrecompiledHeaderThrough="stdafx.h"
-				PrecompiledHeaderFile=".\Debug/rimshot.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				BrowseInformation="1"
-				WarningLevel="3"
-				SuppressStartupBanner="TRUE"
-				DebugInformationFormat="4"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="rlogd.lib"
-				OutputFile=".\Debug/rimshot.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="..\..\..\..\..\lib"
-				GenerateDebugInformation="TRUE"
-				ProgramDatabaseFile=".\Debug/rimshot.pdb"
-				SubSystem="2"/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_DEBUG"
-				MkTypLibCompatible="TRUE"
-				SuppressStartupBanner="TRUE"
-				TargetEnvironment="1"
-				TypeLibraryName=".\Debug/rimshot.tlb"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1033"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-		</Configuration>
-		<Configuration
-			Name="ch3shmRelease|Win32"
-			OutputDirectory="ch3shmRelease"
-			IntermediateDirectory="ch3shmRelease"
-			ConfigurationType="1"
-			UseOfMFC="1"
-			ATLMinimizesCRunTimeLibraryUsage="FALSE"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				InlineFunctionExpansion="1"
-				AdditionalIncludeDirectories="..\..\..\..\include,..\..\..\..\include\win32"
-				PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
-				StringPooling="TRUE"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="TRUE"
-				UsePrecompiledHeader="3"
-				PrecompiledHeaderThrough="stdafx.h"
-				PrecompiledHeaderFile=".\Release/rimshot.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				BrowseInformation="1"
-				WarningLevel="3"
-				SuppressStartupBanner="TRUE"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="rlog.lib"
-				OutputFile=".\Release/rimshot.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="..\..\..\..\..\lib"
-				ProgramDatabaseFile=".\Release/rimshot.pdb"
-				SubSystem="2"/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="NDEBUG"
-				MkTypLibCompatible="TRUE"
-				SuppressStartupBanner="TRUE"
-				TargetEnvironment="1"
-				TypeLibraryName=".\Release/rimshot.tlb"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1033"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-		</Configuration>
-	</Configurations>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat;f90;for;f;fpp">
-			<File
-				RelativePath=".\MainFrm.cpp">
-			</File>
-			<File
-				RelativePath=".\OffsetDlg.cpp">
-			</File>
-			<File
-				RelativePath=".\StdAfx.cpp">
-				<FileConfiguration
-					Name="Release|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						UsePrecompiledHeader="1"/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						UsePrecompiledHeader="1"/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="ch3shmRelease|Win32">
-					<Tool
-						Name="VCCLCompilerTool"
-						UsePrecompiledHeader="1"/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\ZoomDlg.cpp">
-			</File>
-			<File
-				RelativePath=".\rimshot.cpp">
-			</File>
-			<File
-				RelativePath=".\rimshot.rc">
-			</File>
-			<File
-				RelativePath=".\rimshotDoc.cpp">
-			</File>
-			<File
-				RelativePath=".\rimshotView.cpp">
-			</File>
-			<File
-				RelativePath=".\rimshot_draw.cpp">
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;fi;fd">
-			<File
-				RelativePath=".\MainFrm.h">
-			</File>
-			<File
-				RelativePath=".\OffsetDlg.h">
-			</File>
-			<File
-				RelativePath=".\Resource.h">
-			</File>
-			<File
-				RelativePath=".\StdAfx.h">
-			</File>
-			<File
-				RelativePath=".\ZoomDlg.h">
-			</File>
-			<File
-				RelativePath=".\rimshot.h">
-			</File>
-			<File
-				RelativePath=".\rimshotDoc.h">
-			</File>
-			<File
-				RelativePath=".\rimshotView.h">
-			</File>
-			<File
-				RelativePath=".\rimshot_draw.h">
-			</File>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">
-			<File
-				RelativePath=".\res\Toolbar.bmp">
-			</File>
-			<File
-				RelativePath=".\res\rimshot.ico">
-			</File>
-			<File
-				RelativePath=".\res\rimshot.rc2">
-			</File>
-			<File
-				RelativePath=".\res\rimshotDoc.ico">
-			</File>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/src/util/logging/rlog/rlog.vcproj b/src/util/logging/rlog/rlog.vcproj
deleted file mode 100644
index c6a2f47..0000000
--- a/src/util/logging/rlog/rlog.vcproj
+++ /dev/null
@@ -1,1032 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="rlog"
-	ProjectGUID="{3DE857FA-6F20-4214-8D99-811165354D3F}"
-	RootNamespace="rlog"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				InlineFunctionExpansion="1"
-				AdditionalIncludeDirectories="..\..\..\include;..\..\..\include\win32;..\common;..\..\..\mpl\include"
-				PreprocessorDefinitions="WIN32,NDEBUG,USE_WINCONF_H,NEW_MPIIO"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\Release/rlog.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				BrowseInformation="1"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\lib\rlog.lib"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\..\include,..\..\..\include\win32,..\common"
-				PreprocessorDefinitions="WIN32,_DEBUG,USE_WINCONF_H,NEW_MPIIO"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\Debug/rlog.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				BrowseInformation="1"
-				WarningLevel="0"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\lib\rlogd.lib"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichDebugConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\..\include,..\..\..\include\win32,..\common"
-				PreprocessorDefinitions="WIN32,_DEBUG,USE_WINCONF_H,NEW_MPIIO"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\Debug/rlog.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				BrowseInformation="1"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\lib\rlogd.lib"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="..\..\..\include,..\..\..\include\win32,..\common"
-				PreprocessorDefinitions="WIN32,USE_WINCONF_H,NEW_MPIIO"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\Debug/rlog.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				BrowseInformation="1"
-				WarningLevel="0"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\lib\rlog.lib"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3shm_mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="..\..\..\include,..\..\..\include\win32,..\common"
-				PreprocessorDefinitions="WIN32,_DEBUG,USE_WINCONF_H,NEW_MPIIO"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\Debug/rlog.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				BrowseInformation="1"
-				WarningLevel="0"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\lib\rlog.lib"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichsshm_mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="..\..\..\include,..\..\..\include\win32,..\common"
-				PreprocessorDefinitions="WIN32,_DEBUG,USE_WINCONF_H,NEW_MPIIO"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\Debug/rlog.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				BrowseInformation="1"
-				WarningLevel="0"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\lib\rlog.lib"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichssm_mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="..\..\..\include,..\..\..\include\win32,..\common"
-				PreprocessorDefinitions="WIN32,_DEBUG,USE_WINCONF_H,NEW_MPIIO"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\Debug/rlog.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				BrowseInformation="1"
-				WarningLevel="0"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\lib\rlog.lib"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mt_mpichReleaseConfig_1_0_4|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\..\include,..\..\..\include\win32,..\common"
-				PreprocessorDefinitions="WIN32,_DEBUG,USE_WINCONF_H,NEW_MPIIO"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\Debug/rlog.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				BrowseInformation="1"
-				WarningLevel="0"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\lib\rlog.lib"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="testrelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				InlineFunctionExpansion="1"
-				AdditionalIncludeDirectories="..\..\..\include,..\..\..\include\win32,..\common"
-				PreprocessorDefinitions="WIN32,NDEBUG,USE_WINCONF_H,NEW_MPIIO"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\Release/rlog.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				BrowseInformation="1"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\lib\rlog.lib"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="mpichDebugConfig_1_0_5|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\..\include,..\..\..\include\win32,..\common"
-				PreprocessorDefinitions="WIN32,USE_WINCONF_H,NEW_MPIIO"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\Debug/rlog.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				BrowseInformation="1"
-				WarningLevel="0"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\lib\rlog.lib"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="fortDebugConfig_1_0_5|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				InlineFunctionExpansion="1"
-				AdditionalIncludeDirectories="..\..\..\include,..\..\..\include\win32,..\common"
-				PreprocessorDefinitions="WIN32,NDEBUG,USE_WINCONF_H,NEW_MPIIO"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\Release/rlog.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				BrowseInformation="1"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\lib\rlog.lib"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="ch3nemesisPRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				InlineFunctionExpansion="1"
-				AdditionalIncludeDirectories="..\..\..\include,..\..\..\include\win32,..\common"
-				PreprocessorDefinitions="WIN32,NDEBUG,USE_WINCONF_H,NEW_MPIIO"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\Release/rlog.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				BrowseInformation="1"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\lib\rlog.lib"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="fortPRelease|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				InlineFunctionExpansion="1"
-				AdditionalIncludeDirectories="..\..\..\include;..\..\..\include\win32;..\common;..\..\..\mpl\include"
-				PreprocessorDefinitions="WIN32,NDEBUG,USE_WINCONF_H,NEW_MPIIO"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\Release/rlog.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				BrowseInformation="1"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="..\..\..\..\lib\rlog.lib"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat;f90;for;f;fpp"
-			>
-			<File
-				RelativePath=".\irlogutil.c"
-				>
-			</File>
-			<File
-				RelativePath=".\rlog.c"
-				>
-			</File>
-			<File
-				RelativePath=".\rlogtime.c"
-				>
-			</File>
-			<File
-				RelativePath=".\rlogutil.c"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;fi;fd"
-			>
-			<File
-				RelativePath="..\..\..\include\rlog.h"
-				>
-			</File>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/test/mpi/basic/adapt.vcproj b/test/mpi/basic/adapt.vcproj
deleted file mode 100644
index 861f8ff..0000000
--- a/test/mpi/basic/adapt.vcproj
+++ /dev/null
@@ -1,146 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="adapt"
-	ProjectGUID="{007A861C-6EA1-4FF5-BD37-93C21EDE532D}"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="Debug"
-			IntermediateDirectory="Debug"
-			ConfigurationType="1"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\..\src\include,..\..\..\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_WINDOWS_H"
-				MinimalRebuild="TRUE"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="TRUE"
-				DebugInformationFormat="4"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpichd.lib ws2_32.lib "
-				OutputFile="$(OutDir)/adapt.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				GenerateDebugInformation="TRUE"
-				ProgramDatabaseFile="$(OutDir)/adapt.pdb"
-				SubSystem="1"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="Release"
-			IntermediateDirectory="Release"
-			ConfigurationType="1"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="TRUE"
-				AdditionalIncludeDirectories="..\..\..\src\include,..\..\..\include\win32"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_WINDOWS_H"
-				StringPooling="TRUE"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="TRUE"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="TRUE"
-				DebugInformationFormat="3"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpich.lib ws2_32.lib"
-				OutputFile="$(OutDir)/adapt.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm">
-			<File
-				RelativePath="adapt.c">
-			</File>
-			<File
-				RelativePath="GetOpt.c">
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc">
-			<File
-				RelativePath="GetOpt.h">
-			</File>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/test/mpi/basic/netpipe.vcproj b/test/mpi/basic/netpipe.vcproj
deleted file mode 100644
index 643385b..0000000
--- a/test/mpi/basic/netpipe.vcproj
+++ /dev/null
@@ -1,423 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="netpipe"
-	ProjectGUID="{FF13401B-AB0F-4659-823E-E3AA20D85E8B}"
-	RootNamespace="netpipe"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Release/netpipe.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				InlineFunctionExpansion="1"
-				AdditionalIncludeDirectories="..\..\..\src\include,..\..\..\src\include\win32"
-				PreprocessorDefinitions="NDEBUG,WIN32,_CONSOLE,HAVE_WINDOWS_H"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\Release/netpipe.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				BrowseInformation="1"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="mpi.lib odbc32.lib odbccp32.lib ws2_32.lib"
-				OutputFile=".\Release/netpipe.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				ProgramDatabaseFile=".\Release/netpipe.pdb"
-				SubSystem="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Debug/netpipe.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\..\src\include,..\..\..\src\include\win32"
-				PreprocessorDefinitions="_DEBUG,WIN32,_CONSOLE,HAVE_WINDOWS_H"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\Debug/netpipe.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				BrowseInformation="1"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="mpid.lib ws2_32.lib odbc32.lib odbccp32.lib"
-				OutputFile=".\Debug/netpipe.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/netpipe.pdb"
-				SubSystem="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Release/netpipe.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				InlineFunctionExpansion="0"
-				AdditionalIncludeDirectories="..\..\..\src\include,..\..\..\src\include\win64"
-				PreprocessorDefinitions="NDEBUG,_CONSOLE,HAVE_WINDOWS_H"
-				StringPooling="false"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="false"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=""
-				AssemblerListingLocation=""
-				ObjectFile="$(IntDir)\"
-				ProgramDataBaseFileName="$(IntDir)\vc80.pdb"
-				BrowseInformation="0"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpi.lib"
-				OutputFile="$(OutDir)/netpipe.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="..\..\..\winbuild\x64\Release\mpi"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Debug/netpipe.tlb"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\..\src\include,..\..\..\src\include\win32"
-				PreprocessorDefinitions="_DEBUG,WIN32,_CONSOLE,HAVE_WINDOWS_H"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderFile=".\Debug/netpipe.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				BrowseInformation="1"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-				CompileAs="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1033"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="mpid.lib ws2_32.lib odbc32.lib odbccp32.lib"
-				OutputFile=".\Debug/netpipe.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/netpipe.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-			>
-			<File
-				RelativePath=".\GetOpt.c"
-				>
-			</File>
-			<File
-				RelativePath=".\netmpi.c"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl"
-			>
-			<File
-				RelativePath=".\GetOpt.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/test/mpi/basic/patterns.vcproj b/test/mpi/basic/patterns.vcproj
deleted file mode 100644
index c8cb9d7..0000000
--- a/test/mpi/basic/patterns.vcproj
+++ /dev/null
@@ -1,156 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="patterns"
-	SccProjectName=""
-	SccLocalPath="">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="1"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="FALSE"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				InlineFunctionExpansion="1"
-				AdditionalIncludeDirectories="..\..\..\src\include,..\..\..\include\win32"
-				PreprocessorDefinitions="WIN32,NDEBUG,_CONSOLE"
-				StringPooling="TRUE"
-				RuntimeLibrary="4"
-				EnableFunctionLevelLinking="TRUE"
-				UsePrecompiledHeader="2"
-				PrecompiledHeaderFile=".\Release/patterns.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="TRUE"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="mpich.lib odbc32.lib odbccp32.lib"
-				OutputFile=".\Release/patterns.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				ProgramDatabaseFile=".\Release/patterns.pdb"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Release/patterns.tlb"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1033"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="1"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="FALSE"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\..\src\include,..\..\..\include\win32"
-				PreprocessorDefinitions="WIN32,_DEBUG,_CONSOLE"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="5"
-				UsePrecompiledHeader="2"
-				PrecompiledHeaderFile=".\Debug/patterns.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="TRUE"
-				DebugInformationFormat="4"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="mpichd.lib odbc32.lib odbccp32.lib"
-				OutputFile=".\Debug/patterns.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				GenerateDebugInformation="TRUE"
-				ProgramDatabaseFile=".\Debug/patterns.pdb"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Debug/patterns.tlb"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1033"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat;f90;for;f;fpp">
-			<File
-				RelativePath=".\patterns.c">
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;fi;fd">
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/test/mpi/basic/sendrecv.vcproj b/test/mpi/basic/sendrecv.vcproj
deleted file mode 100644
index 271c88d..0000000
--- a/test/mpi/basic/sendrecv.vcproj
+++ /dev/null
@@ -1,158 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="sendrecv"
-	ProjectGUID="{04B357E3-D9BB-436D-9125-800F2C9CB61A}"
-	SccProjectName=""
-	SccLocalPath="">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="1"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="FALSE"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\..\src\include,..\..\..\include\win32"
-				PreprocessorDefinitions="WIN32,_DEBUG,_CONSOLE"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="5"
-				UsePrecompiledHeader="2"
-				PrecompiledHeaderFile=".\Debug/sendrecv.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				BrowseInformation="1"
-				WarningLevel="3"
-				SuppressStartupBanner="TRUE"
-				DebugInformationFormat="4"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="mpichd.lib odbc32.lib odbccp32.lib"
-				OutputFile=".\Debug/sendrecv.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				GenerateDebugInformation="TRUE"
-				ProgramDatabaseFile=".\Debug/sendrecv.pdb"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Debug/sendrecv.tlb"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1033"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="1"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="FALSE"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				InlineFunctionExpansion="1"
-				AdditionalIncludeDirectories="..\..\..\src\include,..\..\..\include\win32"
-				PreprocessorDefinitions="WIN32,NDEBUG,_CONSOLE"
-				StringPooling="TRUE"
-				RuntimeLibrary="4"
-				EnableFunctionLevelLinking="TRUE"
-				UsePrecompiledHeader="2"
-				PrecompiledHeaderFile=".\Release/sendrecv.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="TRUE"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="mpich.lib odbc32.lib odbccp32.lib"
-				OutputFile=".\Release/sendrecv.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				ProgramDatabaseFile=".\Release/sendrecv.pdb"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Release/sendrecv.tlb"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1033"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat;f90;for;f;fpp">
-			<File
-				RelativePath=".\sendrecv.c">
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;fi;fd">
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/test/mpi/basic/simple.vcproj b/test/mpi/basic/simple.vcproj
deleted file mode 100644
index 41be644..0000000
--- a/test/mpi/basic/simple.vcproj
+++ /dev/null
@@ -1,156 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="simple"
-	SccProjectName=""
-	SccLocalPath="">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="1"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="FALSE"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				InlineFunctionExpansion="1"
-				AdditionalIncludeDirectories="..\..\..\src\include,..\..\..\include\win32"
-				PreprocessorDefinitions="WIN32,NDEBUG,_CONSOLE"
-				StringPooling="TRUE"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="TRUE"
-				UsePrecompiledHeader="2"
-				PrecompiledHeaderFile=".\Release/simple.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="TRUE"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="mpich.lib odbc32.lib odbccp32.lib"
-				OutputFile=".\Release/simple.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				ProgramDatabaseFile=".\Release/simple.pdb"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Release/simple.tlb"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1033"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="1"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="FALSE"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\..\src\include,..\..\..\include\win32"
-				PreprocessorDefinitions="WIN32,_DEBUG,_CONSOLE"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="2"
-				PrecompiledHeaderFile=".\Debug/simple.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="TRUE"
-				DebugInformationFormat="4"
-				CompileAs="0"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="mpichd.lib odbc32.lib odbccp32.lib"
-				OutputFile=".\Debug/simple.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="TRUE"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				GenerateDebugInformation="TRUE"
-				ProgramDatabaseFile=".\Debug/simple.pdb"
-				SubSystem="1"/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Debug/simple.tlb"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1033"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat;f90;for;f;fpp">
-			<File
-				RelativePath=".\simple.c">
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;fi;fd">
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/test/mpi/basic/srtest.vcproj b/test/mpi/basic/srtest.vcproj
deleted file mode 100644
index d8a1dcd..0000000
--- a/test/mpi/basic/srtest.vcproj
+++ /dev/null
@@ -1,138 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="7.10"
-	Name="srtest"
-	ProjectGUID="{64826B3B-5D4D-426A-BA86-C7AC08DAD826}"
-	Keyword="Win32Proj">
-	<Platforms>
-		<Platform
-			Name="Win32"/>
-	</Platforms>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="Debug"
-			IntermediateDirectory="Debug"
-			ConfigurationType="1"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\..\src\include,..\..\..\include\win32"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
-				MinimalRebuild="TRUE"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="5"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="TRUE"
-				DebugInformationFormat="4"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpichd.lib"
-				OutputFile="$(OutDir)/srtest.exe"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				GenerateDebugInformation="TRUE"
-				ProgramDatabaseFile="$(OutDir)/srtest.pdb"
-				SubSystem="1"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="Release"
-			IntermediateDirectory="Release"
-			ConfigurationType="1"
-			CharacterSet="2">
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\..\..\src\include,..\..\..\include\win32"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
-				RuntimeLibrary="4"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="TRUE"
-				DebugInformationFormat="3"/>
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="mpich.lib"
-				OutputFile="$(OutDir)/srtest.exe"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="..\..\..\lib"
-				GenerateDebugInformation="TRUE"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"/>
-			<Tool
-				Name="VCMIDLTool"/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-			<Tool
-				Name="VCPreLinkEventTool"/>
-			<Tool
-				Name="VCResourceCompilerTool"/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"/>
-			<Tool
-				Name="VCWebDeploymentTool"/>
-			<Tool
-				Name="VCManagedWrapperGeneratorTool"/>
-			<Tool
-				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
-			<File
-				RelativePath=".\srtest.c">
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/test/mpi/createprojects.wsf b/test/mpi/createprojects.wsf
deleted file mode 100644
index bd8f6f4..0000000
--- a/test/mpi/createprojects.wsf
+++ /dev/null
@@ -1,371 +0,0 @@
-<package>
-<job id="createprojects">
-    <runtime>
-        <description>This script searches for testlist files and creates project files for each test</description>
-        <unnamed
-            name = "--force"
-            helpstring = "Force the creation of new files, overwriting the old"
-            required = "false"
-        />
-        <unnamed
-            name = "--win32"
-            helpstring = "Create 32-bit projects for the test suite"
-            required = "false"
-        />
-        <unnamed
-            name = "--win64"
-            helpstring = "Create 64-bit projects for the test suite"
-            required = "false"
-        />
-        <unnamed
-            name = "--disable-fortran"
-            helpstring = "Don't include fortran tests in the test suite"
-            required = "false"
-        />
-        <unnamed
-            name = "--disable-dynamic-procs"
-            helpstring = "Don't include dynamic proc tests in the test suite"
-            required = "false"
-        />
-        <unnamed
-            name = "--mpi-include-dir"
-            helpstring = "Specify mpi include dir, --mpi-include-dir=c:\progra~1\mpich\include"
-            required = "false"
-        />
-        <unnamed
-            name = "--mpi-lib-dir"
-            helpstring = "Specify mpi lib dir, --mpi-lib-dir=c:\progra~1\mpich\lib"
-            required = "false"
-        />
-    </runtime>
-<script language="VBScript">
-
-Dim WshShell
-Set WshShell = CreateObject("WScript.Shell")
-Set f = WScript.CreateObject("Scripting.FileSystemObject")
-Set cur_folder = f.GetFolder(".")
-Set files = CreateObject("Scripting.Dictionary")
-Set dotdots = CreateObject("Scripting.Dictionary")
-num_files = 0
-project_template = ""
-project_cxx_template = ""
-project_f_template = ""
-project_list = ""
-config_list = ""
-bWin64 = False
-bForce = False
-bDisableFortran = False
-bDisableDynamicProcs = False
-path_to_remove = f.GetAbsolutePathName(".") + "\"
-
-Dim fortran_test_dirs(2)
-fortran_test_dirs(0)="f77"
-fortran_test_dirs(1)="f90"
-
-Dim dynamic_procs_test_dirs(1)
-dynamic_procs_test_dirs(0)="spawn"
-
-vs_proj_include_sep=";"
-vs_proj_lib_sep=";"
-user_mpi_include_dir=""
-user_mpi_lib_dir=""
-' Process arguments
-argCount = WScript.Arguments.Count
-For arg = 0 To argCount - 1
-  argValue = WScript.Arguments(arg)
-  argOptions = Split(argValue, "=", -1, 1)
-  If argValue = "--win64" Then
-    bWin64 = True
-  ElseIf argValue = "--win32" Then
-    bWin64 = False
-  ElseIf argValue = "--force" Then
-    bForce = True
-  ElseIf argValue = "--force=yes" Then
-    bForce = True
-  ElseIf argValue = "--force=no" Then
-    bForce = False
-  ElseIf argValue = "--disable-fortran" Then
-    bDisableFortran = True
-  ElseIf argValue = "--disable-dynamic-procs" Then
-    bDisableDynamicProcs = True
-  ElseIf argValue = "--help" Then
-    WScript.Arguments.ShowUsage
-    WScript.Quit
-  ' Check argvalues with options
-  ElseIf argOptions(0) = "--mpi-include-dir" Then
-    If UBound(argOptions, 1) <> 1 Then
-      WScript.Echo "ERROR: Invalid format for MPI include dir"
-      WScript.Quit(-1)
-    Else
-      user_mpi_include_dir = argOptions(1)
-    End If
-  ElseIf argOptions(0) = "--mpi-lib-dir" Then
-    If UBound(argOptions, 1) <> 1 Then
-      WScript.Echo "ERROR: Invalid format for MPI lib dir"
-      WScript.Quit(-1)
-    Else
-      user_mpi_lib_dir = argOptions(1)
-    End If
-  End If
-Next
-
-' Set the Target arch specifics
-If bWin64 Then
-  platform_name = "x64"
-  keyword = "x64Proj"
-  target_header = "..\..\src\include\win64"
-  target_preprocessor_defn = "WIN64"
-  target_machine = "17"
-  target_env = "3"
-Else
-  platform_name = "Win32"
-  keyword = "Win32Proj"
-  target_header = "..\..\src\include\win32"
-  target_preprocessor_defn = "WIN32"
-  target_machine = "1"
-  target_env = ""
-End If
-
-' check if we are running cscript or wscript
-bEcho = false
-If InStr(1, LCase(WScript.FullName), "cscript") > 0 Then
-	bEcho = true
-End If
-Function cEcho(str)
-	If bEcho Then
-		WScript.Echo str
-	End If
-End Function
-
-' generate a uuid
-Function gen_uuid()
-	Set oExec = WshShell.Exec("uuidgen")
-	uuid = ""
-	Do While True
-		If Not oExec.StdOut.AtEndOfStream Then
-			uuid = uuid & oExec.StdOut.Read(1)
-		Else
-			Exit Do
-		End If
-		WScript.Sleep 1
-	Loop
-	Do While oExec.Status <> 1
-		WScript.Sleep 1
-	Loop
-	uuid = Replace(uuid, vbCrLf, "")
-	uuid = Replace(uuid, vbLf, "")
-	gen_uuid = UCase(uuid)
-End Function
-
-' find all the testlist files
-Function GetTestLists(folder, dotdot)
-        skip_folder = False
-        arr = Split(folder, "\", -1, 1)
-        If bDisableFortran Then
-            For i=0 to UBound(fortran_test_dirs, 1)
-                If arr(UBound(arr, 1)) = fortran_test_dirs(i) Then
-                    skip_folder = True
-                End If
-            Next
-        End If
-        If bDisableDynamicProcs Then
-            For i=0 to UBound(dynamic_procs_test_dirs, 1)
-                If arr(UBound(arr, 1)) = dynamic_procs_test_dirs(i) Then
-                    skip_folder = True
-                End If
-            Next
-        End If
-        If Not skip_folder Then
-            For Each sub_folder in folder.SubFolders
-                If Not skip_folder Then
-                    GetTestLists sub_folder, dotdot & "..\"
-                End If
-	    Next
-	    For Each file in folder.Files
-		If file.Name = "testlist" Then
-			files.Add num_files, file.Path
-			dotdots.Add num_files, dotdot
-			num_files = num_files + 1
-		End If
-	    Next
-        End If
-End Function
-
-last_project = ""
-Function TestsToProjects(filename, dotdot)
-	Set fin = f.OpenTextFile(filename)
-	while not fin.AtEndOfStream
-		line = fin.ReadLine()
-		line = Trim(line)
-		twostrings = split(line, " ", -1, 1)
-		if not IsNull(twostrings) then
-			count = 0
-			for each s in twostrings
-				count = count + 1
-			next
-			if count > 1 then
-			  if last_project <> twostrings(0) then
-				' Create the project file
-				project_name = twostrings(0)
-				If Left(project_name, 1) = "#" Then
-					project_name = Right(project_name, Len(project_name) - 1)
-				End If
-			    If last_project <> project_name then
-				c_filename = Replace( filename, "testlist", project_name + ".c" )
-				cxx_filename = Replace( filename, "testlist", project_name + ".cxx" )
-				f_filename = Replace( filename, "testlist", project_name + ".f" )
-				f90_filename = Replace( filename, "testlist", project_name + ".f90" )
-				cproj = f.FileExists( c_filename )
-				cxxproj = f.FileExists( cxx_filename )
-				fproj = f.FileExists( f_filename )
-				f90proj = f.FileExists( f90_filename )
-				if cproj or cxxproj then
-					project_filename = Replace( filename, "testlist", project_name + ".vcproj" )
-				else
-					project_filename = Replace( filename, "testlist", project_name + ".vfproj" )
-				end if
-				project_relative_filename = Replace( project_filename, path_to_remove, "" )
-'				If f.FileExists( c_filename ) Or f.FileExists( cxx_filename ) Then
-				If cproj Or cxxproj Or fproj Or f90proj Then
-					last_project = project_name
-'					If bForce Or Not f.FileExists( project_filename ) Then
-						cEcho project_filename + vbCrLf
-						project_uuid = gen_uuid()
-						if cproj then
-							new_project = Replace(project_template, "PROJECTNAME", project_name)
-						end if
-						if cxxproj then
-							new_project = Replace(project_cxx_template, "PROJECTNAME", project_name)
-						end if
-						if fproj Or f90proj then
-							new_project = Replace(project_f_template, "PROJECTNAME", project_name)
-							if fproj then
-								new_project = Replace(new_project, "FORTFILEEXTN", "f")
-							else
-								new_project = Replace(new_project, "FORTFILEEXTN", "f90")
-							end if
-						end if
-						new_project = Replace(new_project, "UUID1", project_uuid)
-						new_project = Replace(new_project, "DOTDOTS", dotdot)
-						set fout = f.CreateTextFile(project_filename, True)
-						fout.Write( new_project )
-						fout.Close()
-'					Else
-'						' Get the project uuid from the project file
-'						set ftemp = f.OpenTextFile(project_filename)
-'						contents = ftemp.ReadAll()
-'						ftemp.Close()
-'						' find the uuid in the contents
-'					End If
-					' Add the project to the lists used to create the test solution file
-					if fproj Or f90proj then
-						solution_guid = "6989167D-11E4-40FE-8C1A-2192A86A7E90" ' The fortran project guid
-					else
-						solution_guid = "8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942" ' The C/C++ project guid
-					end if
-					project_list = project_list + "Project(""{" + solution_guid + "}"") = """ + project_name + """, """ + project_relative_filename + """, ""{" + project_uuid + "}""" + vbCrLf + "	ProjectSection(ProjectDependencies) = postProject" + vbCrLf + "	EndProjectSection" + vbCrLf + "EndProject" + vbCrLf
-					config_list = config_list + "		{" + project_uuid + "}.Debug.ActiveCfg = Debug|" + platform_name + vbCrLf + "		{" + project_uuid + "}.Debug.Build.0 = Debug|" + platform_name + vbCrLf + "		{" + project_uuid + "}.Release.ActiveCfg = Release|" + platform_name + vbCrLf + "		{" + project_uuid + "}.Release.Build.0 = Release|" + platform_name + vbCrLf
-				End If
-			    End If
-			  end if
-			end if
-		end if
-	wend
-	fin.Close()
-End Function
-
-' Add architecture specific details
-Function AddArchDetails(template)
-	template = Replace( template, "PLATFORM_NAME", platform_name )
-	template = Replace( template, "KEYWORD", keyword )
-	template = Replace( template, "TARGET_HEADER", target_header )
-	template = Replace( template, "TARGET_PREPROCESSOR_DEFN", target_preprocessor_defn )
-	template = Replace( template, "TARGET_MACHINE", target_machine )
-	template = Replace( template, "TARGET_ENV", target_env )
-	AddArchDetails = template
-End Function
-
-' Add User MPI lib details
-Function AddUserMPILibDetails(template)
-    If user_mpi_include_dir <> "" Then
-        template = Replace( template, "MPI_C_INCLUDE_DIR", user_mpi_include_dir )
-        template = Replace( template, "__mpi_c_include_sep__", vs_proj_include_sep )
-        template = Replace( template, "MPI_CXX_INCLUDE_DIR", user_mpi_include_dir )
-        template = Replace( template, "__mpi_cxx_include_sep__", vs_proj_include_sep )
-        template = Replace( template, "MPI_F_INCLUDE_DIR", user_mpi_include_dir )
-        template = Replace( template, "__mpi_f_include_sep__", vs_proj_include_sep )
-    Else
-        template = Replace( template, "MPI_C_INCLUDE_DIR", "" )
-        template = Replace( template, "__mpi_c_include_sep__", "" )
-        template = Replace( template, "MPI_CXX_INCLUDE_DIR", "" )
-        template = Replace( template, "__mpi_cxx_include_sep__", "" )
-        template = Replace( template, "MPI_F_INCLUDE_DIR", "" )
-        template = Replace( template, "__mpi_f_include_sep__", "" )
-    End If
-    If user_mpi_lib_dir <> "" Then
-        template = Replace( template, "MPI_C_LIB_DIR", user_mpi_lib_dir )
-        template = Replace( template, "__mpi_c_lib_sep__", vs_proj_lib_sep )
-        template = Replace( template, "MPI_CXX_LIB_DIR", user_mpi_lib_dir )
-        template = Replace( template, "__mpi_cxx_lib_sep__", vs_proj_lib_sep )
-        template = Replace( template, "MPI_F_LIB_DIR", user_mpi_lib_dir )
-        template = Replace( template, "__mpi_f_lib_sep__", vs_proj_lib_sep )
-    Else
-        template = Replace( template, "MPI_C_LIB_DIR", "" )
-        template = Replace( template, "__mpi_c_lib_sep__", "" )
-        template = Replace( template, "MPI_CXX_LIB_DIR", "" )
-        template = Replace( template, "__mpi_cxx_lib_sep__", "" )
-        template = Replace( template, "MPI_F_LIB_DIR", "" )
-        template = Replace( template, "__mpi_f_lib_sep__", "" )
-    End If
-    AddUserMPILibDetails = template
-End Function
-
-set fin = f.OpenTextFile("project.txt")
-project_template = fin.ReadAll()
-project_template = AddArchDetails(project_template)
-project_template = AddUserMPILibDetails(project_template)
-fin.Close()
-
-set fin = f.OpenTextFile("project_cxx.txt")
-project_cxx_template = fin.ReadAll()
-project_cxx_template = AddArchDetails(project_cxx_template)
-project_cxx_template = AddUserMPILibDetails(project_cxx_template)
-fin.Close()
-
-set fin = f.OpenTextFile("project_f.txt")
-project_f_template = fin.ReadAll()
-project_f_template = AddArchDetails(project_f_template)
-project_f_template = AddUserMPILibDetails(project_f_template)
-fin.Close()
-
-GetTestLists cur_folder, ""
-a = files.Items
-b = dotdots.Items
-If files.Count > 0 Then
-	' Create the project files
-	For i = 0 to files.Count - 1
-		TestsToProjects a(i), b(i)
-	Next
-	' Create the solution file
-	set fout = f.CreateTextFile("test.sln", True)
-	fout.WriteLine( "Microsoft Visual Studio Solution File, Format Version 9.00" )
-	fout.Write( project_list )
-	fout.WriteLine( "Global" )
-	fout.WriteLine( "	GlobalSection(SolutionConfiguration) = preSolution" )
-	fout.WriteLine( "		Debug = Debug" )
-	fout.WriteLine( "		Release = Release" )
-	fout.WriteLine( "	EndGlobalSection" )
-	fout.WriteLine( "	GlobalSection(ProjectConfiguration) = postSolution" )
-	fout.Write( config_list )
-	fout.WriteLine( "	EndGlobalSection" )
-	fout.WriteLine( "	GlobalSection(ExtensibilityGlobals) = postSolution" )
-	fout.WriteLine( "	EndGlobalSection" )
-	fout.WriteLine( "	GlobalSection(ExtensibilityAddIns) = postSolution" )
-	fout.WriteLine( "	EndGlobalSection" )
-	fout.WriteLine( "EndGlobal" )
-	fout.Close()
-End If
-
-</script>
-</job>
-</package>
diff --git a/test/mpi/runtests.wsf b/test/mpi/runtests.wsf
deleted file mode 100644
index 199295b..0000000
--- a/test/mpi/runtests.wsf
+++ /dev/null
@@ -1,171 +0,0 @@
-<package>
-<job id="runtests">
-    <runtime>
-        <description>This script searches for runtests files and executes the tests described therein</description>
-        <named
-            name = "echo"
-            helpstring = "Echo each mpiexec command"
-            required = "false"
-        />
-        <named
-			name = "config"
-			helpstring = "test configuration, Debug or Release"
-			required = "false"
-		/>
-		<named
-			name = "out"
-			helpstring = "name of output file"
-			required = "false"
-		/>
-        <named
-            name = "channel"
-            helpstring = "name of channel"
-            required = "false"
-        />
-        <example>Example: runtests.wsf</example>
-    </runtime>
-<script language="VBScript">
-
-Dim WshShell
-Set WshShell = CreateObject("WScript.Shell")
-Set f = WScript.CreateObject("Scripting.FileSystemObject")
-Set cur_folder = f.GetFolder(".")
-Set files = CreateObject("Scripting.Dictionary")
-num_files = 0
-output = ""
-num_passed = 0
-num_failed = 0
-num_skipped = 0
-
-' check if we are running cscript or wscript
-bEcho = false
-If InStr(1, LCase(WScript.FullName), "cscript") > 0 Then
-	bEcho = true
-End If
-
-' check config option
-config = "Debug\"
-if WScript.Arguments.Named.Exists("config") then
-	config = WScript.Arguments.Named.Item("config") + "\"
-end if
-
-' check out option
-outfile_name = "summary.xml"
-if WScript.Arguments.Named.Exists("out") then
-	outfile_name = WScript.Arguments.Named.Item("out")
-end if
-
-' check channel option
-channel_name = "sock"
-if WScript.Arguments.Named.Exists("channel") then
-    channel_name = WScript.Arguments.Named.Item("channel")
-end if
-
-set ftmp = f.CreateTextFile(outfile_name)
-ftmp.WriteLine("<?xml version='1.0' ?>")
-ftmp.WriteLine("<?xml-stylesheet href=""TestResults.xsl"" type=""text/xsl"" ?>")
-ftmp.WriteLine("<MPITESTRESULTS>")
-ftmp.WriteLine("<DATE>" & Date)
-ftmp.WriteLine("</DATE>")
-ftmp.WriteLine("<MPISOURCE></MPISOURCE>")
-ftmp.Close()
-
-Function GetTestLists(folder)
-	For Each sub_folder in folder.SubFolders
-		GetTestLists(sub_folder)
-	Next
-	For Each file in folder.Files
-		If file.Name = "testlist" Then
-			files.Add num_files, file.Path
-			num_files = num_files + 1
-		End If
-	Next
-End Function
-
-Function RunTest(cmd_line)
-	Set oExec = WshShell.Exec("cmd /c " & cmd_line & " 2>&1") 'WshShell.Exec(cmd_line)
-	cmd_output = oExec.StdOut.ReadAll()
-	cmd_output = cmd_output & oExec.StdErr.ReadAll()
-	RunTest = cmd_output
-End Function
-
-Function RunTests(filename)
-	Set fin = f.OpenTextFile(filename)
-	while not fin.AtEndOfStream
-		line = fin.ReadLine()
-		line = Trim(line)
-		twostrings = split(line, " ", -1, 1)
-		if not IsNull(twostrings) then
-			count = 0
-			for each s in twostrings
-				count = count + 1
-			next
-			if count = 2 then
-			 if Left(twostrings(0), 1) <> "#" then
-			  if Len(twostrings(1)) > 0 then
-				exe = Replace( filename, "testlist", config + twostrings(0) + ".exe" )
-				cmd = "mpiexec -timeout 900 -n " + twostrings(1) + " -channel " + channel_name + " " + exe
-				if bEcho = true then
-			 		WScript.Echo cmd '+ vbCrLf
-				end if
-				set fout = f.OpenTextFile(outfile_name, 8, True)
-				'fout.Write( cmd + vbCrLf )
-				fout.WriteLine("<MPITEST>")
-				fout.WriteLine("<NAME>" & twostrings(0) & "</NAME>")
-				if f.FileExists(exe) then
-					result = RunTest(cmd)
-				else
-					result = "no executable, test skipped"
-					num_skipped = num_skipped + 1
-				end if
-				if bEcho = true then
-					WScript.Echo result '+ vbCrLf
-				end if
-				'fout.Write( result + vbCrLf )
-				if Instr(result, " No Errors") And len(result) < 14 Then
-					fout.WriteLine("<STATUS>pass</STATUS>")
-					num_passed = num_passed + 1
-				else
-					fout.WriteLine("<STATUS>fail</STATUS>")
-					fout.WriteLine("<TESTDIFF>")
-					result = cmd & vbCrLf & result
-					result = Replace( result, "&", "&" )
-					result = Replace( result, "<", "<" )
-					result = Replace( result, ">", ">" )
-					fout.WriteLine(result)
-					fout.WriteLine("</TESTDIFF>")
-					if f.FileExists(exe) then
-						num_failed = num_failed + 1
-					end if
-				end if
-				fout.WriteLine("</MPITEST>")
-				fout.Close()
-			  end if
-			 end if
-			end if
-		end if
-	wend
-	fin.Close()
-End Function
-
-GetTestLists(cur_folder)
-a = files.Items
-If files.Count > 0 Then
-	For i = 0 to files.Count - 1
-		RunTests a(i)
-	Next
-End If
-
-set fout = f.OpenTextFile(outfile_name, 8, True)
-fout.WriteLine("</MPITESTRESULTS>")
-fout.Close()
-
-if bEcho = true then
-	WScript.Echo "num_passed = " & num_passed
-	WScript.Echo "num_failed = " & num_failed
-	WScript.Echo "num_skipped = " & num_skipped
-end if
-
-</script>
-</job>
-</package>
diff --git a/winconfigure.wsf b/winconfigure.wsf
deleted file mode 100755
index 6505c24..0000000
--- a/winconfigure.wsf
+++ /dev/null
@@ -1,8019 +0,0 @@
-<package>
-<job id="winconfigure">
-    <runtime>
-        <description>This script generates files for building MPICH</description>
-        <unnamed
-            name = "--force"
-            helpstring = "Force the creation of new files, overwriting the old"
-            required = "false"
-        />
-        <unnamed
-            name = "--force=no"
-            helpstring = "Only create files that do not already exist"
-            required = "false"
-        />
-        <unnamed
-            name = "--enable-timer-type=x86cycle"
-            helpstring = "Use the Pentium rdtsc instruction for timing"
-            required = "false"
-        />
-        <unnamed
-            name = "--enable-timer-type=queryperformancecounter"
-            helpstring = "Use QueryPerformanceCounter for timing"
-            required = "false"
-        />
-<!--        <unnamed
-			name = "--with-mcxx"
-			helpstring = "Generate the managed C++ interface"
-			required = "false"
-		/>
--->
-		<unnamed
-			name = "--defmsg"
-			helpstring = "Generate defmsg.h"
-			required = "false"
-		/>
-		<unnamed
-			name = "--genstates"
-			helpstring = "Generate mpiallstates.h and describe_states.c"
-			required = "false"
-		/>
-		<unnamed
-			name = "--mpicc"
-			helpstring = "Generate mpicc.wsf"
-			required = "false"
-		/>
-		<unnamed
-			name = "--ifaces"
-			helpstring = "Generate the interfaces (c++,f77,f90,etc)"
-			required = "false"
-		/>
-		<unnamed
-			name = "--remove-fortran"
-			helpstring = "Remove fortran code and interfaces"
-			required = "false"
-		/>
-		<unnamed
-			name = "--use-ib-rdma"
-			helpstring = "Use the rdma interface in the infiniband channel"
-			required = "false"
-		/>
-		<unnamed
-			name = "--cleancode"
-			helpstring = "Clean up the c++ header file"
-			required = "false"
-		/>
-		<unnamed
-			name = "--dlldec"
-			helpstring = "Add dll decoration to the mpi function prototypes"
-			required = "false"
-		/>
-		<unnamed
-			name = "--testdir"
-			helpstring = "Configure the test directory only"
-			require = "false"
-		/>
-		<unnamed
-			name = "--gen-mpi"
-			helpstring = "Generate the stub MPI functions"
-			require = "false"
-		/>
-<!--
-		<unnamed
-			name = "--vs05"
-			helpstring = "apply settings to the Visual Studio 2005 project files"
-			require = "false"
-		/>
--->
-		<unnamed
-			name = "--genbuild"
-			helpstring = "generate a build script and nmake file"
-			require = "false"
-		/>
-		<unnamed
-			name = "--genbuildfiles"
-			helpstring = "generate the DIRS, SOURCES, etc files necessary for the build tool"
-			require = "false"
-		/>
-		<unnamed
-			name = "--rmbuildfiles"
-			helpstring = "delete the DIRS, SOURCES, etc files created by --genbuildfiles"
-			require = "false"
-		/>
-<!--
-		<named
-			name = "channel"
-			helpstring = "specify the channel for --genbuildfiles (sock,nemesis)"
-			type = "string"
-			require = "false"
-		/>
--->
-		<named
-			name = "channel"
-			helpstring = "specify the channel for --genbuildfiles (sock,nemesis)"
-			type = "string"
-			require = "false"
-		/>
-		<unnamed
-			name = "--smpd_version"
-			helpstring = "update the smpd version in smpd.h"
-			require = "false"
-		/>
-		<unnamed
-			name = "--ia64"
-			helpstring = "use definitions for Win64 IA64 instead of X64"
-			require = "false"
-		/>
-		<unnamed
-			name = "--verbose"
-			helpstring = "Use verbose option for verbose output"
-			require = "false"
-		/>
-        <example>Example: winconfigure.wsf --cleancode</example>
-    </runtime>
-<script language="VBScript">
-
-' check if we are running cscript or wscript
-isCScript = false
-If InStr(1, LCase(WScript.FullName), "cscript") > 0 Then
-	isCscript = true
-End If
-
-' Use cEcho to echo information to the command line only.
-' The output is truncated to 4096 characters.
-Function cEcho(str)
-	On Error Resume Next
-	WScript.Echo str
-	if err <> 0 then
-		num_chars = Len(str) / 2
-		if num_chars > 4096 then
-			num_chars = 4096
-		end if
-		WScript.Echo Left(str, num_chars) & vbCrLf & "..." & vbCrLf
-		WScript.Echo Right(str, num_chars)
-	end if
-End Function
-
-wEchoMsgBoxStr=""
-Function wEcho(str)
-	wEchoMsgBoxStr = wEchoMsgBoxStr & str & vbCrLf
-End Function
-
-Function wEchoFlush()
-	MsgBox wEchoMsgBoxStr
-End Function
-
-Function gEcho(str)
-	If isCscript Then
-		cEcho(str)
-	Else
-		wEcho(str)
-	End If
-End Function
-
-' print Error msgs with ERROR - output by default
-echoErrorMsgs = true
-' print status msgs with STATUS - output by default
-echoStatusMsgs = true
-' print debug & non-status msgs with VERBOSE - suppressed by default
-' use "--verbose" option to enable
-echoVerboseMsgs = false
-
-Function printMsgFlush()
-	If(Not isCscript) Then
-		wEchoFlush()
-	End If
-End Function
-
-Function printMsg(level, str)
-	Select Case level
-		Case "ERROR"
-			If echoErrorMsgs Then
-				gEcho(str)
-			End If
-		Case "STATUS"
-			If echoStatusMsgs Then
-				gEcho(str)
-			End If
-		Case "VERBOSE"
-			If echoVerboseMsgs Then
-				gEcho(str)
-			End If
-		Case Else
-			WScript.Echo "ERROR: INVALID USAGE OF PRINTMSG"
-	End Select	
-End Function
-
-printMsg "STATUS", "Configuring MPICH for windows..."
-
-x64 = True
-bVS2005 = False
-bUseIbRDMA = False
-bUsePinCache = False
-bRemoveFortran = False
-bUseCycleCounter = False
-bForce = True
-bCleanCode = False
-bAddDllDecoration = False
-bMcxx = False
-bf77_name_lower = False
-bf77_name_lower_uscore = False
-bf77_name_lower_2uscore = False
-bf77_name_upper = False
-bf77_name_mixed = False
-bf77_name_mixed_uscore = False
-unhandled_definitions = ""
-unhandled_definitions_count = 0
-unhandled_definitions_instances = 0
-unhandled_ats = ""
-unhandled_ats_count = 0
-unhandled_ats_instances = 0
-Set customDefDict = Nothing
-' variables for creating the nmake file
-Dim bfile
-Dim mfile
-creating_rules = false
-files_found = false
-cxx_files_found = false
-fortran_files_found = false
-outdir = "OUTDIR"
-cxxflags = "impl_cxxflags"
-extra_flags = ""
-fort_prefix = ""
-remove_buildfiles = false
-buildfiles_channel = "sock"
-'
-' Miscellaneous settings
-'
-MPI_MAX_PROCESSOR_NAME = "128"
-' Use the decorated MPI_AINT64_TYPE with MPI_AINT64_TYPEDEF_BEGIN & *END decos
-' for user exposed headers
-MPI_AINT64_TYPE        = "MPI_AINT64_TYPE"
-' Use MPI_AINT64 for internal headers
-MPI_AINT64              = "__int64"
-MPI_AINT64_FMT_DEC_SPEC  = "%I64d"
-MPIR_PINT64_FMT_DEC_SPEC  = """%I64d"""
-MPIR_UPINT64_FMT_DEC_SPEC  = """%I64u"""
-MPI_AINT64_FMT_HEX_SPEC  = "%I64x"
-BSEND_OVERHEAD64         = "95"
-MPI_AINT32               = "int"
-MPI_AINT32_FMT_DEC_SPEC  = "%d"
-MPIR_PINT32_FMT_DEC_SPEC  = """%d"""
-MPIR_UPINT32_FMT_DEC_SPEC  = """%u"""
-MPI_AINT32_FMT_HEX_SPEC  = "%x"
-BSEND_OVERHEAD32         = "59"
-MPI_FINT               = "int"
-'MPI_OFFSET             = "long long"
-
-MPI_OFFSET             = "__int64"
-'MPI_OFFSET_TYPEDEF     = "typedef __int64 MPI_Offset;"
-'MPI_OFFSET_TYPEDEF     = "typedef long long MPI_Offset;"
-MPI_OFFSET_TYPEDEF     = "#if defined(USE_GCC) || defined(__GNUC__)" + vbCrLf + "typedef long long MPI_Offset;" + vbCrLf + "#else" + vbCrLf + "typedef __int64 MPI_Offset;" + vbCrLf + "#endif"
-MPI_AINT64_TYPEDEF_BEGIN    = "#ifdef MPI_AINT64_TYPE" + vbCrLf + "#undef MPI_AINT64_TYPE" + vbCrLf + "#endif" + vbCrLf + "#if defined(USE_GCC) || defined(__GNUC__)" + vbCrLf + "#define MPI_AINT64_TYPE long long" + vbCrLf + "#else" + vbCrLf + "#define MPI_AINT64_TYPE __int64" + vbCrLf + "#endif" + vbCrLf
-MPI_AINT64_TYPEDEF_END = vbCrLf + "#undef MPI_AINT64_TYPE" + vbCrLf
-EXTRA_STATUS_DECL      = ""
-HAVE_ROMIO             = "#include ""mpio.h"""
-mpi_dll_spec_definition = "#ifdef USE_MPI_STATIC_LIBRARY" + vbCrLf + "# define MPIU_DLL_SPEC" + vbCrLf + "#else" + vbCrLf + "# ifdef MPI_EXPORTS" + vbCrLf + "#  define MPIU_DLL_SPEC __declspec(dllexport)" + vbCrLf + "# else" + vbCrLf + "#  define MPIU_DLL_SPEC __declspec(dllimport)" + vbCrLf + "# endif" + vbCrLf + "#endif" + vbCrLf + "#define MPI_CALL __cdecl" + vbCrLf
-
-set f = WScript.CreateObject("Scripting.FileSystemObject")
-
-Set fin = f.OpenTextFile("src\mpid\common\thread\mpe_types.i")
-mpid_thread_typedefs = fin.ReadAll()
-fin.Close()
-Set fin = f.OpenTextFile("src\mpid\common\thread\mpe_funcs.i")
-mpid_thread_funcs = fin.ReadAll()
-fin.Close()
-
-' Process arguments
-If WScript.Arguments.Named.Exists("channel") Then
-	buildfiles_channel = WScript.Arguments.Named.Item("channel")
-End If
-argCount = WScript.Arguments.Count
-For arg = 0 To argCount - 1
-  argValue = WScript.Arguments(arg)
-  If argValue = "--enable-timer-type=x86cycle" Then
-    bUseCycleCounter = True
-  ElseIf argValue = "--enable-timer-type=queryperformancecounter" Then
-    bUseCycleCounter = False
-  ElseIf argValue = "--enable-hptiming" Then
-    bUseCycleCounter = True
-  ElseIf argValue = "--enable-hptiming=yes" Then
-    bUseCycleCounter = True
-  ElseIf argValue = "--enable-hptiming=no" Then
-    bUseCycleCounter = False
-  ElseIf argValue = "--force" Then
-    bForce = True
-  ElseIf argValue = "--force=yes" Then
-    bForce = True
-  ElseIf argValue = "--force=no" Then
-    bForce = False
-  ElseIf argValue = "--cleancode" Then
-    bCleanCode = True
-  ElseIf argValue = "--dlldec" Then
-    bAddDllDecoration = True
-  ElseIf argValue = "--with-mcxx" Then
-	bMcxx = True
-  ElseIf argValue = "--f77_name_lower" Then
-	bf77_name_lower = True
-  ElseIf argValue = "--f77_name_lower_uscore" Then
-	bf77_name_lower_uscore = True
-  ElseIf argValue = "--f77_name_lower_2uscore" Then
-	bf77_name_loser_2uscore = True
-  ElseIf argValue = "--f77_name_upper" Then
-	bf77_name_upper = True
-  ElseIf argValue = "--f77_name_mixed" Then
-	bf77_name_mixed = True
-  ElseIf argValue = "--f77_name_mixed_uscore" Then
-	bf77_name_mixed_uscore = True
-  ElseIf argValue = "--defmsg" Then
-    GenerateDefmsg()
-	printMsgFlush()
-    WScript.Quit
-  ElseIf argValue = "--genstates" Then
-    GenerateStatesFiles()
-	printMsgFlush()
-    WScript.Quit
-  ElseIf argValue = "--mpicc" Then
-	GenerateMPICC()
-	printMsgFlush()
-	WScript.Quit
-  ElseIf argValue = "--ifaces" Then
-	printMsg "ERROR", "Option not implemented, run the entire script to generate the interfaces"
-	' BuildIFaces needs the dictionary object to replace the @xxx at s in mpif.h
-	'BuildIFaces()
-	printMsgFlush()
-	WScript.Quit
-  ElseIf argValue = "--remove-fortran" Then
-    bRemoveFortran = True
-  ElseIf argValue = "--use-ib-rdma" Then
-	bUseIbRDMA = True
-  ElseIf argValue = "--use_ib_rdma" Then
-	bUseIbRDMA = True
-  ElseIf argValue = "--use-pin-cache" Then
-    bUsePinCache = True
-  ElseIf argValue = "--use_pin_cache" Then
-    bUsePinCache = True
-  ElseIf argValue = "--testdir" Then
-    ConfigureTestDir()
-	printMsgFlush()
-    WScript.Quit
-  ElseIf argValue = "--gen-mpi" Then
-	FindMPIFuncs()
-	printMsgFlush()
-	WScript.Quit
-  ElseIf argValue = "--gen-sfort" Then
-	CreateStdcallFortranInterface()
-	printMsgFlush()
-	WScript.Quit
-  ElseIf argValue = "--vs05" Then
-    bVS2005 = True
-  ElseIf argValue = "--genbuild" Then
-    GenBuild()
-	printMsgFlush()
-    WScript.Quit
-  ElseIf argValue = "--genbuildfiles" Then
-    GenBuildFiles(".")
-	printMsgFlush()
-    WScript.Quit
-  ElseIf argValue = "--rmbuildfiles" Then
-    remove_buildfiles = true
-    GenBuildFiles(".")
-	printMsgFlush()
-    WScript.Quit
-  ElseIf argValue = "--smpd_version" Then
-    UpdateSMPDVersion()
-	printMsgFlush()
-    WScript.Quit
-  ElseIf argValue = "--ia64" Then
-    x64 = False
-  ElseIf argValue = "--verbose" Then
-    echoVerboseMsgs = True
-  ElseIf argValue = "--help" Then
-    WScript.Arguments.ShowUsage
-	printMsgFlush()
-    WScript.Quit
-  End If
-Next
-
-'
-' datatype sizes
-'
-  len_short           = "02"
-  len_int             = "04"
-  len_long            = "04"
-  len_long_long       = "08"
-  len_float           = "04"
-  len_double          = "08"
-  len_long_double     = "08"
-  len_wchar           = "02"
-  len_wchar_t         = "02"
-  len_float_int       = "08"
-  len_double_int      = "10"
-  len_long_int        = "08"
-  len_short_int       = "08"
-  len_two_int         = "08"
-  len_long_double_int = "10"
-' Fortran datatype sizes
-  len_integer32         = "04"
-  len_doublecplx      = "10"
-  len_2dc             = "20"
-
-' Special C++ Datatypes
-  len_bool			= "01"
-  len_complex			= "08"
-  len_double_complex		= "10"
-  len_long_double_complex	= "10"
-
-' C99 types - These types are not supported by VS, however
-' C++ pgms use the same types. So we use the C++ type sizes here
-' Also since _Complex is an alias for float _Complex we don't need
-' to handle it here
-  len__Bool                 = "01"
-  len_float__Complex         = "08"
-  len_double__Complex        = "10"
-  len_long_double__Complex   = "10"
-
-  len_mpi_aint64        = "08"
-  len_mpi_aint32        = "04"
-
-  len_mpi_offset        = "08"
-
-Function CreateDtypeDictionary(byref types, str, b64)
-	dim regEx, Match, Matches
-	set regEx = New RegExp
-	'set types = WScript.CreateObject("Scripting.Dictionary")
-	' remove all dnl lines to prevent false matches
-	regEx.Pattern = "dnl .*"
-	regEx.IgnoreCase = True
-	regEx.Global = True
-	str = regEx.Replace(str, "")
-	' find the datatype handles
-	regEx.Pattern = "MPI_.*=""?0x4c00.*[0-9a-f][0-9a-f]"
-	regEx.IgnoreCase = False
-	regEx.Global = True
-	Set Matches = regEx.Execute(str)
-	For Each Match in Matches
-		size_str = RegExpFind("\$\{len.*\}", Match.Value)
-		dtype_str = RegExpFind("MPI_[^=]*", Match.Value)
-		dtype_val_str = RegExpFind("0x4c00.*[0-9a-f][0-9a-f]", Match.Value)
-                ' If size_str is empty then the datatype handle is hardcoded
-		if size_str <> "" then
-			Select Case size_str
-				Case "${len_int}"
-					dtype_val_str = Replace(dtype_val_str, size_str, len_int)
-				Case "${len_short}"
-					dtype_val_str = Replace(dtype_val_str, size_str, len_short)
-				Case "${len_long}"
-					dtype_val_str = Replace(dtype_val_str, size_str, len_long)
-				Case "${len_long_long}"
-					dtype_val_str = Replace(dtype_val_str, size_str, len_long_long)
-				Case "${len_float_int}"
-					dtype_val_str = Replace(dtype_val_str, size_str, len_float_int)
-				Case "${len_double_int}"
-					dtype_val_str = Replace(dtype_val_str, size_str, len_double_int)
-				Case "${len_long_int}"
-					dtype_val_str = Replace(dtype_val_str, size_str, len_long_int)
-				Case "${len_short_int}"
-					dtype_val_str = Replace(dtype_val_str, size_str, len_short_int)
-				Case "${len_two_int}"
-					dtype_val_str = Replace(dtype_val_str, size_str, len_two_int)
-				Case "${len_long_double_int}"
-					dtype_val_str = Replace(dtype_val_str, size_str, len_long_double_int)
-				Case "${len_double}"
-					dtype_val_str = Replace(dtype_val_str, size_str, len_double)
-				Case "${len_doublecplx}"
-					dtype_val_str = Replace(dtype_val_str, size_str, len_doublecplx)
-				Case "${len_2dc}"
-					dtype_val_str = Replace(dtype_val_str, size_str, len_2dc)
-				Case "${len_float}"
-					dtype_val_str = Replace(dtype_val_str, size_str, len_float)
-				Case "${len_long_double}"
-					dtype_val_str = Replace(dtype_val_str, size_str, len_long_double)
-				Case "${len_integer}"
-					dtype_val_str = Replace(dtype_val_str, size_str, len_integer32)
-				Case "${len_wchar_t}"
-					dtype_val_str = Replace(dtype_val_str, size_str, len_wchar_t)
-				Case "${len_wchar}"
-					dtype_val_str = Replace(dtype_val_str, size_str, len_wchar)
-                                Case "${len__Bool}"
-                                        dtype_val_str = Replace(dtype_val_str, size_str, len__Bool)
-                                Case "${len_float__Complex}"
-                                        dtype_val_str = Replace(dtype_val_str, size_str, len_float__Complex)
-                                Case "${len_double__Complex}"
-                                        dtype_val_str = Replace(dtype_val_str, size_str, len_double__Complex)
-                                Case "${len_long_double__Complex}"
-                                        dtype_val_str = Replace(dtype_val_str, size_str, len_long_double__Complex)
-                                Case "${len_mpi_aint}"
-                                        If b64 Then
-                                            dtype_val_str = Replace(dtype_val_str, size_str, len_mpi_aint64)
-                                        Else
-                                            dtype_val_str = Replace(dtype_val_str, size_str, len_mpi_aint32)
-                                        End If
-                                Case "${len_mpi_offset}"
-                                        dtype_val_str = Replace(dtype_val_str, size_str, len_mpi_offset)
-				Case Else
-					unmatched_size_strs = unmatched_size_strs & " " & size_str & vbCrLf
-			End Select
-		end if
-		if types.Exists(dtype_str) then
-			if types.Item(dtype_str) <> dtype_val_str then
-				temp_str = dtype_str & " = " & types.Item(dtype_str) & " or " & dtype_val_str
-				MsgBox temp_str
-			end if
-		else
-			types.Add dtype_str, dtype_val_str
-		end if
-	Next
-	if unmatched_size_strs <> "" then
-		MsgBox unmatched_size_strs
-	end if
-	'CreateDtypeDictionary = types
-End Function
-
-'
-' Create a dictionary of all the datatype handles
-'
-unmatched_size_strs = ""
-set fin = f.OpenTextFile("configure.ac")
-contents = fin.ReadAll()
-fin.Close()
-'set fin = f.OpenTextFile("src\binding\f77\configure.ac")
-'contents = contents + fin.ReadAll()
-'fin.Close()
-'set dtypes = CreateDtypeDictionary(contents, false)
-'set dtypes64 = CreateDtypeDictionary(contents, true)
-set dtypes = WScript.CreateObject("Scripting.Dictionary")
-CreateDtypeDictionary dtypes, contents, false
-set dtypes64 = WScript.CreateObject("Scripting.Dictionary")
-CreateDtypeDictionary dtypes64, contents, true
-
-'mpi_datatype_prefix = "4c00"
-
-'MPI_CHAR              = "0x" + mpi_datatype_prefix                 + "0101"
-'MPI_SIGNED_CHAR       = "0x" + mpi_datatype_prefix                 + "0118"
-'MPI_UNSIGNED_CHAR     = "0x" + mpi_datatype_prefix                 + "0102"
-'MPI_BYTE              = "0x" + mpi_datatype_prefix                 + "010d"
-'MPI_WCHAR             = "0x" + mpi_datatype_prefix + len_wchar       + "0e"
-'MPI_WCHAR_T           = "0x" + mpi_datatype_prefix + len_wchar_t     + "0e"
-'MPI_SHORT             = "0x" + mpi_datatype_prefix + len_short       + "03"
-'MPI_UNSIGNED_SHORT    = "0x" + mpi_datatype_prefix + len_short       + "04"
-'MPI_INT               = "0x" + mpi_datatype_prefix + len_int         + "05"
-'MPI_UNSIGNED          = "0x" + mpi_datatype_prefix + len_int         + "06"
-'MPI_LONG              = "0x" + mpi_datatype_prefix + len_long        + "07"
-'MPI_UNSIGNED_LONG     = "0x" + mpi_datatype_prefix + len_long        + "08"
-'MPI_LONG_LONG         = "0x" + mpi_datatype_prefix + len_long_long   + "09"
-'MPI_LONG_LONG_INT     = "0x" + mpi_datatype_prefix + len_long_long   + "09"
-'MPI_UNSIGNED_LONG_LONG ="0x" + mpi_datatype_prefix + len_long_long   + "19"
-'MPI_FLOAT             = "0x" + mpi_datatype_prefix + len_float       + "0a"
-'MPI_DOUBLE            = "0x" + mpi_datatype_prefix + len_double      + "0b"
-'MPI_LONG_DOUBLE       = "0x" + mpi_datatype_prefix + len_long_double + "0c"
-'MPI_PACKED            = "0x" + mpi_datatype_prefix                 + "010f"
-'MPI_LB                = "0x" + mpi_datatype_prefix                 + "0010"
-'MPI_UB                = "0x" + mpi_datatype_prefix                 + "0011"
-'MPI_REAL4             = "0x" + mpi_datatype_prefix                 + "0427"
-'MPI_REAL8             = "0x" + mpi_datatype_prefix                 + "0829"
-'MPI_REAL16            = "0x" + mpi_datatype_prefix                 + "1029"
-'MPI_COMPLEX8          = "0x" + mpi_datatype_prefix                 + "0828"
-'MPI_COMPLEX16         = "0x" + mpi_datatype_prefix                 + "102b"
-'MPI_COMPLEX32         = "0x" + mpi_datatype_prefix                 + "2030"
-'MPI_INTEGER1          = "0x" + mpi_datatype_prefix                 + "012d"
-'MPI_INTEGER2          = "0x" + mpi_datatype_prefix                 + "022f"
-'MPI_INTEGER4          = "0x" + mpi_datatype_prefix                 + "0430"
-'MPI_INTEGER8          = "0x" + mpi_datatype_prefix                 + "082a"
-'MPI_INTEGER16         = "0x" + mpi_datatype_prefix                 + "102f"
-'MPI_FLOAT_INT         = "0x" + mpi_datatype_prefix + len_float_int       + "12"
-'MPI_DOUBLE_INT        = "0x" + mpi_datatype_prefix + len_double_int      + "13"
-'MPI_LONG_INT          = "0x" + mpi_datatype_prefix + len_long_int        + "14"
-'MPI_SHORT_INT         = "0x" + mpi_datatype_prefix + len_short_int       + "15"
-'MPI_2INT              = "0x" + mpi_datatype_prefix + len_two_int           + "16"
-'MPI_LONG_DOUBLE_INT   = "0x" + mpi_datatype_prefix + len_long_double_int + "17"
-'MPI_CHARACTER         = "0x" + mpi_datatype_prefix                + "011a"
-'MPI_INTEGER           = "0x" + mpi_datatype_prefix + len_integer    + "1b"
-'MPI_REAL              = "0x" + mpi_datatype_prefix + len_integer    + "1c"
-'MPI_LOGICAL           = "0x" + mpi_datatype_prefix + len_integer    + "1d"
-'MPI_COMPLEX           = "0x" + mpi_datatype_prefix + len_double     + "1e"
-'MPI_DOUBLE_PRECISION  = "0x" + mpi_datatype_prefix + len_double     + "1f"
-'MPI_2INTEGER          = "0x" + mpi_datatype_prefix + len_double     + "20"
-'MPI_2REAL             = "0x" + mpi_datatype_prefix + len_double     + "21"
-'MPI_DOUBLE_COMPLEX    = "0x" + mpi_datatype_prefix + len_doublecplx + "22"
-'MPI_2DOUBLE_PRECISION = "0x" + mpi_datatype_prefix + len_doublecplx + "23"
-'MPI_2COMPLEX          = "0x" + mpi_datatype_prefix + len_doublecplx + "24"
-'MPI_2DOUBLE_COMPLEX   = "0x" + mpi_datatype_prefix + len_2dc        + "25"
-
-'F77_MPI_COMPLEX           = "1275070494"
-'F77_MPI_DOUBLE_COMPLEX    = "1275072546"
-'F77_MPI_LOGICAL           = "1275069469"
-'F77_MPI_REAL              = "1275069468"
-'F77_MPI_DOUBLE_PRECISION  = "1275070495"
-'F77_MPI_INTEGER           = "1275069467"
-'F77_MPI_2INTEGER          = "1275070496"
-'F77_MPI_2COMPLEX          = "1275072548"
-'F77_MPI_2DOUBLE_COMPLEX   = "1275076645"
-'F77_MPI_2REAL             = "1275070497"
-'F77_MPI_2DOUBLE_PRECISION = "1275072547"
-'F77_MPI_CHARACTER         = "1275068698"
-'F77_MPI_LB                = "1275068432"
-'F77_MPI_PACKED            = "1275068687"
-'F77_MPI_UB                = "1275068433"
-'F77_COMPLEX8              = "1275070504"
-'F77_COMPLEX16             = "1275072554"
-'F77_COMPLEX32             = "MPI_DATATYPE_NULL"
-'F77_INTEGER1              = "1275068717"
-'F77_INTEGER2              = "1275068975"
-'F77_INTEGER4              = "1275069488"
-'F77_INTEGER8              = "1275070507"
-'F77_INTEGER16             = "MPI_DATATYPE_NULL"
-'F77_REAL4                 = "1275069479"
-'F77_REAL8                 = "1275070505"
-'F77_REAL16                = "MPI_DATATYPE_NULL"
-
-'
-' Set the datatype variables from the dictionary
-'
-mpi_datatype_prefix = "4c00"
-missing_datatypes = ""
-
-if dtypes.Exists("MPI_CHAR") then
-	MPI_CHAR = dtypes.Item("MPI_CHAR")
-else
-	missing_datatypes = missing_datatypes & "MPI_CHAR" & vbCrLf
-	MPI_CHAR              = "0x" + mpi_datatype_prefix                 + "0101"
-end if
-if dtypes.Exists("MPI_SIGNED_CHAR") then
-	MPI_SIGNED_CHAR = dtypes.Item("MPI_SIGNED_CHAR")
-else
-	missing_datatypes = missing_datatypes & "MPI_SIGNED_CHAR" & vbCrLf
-	MPI_SIGNED_CHAR       = "0x" + mpi_datatype_prefix                 + "0118"
-end if
-if dtypes.Exists("MPI_UNSIGNED_CHAR") then
-	MPI_UNSIGNED_CHAR = dtypes.Item("MPI_UNSIGNED_CHAR")
-else
-	missing_datatypes = missing_datatypes & "MPI_UNSIGNED_CHAR" & vbCrLf
-	MPI_UNSIGNED_CHAR     = "0x" + mpi_datatype_prefix                 + "0102"
-end if
-if dtypes.Exists("MPI_BYTE") then
-	MPI_BYTE = dtypes.Item("MPI_BYTE")
-else
-	missing_datatypes = missing_datatypes & "MPI_BYTE" & vbCrLf
-	MPI_BYTE              = "0x" + mpi_datatype_prefix                 + "010d"
-end if
-if dtypes.Exists("MPI_WCHAR") then
-	MPI_WCHAR = dtypes.Item("MPI_WCHAR")
-else
-	missing_datatypes = missing_datatypes & "MPI_WCHAR" & vbCrLf
-	MPI_WCHAR             = "0x" + mpi_datatype_prefix + len_wchar       + "0e"
-end if
-if dtypes.Exists("MPI_WCHAR_T") then
-	MPI_WCHAR_T = dtypes.Item("MPI_WCHAR_T")
-else
-	'missing_datatypes = missing_datatypes & "MPI_WCHAR_T" & vbCrLf
-	'MPI_WCHAR_T           = "0x" + mpi_datatype_prefix + len_wchar_t     + "0e"
-        if dtypes.Exists("MPI_WCHAR") then
-            MPI_WCHAR_T = dtypes.Item("MPI_WCHAR")
-            dtypes.Add "MPI_WCHAR_T", MPI_WCHAR_T
-        else
-            missing_datatypes = missing_datatypes & "MPI_WCHAR_T" & vbCrLf
-            MPI_WCHAR_T       = "0x" + mpi_datatype_prefix + len_wchar       + "0e"
-        end if
-end if
-if dtypes.Exists("MPI_SHORT") then
-	MPI_SHORT = dtypes.Item("MPI_SHORT")
-else
-	missing_datatypes = missing_datatypes & "MPI_SHORT" & vbCrLf
-	MPI_SHORT             = "0x" + mpi_datatype_prefix + len_short       + "03"
-end if
-if dtypes.Exists("MPI_UNSIGNED_SHORT") then
-	MPI_UNSIGNED_SHORT = dtypes.Item("MPI_UNSIGNED_SHORT")
-else
-	missing_datatypes = missing_datatypes & "MPI_UNSIGNED_SHORT" & vbCrLf
-	MPI_UNSIGNED_SHORT    = "0x" + mpi_datatype_prefix + len_short       + "04"
-end if
-if dtypes.Exists("MPI_INT") then
-	MPI_INT = dtypes.Item("MPI_INT")
-else
-	missing_datatypes = missing_datatypes & "MPI_INT" & vbCrLf
-	MPI_INT               = "0x" + mpi_datatype_prefix + len_int         + "05"
-end if
-if dtypes.Exists("MPI_UNSIGNED_INT") then
-	MPI_UNSIGNED_INT = dtypes.Item("MPI_UNSIGNED_INT")
-else
-	missing_datatypes = missing_datatypes & "MPI_UNSIGNED_INT" & vbCrLf
-	MPI_UNSIGNED_INT      = "0x" + mpi_datatype_prefix + len_int         + "06"
-end if
-if dtypes.Exists("MPI_UNSIGNED") then
-	MPI_UNSIGNED = dtypes.Item("MPI_UNSIGNED")
-else
-	'missing_datatypes = missing_datatypes & "MPI_UNSIGNED" & vbCrLf
-	'MPI_UNSIGNED          = "0x" + mpi_datatype_prefix + len_int         + "06"
-        if dtypes.Exists("MPI_UNSIGNED_INT") then
-            MPI_UNSIGNED = dtypes.Item("MPI_UNSIGNED_INT")
-            dtypes.Add "MPI_UNSIGNED", MPI_UNSIGNED
-        else
-            missing_datatypes = missing_datatypes & "MPI_UNSIGNED" & vbCrLf
-            MPI_UNSIGNED      = "0x" + mpi_datatype_prefix + len_int         + "06"
-        end if
-end if
-if dtypes.Exists("MPI_LONG") then
-	MPI_LONG = dtypes.Item("MPI_LONG")
-else
-	missing_datatypes = missing_datatypes & "MPI_LONG" & vbCrLf
-	MPI_LONG              = "0x" + mpi_datatype_prefix + len_long        + "07"
-end if
-if dtypes.Exists("MPI_UNSIGNED_LONG") then
-	MPI_UNSIGNED_LONG = dtypes.Item("MPI_UNSIGNED_LONG")
-else
-	missing_datatypes = missing_datatypes & "MPI_UNSIGNED_LONG" & vbCrLf
-	MPI_UNSIGNED_LONG     = "0x" + mpi_datatype_prefix + len_long        + "08"
-end if
-if dtypes.Exists("MPI_LONG_LONG") then
-	MPI_LONG_LONG = dtypes.Item("MPI_LONG_LONG")
-else
-	missing_datatypes = missing_datatypes & "MPI_LONG_LONG" & vbCrLf
-	MPI_LONG_LONG         = "0x" + mpi_datatype_prefix + len_long_long   + "09"
-end if
-if dtypes.Exists("MPI_LONG_LONG_INT") then
-	MPI_LONG_LONG_INT = dtypes.Item("MPI_LONG_LONG_INT")
-else
-	'missing_datatypes = missing_datatypes & "MPI_LONG_LONG_INT" & vbCrLf
-	'MPI_LONG_LONG_INT     = "0x" + mpi_datatype_prefix + len_long_long   + "09"
-        if dtypes.Exists("MPI_LONG_LONG") then
-            MPI_LONG_LONG_INT = dtypes.Item("MPI_LONG_LONG")
-            dtypes.Add "MPI_LONG_LONG_INT", MPI_LONG_LONG_INT
-        else
-            missing_datatypes = missing_datatypes & "MPI_LONG_LONG_INT" & vbCrLf
-            MPI_LONG_LONG_INT = "0x" + mpi_datatype_prefix + len_long_long   + "09"
-        end if
-end if
-if dtypes.Exists("MPI_UNSIGNED_LONG_LONG") then
-	MPI_UNSIGNED_LONG_LONG = dtypes.Item("MPI_UNSIGNED_LONG_LONG")
-else
-	missing_datatypes = missing_datatypes & "MPI_UNSIGNED_LONG_LONG" & vbCrLf
-	MPI_UNSIGNED_LONG_LONG ="0x" + mpi_datatype_prefix + len_long_long   + "19"
-end if
-if dtypes.Exists("MPI_FLOAT") then
-	MPI_FLOAT = dtypes.Item("MPI_FLOAT")
-else
-	missing_datatypes = missing_datatypes & "MPI_FLOAT" & vbCrLf
-	MPI_FLOAT             = "0x" + mpi_datatype_prefix + len_float       + "0a"
-end if
-if dtypes.Exists("MPI_DOUBLE") then
-	MPI_DOUBLE = dtypes.Item("MPI_DOUBLE")
-else
-	missing_datatypes = missing_datatypes & "MPI_DOUBLE" & vbCrLf
-	MPI_DOUBLE            = "0x" + mpi_datatype_prefix + len_double      + "0b"
-end if
-if dtypes.Exists("MPI_LONG_DOUBLE") then
-	MPI_LONG_DOUBLE = dtypes.Item("MPI_LONG_DOUBLE")
-else
-	missing_datatypes = missing_datatypes & "MPI_LONG_DOUBLE" & vbCrLf
-	MPI_LONG_DOUBLE       = "0x" + mpi_datatype_prefix + len_long_double + "0c"
-end if
-if dtypes.Exists("MPI_PACKED") then
-	MPI_PACKED = dtypes.Item("MPI_PACKED")
-else
-	missing_datatypes = missing_datatypes & "MPI_PACKED" & vbCrLf
-	MPI_PACKED            = "0x" + mpi_datatype_prefix                 + "010f"
-end if
-if dtypes.Exists("MPI_LB") then
-	MPI_LB = dtypes.Item("MPI_LB")
-else
-	missing_datatypes = missing_datatypes & "MPI_LB" & vbCrLf
-	MPI_LB                = "0x" + mpi_datatype_prefix                 + "0010"
-end if
-if dtypes.Exists("MPI_UB") then
-	MPI_UB = dtypes.Item("MPI_UB")
-else
-	missing_datatypes = missing_datatypes & "MPI_UB" & vbCrLf
-	MPI_UB                = "0x" + mpi_datatype_prefix                 + "0011"
-end if
-if dtypes.Exists("MPI_REAL4") then
-	MPI_REAL4 = dtypes.Item("MPI_REAL4")
-else
-	missing_datatypes = missing_datatypes & "MPI_REAL4" & vbCrLf
-	MPI_REAL4             = "0x" + mpi_datatype_prefix                 + "0427"
-end if
-if dtypes.Exists("MPI_REAL8") then
-	MPI_REAL8 = dtypes.Item("MPI_REAL8")
-else
-	missing_datatypes = missing_datatypes & "MPI_REAL8" & vbCrLf
-	MPI_REAL8             = "0x" + mpi_datatype_prefix                 + "0829"
-end if
-if dtypes.Exists("MPI_REAL16") then
-	MPI_REAL16 = dtypes.Item("MPI_REAL16")
-else
-	missing_datatypes = missing_datatypes & "MPI_REAL16" & vbCrLf
-	MPI_REAL16            = "0x" + mpi_datatype_prefix                 + "1029"
-end if
-if dtypes.Exists("MPI_COMPLEX8") then
-	MPI_COMPLEX8 = dtypes.Item("MPI_COMPLEX8")
-else
-	missing_datatypes = missing_datatypes & "MPI_COMPLEX8" & vbCrLf
-	MPI_COMPLEX8          = "0x" + mpi_datatype_prefix                 + "0828"
-end	if
-if dtypes.Exists("MPI_COMPLEX16") then
-	MPI_COMPLEX16 = dtypes.Item("MPI_COMPLEX16")
-else
-	missing_datatypes = missing_datatypes & "MPI_COMPLEX16" & vbCrLf
-	MPI_COMPLEX16         = "0x" + mpi_datatype_prefix                 + "102b"
-end if
-if dtypes.Exists("MPI_COMPLEX32") then
-	MPI_COMPLEX32 = dtypes.Item("MPI_COMPLEX32")
-else
-	missing_datatypes = missing_datatypes & "MPI_COMPLEX32" & vbCrLf
-	MPI_COMPLEX32         = "0x" + mpi_datatype_prefix                 + "2030"
-end if
-if dtypes.Exists("MPI_INTEGER1") then
-	MPI_INTEGER1 = dtypes.Item("MPI_INTEGER1")
-else
-	missing_datatypes = missing_datatypes & "MPI_INTEGER1" & vbCrLf
-	MPI_INTEGER1          = "0x" + mpi_datatype_prefix                 + "012d"
-end if
-if dtypes.Exists("MPI_INTEGER2") then
-	MPI_INTEGER2 = dtypes.Item("MPI_INTEGER2")
-else
-	missing_datatypes = missing_datatypes & "MPI_INTEGER2" & vbCrLf
-	MPI_INTEGER2          = "0x" + mpi_datatype_prefix                 + "022f"
-end if
-if dtypes.Exists("MPI_INTEGER4") then
-	MPI_INTEGER4 = dtypes.Item("MPI_INTEGER4")
-else
-	missing_datatypes = missing_datatypes & "MPI_INTEGER4" & vbCrLf
-	MPI_INTEGER4          = "0x" + mpi_datatype_prefix                 + "0430"
-end if
-if dtypes.Exists("MPI_INTEGER8") then
-	MPI_INTEGER8 = dtypes.Item("MPI_INTEGER8")
-else
-	missing_datatypes = missing_datatypes & "MPI_INTEGER8" & vbCrLf
-	MPI_INTEGER8          = "0x" + mpi_datatype_prefix                 + "082a"
-end if
-if dtypes.Exists("MPI_INTEGER16") then
-	MPI_INTEGER16 = dtypes.Item("MPI_INTEGER16")
-else
-	missing_datatypes = missing_datatypes & "MPI_INTEGER16" & vbCrLf
-	MPI_INTEGER16         = "0x" + mpi_datatype_prefix                 + "102f"
-end if
-if dtypes.Exists("MPI_FLOAT_INT") then
-	MPI_FLOAT_INT = dtypes.Item("MPI_FLOAT_INT")
-else
-	'missing_datatypes = missing_datatypes & "MPI_FLOAT_INT" & vbCrLf
-	'MPI_FLOAT_INT         = "0x" + mpi_datatype_prefix + len_float_int       + "12"
-	MPI_FLOAT_INT         = "0x8c000000"
-        dtypes.Add "MPI_FLOAT_INT", MPI_FLOAT_INT
-end if
-if dtypes.Exists("MPI_DOUBLE_INT") then
-	MPI_DOUBLE_INT = dtypes.Item("MPI_DOUBLE_INT")
-else
-	'missing_datatypes = missing_datatypes & "MPI_DOUBLE_INT" & vbCrLf
-	'MPI_DOUBLE_INT        = "0x" + mpi_datatype_prefix + len_double_int      + "13"
-	MPI_DOUBLE_INT        = "0x8c000001"
-        dtypes.Add "MPI_DOUBLE_INT", MPI_DOUBLE_INT
-end if
-if dtypes.Exists("MPI_LONG_INT") then
-	MPI_LONG_INT = dtypes.Item("MPI_LONG_INT")
-else
-	'missing_datatypes = missing_datatypes & "MPI_LONG_INT" & vbCrLf
-	'MPI_LONG_INT          = "0x" + mpi_datatype_prefix + len_long_int        + "14"
-	MPI_LONG_INT          = "0x8c000002"
-        dtypes.Add "MPI_LONG_INT", MPI_LONG_INT
-end if
-if dtypes.Exists("MPI_SHORT_INT") then
-	MPI_SHORT_INT = dtypes.Item("MPI_SHORT_INT")
-else
-	'missing_datatypes = missing_datatypes & "MPI_SHORT_INT" & vbCrLf
-	'MPI_SHORT_INT         = "0x" + mpi_datatype_prefix + len_short_int       + "15"
-	MPI_SHORT_INT         = "0x8c000003"
-        dtypes.Add "MPI_SHORT_INT", MPI_SHORT_INT
-end if
-if dtypes.Exists("MPI_2INT") then
-	MPI_2INT = dtypes.Item("MPI_2INT")
-else
-	missing_datatypes = missing_datatypes & "MPI_2INT" & vbCrLf
-	MPI_2INT              = "0x" + mpi_datatype_prefix + len_two_int          + "16"
-end if
-if dtypes.Exists("MPI_LONG_DOUBLE_INT") then
-	MPI_LONG_DOUBLE_INT = dtypes.Item("MPI_LONG_DOUBLE_INT")
-else
-	'missing_datatypes = missing_datatypes & "MPI_LONG_DOUBLE_INT" & vbCrLf
-	'MPI_LONG_DOUBLE_INT   = "0x" + mpi_datatype_prefix + len_long_double_int + "17"
-	MPI_LONG_DOUBLE_INT   = "0x8c000004"
-        dtypes.Add "MPI_LONG_DOUBLE_INT", MPI_LONG_DOUBLE_INT
-end if
-if dtypes.Exists("MPI_CHARACTER") then
-	MPI_CHARACTER = dtypes.Item("MPI_CHARACTER")
-else
-	missing_datatypes = missing_datatypes & "MPI_CHARACTER" & vbCrLf
-	MPI_CHARACTER         = "0x" + mpi_datatype_prefix                + "011a"
-end if
-' Win32 versions
-if dtypes.Exists("MPI_INTEGER") then
-	MPI_INTEGER_W32 = dtypes.Item("MPI_INTEGER")
-else
-	missing_datatypes = missing_datatypes & "MPI_INTEGER" & vbCrLf
-	MPI_INTEGER_W32           = "0x" + mpi_datatype_prefix + len_integer    + "1b"
-end if
-if dtypes.Exists("MPI_REAL") then
-	MPI_REAL_W32 = dtypes.Item("MPI_REAL")
-else
-	missing_datatypes = missing_datatypes & "MPI_REAL" & vbCrLf
-	MPI_REAL_W32              = "0x" + mpi_datatype_prefix + len_integer    + "1c"
-end if
-if dtypes.Exists("MPI_LOGICAL") then
-	MPI_LOGICAL_W32 = dtypes.Item("MPI_LOGICAL")
-else
-	missing_datatypes = missing_datatypes & "MPI_LOGICAL" & vbCrLf
-	MPI_LOGICAL_W32           = "0x" + mpi_datatype_prefix + len_integer    + "1d"
-end if
-' Win64 versions
-if dtypes64.Exists("MPI_INTEGER") then
-	MPI_INTEGER_W64 = dtypes64.Item("MPI_INTEGER")
-else
-	missing_datatypes = missing_datatypes & "MPI_INTEGER" & vbCrLf
-	MPI_INTEGER_W64           = "0x" + mpi_datatype_prefix + len_integer    + "1b"
-end if
-if dtypes64.Exists("MPI_REAL") then
-	MPI_REAL_W64 = dtypes64.Item("MPI_REAL")
-else
-	missing_datatypes = missing_datatypes & "MPI_REAL" & vbCrLf
-	MPI_REAL_W64              = "0x" + mpi_datatype_prefix + len_integer    + "1c"
-end if
-if dtypes64.Exists("MPI_LOGICAL") then
-	MPI_LOGICAL_W64 = dtypes64.Item("MPI_LOGICAL")
-else
-	missing_datatypes = missing_datatypes & "MPI_LOGICAL" & vbCrLf
-	MPI_LOGICAL_W64           = "0x" + mpi_datatype_prefix + len_integer    + "1d"
-end if
-' end versions
-if dtypes.Exists("MPI_COMPLEX") then
-	MPI_COMPLEX = dtypes.Item("MPI_COMPLEX")
-else
-	missing_datatypes = missing_datatypes & "MPI_COMPLEX" & vbCrLf
-	MPI_COMPLEX           = "0x" + mpi_datatype_prefix + len_double     + "1e"
-end if
-if dtypes.Exists("MPI_DOUBLE_PRECISION") then
-	MPI_DOUBLE_PRECISION = dtypes.Item("MPI_DOUBLE_PRECISION")
-else
-	missing_datatypes = missing_datatypes & "MPI_DOUBLE_PRECISION" & vbCrLf
-	MPI_DOUBLE_PRECISION  = "0x" + mpi_datatype_prefix + len_double     + "1f"
-end if
-if dtypes.Exists("MPI_2INTEGER") then
-	MPI_2INTEGER = dtypes.Item("MPI_2INTEGER")
-else
-	missing_datatypes = missing_datatypes & "MPI_2INTEGER" & vbCrLf
-	MPI_2INTEGER          = "0x" + mpi_datatype_prefix + len_double     + "20"
-end if
-if dtypes.Exists("MPI_2REAL") then
-	MPI_2REAL = dtypes.Item("MPI_2REAL")
-else
-	missing_datatypes = missing_datatypes & "MPI_2REAL" & vbCrLf
-	MPI_2REAL             = "0x" + mpi_datatype_prefix + len_double     + "21"
-end if
-if dtypes.Exists("MPI_DOUBLE_COMPLEX") then
-	MPI_DOUBLE_COMPLEX = dtypes.Item("MPI_DOUBLE_COMPLEX")
-else
-	missing_datatypes = missing_datatypes & "MPI_DOUBLE_COMPLEX" & vbCrLf
-	MPI_DOUBLE_COMPLEX    = "0x" + mpi_datatype_prefix + len_doublecplx + "22"
-end if
-if dtypes.Exists("MPI_2DOUBLE_PRECISION") then
-	MPI_2DOUBLE_PRECISION = dtypes.Item("MPI_2DOUBLE_PRECISION")
-else
-	missing_datatypes = missing_datatypes & "MPI_2DOUBLE_PRECISION" & vbCrLf
-	MPI_2DOUBLE_PRECISION = "0x" + mpi_datatype_prefix + len_doublecplx + "23"
-end if
-if dtypes.Exists("MPI_2COMPLEX") then
-	MPI_2COMPLEX = dtypes.Item("MPI_2COMPLEX")
-else
-	missing_datatypes = missing_datatypes & "MPI_2COMPLEX" & vbCrLf
-	MPI_2COMPLEX          = "0x" + mpi_datatype_prefix + len_doublecplx + "24"
-end if
-if dtypes.Exists("MPI_2DOUBLE_COMPLEX") then
-	MPI_2DOUBLE_COMPLEX = dtypes.Item("MPI_2DOUBLE_COMPLEX")
-else
-	missing_datatypes = missing_datatypes & "MPI_2DOUBLE_COMPLEX" & vbCrLf
-	MPI_2DOUBLE_COMPLEX   = "0x" + mpi_datatype_prefix + len_2dc        + "25"
-end if
-
-' Special C++ Datatypes to support Fortran datatypes within C++ 
-MPIR_CXX_BOOL 			= "0x" + mpi_datatype_prefix + len_bool 		+ "33"
-MPIR_CXX_COMPLEX		= "0x" + mpi_datatype_prefix + len_complex		+ "34"
-MPIR_CXX_DOUBLE_COMPLEX 	= "0x" + mpi_datatype_prefix + len_double_complex	+ "35"
-MPIR_CXX_LONG_DOUBLE_COMPLEX	= "0x" + mpi_datatype_prefix + len_long_double_complex	+ "36"
-
-' Fixed width types
-if dtypes.Exists("MPI_INT8_T") then
-    MPI_INT8_T = dtypes.Item("MPI_INT8_T")
-else
-    missing_datatypes = missing_datatypes & "MPI_INT8_T" & vbCrLf
-    MPI_INT8_T = "0x" + mpi_datatype_prefix + "01" + "37"
-end if
-if dtypes.Exists("MPI_INT16_T") then
-    MPI_INT16_T = dtypes.Item("MPI_INT16_T")
-else
-    missing_datatypes = missing_datatypes & "MPI_INT16_T" & vbCrLf
-    MPI_INT16_T = "0x" + mpi_datatype_prefix + "02" + "38"
-end if
-if dtypes.Exists("MPI_INT32_T") then
-    MPI_INT32_T = dtypes.Item("MPI_INT32_T")
-else
-    missing_datatypes = missing_datatypes & "MPI_INT32_T" & vbCrLf
-    MPI_INT32_T = "0x" + mpi_datatype_prefix + "04" + "39"
-end if
-if dtypes.Exists("MPI_INT64_T") then
-    MPI_INT64_T = dtypes.Item("MPI_INT64_T")
-else
-    missing_datatypes = missing_datatypes & "MPI_INT64_T" & vbCrLf
-    MPI_INT64_T = "0x" + mpi_datatype_prefix + "08" + "3a"
-end if
-if dtypes.Exists("MPI_UINT8_T") then
-    MPI_UINT8_T = dtypes.Item("MPI_UINT8_T")
-else
-    missing_datatypes = missing_datatypes & "MPI_UINT8_T" & vbCrLf
-    MPI_UINT8_T = "0x" + mpi_datatype_prefix + "01" + "3b"
-end if
-if dtypes.Exists("MPI_UINT16_T") then
-    MPI_UINT16_T = dtypes.Item("MPI_UINT16_T")
-else
-    missing_datatypes = missing_datatypes & "MPI_UINT16_T" & vbCrLf
-    MPI_UINT16_T = "0x" + mpi_datatype_prefix + "02" + "3c"
-end if
-if dtypes.Exists("MPI_UINT32_T") then
-    MPI_UINT32_T = dtypes.Item("MPI_UINT32_T")
-else
-    missing_datatypes = missing_datatypes & "MPI_UINT32_T" & vbCrLf
-    MPI_UINT32_T = "0x" + mpi_datatype_prefix + "04" + "3d"
-end if
-if dtypes.Exists("MPI_UINT64_T") then
-    MPI_UINT64_T = dtypes.Item("MPI_UINT64_T")
-else
-    missing_datatypes = missing_datatypes & "MPI_UINT64_T" & vbCrLf
-    MPI_UINT64_T = "0x" + mpi_datatype_prefix + "08" + "3e"
-end if
-' C99 types
-if dtypes.Exists("MPI_C_BOOL") then
-    MPI_C_BOOL = dtypes.Item("MPI_C_BOOL")
-else
-    missing_datatypes = missing_datatypes & "MPI_C_BOOL" & vbCrLf
-    MPI_C_BOOL = "0x" + mpi_datatype_prefix + len__Bool + "3f"
-end if
-if dtypes.Exists("MPI_C_FLOAT_COMPLEX") then
-    MPI_C_FLOAT_COMPLEX = dtypes.Item("MPI_C_FLOAT_COMPLEX")
-else
-    missing_datatypes = missing_datatypes & "MPI_C_FLOAT_COMPLEX" & vbCrLf
-    MPI_C_FLOAT_COMPLEX = "0x" + mpi_datatype_prefix + len_float__Complex + "40"
-end if
-if dtypes.Exists("MPI_C_COMPLEX") then
-    MPI_C_COMPLEX = dtypes.Item("MPI_C_COMPLEX")
-else
-    if dtypes.Exists("MPI_C_FLOAT_COMPLEX") then
-        MPI_C_COMPLEX = dtypes.Item("MPI_C_FLOAT_COMPLEX")
-        dtypes.Add "MPI_C_COMPLEX", MPI_C_COMPLEX
-    else
-        missing_datatypes = missing_datatypes & "MPI_C_COMPLEX" & vbCrLf
-        MPI_C_COMPLEX = "0x" + mpi_datatype_prefix + len_float__Complex + "40"
-    end if
-end if
-if dtypes.Exists("MPI_C_DOUBLE_COMPLEX") then
-    MPI_C_DOUBLE_COMPLEX = dtypes.Item("MPI_C_DOUBLE_COMPLEX")
-else
-    missing_datatypes = missing_datatypes & "MPI_C_DOUBLE_COMPLEX" & vbCrLf
-    MPI_C_DOUBLE_COMPLEX = "0x" + mpi_datatype_prefix + len_double__Complex + "41"
-end if
-if dtypes.Exists("MPI_C_LONG_DOUBLE_COMPLEX") then
-    MPI_C_LONG_DOUBLE_COMPLEX = dtypes.Item("MPI_C_LONG_DOUBLE_COMPLEX")
-else
-    missing_datatypes = missing_datatypes & "MPI_C_LONG_DOUBLE_COMPLEX" & vbCrLf
-    MPI_C_LONG_DOUBLE_COMPLEX = "0x" + mpi_datatype_prefix + len_long_double__Complex + "42"
-end if
-' Note that in configure.ac MPI_AINT is named as MPI_AINT_DATATYPE - due to name collision
-if dtypes.Exists("MPI_AINT_DATATYPE") then
-    MPI_AINT_W32 = dtypes.Item("MPI_AINT_DATATYPE")
-else
-    missing_datatypes = missing_datatypes & "MPI_AINT" & vbCrLf
-    MPI_AINT_W32 = "0x" + mpi_datatype_prefix + len_mpi_aint32 + "43"
-end if
-dtypes.Add "MPI_AINT_W32", MPI_AINT_W32
-
-if dtypes64.Exists("MPI_AINT_DATATYPE") then
-    MPI_AINT_W64 = dtypes64.Item("MPI_AINT_DATATYPE")
-else
-    missing_datatypes = missing_datatypes & "MPI_AINT" & vbCrLf
-    MPI_AINT_W64 = "0x" + mpi_datatype_prefix + len_mpi_aint64 + "43"
-end if
-dtypes64.Add "MPI_AINT_W64", MPI_AINT_W64
-
-' Note that in configure.ac MPI_OFFSET is named as MPI_OFFSET_DATATYPE - due to name collision
-if dtypes.Exists("MPI_OFFSET_DATATYPE") then
-    MPI_OFFSET_W64 = dtypes.Item("MPI_OFFSET_DATATYPE")
-else
-    missing_datatypes = missing_datatypes & "MPI_OFFSET" & vbCrLf
-    MPI_OFFSET_W64 = "0x" + mpi_datatype_prefix + len_mpi_offset + "44"
-end if
-dtypes.Add "MPI_OFFSET_W64", MPI_OFFSET_W64
-dtypes64.Add "MPI_OFFSET_W64", MPI_OFFSET_W64
-
-
-if missing_datatypes <> "" then
-	printMsg "ERROR", "Missing datatypes:" & vbCrLf & missing_datatypes
-	printMsgFlush()
-	WScript.Quit
-end if
-
-Function ToInteger(c)
-	Dim i
-	i = 0
-	if c = "0" then i = 0 end if
-	if c = "1" then i = 1 end if
-	if c = "2" then i = 2 end if
-	if c = "3" then i = 3 end if
-	if c = "4" then i = 4 end if
-	if c = "5" then i = 5 end if
-	if c = "6" then i = 6 end if
-	if c = "7" then i = 7 end if
-	if c = "8" then i = 8 end if
-	if c = "9" then i = 9 end if
-	if c = "a" then i = 10 end if
-	if c = "b" then i = 11 end if
-	if c = "c" then i = 12 end if
-	if c = "d" then i = 13 end if
-	if c = "e" then i = 14 end if
-	if c = "f" then i = 15 end if
-	ToInteger = i
-End Function
-
-' eg: IsSignedInteger(0x8000, 4) = True
-Function IsSignedInteger(hex_str, nb)
-    Dim max_nibbles
-
-    IsSignedInteger = False
-    max_nibbles = nb/4
-
-    If (len(hex_str) > 2) AND (len(hex_str) - 2 <= max_nibbles) Then
-        If len(hex_str) - 2 < max_nibbles Then
-            ' IsSignedInteger = False
-        Else
-            If ToInteger(Mid(hex_str, 3, 1)) >= 8 Then
-                IsSignedInteger = True
-            End If
-        End If
-    Else
-        printMsg "ERROR", "Invalid HEX string provided , str=" & hex_str
-    End If
-End Function
-
-'first = true
-' eg: HexToInt(0x1, 32) = 1, HexToInt(0x1f, 32)=31
-Function HexToInt(str, nb)
-        Dim i, multiplier, index, max_nibbles
-        i = 0
-        multiplier = 1
-        max_nibbles = nb/4
-        if len(str) - 2 > max_nibbles then
-            printMsg "ERROR", "Cannot convert hex to integer, hex=" & str
-            HexToInt = 0
-        else
-            for index = len(str) to 3 step -1
-                i = i + (ToInteger(Mid(str, index, 1)) * multiplier)
-                multiplier = multiplier * 16
-            next
-            If IsSignedInteger(str, nb) Then
-                HexToInt = i - 2^nb
-            Else
-                HexToInt = i
-            End If
-        end if
-End Function
-
-'Convert hex to a fortran integer
-Function HexToFint(str)
-    ' sizeof(fint) = 4 bytes
-    HexToFint = HexToInt(str, 32)
-End Function
-
-F77_MPI_DOUBLE_COMPLEX    = HexToFint(dtypes.Item("MPI_DOUBLE_COMPLEX"))
-F77_MPI_COMPLEX           = HexToFint(dtypes.Item("MPI_COMPLEX"))
-F77_MPI_LOGICAL_W32           = HexToFint(dtypes.Item("MPI_LOGICAL"))
-F77_MPI_LOGICAL_W64           = HexToFint(dtypes64.Item("MPI_LOGICAL"))
-F77_MPI_REAL_W32              = HexToFint(dtypes.Item("MPI_REAL"))
-F77_MPI_REAL_W64              = HexToFint(dtypes64.Item("MPI_REAL"))
-F77_MPI_DOUBLE_PRECISION  = HexToFint(dtypes.Item("MPI_DOUBLE_PRECISION"))
-F77_MPI_INTEGER_W32           = HexToFint(dtypes.Item("MPI_INTEGER"))
-F77_MPI_INTEGER_W64           = HexToFint(dtypes64.Item("MPI_INTEGER"))
-F77_MPI_2INTEGER          = HexToFint(dtypes.Item("MPI_2INTEGER"))
-F77_MPI_2COMPLEX          = HexToFint(dtypes.Item("MPI_2COMPLEX"))
-F77_MPI_2DOUBLE_COMPLEX   = HexToFint(dtypes.Item("MPI_2DOUBLE_COMPLEX"))
-F77_MPI_2REAL             = HexToFint(dtypes.Item("MPI_2REAL"))
-F77_MPI_2DOUBLE_PRECISION = HexToFint(dtypes.Item("MPI_2DOUBLE_PRECISION"))
-F77_MPI_CHARACTER         = HexToFint(dtypes.Item("MPI_CHARACTER"))
-F77_MPI_BYTE              = HexToFint(dtypes.Item("MPI_BYTE"))
-F77_MPI_LB                = HexToFint(dtypes.Item("MPI_LB"))
-F77_MPI_PACKED            = HexToFint(dtypes.Item("MPI_PACKED"))
-F77_MPI_UB                = HexToFint(dtypes.Item("MPI_UB"))
-F77_COMPLEX8              = HexToFint(dtypes.Item("MPI_COMPLEX8"))
-F77_COMPLEX16             = HexToFint(dtypes.Item("MPI_COMPLEX16"))
-F77_COMPLEX32             = HexToFint(dtypes.Item("MPI_COMPLEX32"))
-F77_INTEGER1              = HexToFint(dtypes.Item("MPI_INTEGER1"))
-F77_INTEGER2              = HexToFint(dtypes.Item("MPI_INTEGER2"))
-F77_INTEGER4              = HexToFint(dtypes.Item("MPI_INTEGER4"))
-F77_INTEGER8              = HexToFint(dtypes.Item("MPI_INTEGER8"))
-F77_INTEGER16             = HexToFint(dtypes.Item("MPI_INTEGER16"))
-F77_REAL4                 = HexToFint(dtypes.Item("MPI_REAL4"))
-F77_REAL8                 = HexToFint(dtypes.Item("MPI_REAL8"))
-F77_REAL16                = HexToFint(dtypes.Item("MPI_REAL16"))
-F77_CHAR					= HexToFint(dtypes.Item("MPI_CHAR"))
-F77_SIGNED_CHAR				= HexToFint(dtypes.Item("MPI_SIGNED_CHAR"))
-F77_UNSIGNED_CHAR			= HexToFint(dtypes.Item("MPI_UNSIGNED_CHAR"))
-F77_WCHAR					= HexToFint(dtypes.Item("MPI_WCHAR"))
-F77_SHORT					= HexToFint(dtypes.Item("MPI_SHORT"))
-F77_UNSIGNED_SHORT			= HexToFint(dtypes.Item("MPI_UNSIGNED_SHORT"))
-F77_INT						= HexToFint(dtypes.Item("MPI_INT"))
-F77_UNSIGNED				= HexToFint(dtypes.Item("MPI_UNSIGNED"))
-F77_LONG					= HexToFint(dtypes.Item("MPI_LONG"))
-F77_UNSIGNED_LONG			= HexToFint(dtypes.Item("MPI_UNSIGNED_LONG"))
-F77_FLOAT					= HexToFint(dtypes.Item("MPI_FLOAT"))
-F77_DOUBLE					= HexToFint(dtypes.Item("MPI_DOUBLE"))
-F77_LONG_DOUBLE				= HexToFint(dtypes.Item("MPI_LONG_DOUBLE"))
-F77_LONG_LONG_INT			= HexToFint(dtypes.Item("MPI_LONG_LONG_INT"))
-F77_UNSIGNED_LONG_LONG		= HexToFint(dtypes.Item("MPI_UNSIGNED_LONG_LONG"))
-F77_LONG_LONG				= HexToFint(dtypes.Item("MPI_LONG_LONG"))
-F77_FLOAT_INT				= HexToFint(dtypes.Item("MPI_FLOAT_INT"))
-F77_DOUBLE_INT				= HexToFint(dtypes.Item("MPI_DOUBLE_INT"))
-F77_LONG_INT				= HexToFint(dtypes.Item("MPI_LONG_INT"))
-F77_SHORT_INT				= HexToFint(dtypes.Item("MPI_SHORT_INT"))
-F77_2INT					= HexToFint(dtypes.Item("MPI_2INT"))
-F77_LONG_DOUBLE_INT			= HexToFint(dtypes.Item("MPI_LONG_DOUBLE_INT"))
-F77_INT8_T              = HexToFint(dtypes.Item("MPI_INT8_T"))
-F77_INT16_T             = HexToFint(dtypes.Item("MPI_INT16_T"))
-F77_INT32_T             = HexToFint(dtypes.Item("MPI_INT32_T"))
-F77_INT64_T             = HexToFint(dtypes.Item("MPI_INT64_T"))
-F77_UINT8_T             = HexToFint(dtypes.Item("MPI_UINT8_T"))
-F77_UINT16_T            = HexToFint(dtypes.Item("MPI_UINT16_T"))
-F77_UINT32_T            = HexToFint(dtypes.Item("MPI_UINT32_T"))
-F77_UINT64_T            = HexToFint(dtypes.Item("MPI_UINT64_T"))
-F77_C_BOOL              = HexToFint(dtypes.Item("MPI_C_BOOL"))
-F77_C_FLOAT_COMPLEX     = HexToFint(dtypes.Item("MPI_C_FLOAT_COMPLEX"))
-F77_C_COMPLEX           = HexToFint(dtypes.Item("MPI_C_COMPLEX"))
-F77_C_DOUBLE_COMPLEX    = HexToFint(dtypes.Item("MPI_C_DOUBLE_COMPLEX"))
-F77_C_LONG_DOUBLE_COMPLEX      = HexToFint(dtypes.Item("MPI_C_LONG_DOUBLE_COMPLEX"))
-F77_AINT_W32                = HexToFint(dtypes.Item("MPI_AINT_W32"))
-F77_AINT_W64                = HexToFint(dtypes64.Item("MPI_AINT_W64"))
-F77_OFFSET_W64              = HexToFint(dtypes.Item("MPI_OFFSET_W64"))
-
-if false then
-foo = ""
-foo = "F77_MPI_COMPLEX = " &                F77_MPI_COMPLEX          & vbCrLf
-foo = foo & "F77_MPI_DOUBLE_COMPLEX = " &   F77_MPI_DOUBLE_COMPLEX   & vbCrLf
-foo = foo & "F77_MPI_LOGICAL = " &          F77_MPI_LOGICAL          & vbCrLf
-foo = foo & "F77_MPI_REAL = " &             F77_MPI_REAL             & vbCrLf
-foo = foo & "F77_MPI_DOUBLE_PRECISION = " & F77_MPI_DOUBLE_PRECISION & vbCrLf
-foo = foo & "F77_MPI_INTEGER = " &          F77_MPI_INTEGER          & vbCrLf
-foo = foo & "F77_MPI_2INTEGER = " &         F77_MPI_2INTEGER         & vbCrLf
-foo = foo & "F77_MPI_2COMPLEX = " &         F77_MPI_2COMPLEX         & vbCrLf
-foo = foo & "F77_MPI_2DOUBLE_COMPLEX = " &  F77_MPI_2DOUBLE_COMPLEX  & vbCrLf
-foo = foo & "F77_MPI_2REAL = " &            F77_MPI_2REAL            & vbCrLf
-foo = foo & "F77_MPI_2DOUBLE_PRECISION = " & F77_MPI_2DOUBLE_PRECISION & vbCrLf
-foo = foo & "F77_MPI_CHARACTER = " &        F77_MPI_CHARACTER        & vbCrLf
-foo = foo & "F77_MPI_LB = " &               F77_MPI_LB               & vbCrLf
-foo = foo & "F77_MPI_PACKED = " &           F77_MPI_PACKED           & vbCrLf
-foo = foo & "F77_MPI_UB = " &               F77_MPI_UB               & vbCrLf
-foo = foo & "F77_COMPLEX8 = " &             F77_COMPLEX8             & vbCrLf
-foo = foo & "F77_COMPLEX16 = " &            F77_COMPLEX16            & vbCrLf
-foo = foo & "F77_COMPLEX32 = " &            F77_COMPLEX32            & vbCrLf
-foo = foo & "F77_INTEGER1 = " &             F77_INTEGER1             & vbCrLf
-foo = foo & "F77_INTEGER2 = " &             F77_INTEGER2             & vbCrLf
-foo = foo & "F77_INTEGER4 = " &             F77_INTEGER4             & vbCrLf
-foo = foo & "F77_INTEGER8 = " &             F77_INTEGER8             & vbCrLf
-foo = foo & "F77_INTEGER16 = " &            F77_INTEGER16            & vbCrLf
-foo = foo & "F77_REAL4 = " &                F77_REAL4                & vbCrLf
-foo = foo & "F77_REAL8 = " &                F77_REAL8                & vbCrLf
-foo = foo & "F77_REAL16 = " &               F77_REAL16               & vbCrLf
-'WScript.Echo foo
-end if
-
-Function DecorateMPIFuncs(str)
-	' uncomment out the HAVE_EXPORTS_MPI_API block
-	'str = ReplaceBetweenTags(str, "/*", "HAVE_EXPORT_MPI_API", "*/", "#ifdef MPICH_STATIC_LIBRARY" & vbCrLf & "#define EXPORT_MPI_API" & vbCrLf & "#else" & vbCrLf & "#ifdef MPICH_EXPORTS" & vbCrLf & "#define EXPORT_MPI_API __declspec(dllexport)" & vbCrLf & "#else" & vbCrLf & "#define EXPORT_MPI_API __declspec(dllimport)" & vbCrLf & "#endif" & vbCrLf & "#endif" & vbCrLf & "#ifndef MPI_CALL" & vbCrLf & "#define MPI_CALL __cdecl" & vbCrLf & "#endif" & vbCrLf)
-	str = Replace(str, "/* --Insert Additional Definitions Here-- */", "#ifdef MPICH_STATIC_LIBRARY" & vbCrLf & "#define EXPORT_MPI_API" & vbCrLf & "#else" & vbCrLf & "#ifdef MPICH_EXPORTS" & vbCrLf & "#define EXPORT_MPI_API __declspec(dllexport)" & vbCrLf & "#else" & vbCrLf & "#define EXPORT_MPI_API __declspec(dllimport)" & vbCrLf & "#endif" & vbCrLf & "#endif" & vbCrLf & "#ifndef MPI_CALL" & vbCrLf & "#define MPI_CALL __cdecl" & vbCrLf & "#endif" & vbCrLf)
-	' add dllspec and calling convention to the MPI api
-	first_index = InStr(str, "#ifndef MPICH_SUPPRESS_PROTOTYPES")
-	last_index = InStr(str, "#endif /* MPICH_SUPPRESS_PROTOTYPES */")
-	if first_index <> 0 and last_index <> 0 then
-		prototypes = Mid(str, first_index, last_index - first_index)
-		prototypes = Replace(prototypes, "int MPI_", "EXPORT_MPI_API int MPI_CALL MPI_")
-		prototypes = Replace(prototypes, "double PMPI_Wtime", "EXPORT_MPI_API double MPI_CALL PMPI_Wtime")
-		prototypes = Replace(prototypes, "double PMPI_Wtick", "EXPORT_MPI_API double MPI_CALL PMPI_Wtick")
-		prototypes = Replace(prototypes, "double MPI_Wtime", "EXPORT_MPI_API double MPI_CALL MPI_Wtime")
-		prototypes = Replace(prototypes, "double MPI_Wtick", "EXPORT_MPI_API double MPI_CALL MPI_Wtick")
-		str = ReplaceBetweenTags(str, "#ifndef MPICH_SUPPRESS_PROTOTYPES", "MPI_Send", "#endif /* MPICH_SUPPRESS_PROTOTYPES */", prototypes & "#endif /* MPICH_SUPPRESS_PROTOTYPES */")
-	end if
-	' add dllspec and calling convention to the PMPI api
-	first_index = InStr(str, "#if !defined(MPI_BUILD_PROFILING)")
-	last_index = InStr(str, "#endif  /* MPI_BUILD_PROFILING */")
-	if first_index <> 0 and last_index <> 0 then
-		prototypes = Mid(str, first_index, last_index - first_index)
-		prototypes = Replace(prototypes, "int PMPI_", "EXPORT_MPI_API int MPI_CALL PMPI_")
-		prototypes = Replace(prototypes, "double PMPI_Wtime", "EXPORT_MPI_API double MPI_CALL PMPI_Wtime")
-		prototypes = Replace(prototypes, "double PMPI_Wtick", "EXPORT_MPI_API double MPI_CALL PMPI_Wtick")
-		str = ReplaceBetweenTags(str, "#if", "MPI_BUILD_PROFILING", "#endif  /* MPI_BUILD_PROFILING */", prototypes & "#endif  /* MPI_BUILD_PROFILING */")
-	end if
-	DecorateMPIFuncs = str
-End Function
-
-'
-' Get MPICH Version & ABI Version
-'
-Function GetMPICHVersions(ByRef mpichVersion, ByRef mpichABIVersion, ByRef mpichReleaseDate)
-    mpichVersion = "0.0"
-    mpichABIVersion = "0.0"
-    mpichReleaseDate = "0/0/0"
-    if f.FileExists("maint\Version") then
-        Dim fin, str
-        Set fin = f.OpenTextFile("maint\Version")
-        Do Until fin.AtEndOfStream
-            Dim strTokenArr
-            str = fin.ReadLine()
-            Trim(str)
-            If(StrComp(Left(str, 1), "#") = 0) OR (str = "") Then
-                ' Ignore comments and newlines
-            Else
-                strTokenArr = Split(str, "=", -1 , 1)
-                If UBound(strTokenArr, 1) = 1 Then
-                    If(StrComp(Left(strTokenArr(0), 14), "MPICH_VERSION") = 0) Then
-                        mpichVersion = strTokenArr(1)
-                    ElseIf(StrComp(Left(strTokenArr(0), 17), "MPICH_ABIVERSION") = 0) Then
-                        mpichABIVersion = Replace(strTokenArr(1), ":", ".")
-                    ElseIf(StrComp(Left(strTokenArr(0), 19), "MPICH_RELEASE_DATE") = 0) Then
-                        mpichReleaseDate = strTokenArr(1)
-                    ElseIf(StrComp(Left(strTokenArr(0), 19), "libmpich_so_version") = 0) Then
-                        'Ignore libmpich so version
-                    Else
-                        printMsg "ERROR", "Invalid String """ & str & """ found in mpich Version file"
-                    End If
-                Else
-                    printMsg "ERROR", "Invalid format in mpich Version file. Expected: ""MPICH_VERSION_NAME MPICH_VERSION"" format"
-                End If
-            End If
-        Loop
-        fin.Close()
-    end if
-    ' We only care about MPICH version for now
-    If (StrComp(mpichVersion, "0.0") <> 0) Then
-        GetMPICHVersions = True
-    Else
-        GetMPICHVersions = False
-    End If
-End Function
-
-' Does the string contain only ints ?
-Function IsIntString(str)
-	Dim regExpObj, matchesCollection
-	Set regExpObj = New regexp
-
-	if IsNull(str) then
-		IsIntString = False
-		Exit Function
-	end if
-	if IsEmpty(str) then
-		IsIntString = False
-		Exit Function
-	end if
-
-	regExpObj.Pattern = "[^0-9]+"
-	regExpObj.Global = True
-	regExpObj.IgnoreCase = True
-	Set matchesCollection = regExpObj.Execute(str)
-	if matchesCollection.Count > 0 then
-		IsIntString = False		
-	else
-		IsIntString = True
-	end if
-End Function
-
-' Produce a numeric version assuming the following format:
-' Version: [MAJ].[MIN].[REV][EXT][EXT_NUMBER]
-'                 or
-' Version: [MAJ].[MIN].[REV] 
-' Example: 1.0.7rc1 has
-'          MAJ = 1
-'          MIN = 0
-'          REV = 7
-'          EXT = rc
-'          EXT_NUMBER = 1
-'
-'			1.0.7 has EXT converted to 0 and EXT_NUMBER = 0
-'
-' Converting to numeric version will convert EXT to a format number:
-'          ALPHA (a) = 0
-'          BETA (b)  = 1
-'          RC (rc)   = 2
-'          PATCH (p) = 3
-' Regular releases are treated as patch 0
-'
-' Numeric version will have 1 digit for MAJ, 2 digits for MIN,
-' 2 digits for REV, 1 digit for EXT and 2 digits for EXT_NUMBER.
-' eg: 1.0.7rc2 = 10007202
-' We also support version numbers with a missing REV number like
-'   [MAJ].[MIN][EXT][EXT_NUMBER]
-
-Function GetMPICHNumVersion(ver)
-	Dim verTokenArray, numVer, majorVer, minorVer, revNum, ext, extNum, tmpStr
-	Dim verTokenArrayIndex, verTokenArrayLastIndex, minorOrRevNum
-	Dim regExpObj, matchesCollection, verHasRev, verHasExt
-	Set regExpObj = New regexp
-	regExpObj.Global = True
-	regExpObj.IgnoreCase = True
-
-	GetMPICHNumVersion = 0
-	verTokenArrayIndex = 0
-	verTokenArray = Split(ver, ".", -1, 1)
-        verTokenArrayLastIndex = UBound(verTokenArray, 1)
-	if((verTokenArrayLastIndex > 2) Or (verTokenArrayLastIndex < 1)) then
-		printMsg "ERROR", "Error: " & ver & " not in expected format - eg: 1.0.7rc1/1.0rc1"
-		Exit Function
-	end if 
-'       Initially we assume all versions have [REV] & [EXT] and then verify as we parse the version
-'       All valid versions have [MAJ] & [MIN] numbers so we don't need to track them
-        verHasRev = True
-        verHasExt = True
-
-	majorVer = verTokenArray(verTokenArrayIndex)
-	verTokenArrayIndex = verTokenArrayIndex + 1
-	if (Len(majorVer) = 1) then
-		if Not IsIntString(majorVer) then
-			printMsg "ERROR","Error: " & ver & " not in expected format - eg: 1.0.7rc1"
-			printMsg "ERROR", "Major version :" & majorVer & " is not an int"
-			GetMPICHNumVersion = 0
-			Exit Function
-		end if
-	else
-		printMsg "ERROR", "Error: " & ver & " not in expected format - eg: 1.0.7rc1"
-		printMsg "ERROR", "Major ver not in range [0-9]"
-		GetMPICHNumVersion = 0
-		Exit Function
-	end if
-	
-	minorVer = verTokenArray(verTokenArrayIndex)
-'   The field for minorVer also could contain the EXT/EXT_NUM in case revNum is not present
-	if Not ((Len(minorVer) < 0) Or (Len(minorVer) > 6)) then
-		if IsIntString(minorVer) then
-'                       The field for minor version does not contain [EXT]
-			if(minorVer <= 9) then
-				minorVer = "0" & Right(minorVer, 1)
-			end if 
-			verTokenArrayIndex = verTokenArrayIndex + 1
-                        if(verTokenArrayIndex > verTokenArrayLastIndex) then
-'                           The MPICH version only has a [MAJ] & [MIN] version numbers
-                            verHasRev = False
-                            verHasExt = False
-                        else
-'                           Something more in verTokenArray to parse...there has to be the [REV] number
-			    verHasRev = True
-                        end if
-		else
-'                       The MPICH version has no rev number, the field for minor ver contains [EXT]
-			verHasRev = False
-                        verHasExt = True
-		end if
-	else
-		printMsg "ERROR", "Error: " & ver & " not in expected format - eg: 1.0.7rc1"
-		printMsg "ERROR", "Minor ver not in range [0-99]"
-		Exit Function
-	end if
-
-
-        if(verHasExt) then
-            regExpObj.Pattern = "[^0-9]+"
-            Set matchesCollection = regExpObj.Execute(verTokenArray(verTokenArrayIndex))
-            if(matchesCollection.Count = 1) then
-                    tmpStr = matchesCollection(0)
-                    verHasExt = True			
-                    select case tmpStr
-                            case "a"
-                                    ext = 0
-                            case "b"
-                                    ext = 1
-                            case "rc"
-                                    ext = 2
-                            case "p"
-                                    ext = 3
-                            case Else
-                                    verHasExt = False
-                    end select
-            else
-                    verHasExt = False
-            end if 
-        end if
-
-        if(verHasRev Or verHasExt) then
-            regExpObj.Pattern = "[0-9]+"
-            Set matchesCollection = regExpObj.Execute(verTokenArray(verTokenArrayIndex))
-            if matchesCollection.Count = 0 then
-                    printMsg "ERROR", "Error: " & ver & " not in expected format - eg: 1.0.7rc1"
-                    printMsg "ERROR", "No revision num specified"
-                    Exit Function
-            end if
-
-'           If MPICH ver has [REV] we are parsing [REV][EXT][EXT_NUM]
-'           If MPICH ver does not have [REV], but has [EXT], we are parsing [MIN][EXT][EXT_NUM]
-            minorOrRevNum = matchesCollection(0)
-            if Not ((Len(minorOrRevNum) < 0) Or (Len(minorOrRevNum) > 2)) then
-                    if IsIntString(minorOrRevNum) then
-                            if( minorOrRevNum <= 9) then
-                                    minorOrRevNum = "0" & Right(minorOrRevNum, 1)
-                            end if
-                    else
-                            printMsg "ERROR", "Error: " & ver & " not in expected format - eg: 1.0.7rc1"
-                            printMsg "ERROR", "Revision number: " & minorOrRevNum & " not an int"
-                            Exit Function
-                    end if
-            else
-                    printMsg "ERROR", "Error: " & ver & " not in expected format - eg: 1.0.7rc1"
-                    printMsg "ERROR", "Rev no not in range [0-99]"
-                    Exit Function
-            end if
-            if verHasRev then
-                    revNum = minorOrRevNum
-            else
-                    minorVer = minorOrRevNum
-                    revNum = "00"
-            end if	
-        else
-            if Not verHasRev then
-                revNum = "00"
-            end if
-        end if
-	
-	if verHasExt then
-'		There has to be an extension number
-		if(matchesCollection.Count = 2) then
-			extNum = matchesCollection(1)
-			if (Len(extNum) > 0) And (Len(extNum) < 3) then
-				if Not IsIntString(extNum) then
-					printMsg "ERROR", "Error: " & ver & " not in expected format - eg: 1.0.7rc1"
-					printMsg "ERROR", "Extension number : " & extNum & " is not an int"
-					Exit Function
-				else
-					if(extNum <= 9) then
-						extNum = "0" & Right(extNum, 1)
-					end if
-				end if
-			else
-				printMsg "ERROR", "Error: " & ver & " not in expected format - eg: 1.0.7rc1"
-				printMsg "ERROR", "Extension number no in range [0-99]"
-				Exit Function
-			end if 
-		else
-			printMsg "ERROR", "Error: " & ver & " not in expected format - eg: 1.0.7rc1"
-			printMsg "ERROR", "No version extension number provided"
-			Exit Function
-		end if
-        else
-            ext = "0"
-            extNum = "00"
-	end if
-
-	numVer = majorVer & minorVer & revNum & ext & extNum
-	GetMPICHNumVersion = 0 + numVer
-	printMsg "VERBOSE", " MPICH NUM VERSION " & numVer
-End Function
-
-GetMPICHVersions mpichVersion, mpichABIVersion, mpichReleaseDate
-printMsg "VERBOSE", "MPICH_VERSION = " & mpichVersion & " MPICH_RELEASE_DATE = " & mpichReleaseDate
-mpichNumVersion = GetMPICHNumVersion(mpichVersion)
-
-Function RegExpFind(pattern, str)
-   Dim regEx, Match, Matches           ' Create variable.
-   Set regEx = New RegExp              ' Create a regular expression.
-   regEx.Pattern = pattern             ' Set pattern.
-   regEx.IgnoreCase = True             ' Set case insensitivity.
-   regEx.Global = True                 ' Set global applicability.
-   Set Matches = regEx.Execute(str)    ' Execute search.
-   If Matches.Count <> 0 Then
-       For Each Match in Matches           ' Return the first match
-           RegExpFind = Match.Value
-       Exit For
-       Next
-   Else
-       RegExpFind = Null
-   End If
-End Function
-
-' Append appendString to origString only if appendString is not
-' already present in origString
-
-Function appendUniqueString(ByRef origString, ByVal appendString) 
-	Dim regExpObj, matchesCollection
-	Set regExpObj = New regexp
-	regExpObj.Pattern = Trim(appendString) & vbNewLine
-	regExpObj.Global  = True
-	regExpObj.IgnoreCase = False
-	
-	Set matchesCollection = regExpObj.Execute(origString)
-	If(matchesCollection.Count = 0) Then
-		origString = origString & appendString & vbNewLine
-		appendUniqueString = True
-	Else
-		appendUniqueString = False
-	End If
-End Function
-
-Function ReplaceAtsWithDecoration(ByVal str, use_f77, b64 )
-    Dim regEx, Match, Matches
-    Set regEx = New RegExp
-    regEx.Pattern = "@.[0-9a-z_]*@"
-    regEx.IgnoreCase = True
-    regEx.Global = True
-    Set Matches = regEx.Execute(str)
-    For Each Match in Matches
-        Select Case Match
-            Case "@MPI_AINT@"
-                if b64 then
-                    str = Replace(str, "@MPI_AINT@", MPI_AINT64_TYPE)
-                    str = MPI_AINT64_TYPEDEF_BEGIN & str & MPI_AINT64_TYPEDEF_END
-                else
-                    str = Replace(str, "@MPI_AINT@", MPI_AINT32)
-                end if
-        End Select
-    Next
-    ReplaceAtsWithDecoration = str
-End Function
-
-Function ReplaceAts( str, use_f77, b64 )
-	Dim regEx, Match, Matches
-	Set regEx = New RegExp
-	regEx.Pattern = "@.[0-9a-z_]*@"
-	regEx.IgnoreCase = True
-	regEx.Global = True
-	Set Matches = regEx.Execute(str)
-	For Each Match in Matches
-		Select Case Match
-			Case "@MPI_CHAR@"
-				str = Replace(str, "@MPI_CHAR@", MPI_CHAR)
-			Case "@MPI_SIGNED_CHAR@"
-				str = Replace(str, "@MPI_SIGNED_CHAR@", MPI_SIGNED_CHAR)
-			Case "@MPI_WCHAR@"
-				str = Replace(str, "@MPI_WCHAR@", MPI_WCHAR)
-			Case "@MPI_UNSIGNED_CHAR@"
-				str = Replace(str, "@MPI_UNSIGNED_CHAR@", MPI_UNSIGNED_CHAR)
-			Case "@MPI_SHORT@"
-				str = Replace(str, "@MPI_SHORT@", MPI_SHORT)
-			Case "@MPI_UNSIGNED_SHORT@"
-				str = Replace(str, "@MPI_UNSIGNED_SHORT@", MPI_UNSIGNED_SHORT)
-			Case "@MPI_INT@"
-				str = Replace(str, "@MPI_INT@", MPI_INT)
-			Case "@MPI_UNSIGNED@"
-				str = Replace(str, "@MPI_UNSIGNED@", MPI_UNSIGNED)
-			Case "@MPI_UNSIGNED_INT@"
-				str = Replace(str, "@MPI_UNSIGNED_INT@", MPI_UNSIGNED)
-			Case "@MPI_LONG@"
-				str = Replace(str, "@MPI_LONG@", MPI_LONG)
-			Case "@MPI_UNSIGNED_LONG@"
-				str = Replace(str, "@MPI_UNSIGNED_LONG@", MPI_UNSIGNED_LONG)
-			Case "@MPI_LONG_LONG@"
-				str = Replace(str, "@MPI_LONG_LONG@", MPI_LONG_LONG)
-			Case "@MPI_UNSIGNED_LONG_LONG@"
-				str = Replace(str, "@MPI_UNSIGNED_LONG_LONG@", MPI_UNSIGNED_LONG_LONG)
-			Case "@MPI_FLOAT@"
-				str = Replace(str, "@MPI_FLOAT@", MPI_FLOAT)
-			Case "@MPI_DOUBLE@"
-				str = Replace(str, "@MPI_DOUBLE@", MPI_DOUBLE)
-			Case "@MPI_LONG_DOUBLE@"
-				str = Replace(str, "@MPI_LONG_DOUBLE@", MPI_LONG_DOUBLE)
-			Case "@MPI_BYTE@"
-				If use_f77 Then
-					str = Replace(str, "@MPI_BYTE@", F77_MPI_BYTE)
-				Else
-					str = Replace(str, "@MPI_BYTE@", MPI_BYTE)
-				End If
-			Case "@MPI_WCHAR_T@"
-				str = Replace(str, "@MPI_WCHAR_T@", MPI_WCHAR_T)
-			Case "@MPI_PACKED@"
-				If use_f77 Then
-					str = Replace(str, "@MPI_PACKED@", F77_MPI_PACKED)
-				Else
-					str = Replace(str, "@MPI_PACKED@", MPI_PACKED)
-				End If
-			Case "@MPI_LB@"
-				If use_f77 Then
-					str = Replace(str, "@MPI_LB@", F77_MPI_LB)
-				Else
-					str = Replace(str, "@MPI_LB@", MPI_LB)
-				End If
-			Case "@MPI_UB@"
-				If use_f77 Then
-					str = Replace(str, "@MPI_UB@", F77_MPI_UB)
-				Else
-					str = Replace(str, "@MPI_UB@", MPI_UB)
-				End If
-			Case "@MPI_FLOAT_INT@"
-				str = Replace(str, "@MPI_FLOAT_INT@", MPI_FLOAT_INT)
-			Case "@MPI_DOUBLE_INT@"
-				str = Replace(str, "@MPI_DOUBLE_INT@", MPI_DOUBLE_INT)
-			Case "@MPI_LONG_INT@"
-				str = Replace(str, "@MPI_LONG_INT@", MPI_LONG_INT)
-			Case "@MPI_SHORT_INT@"
-				str = Replace(str, "@MPI_SHORT_INT@", MPI_SHORT_INT)
-			Case "@MPI_2INT@"
-				str = Replace(str, "@MPI_2INT@", MPI_2INT)
-			Case "@MPI_LONG_DOUBLE_INT@"
-				str = Replace(str, "@MPI_LONG_DOUBLE_INT@", MPI_LONG_DOUBLE_INT)
-			Case "@MPI_CHARACTER@"
-				If use_f77 Then
-					str = Replace(str, "@MPI_CHARACTER@", F77_MPI_CHARACTER)
-				Else
-					str = Replace(str, "@MPI_CHARACTER@", MPI_CHARACTER)
-				End If
-			Case "@MPI_INTEGER@"
-				If b64 then
-					If use_f77 Then
-						str = Replace(str, "@MPI_INTEGER@", F77_MPI_INTEGER_W64)
-					Else
-						str = Replace(str, "@MPI_INTEGER@", MPI_INTEGER_W64)
-					End If
-				Else
-					If use_f77 Then
-						str = Replace(str, "@MPI_INTEGER@", F77_MPI_INTEGER_W32)
-					Else
-						str = Replace(str, "@MPI_INTEGER@", MPI_INTEGER_W32)
-					End If
-				End If
-			Case "@MPI_REAL@"
-				If b64 Then
-					If use_f77 Then
-						str = Replace(str, "@MPI_REAL@", F77_MPI_REAL_W64)
-					Else
-						str = Replace(str, "@MPI_REAL@", MPI_REAL_W64)
-					End If
-				Else
-					If use_f77 Then
-						str = Replace(str, "@MPI_REAL@", F77_MPI_REAL_W32)
-					Else
-						str = Replace(str, "@MPI_REAL@", MPI_REAL_W32)
-					End If
-				End If
-			Case "@MPI_LOGICAL@"
-				If b64 Then
-					If use_f77 Then
-						str = Replace(str, "@MPI_LOGICAL@", F77_MPI_LOGICAL_W64)
-					Else
-						str = Replace(str, "@MPI_LOGICAL@", MPI_LOGICAL_W64)
-					End If
-				Else
-					If use_f77 Then
-						str = Replace(str, "@MPI_LOGICAL@", F77_MPI_LOGICAL_W32)
-					Else
-						str = Replace(str, "@MPI_LOGICAL@", MPI_LOGICAL_W32)
-					End If
-				End If
-			Case "@MPI_COMPLEX@"
-				If use_f77 Then
-					str = Replace(str, "@MPI_COMPLEX@", F77_MPI_COMPLEX)
-				Else
-					str = Replace(str, "@MPI_COMPLEX@", MPI_COMPLEX)
-				End If
-			Case "@MPI_DOUBLE_PRECISION@"
-				If use_f77 Then
-					str = Replace(str, "@MPI_DOUBLE_PRECISION@", F77_MPI_DOUBLE_PRECISION)
-				Else
-					str = Replace(str, "@MPI_DOUBLE_PRECISION@", MPI_DOUBLE_PRECISION)
-				End If
-			Case "@MPI_2INTEGER@"
-				If use_f77 Then
-					str = Replace(str, "@MPI_2INTEGER@", F77_MPI_2INTEGER)
-				Else
-					str = Replace(str, "@MPI_2INTEGER@", MPI_2INTEGER)
-				End If
-			Case "@MPI_2REAL@"
-				If use_f77 Then
-					str = Replace(str, "@MPI_2REAL@", F77_MPI_2REAL)
-				Else
-					str = Replace(str, "@MPI_2REAL@", MPI_2REAL)
-				End If
-			Case "@MPI_DOUBLE_COMPLEX@"
-				If use_f77 Then
-					str = Replace(str, "@MPI_DOUBLE_COMPLEX@", F77_MPI_DOUBLE_COMPLEX)
-				Else
-					str = Replace(str, "@MPI_DOUBLE_COMPLEX@", MPI_DOUBLE_COMPLEX)
-				End If
-			Case "@MPI_2DOUBLE_PRECISION@"
-				If use_f77 Then
-					str = Replace(str, "@MPI_2DOUBLE_PRECISION@", F77_MPI_2DOUBLE_PRECISION)
-				Else
-					str = Replace(str, "@MPI_2DOUBLE_PRECISION@", MPI_2DOUBLE_PRECISION)
-				End If
-			Case "@MPI_2COMPLEX@"
-				If use_f77 Then
-					str = Replace(str, "@MPI_2COMPLEX@", F77_MPI_2COMPLEX)
-				else
-					str = Replace(str, "@MPI_2COMPLEX@", MPI_2COMPLEX)
-				End If
-			Case "@MPI_2DOUBLE_COMPLEX@"
-				if use_f77 Then
-					str = Replace(str, "@MPI_2DOUBLE_COMPLEX@", F77_MPI_2DOUBLE_COMPLEX)
-				Else
-					str = Replace(str, "@MPI_2DOUBLE_COMPLEX@", MPI_2DOUBLE_COMPLEX)
-				End If
-			Case "@MPI_MAX_PROCESSOR_NAME@"
-				str = Replace(str, "@MPI_MAX_PROCESSOR_NAME@", MPI_MAX_PROCESSOR_NAME)
-			Case "@BSEND_OVERHEAD@"
-				if b64 then
-					str = Replace(str, "@BSEND_OVERHEAD@", BSEND_OVERHEAD64)
-				else
-					str = Replace(str, "@BSEND_OVERHEAD@", BSEND_OVERHEAD32)
-				end if
-			Case "@MPI_AINT@"
-				if b64 then
-					str = Replace(str, "@MPI_AINT@", MPI_AINT64)
-				else
-					str = Replace(str, "@MPI_AINT@", MPI_AINT32)
-				end if
-			Case "@MPI_AINT_DATATYPE@"
-				if b64 then
-					str = Replace(str, "@MPI_AINT_DATATYPE@", MPI_AINT_W64)
-				else
-					str = Replace(str, "@MPI_AINT_DATATYPE@", MPI_AINT_W32)
-				end if
-			Case "@MPI_AINT_FMT_DEC_SPEC@"
-				if b64 then
-					str = Replace(str, "@MPI_AINT_FMT_DEC_SPEC@", MPI_AINT64_FMT_DEC_SPEC)
-				else
-					str = Replace(str, "@MPI_AINT_FMT_DEC_SPEC@", MPI_AINT32_FMT_DEC_SPEC)
-				end if
-			Case "@MPI_AINT_FMT_HEX_SPEC@"
-				if b64 then
-					str = Replace(str, "@MPI_AINT_FMT_HEX_SPEC@", MPI_AINT64_FMT_HEX_SPEC)
-				else
-					str = Replace(str, "@MPI_AINT_FMT_HEX_SPEC@", MPI_AINT32_FMT_HEX_SPEC)
-				end if
-			Case "@MPI_FINT@"
-				str = Replace(str, "@MPI_FINT@", MPI_FINT)
-			Case "@MPI_OFFSET@"
-				str = Replace(str, "@MPI_OFFSET@", MPI_OFFSET)
-			Case "@MPI_OFFSET_DATATYPE@"
-				str = Replace(str, "@MPI_OFFSET_DATATYPE@", MPI_OFFSET_W64)
-			Case "@MPI_OFFSET_TYPEDEF@"
-				str = Replace(str, "@MPI_OFFSET_TYPEDEF@", MPI_OFFSET_TYPEDEF)
-                        Case "@MPI_INT8_T@"
-                                str = Replace(str, "@MPI_INT8_T@", MPI_INT8_T)
-                        Case "@MPI_INT16_T@"
-                                str = Replace(str, "@MPI_INT16_T@", MPI_INT16_T)
-                        Case "@MPI_INT32_T@"
-                                str = Replace(str, "@MPI_INT32_T@", MPI_INT32_T)
-                        Case "@MPI_INT64_T@"
-                                str = Replace(str, "@MPI_INT64_T@", MPI_INT64_T)
-                        Case "@MPI_UINT8_T@"
-                                str = Replace(str, "@MPI_UINT8_T@", MPI_UINT8_T)
-                        Case "@MPI_UINT16_T@"
-                                str = Replace(str, "@MPI_UINT16_T@", MPI_UINT16_T)
-                        Case "@MPI_UINT32_T@"
-                                str = Replace(str, "@MPI_UINT32_T@", MPI_UINT32_T)
-                        Case "@MPI_UINT64_T@"
-                                str = Replace(str, "@MPI_UINT64_T@", MPI_UINT64_T)
-                        Case "@MPI_C_BOOL@"
-                                str = Replace(str, "@MPI_C_BOOL@", MPI_C_BOOL)
-                        Case "@MPI_C_FLOAT_COMPLEX@"
-                                str = Replace(str, "@MPI_C_FLOAT_COMPLEX@", MPI_C_FLOAT_COMPLEX)
-                        Case "@MPI_C_DOUBLE_COMPLEX@"
-                                str = Replace(str, "@MPI_C_DOUBLE_COMPLEX@", MPI_C_DOUBLE_COMPLEX)
-                        Case "@MPI_C_LONG_DOUBLE_COMPLEX@"
-                                str = Replace(str, "@MPI_C_LONG_DOUBLE_COMPLEX@", MPI_C_LONG_DOUBLE_COMPLEX)
-			Case "@EXTRA_STATUS_DECL@"
-				str = Replace(str, "@EXTRA_STATUS_DECL@", EXTRA_STATUS_DECL)
-			Case "@HAVE_ROMIO@"
-				str = Replace(str, "@HAVE_ROMIO@", HAVE_ROMIO)
-			Case "@MPI_REAL4@"
-				str = Replace(str, "@MPI_REAL4@", MPI_REAL4)
-			Case "@MPI_REAL8@"
-				str = Replace(str, "@MPI_REAL8@", MPI_REAL8)
-			Case "@MPI_REAL16@"
-				str = Replace(str, "@MPI_REAL16@", MPI_REAL16)
-			Case "@MPI_COMPLEX8@"
-				str = Replace(str, "@MPI_COMPLEX8@", MPI_COMPLEX8)
-			Case "@MPI_COMPLEX16@"
-				str = Replace(str, "@MPI_COMPLEX16@", MPI_COMPLEX16)
-			Case "@MPI_COMPLEX32@"
-				str = Replace(str, "@MPI_COMPLEX32@", MPI_COMPLEX32)
-			Case "@MPI_INTEGER1@"
-				str = Replace(str, "@MPI_INTEGER1@", MPI_INTEGER1)
-			Case "@MPI_INTEGER2@"
-				str = Replace(str, "@MPI_INTEGER2@", MPI_INTEGER2)
-			Case "@MPI_INTEGER4@"
-				str = Replace(str, "@MPI_INTEGER4@", MPI_INTEGER4)
-			Case "@MPI_INTEGER8@"
-				str = Replace(str, "@MPI_INTEGER8@", MPI_INTEGER8)
-			Case "@MPI_INTEGER16@"
-				str = Replace(str, "@MPI_INTEGER16@", MPI_INTEGER16)
-			Case "@MPICH_TIMER_KIND@"
-				If bUseCycleCounter Then
-					str = Replace(str, "@MPICH_TIMER_KIND@", "USE_WIN86_CYCLE")
-				Else
-					str = Replace(str, "@MPICH_TIMER_KIND@", "USE_QUERYPERFORMANCECOUNTER")
-				End If
-			Case "@MPID_TIMER_TYPE@"
-				If bUseCycleCounter Then
-					str = Replace(str, "@MPID_TIMER_TYPE@", "unsigned __int64")
-				Else
-					str = Replace(str, "@MPID_TIMER_TYPE@", "LARGE_INTEGER")
-				End If
-			Case "@DEFINE_MPI_OFFSET@"
-				'str = Replace(str, "@DEFINE_MPI_OFFSET@", "typedef __int64 MPI_Offset;")
-				'str = Replace(str, "@DEFINE_MPI_OFFSET@", "#if defined(USE_GCC) || defined(__GNUC__)" + vbCrLf + "typedef long long MPI_Offset;" + vbCrLf + "#else" + vbCrLf + "typedef __int64 MPI_Offset;" + vbCrLf + "#endif")
-				'str = Replace(str, "@DEFINE_MPI_OFFSET@", "typedef long long MPI_Offset;")
-				str = Replace(str, "@DEFINE_MPI_OFFSET@", MPI_OFFSET_TYPEDEF)
-			Case "@NEEDS_MPI_FINT@"
-				str = Replace(str, "@NEEDS_MPI_FINT@", "")
-			Case "@HAVE_MPI_INFO@"
-				str = Replace(str, "@HAVE_MPI_INFO@", "#define HAVE_MPI_INFO")
-			Case "@HAVE_MPI_DARRAY_SUBARRAY@"
-				str = Replace(str, "@HAVE_MPI_DARRAY_SUBARRAY@", "")
-			Case "@DEFINE_HAVE_MPI_GREQUEST@"
-				str = Replace(str, "@DEFINE_HAVE_MPI_GREQUEST@", "#define HAVE_MPI_GREQUEST 1")
-				'str = Replace(str, "@DEFINE_HAVE_MPI_GREQUEST@", "")
-			Case "@ADDRESS_KIND@"
-				If b64 then
-					str = Replace(str, "@ADDRESS_KIND@", "8")
-				Else
-					str = Replace(str, "@ADDRESS_KIND@", "4")
-				End If
-			Case "@OFFSET_KIND@"
-				str = Replace(str, "@OFFSET_KIND@", "8")
-			Case "@F77_COMPLEX16@"
-				str = Replace(str, "@F77_COMPLEX16@", F77_COMPLEX16)
-			Case "@F77_COMPLEX32@"
-				str = Replace(str, "@F77_COMPLEX32@", F77_COMPLEX32)
-			Case "@F77_COMPLEX8@"
-				str = Replace(str, "@F77_COMPLEX8@", F77_COMPLEX8)
-			Case "@F77_INTEGER1@"
-				str = Replace(str, "@F77_INTEGER1@", F77_INTEGER1)
-			Case "@F77_INTEGER2@"
-				str = Replace(str, "@F77_INTEGER2@", F77_INTEGER2)
-			Case "@F77_INTEGER4@"
-				str = Replace(str, "@F77_INTEGER4@", F77_INTEGER4)
-			Case "@F77_INTEGER8@"
-				str = Replace(str, "@F77_INTEGER8@", F77_INTEGER8)
-			Case "@F77_INTEGER16@"
-				str = Replace(str, "@F77_INTEGER16@", F77_INTEGER16)
-			Case "@F77_REAL4@"
-				str = Replace(str, "@F77_REAL4@", F77_REAL4)
-			Case "@F77_REAL8@"
-				str = Replace(str, "@F77_REAL8@", F77_REAL8)
-			Case "@F77_REAL16@"
-				str = Replace(str, "@F77_REAL16@", F77_REAL16)
-			Case "@MPI_F77_BYTE@"
-				str = Replace(str, "@MPI_F77_BYTE@", F77_MPI_BYTE)
-			Case "@MPI_F77_UB@"
-				str = Replace(str, "@MPI_F77_UB@", F77_MPI_UB)
-			Case "@MPI_F77_LB@"
-				str = Replace(str, "@MPI_F77_LB@", F77_MPI_LB)
-			Case "@MPI_F77_PACKED@"
-				str = Replace(str, "@MPI_F77_PACKED@", F77_MPI_PACKED)
-			Case "@MPI_F77_CHAR@"
-				str = Replace(str, "@MPI_F77_CHAR@", F77_CHAR)
-			Case "@MPI_F77_SIGNED_CHAR@"
-				str = Replace(str, "@MPI_F77_SIGNED_CHAR@", F77_SIGNED_CHAR)
-			Case "@MPI_F77_UNSIGNED_CHAR@"
-				str = Replace(str, "@MPI_F77_UNSIGNED_CHAR@", F77_UNSIGNED_CHAR)
-			Case "@MPI_F77_WCHAR@"
-				str = Replace(str, "@MPI_F77_WCHAR@", F77_WCHAR)
-			Case "@MPI_F77_SHORT@"
-				str = Replace(str, "@MPI_F77_SHORT@", F77_SHORT)
-			Case "@MPI_F77_UNSIGNED_SHORT@"
-				str = Replace(str, "@MPI_F77_UNSIGNED_SHORT@", F77_UNSIGNED_SHORT)
-			Case "@MPI_F77_INT@"
-				str = Replace(str, "@MPI_F77_INT@", F77_INT)
-			Case "@MPI_F77_UNSIGNED@"
-				str = Replace(str, "@MPI_F77_UNSIGNED@", F77_UNSIGNED)
-			Case "@MPI_F77_LONG@"
-				str = Replace(str, "@MPI_F77_LONG@", F77_LONG)
-			Case "@MPI_F77_UNSIGNED_LONG@"
-				str = Replace(str, "@MPI_F77_UNSIGNED_LONG@", F77_UNSIGNED_LONG)
-			Case "@MPI_F77_FLOAT@"
-				str = Replace(str, "@MPI_F77_FLOAT@", F77_FLOAT)
-			Case "@MPI_F77_DOUBLE@"
-				str = Replace(str, "@MPI_F77_DOUBLE@", F77_DOUBLE)
-			Case "@MPI_F77_LONG_DOUBLE@"
-				str = Replace(str, "@MPI_F77_LONG_DOUBLE@", F77_LONG_DOUBLE)
-			Case "@MPI_F77_LONG_LONG_INT@"
-				str = Replace(str, "@MPI_F77_LONG_LONG_INT@", F77_LONG_LONG_INT)
-			Case "@MPI_F77_UNSIGNED_LONG_LONG@"
-				str = Replace(str, "@MPI_F77_UNSIGNED_LONG_LONG@", F77_UNSIGNED_LONG_LONG)
-			Case "@MPI_F77_LONG_LONG@"
-				str = Replace(str, "@MPI_F77_LONG_LONG@", F77_LONG_LONG)
-			Case "@MPI_F77_FLOAT_INT@"
-				str = Replace(str, "@MPI_F77_FLOAT_INT@", F77_FLOAT_INT)
-			Case "@MPI_F77_DOUBLE_INT@"
-				str = Replace(str, "@MPI_F77_DOUBLE_INT@", F77_DOUBLE_INT)
-			Case "@MPI_F77_LONG_INT@"
-				str = Replace(str, "@MPI_F77_LONG_INT@", F77_LONG_INT)
-			Case "@MPI_F77_SHORT_INT@"
-				str = Replace(str, "@MPI_F77_SHORT_INT@", F77_SHORT_INT)
-			Case "@MPI_F77_2INT@"
-				str = Replace(str, "@MPI_F77_2INT@", F77_2INT)
-			Case "@MPI_F77_LONG_DOUBLE_INT@"
-				str = Replace(str, "@MPI_F77_LONG_DOUBLE_INT@", F77_LONG_DOUBLE_INT)
-			Case "@MPI_F77_INT8_T@"
-				str = Replace(str, "@MPI_F77_INT8_T@", F77_INT8_T)
-			Case "@MPI_F77_INT16_T@"
-				str = Replace(str, "@MPI_F77_INT16_T@", F77_INT16_T)
-			Case "@MPI_F77_INT32_T@"
-				str = Replace(str, "@MPI_F77_INT32_T@", F77_INT32_T)
-			Case "@MPI_F77_INT64_T@"
-				str = Replace(str, "@MPI_F77_INT64_T@", F77_INT64_T)
-			Case "@MPI_F77_UINT8_T@"
-				str = Replace(str, "@MPI_F77_UINT8_T@", F77_UINT8_T)
-			Case "@MPI_F77_UINT16_T@"
-				str = Replace(str, "@MPI_F77_UINT16_T@", F77_UINT16_T)
-			Case "@MPI_F77_UINT32_T@"
-				str = Replace(str, "@MPI_F77_UINT32_T@", F77_UINT32_T)
-			Case "@MPI_F77_UINT64_T@"
-				str = Replace(str, "@MPI_F77_UINT64_T@", F77_UINT64_T)
-			Case "@MPI_F77_C_BOOL@"
-				str = Replace(str, "@MPI_F77_C_BOOL@", F77_C_BOOL)
-			Case "@MPI_F77_C_FLOAT_COMPLEX@"
-				str = Replace(str, "@MPI_F77_C_FLOAT_COMPLEX@", F77_C_FLOAT_COMPLEX)
-			Case "@MPI_F77_C_COMPLEX@"
-				str = Replace(str, "@MPI_F77_C_COMPLEX@", F77_C_COMPLEX)
-			Case "@MPI_F77_C_DOUBLE_COMPLEX@"
-				str = Replace(str, "@MPI_F77_C_DOUBLE_COMPLEX@", F77_C_DOUBLE_COMPLEX)
-			Case "@MPI_F77_C_LONG_DOUBLE_COMPLEX@"
-				str = Replace(str, "@MPI_F77_C_LONG_DOUBLE_COMPLEX@", F77_C_LONG_DOUBLE_COMPLEX)
-			Case "@MPI_F77_AINT@"
-                                If b64 Then
-                                    str = Replace(str, "@MPI_F77_AINT@", F77_AINT_W64)
-                                Else
-                                    str = Replace(str, "@MPI_F77_AINT@", F77_AINT_W32)
-                                End If
-			Case "@MPI_F77_OFFSET@"
-				str = Replace(str, "@MPI_F77_OFFSET@", F77_OFFSET_W64)
-			Case "@MPI_STATUS_SIZE@"
-				str = Replace(str, "@MPI_STATUS_SIZE@", "5")
-			Case "@HAVE_CXX_EXCEPTIONS@"
-				str = Replace(str, "@HAVE_CXX_EXCEPTIONS@", "1")
-			Case "@F77_MPI_ADDRESS@"
-				If b64 then
-					str = Replace(str, "@F77_MPI_ADDRESS@", "INTEGER*8")
-				Else
-					str = Replace(str, "@F77_MPI_ADDRESS@", "INTEGER")
-				End If
-			Case "@F77_MPI_OFFSET@"
-				If b64 then
-					str = Replace(str, "@F77_MPI_OFFSET@", "INTEGER*8")
-				Else
-					str = Replace(str, "@F77_MPI_OFFSET@", "INTEGER (KIND=8)")
-				End If
-                        Case "@WTIME_DOUBLE_TYPE@"
-                                str = Replace(str, "@WTIME_DOUBLE_TYPE@", "DOUBLE PRECISION")
-			' FIXME: The size of int,... could depend on compiler options
-                        ' These defns, *FC*, are specific to the Intel Fortran Compiler on Windows.
-                        ' These values may not work for say gfortran
-                        ' We should have a way to override these values
-			Case "@SIZEOF_FC_INTEGER@"
-				If b64 then
-					str = Replace(str, "@SIZEOF_FC_INTEGER@", "4")
-				Else
-					str = Replace(str, "@SIZEOF_FC_INTEGER@", "4")
-				End If
-			Case "@SIZEOF_FC_REAL@"
-				If b64 then
-					str = Replace(str, "@SIZEOF_FC_REAL@", "4")
-				Else
-					str = Replace(str, "@SIZEOF_FC_REAL@", "4")
-				End If
-			Case "@SIZEOF_FC_CHARACTER@"
-				If b64 then
-					str = Replace(str, "@SIZEOF_FC_CHARACTER@", "1")
-				Else
-					str = Replace(str, "@SIZEOF_FC_CHARACTER@", "1")
-				End If
-			Case "@SIZEOF_FC_DOUBLE_PRECISION@"
-				If b64 then
-					str = Replace(str, "@SIZEOF_FC_DOUBLE_PRECISION@", "8")
-				Else
-					str = Replace(str, "@SIZEOF_FC_DOUBLE_PRECISION@", "8")
-				End If
-                        ' Fortran real model in "precision, range" format
-                        Case "@FC_REAL_MODEL@"
-                            str = Replace(str, "@FC_REAL_MODEL@", "6 , 37")
-                        ' Fortran double model in "precision, range" format
-                        Case "@FC_DOUBLE_MODEL@"
-                            str = Replace(str, "@FC_DOUBLE_MODEL@", "15 , 307")
-                        ' Fortran integer range
-                        Case "@FC_INTEGER_MODEL@"
-                            str = Replace(str, "@FC_INTEGER_MODEL@", "9")
-                        ' Fortran integer model in "range1, kind1, range2, kind2, ..." format
-                        Case "@FC_ALL_INTEGER_MODELS@"
-                            str = Replace(str, "@FC_ALL_INTEGER_MODELS@", "2 , 1 , 4 , 2 , 9 , 4 , 18 , 8 ,")
-                        ' Fortran integer model map in "{range1, kind1, size1}, {range2, kind2, size2}..." format
-                        Case "@FC_INTEGER_MODEL_MAP@"
-                            str = Replace(str, "@FC_INTEGER_MODEL_MAP@", "{ 2 , 1 , 1 }, { 4 , 2 , 2 }, { 9 , 4 , 4 }, { 18 , 8 , 8 },")
-			' REQD = (Real EQuals Double precision) ? "!" : ""
-			Case "@REQD@"
-				str = Replace(str, "@REQD@", "")
-			' REQI1 = (Real EQuals Integer*1) ? "!" : ""
-			Case "@REQI1@"
-				str = Replace(str, "@REQI1@", "")
-			' REQI2 = (Real EQuals Integer*2) ? "!" : ""
-			Case "@REQI2@"
-				str = Replace(str, "@REQI2@", "")
-			' REQI8 = (Real EQuals Integer*8) ? "!" : ""
-			Case "@REQI8@"
-				str = Replace(str, "@REQI8@", "")
-			Case "@PCONTROL_LIST@"
-				'str = Replace(str, "@PCONTROL_LIST@", "")
-			Case "@configure_input@"
-				'str = Replace(str, "@configure_input@", "")
-			Case "@CMB_STATUS_ALIGNMENT@"
-				'str = Replace(str, "@CMB_STATUS_ALIGNMENT@", "")
-			Case "@CMB_1INT_ALIGNMENT@"
-				'str = Replace(str, "@CMB_1INT_ALIGNMENT@", "")
-			Case "@DLLIMPORT@"
-				str = Replace(str, "@DLLIMPORT@", "CDEC$ ATTRIBUTES DLLIMPORT::/MPIFCMB1/" & vbNewLine & "CDEC$ ATTRIBUTES DLLIMPORT::/MPIFCMB2/" & vbNewLine & "CDEC$ ATTRIBUTES DLLIMPORT::/MPIFCMB3/" & vbNewLine & "CDEC$ ATTRIBUTES DLLIMPORT::/MPIFCMB4/" & vbNewLine & "CDEC$ ATTRIBUTES DLLIMPORT::/MPIFCMB5/" & vbNewLine & "CDEC$ ATTRIBUTES DLLIMPORT::/MPIFCMB7/" & vbNewLine & "CDEC$ ATTRIBUTES DLLIMPORT::/MPIFCMB8/")
-			Case "@MPID_THREAD_TYPEDEFS@"
-				str = Replace(str, "@MPID_THREAD_TYPEDEFS@", mpid_thread_typedefs)
-			Case "@MPID_THREAD_FUNCS@"
-				str = Replace(str, "@MPID_THREAD_FUNCS@", mpid_thread_funcs)
-			Case "@MPIU_DLL_SPEC_DEF@"
-				str = Replace(str, "@MPIU_DLL_SPEC_DEF@", mpi_dll_spec_definition)
-			Case "@INCLUDE_MPICXX_H@"
-				str = Replace(str, "@INCLUDE_MPICXX_H@", "#include ""mpicxx.h""")
-			Case "@FORTRAN_BINDING@"
-				str = Replace(str, "@FORTRAN_BINDING@", "1")
-			Case "@INCLUDE_MPIDDEFS_H@"
-				str = Replace(str, "@INCLUDE_MPIDDEFS_H@", "/* No device specific defs */")
-			Case "@GNUC_VERSION@"
-				str = Replace(str, "@GNUC_VERSION@", "0")
-			Case "@GNUC_MINORVERSION@"
-				str = Replace(str, "@GNUC_MINORVERSION@", "0")
-			Case "@GNUCXX_VERSION@"
-				str = Replace(str, "@GNUCXX_VERSION@", "0")
-			Case "@GNUCXX_MINORVERSION@"
-				str = Replace(str, "@GNUCXX_MINORVERSION@", "0")
-			Case "@MPIR_CXX_BOOL@"
-				str = Replace(str, "@MPIR_CXX_BOOL@", MPIR_CXX_BOOL)
-			Case "@MPIR_CXX_COMPLEX@"
-				str = Replace(str, "@MPIR_CXX_COMPLEX@", MPIR_CXX_COMPLEX)
-			Case "@MPIR_CXX_DOUBLE_COMPLEX@"
-				str = Replace(str, "@MPIR_CXX_DOUBLE_COMPLEX@", MPIR_CXX_DOUBLE_COMPLEX)
-			Case "@MPIR_CXX_LONG_DOUBLE_COMPLEX@"
-				str = Replace(str, "@MPIR_CXX_LONG_DOUBLE_COMPLEX@", MPIR_CXX_LONG_DOUBLE_COMPLEX)
-			Case "@FORTRAN_MPI_OFFSET@"
-				str = Replace(str, "@FORTRAN_MPI_OFFSET@", "INTEGER *8")
-			Case "@mpe_c99_stdint_inc@"
-				str = Replace(str, "@mpe_c99_stdint_inc@", "/* #include <stdint.h> */")
-			Case "@mpe_c99_pridxx_inc@"
-				str = Replace(str, "@mpe_c99_pridxx_inc@", "/* #include <inttypes.h> */")
-			Case "@mpe_int8_t@"
-				str = Replace(str, "@mpe_int8_t@", "__int8")
-			Case "@mpe_int16_t@"
-				str = Replace(str, "@mpe_int16_t@", "__int16")
-			Case "@mpe_int32_t@"
-				str = Replace(str, "@mpe_int32_t@", "__int32")
-			Case "@mpe_int64_t@"
-				str = Replace(str, "@mpe_int64_t@", "__int64")
-			Case "@mpe_int8_fmt@"
-				str = Replace(str, "@mpe_int8_fmt@", """%hhd""")
-			Case "@mpe_int16_fmt@"
-				str = Replace(str, "@mpe_int16_fmt@", """%hd""")
-			Case "@mpe_int32_fmt@"
-				str = Replace(str, "@mpe_int32_fmt@", """%ld""")
-			Case "@mpe_int64_fmt@"
-				str = Replace(str, "@mpe_int64_fmt@", """%lld""")
-			Case "@CLOG_PINT@"
-				If b64 Then
-					str = Replace(str, "@CLOG_PINT@", "__int64")
-				Else
-					str = Replace(str, "@CLOG_PINT@", "__int32")
-				End If
-			Case "@PTHREAD_IN_MPI_DEF@"
-				str = Replace(str, "@PTHREAD_IN_MPI_DEF@", "#undef HAVE_PTHREAD_IN_MPI")
-			Case "@mpe_callstack_impl_type@"
-				str = Replace(str, "@mpe_callstack_impl_type@", "/* MPE CALLSTACK NOT IMPLEMENTED IN WINDOWS */")
-			Case "@mpe_callstack_string_h@"
-				str = Replace(str, "@mpe_callstack_string_h@", "/* MPE CALLSTACK NOT IMPLEMENTED IN WINDOWS */")
-			Case "@mpe_callstack_unistd_h@"
-				str = Replace(str, "@mpe_callstack_unistd_h@", "/* MPE CALLSTACK NOT IMPLEMENTED IN WINDOWS */")
-			' Config options 
-			Case "@CONFIGURE_ARGS_CLEAN@"
-				str = Replace(str, "@CONFIGURE_ARGS_CLEAN@", "Check winconfigure.wsf for config options")
-			Case "@MPICH_RELEASE_DATE@"
-				str = Replace(str, "@MPICH_RELEASE_DATE@", Date)
-			Case "@DEVICE@"
-				str = Replace(str, "@DEVICE@", "ch3")
-			Case "@CC@"
-				str = Replace(str, "@CC@", "cl.exe")
-			Case "@CFLAGS@"
-				' FIXME: Not the complete list of CFLAGS --- only some listed
-				str = Replace(str, "@CFLAGS@", "/O2 /Ob1 /Oi /Oy /W4")
-			Case "@CXX@"
-				str = Replace(str, "@CXX@", "cl.exe")
-			Case "@CXXFLAGS@" 
-				' FIXME: Not the complete list of CXXFLAGS --- only some listed
-				str = Replace(str, "@CXXFLAGS@", "/O2 /Ob1 /Oi /Oy /W4")
-			Case "@F77@"
-				str = Replace(str, "@F77@", "ifort.exe")
-			Case "@FFLAGS@"
-				' FIXME: Not the complete list of FFLAGS --- only some listed
-				str = Replace(str, "@FFLAGS@", "/names:lowercase /iface:cref /assume:underscore")
-			Case "@FC@"
-				str = Replace(str, "@FC@", "ifort.exe")
-			Case "@FCFLAGS@"
-				' FIXME: Not the complete list of FCFLAGS --- only some listed
-				str = Replace(str, "@FCFLAGS@", "/names:lowercase /iface:cref /assume:underscore")
-			Case "@MPICH_VERSION@"
-				str = Replace(str, "@MPICH_VERSION@", mpichVersion)
-			Case "@MPICH_NUMVERSION@"
-				str = Replace(str, "@MPICH_NUMVERSION@", mpichNumVersion)
-			Case "@nemesis_nets_macro_defs@"
-				str = Replace(str, "@nemesis_nets_macro_defs@", "#define MPIDI_NEM_NEWTCP_MODULE 0" + vbCrLf + "#define MPIDI_NEM_ND_MODULE 1")
-			Case "@nemesis_nets_func_decl@"
-				str = Replace(str, "@nemesis_nets_func_decl@", "MPIDI_nem_newtcp_module_funcs, MPIDI_Nem_nd_funcs, MPIDI_nem_none_funcs")
-			Case "@nemesis_nets_array_sz@"
-				str = Replace(str, "@nemesis_nets_array_sz@", "3")
-			Case "@nemesis_nets_func_array@"
-				str = Replace(str, "@nemesis_nets_func_array@", "&MPIDI_nem_newtcp_module_funcs, &MPIDI_Nem_nd_funcs, &MPIDI_nem_none_funcs")
-			Case "@nemesis_nets_strings@"
-				str = Replace(str, "@nemesis_nets_strings@", """newtcp"",""nd"", ""none""")
-			Case Else
-			'	unhandled_ats = unhandled_ats & Match & vbNewLine
-			'	unhandled_ats_count = unhandled_ats_count + 1
-				If appendUniqueString(unhandled_ats, Match) Then
-					unhandled_ats_count = unhandled_ats_count + 1
-				End If	
-				unhandled_ats_instances = unhandled_ats_instances + 1
-		End Select
-	Next
-	ReplaceAts = str
-End Function
-
-
-' FIXME: We should add functionality to add prefixes to AddDefinitions and get rid
-' of common code in AddOPADefinitions
-Sub AddOPADefinitions( fout, filename, b64 )
-    If f.FileExists( filename ) Then
-    Set f2 = f.OpenTextFile( filename )
-    Dim regEx, Match, Matches, define, comment, macroname
-
-    contents = f2.ReadAll()
-
-    Set regEx = New RegExp
-    regEx.Pattern = "/\*([^\*]|\*(?!/))*\*/[\r\n]*#undef(\b).+[\r\n]*"
-    regEx.IgnoreCase = True
-    regEx.Global = True
-    Set Matches = regEx.Execute(contents)
-
-    For Each Match in Matches
-        comment = RegExpFind("/\*(.|[\r\n])*\*/", Match.Value)
-        define = RegExpFind("#undef.*", Match.Value)
-        macroname = RegExpFind("(\s).+", define)
-        macroname = RegExpFind("(\S)+", macroname)
-        fout.WriteLine(comment)
-        Select Case macroname
-            Case "HAVE_ATOMIC_H"
-                fout.WriteLine("/* #undef HAVE_ATOMIC_H */")
-            Case "HAVE_GCC_AND_IA64_ASM"
-                fout.WriteLine("/* #undef HAVE_GCC_AND_IA64_ASM */")
-            Case "HAVE_GCC_AND_POWERPC_ASM"
-                fout.WriteLine("/* #undef HAVE_GCC_AND_POWERPC_ASM */")
-            Case "HAVE_GCC_AND_SICORTEX_ASM"
-                fout.WriteLine("/* #undef HAVE_GCC_AND_SICORTEX_ASM */")
-            Case "HAVE_GCC_ATTRIBUTE"
-                fout.WriteLine("/* #undef HAVE_GCC_ATTRIBUTE */")
-            Case "HAVE_GCC_INTRINSIC_ATOMICS"
-                fout.WriteLine("/* #undef HAVE_GCC_INTRINSIC_ATOMICS */")
-            Case "HAVE_GCC_X86_32_64"
-                fout.WriteLine("/* #undef HAVE_GCC_X86_32_64 */")
-            Case "HAVE_GCC_X86_32_64_P3"
-                fout.WriteLine("/* #undef HAVE_GCC_X86_32_64_P3 */")
-            Case "HAVE_INTRIN_H"
-                fout.WriteLine("/* #undef HAVE_INTRIN_H */")
-            Case "HAVE_INTTYPES_H"
-                fout.WriteLine("/* #undef HAVE_INTTYPES_H */")
-            Case "HAVE_LIBPTHREAD"
-                fout.WriteLine("/* #undef HAVE_LIBPTHREAD */")
-            Case "HAVE_MEMORY_H"
-                fout.WriteLine("/* #undef HAVE_MEMORY_H */")
-            Case "HAVE_NT_INTRINSICS"
-                fout.WriteLine("#define OPA_HAVE_NT_INTRINSICS 1")
-            Case "USE_UNSAFE_PRIMITIVES"
-                fout.WriteLine("/* #undef USE_UNSAFE_PRIMITIVES */")
-            Case "HAVE_PTHREAD_H"
-                fout.WriteLine("/* #undef HAVE_PTHREAD_H */")
-            Case "HAVE_PTHREAD_YIELD"
-                fout.WriteLine("/* #undef HAVE_PTHREAD_YIELD */")
-            Case "HAVE_SCHED_YIELD"
-                fout.WriteLine("/* #undef HAVE_SCHED_YIELD */")
-            Case "HAVE_STDINT_H"
-                fout.WriteLine("/* #undef HAVE_STDINT_H */")
-            Case "HAVE_STDLIB_H"
-                fout.WriteLine("#define OPA_HAVE_STDLIB_H 1")
-            Case "HAVE_STRINGS_H"
-                fout.WriteLine("/* #undef HAVE_STRINGS_H */")
-            Case "HAVE_STRING_H"
-                fout.WriteLine("#define OPA_HAVE_STRING_H 1")
-            Case "STDC_HEADERS"
-                fout.WriteLine("#define OPA_STDC_HEADERS 1")
-            Case "HAVE_SUN_ATOMIC_OPS"
-                fout.WriteLine("/* #undef HAVE_SUN_ATOMIC_OPS */")
-            Case "HAVE_SYS_STAT_H"
-                fout.WriteLine("/* #undef HAVE_SYS_STAT_H */")
-            Case "HAVE_SYS_TYPES_H"
-                fout.WriteLine("#define OPA_HAVE_SYS_TYPES_H 1")
-            Case "HAVE_UNISTD_H"
-                fout.WriteLine("/* #undef HAVE_UNISTD_H */")
-            Case "HAVE_STDDEF_H"
-                fout.WriteLine("#define HAVE_STDDEF_H 1")
-            Case "HAVE_DLFCN_H"
-                fout.WriteLine("/* #undef HAVE_DLFCN_H */")
-            Case "LIMIT_THREADS"
-                fout.WriteLine("/* #undef LIMIT_THREADS */")
-            ' Just using the default value in the unix build for max nthreads
-            Case "MAX_NTHREADS"
-                fout.WriteLine("#define MAX_NTHREADS 100")
-            Case "NDEBUG"
-                fout.WriteLine("/* #undef NDEBUG */")
-            ' By default allow threads to yield
-            ' FIXME: However OPA_TEST_YIELD() is not defined on windows...
-            Case "HAVE_STRICT_FAIRNESS_CHECKS"
-                fout.WriteLine("/* #undef HAVE_STRICT_FAIRNESS_CHECKS */")
-            Case "PACKAGE"
-                fout.WriteLine("#define OPA_PACKAGE ""openpa""")
-            Case "PACKAGE_TARNAME"
-                fout.WriteLine("#define OPA_PACKAGE ""openpa""")
-            Case "PACKAGE_BUGREPORT"
-                fout.WriteLine("#define OPA_PACKAGE_BUGREPORT ""https://trac.mcs.anl.gov/projects/openpa/tickets""")
-            Case "PACKAGE_NAME"
-                fout.WriteLine("#define OPA_PACKAGE_NAME ""OpenPA""")
-            ' FIXME: Find a better way to update the version of OpenPA package
-            Case "PACKAGE_STRING"
-                fout.WriteLine("#define OPA_PACKAGE_STRING ""OpenPA 0.0.1""")
-            Case "PACKAGE_VERSION"
-                fout.WriteLine("#define OPA_PACKAGE_VERSION ""0.0.1""")
-            Case "VERSION"
-                fout.WriteLine("#define OPA_VERSION ""0.0.1""")
-            Case "SIZEOF_INT"
-                fout.WriteLine("#define OPA_SIZEOF_INT 4")
-            Case "SIZEOF_VOID_P"
-                If b64 Then
-                    fout.WriteLine("#define OPA_SIZEOF_VOID_P 8")
-                Else
-                    fout.WriteLine("#define OPA_SIZEOF_VOID_P 4")
-                End If
-            Case "inline"
-                fout.WriteLine("#define inline __inline")
-            Case "restrict"
-                fout.WriteLine("#define restrict")
-            Case "const"
-                fout.WriteLine("/* #undef const */")
-            Case "USE_LOCK_BASED_PRIMITIVES"
-                fout.WriteLine("/* #undef USE_LOCK_BASED_PRIMITIVES */")
-            Case "EXPLICIT_EMULATION"
-                fout.WriteLine("/* #undef EXPLICIT_EMULATION */")
-            ' Windows builds don't rely on libtool - so no need to define
-            ' LT_OBJDIR
-            Case "LT_OBJDIR"
-                fout.WriteLine("/* #undef LT_OBJDIR */")
-            Case Else
-                'MsgBox("Unhandled definition <" & define & ">")
-                If appendUniqueString(unhandled_definitions, macroname) Then
-                    unhandled_definitions_count = unhandled_definitions_count + 1
-                End If
-                unhandled_definitions_instances = unhandled_definitions_instances + 1
-                fout.WriteLine("/* unknown definition: " & macroname & " */")
-            End Select
-            fout.WriteLine("")
-        Next
-    End If
-End Sub
-
-Function CreateMPLDefDict()
-    Set customDefDict = Nothing
-    Set customDefDict = CreateObject("Scripting.Dictionary")
-    customDefDict.Add "PACKAGE", "MPL"
-    customDefDict.Add "VERSION", "0.1"
-    CreateMPLDefDict = True
-End Function
-
-Function FreeMPLDefDict()
-    Set customDefDict = Nothing
-    FreeMPLDefDict = True
-End Function
-
-Function IsLowerCaseChar(c)
-    Set regEx = New RegExp
-    regEx.Pattern = "[a-z]"
-    regEx.IgnoreCase = False
-    regEx.Global = True
-    If regEx.Test(c) Then
-        IsLowerCaseChar = True
-    Else
-        IsLowerCaseChar = False
-    End If
-End Function
-
-Function AddPrefixToDefinitions(filename, prefix_str)
-    temp_filename = filename & "_temp"
-    If f.FileExists(temp_filename) Then
-        f.DeleteFile temp_filename, "True"
-    End If
-    f.MoveFile filename, temp_filename
-
-    Set prefix_file = f.CreateTextFile(filename, true)
-    Set temp_file = f.OpenTextFile(temp_filename)
-    
-    Do While temp_file.AtEndOfStream <> True
-        Dim str, define, macroname_val
-        str = temp_file.ReadLine()
-
-        define = RegExpFind("(#define|#ifndef)(\b).+[\r\n]*", str)
-        Select Case Left(define, 7)
-            Case "#define"
-                macroname_val = RegExpFind("(\s).+", define)
-                str = RegExpFind("(\S).+", macroname_val)
-                If IsLowerCaseChar(Left(str, 1)) Then
-                    str = "#define " & "_" & LCase(prefix_str) & str
-                Else
-                    str = "#define " & UCase(prefix_str) & str
-                End If
-    
-            Case "#ifndef"
-                macroname_val = RegExpFind("(\s).+", define)
-                str = RegExpFind("(\S).+", macroname_val)
-                If IsLowerCaseChar(Left(str, 1)) Then
-                    str = "#ifndef " & LCase(prefix_str) & str
-                Else
-                    str = "#ifndef " & UCase(prefix_str) & str
-                End If
-            Case Else
-                ' Just print the line as it is
-        End Select        
-        prefix_file.WriteLine(str)
-    Loop
-    
-    temp_file.Close()
-    prefix_file.Close()
-    f.DeleteFile temp_filename, "True"
-    AddPrefixToDefinitions = True
-End Function
-
-Sub AddDefinitions( fout, filename, b64 )
-	If f.FileExists( filename ) Then
-		Set f2 = f.OpenTextFile( filename )
-		Dim regEx, Match, Matches, define, comment, macroname
-		Set regEx = New RegExp
-		contents = f2.ReadAll()
-        regEx.Pattern = "/\*([^\*]|\*(?!/))*\*/[\r\n]*#undef(\b).+[\r\n]*"
-		regEx.IgnoreCase = True
-		regEx.Global = True
-		Set Matches = regEx.Execute(contents)
-		For Each Match in Matches
-			comment = RegExpFind("/\*(.|[\r\n])*\*/", Match.Value)
-			define = RegExpFind("#undef.*", Match.Value)
-			macroname = RegExpFind("(\s).+", define)
-			macroname = RegExpFind("(\S)+", macroname)
-			fout.WriteLine(comment)
-			Select Case macroname
-				Case "HAVE_INT8_T"
-					fout.WriteLine("#define HAVE_INT8_T 1")
-				Case "HAVE_INT16_T"
-					fout.WriteLine("#define HAVE_INT16_T 1")
-				Case "HAVE_INT32_T"
-					fout.WriteLine("#define HAVE_INT32_T 1")
-				Case "HAVE_INT64_T"
-					fout.WriteLine("#define HAVE_INT64_T 1")
-				Case "HAVE_UINT8_T"
-					fout.WriteLine("#define HAVE_UINT8_T 1")
-				Case "HAVE_UINT16_T"
-					fout.WriteLine("#define HAVE_UINT16_T 1")
-				Case "HAVE_UINT32_T"
-					fout.WriteLine("#define HAVE_UINT32_T 1")
-				Case "HAVE_UINT64_T"
-					fout.WriteLine("#define HAVE_UINT64_T 1")
-                                Case "HAVE__BOOL"
-                                        fout.WriteLine("/* #undef HAVE__BOOL */")
-                                Case "HAVE__COMPLEX"
-                                        fout.WriteLine("/* #undef HAVE__COMPLEX */")
-                                Case "HAVE___TYPEOF"
-                                        fout.WriteLine("#define HAVE___TYPEOF 1")
-                                Case "HAVE_FLOAT__COMPLEX"
-                                        fout.WriteLine("/* #undef HAVE_FLOAT__COMPLEX */")
-                                Case "HAVE_DOUBLE__COMPLEX"
-                                        fout.WriteLine("/* #undef HAVE_DOUBLE__COMPLEX */")
-                                Case "HAVE_LONG_DOUBLE__COMPLEX"
-                                        fout.WriteLine("/* #undef HAVE_LONG_DOUBLE__COMPLEX */")
-				Case "int8_t"
-					fout.WriteLine("#define int8_t __int8")
-				Case "int16_t"
-					fout.WriteLine("#define int16_t __int16")
-				Case "int32_t"
-					fout.WriteLine("#define int32_t __int32")
-				Case "int64_t"
-					fout.WriteLine("#define int64_t __int64")
-				Case "uint8_t"
-					fout.WriteLine("#define uint8_t unsigned __int8")
-				Case "_UINT8_T"
-					' Needed only for SOLARIS machines
-					fout.WriteLine("/* #undef _UINT8_T */")
-				Case "uint16_t"
-					fout.WriteLine("#define uint16_t unsigned __int16")
-				Case "_UINT16_T"
-					' Needed only for SOLARIS machines
-					fout.WriteLine("/* #undef _UINT16_T */")
-				Case "uint32_t"
-					fout.WriteLine("#define uint32_t unsigned __int32")
-				Case "_UINT32_T"
-					' Needed only for SOLARIS machines
-					fout.WriteLine("/* #undef _UINT32_T */")
-				Case "uint64_t"
-					fout.WriteLine("#define uint64_t unsigned __int64")
-				Case "_UINT64_T"
-					' Needed only for SOLARIS machines
-					fout.WriteLine("/* #undef _UINT64_T */")
-				Case "u_char"
-                                        ' Needed only on unix builds where --enable-strict
-                                        ' option removes these types
-                                        fout.WriteLine("/* #undef u_char */")
-				Case "u_int"
-                                        ' Needed only on unix builds where --enable-strict
-                                        ' option removes these types
-                                        fout.WriteLine("/* #undef u_int */")
-				Case "u_long"
-                                        ' Needed only on unix builds where --enable-strict
-                                        ' option removes these types
-                                        fout.WriteLine("/* #undef u_long */")
-				Case "u_short"
-                                        ' Needed only on unix builds where --enable-strict
-                                        ' option removes these types
-                                        fout.WriteLine("/* #undef u_short */")
-				Case "POINTERINT_t"
-					If b64 Then
-						fout.WriteLine("#define POINTERINT_t __int64")
-					Else
-						fout.WriteLine("#define POINTERINT_t __int32")
-					End If
-				Case "MPIR_Pint"
-					If b64 Then
-						fout.WriteLine("#define MPIR_Pint __int64")
-					Else
-						fout.WriteLine("#define MPIR_Pint __int32")
-					End If
-				Case "MPIR_Upint"
-					If b64 Then
-						fout.WriteLine("#define MPIR_Upint unsigned __int64")
-					Else
-						fout.WriteLine("#define MPIR_Upint unsigned __int32")
-					End If
-				Case "const"
-					fout.WriteLine("/* #undef const */")
-				Case "inline"
-					fout.WriteLine("#define inline __inline")
-				Case "STDC_HEADERS"
-					fout.WriteLine("#define STDC_HEADERS 1")
-				Case "SIZEOF_DOUBLE"
-					fout.WriteLine("#define SIZEOF_DOUBLE 8")
-				Case "SIZEOF_FLOAT"
-					fout.WriteLine("#define SIZEOF_FLOAT 4")
-				Case "SIZEOF_INT"
-					fout.WriteLine("#define SIZEOF_INT 4")
-				Case "SIZEOF_LONG"
-					fout.WriteLine("#define SIZEOF_LONG 4")
-				Case "SIZEOF_LONG_DOUBLE"
-					fout.WriteLine("#define SIZEOF_LONG_DOUBLE 12")
-				Case "SIZEOF_LONG_LONG"
-					fout.WriteLine("#define SIZEOF_LONG_LONG 8")
-				Case "SIZEOF_SHORT"
-					fout.WriteLine("#define SIZEOF_SHORT 2")
-				Case "SIZEOF_UNSIGNED_CHAR"
-					fout.WriteLine("#define SIZEOF_UNSIGNED_CHAR 1")
-				Case "SIZEOF_UNSIGNED_INT"
-					fout.WriteLine("#define SIZEOF_UNSIGNED_INT 4")
-				Case "SIZEOF_UNSIGNED_LONG"
-					fout.WriteLine("#define SIZEOF_UNSIGNED_LONG 4")
-				Case "SIZEOF_UNSIGNED_LONG_LONG"
-					fout.WriteLine("#define SIZEOF_UNSIGNED_LONG_LONG 8")
-				Case "SIZEOF_UNSIGNED_SHORT"
-					fout.WriteLine("#define SIZEOF_UNSIGNED_SHORT 2")
-				Case "SIZEOF_VOID_P"
-					If b64 Then
-						fout.WriteLine("#define SIZEOF_VOID_P 8")
-					Else
-						fout.WriteLine("#define SIZEOF_VOID_P 4")
-					End If
-				Case "SIZEOF_WCHAR_T"
-					fout.WriteLine("#define SIZEOF_WCHAR_T 2")
-                                ' Now autoconf handles non-built-in types too. So we need to
-                                ' define the sizeof these types here
-                                Case "SIZEOF_DOUBLE_INT"
-                                        fout.WriteLine("#define SIZEOF_DOUBLE_INT " + len_double_int)
-                                Case "SIZEOF_FLOAT_INT"
-                                        fout.WriteLine("#define SIZEOF_FLOAT_INT " + len_float_int)
-                                Case "SIZEOF_LONG_DOUBLE_INT"
-                                        fout.WriteLine("#define SIZEOF_LONG_DOUBLE_INT " + len_long_double_int)
-                                Case "SIZEOF_LONG_INT"
-                                        fout.WriteLine("#define SIZEOF_LONG_INT " + len_long_int)
-                                Case "SIZEOF_SHORT_INT"
-                                        fout.WriteLine("#define SIZEOF_SHORT_INT " + len_short_int)
-                                Case "SIZEOF_TWO_INT"
-                                        fout.WriteLine("#define SIZEOF_TWO_INT " + len_two_int)
-                                Case "SIZEOF__BOOL"
-                                        fout.WriteLine("#define SIZEOF__BOOL " + len__Bool)
-                                Case "SIZEOF_FLOAT__COMPLEX"
-                                        fout.WriteLine("#define SIZEOF__COMPLEX " + len_float__Complex)
-                                Case "SIZEOF_DOUBLE__COMPLEX"
-                                        fout.WriteLine("#define SIZEOF_DOUBLE__COMPLEX " + len_double__Complex)
-                                Case "SIZEOF_LONG_DOUBLE__COMPLEX"
-                                        fout.WriteLine("#define SIZEOF_LONG_DOUBLE__COMPLEX " + len_long_double__Complex)
-                                ' FIXME: Ugly hack - the sizeof MPIR_Bsend_data_t can change !
-                                Case "SIZEOF_MPIR_BSEND_DATA_T"
-                                        If b64 Then
-                                            fout.WriteLine("#define SIZEOF_MPIR_BSEND_DATA_T " + BSEND_OVERHEAD64)
-                                        Else
-                                            fout.WriteLine("#define SIZEOF_MPIR_BSEND_DATA_T " + BSEND_OVERHEAD32)
-                                        End If
-				Case "HAVE_GETCWD"
-					fout.WriteLine("#define HAVE_GETCWD 1")
-				Case "HAVE_GETHOSTNAME"
-					fout.WriteLine("#define HAVE_GETHOSTNAME 1")
-				Case "HAVE_PUTENV"
-					fout.WriteLine("#define HAVE_PUTENV 1")
-				Case "HAVE_SETENV"
-					fout.WriteLine("/* #undef HAVE_SETENV */")
-				Case "HAVE_SELECT"
-					fout.WriteLine("#define HAVE_SELECT 1")
-				Case "HAVE_SLEEP"
-					fout.WriteLine("#define HAVE_SLEEP 1")
-				Case "HAVE_SOCKET"
-					fout.WriteLine("#define HAVE_SOCKET 1")
-				Case "HAVE_STRDUP"
-					fout.WriteLine("#define HAVE_STRDUP 1")
-                                Case "HAVE_STRNCMP"
-                                        fout.WriteLine("#define HAVE_STRNCMP 1")
-                                Case "NEEDS_STRNCMP_DECL"
-                                        fout.WriteLine("/* #undef NEEDS_STRNCMP_DECL */")
-				Case "HAVE_STRNCASECMP"
-					fout.WriteLine("/* #undef HAVE_STRNCASECMP */")
-				Case "HAVE_ERRNO_H"
-					fout.WriteLine("#define HAVE_ERRNO_H 1")
-                                Case "HAVE_MATH_H"
-                                        fout.WriteLine("#define HAVE_MATH_H 1")
-				Case "HAVE_FCNTL_H"
-					fout.WriteLine("#define HAVE_FCNTL_H 1")
-				Case "HAVE_STDLIB_H"
-					fout.WriteLine("#define HAVE_STDLIB_H 1")
-				Case "HAVE_STDIO_H"
-					fout.WriteLine("#define HAVE_STDIO_H")
-				Case "HAVE_ERROR_CHECKING"
-                                    ' FIXME: Ideally we should enable the error checking level
-                                    ' for 32-bit builds in vsprojs
-                                    If b64 Then
-                                        ' On the 64-bit builds the level of error checking is
-                                        ' controlled from the makefile
-                                        fout.WriteLine("/* #undef HAVE_ERROR_CHECKING */")
-                                    Else
-                                        fout.WriteLine("#define HAVE_ERROR_CHECKING MPID_ERROR_LEVEL_ALL")
-                                    End If
-				Case "HAVE_TIMING MPID_TIMING_KIND_LOG"
-					fout.WriteLine("/*#define HAVE_TIMING MPID_TIMING_KIND_LOG*/")
-				Case "HAVE_TIMING MPID_TIMING_KIND_ALL"
-					fout.WriteLine("/*#define HAVE_TIMING MPID_TIMING_KIND_ALL*/")
-				Case "USE_LOGGING MPID_LOGGING_RLOG"
-					fout.WriteLine("/*#define USE_LOGGING MPID_LOGGING_RLOG*/")
-				Case "USE_LOGGING MPID_LOGGING_DLOG"
-					fout.WriteLine("/*#define USE_LOGGING MPID_LOGGING_DLOG*/")
-				Case "MPICH_SINGLE_THREADED"
-					fout.WriteLine("#define MPICH_SINGLE_THREADED ")
-				Case "USE_MEMORY_TRACING"
-					fout.WriteLine("/* #undef USE_MEMORY_TRACING */")
-				Case "restrict"
-					fout.WriteLine("#define restrict")
-				Case "CHAR_PTR_IS_BYTE"
-					fout.WriteLine("/* #undef CHAR_PTR_IS_BYTE */")
-				Case "HAVE_GCC_AND_PENTIUM_ASM"
-					fout.WriteLine("/* #undef HAVE_GCC_AND_PENTIUM_ASM */")
-				Case "HAVE_INTTYPES_H"
-					fout.WriteLine("/* #undef HAVE_INTTYPES_H */")
-				Case "HAVE_MEMORY_H"
-					fout.WriteLine("/* #undef HAVE_MEMORY_H */")
-				Case "HAVE_PRAGMA_CRI_DUP"
-					fout.WriteLine("/* #undef HAVE_PRAGMA_CRI_DUP */")
-				Case "HAVE_PRAGMA_HP_SEC_DEF"
-					fout.WriteLine("/* #undef HAVE_PRAGMA_HP_SEC_DEF */")
-				Case "HAVE_PRAGMA_WEAK"
-					fout.WriteLine("/* #undef HAVE_PRAGMA_WEAK */")
-                                Case "HAVE_SIGACTION"
-                                        fout.WriteLine("/* #undef HAVE_SIGACTION */")
-				Case "HAVE_PTHREAD_CREATE"
-					fout.WriteLine("/* #undef HAVE_PTHREAD_CREATE */")
-                                Case "HAVE_PTHREAD_BARRIER_INIT"
-					fout.WriteLine("/* #undef HAVE_PTHREAD_BARRIER_INIT */")
-                                Case "HAVE_PTHREAD_BARRIER_WAIT"
-					fout.WriteLine("/* #undef HAVE_PTHREAD_BARRIER_WAIT */")
-				Case "USE_PTHREAD_STDIN_REDIRECTION"
-					fout.WriteLine("/* #undef USE_PTHREAD_STDIN_REDIRECTION */")
-                                Case "HAVE_TERMIOS_H"
-                                        fout.WriteLine("/* #undef HAVE_TERMIOS_H */")
-				Case "HAVE_STDINT_H"
-					fout.WriteLine("/* #undef HAVE_STDINT_H */")
-				Case "HAVE_STRINGS_H"
-					fout.WriteLine("/* #undef HAVE_STRINGS_H */")
-				Case "HAVE_STRING_H"
-					fout.WriteLine("#define HAVE_STRING_H")
-				Case "HAVE_SYS_STAT_H"
-					fout.WriteLine("/* #undef HAVE_SYS_STAT_H */")
-				Case "HAVE_SYS_TYPES_H"
-					fout.WriteLine("#define HAVE_SYS_TYPES_H 1")
-				Case "HAVE_SYS_ATTR_H"
-					fout.WriteLine("/* #undef HAVE_SYS_ATTR_H */")
-				Case "HAVE_THR_CREATE"
-					fout.WriteLine("/* #undef HAVE_THR_CREATE */")
-				Case "HAVE_TIMING"
-					fout.WriteLine("/* #undef HAVE_TIMING */")
-				Case "HAVE_UNISTD_H"
-					fout.WriteLine("/* #undef HAVE_UNISTD_H */")
-				Case "SIZEOF_INT_IS_AINT"
-					If b64 then
-						fout.WriteLine("/* #undef SIZEOF_INT_IS_AINT */")
-					Else
-						fout.WriteLine("#define SIZEOF_INT_IS_AINT")
-					End If
-				Case "volatile"
-					fout.WriteLine("/* #undef volatile */")
-				Case "HAVE_GETTIMEOFDAY"
-					fout.WriteLine("/*#define HAVE_GETTIMEOFDAY 1*/")
-				Case "HAVE_MUTEX_INIT"
-					fout.WriteLine("/* #undef HAVE_MUTEX_INIT */")
-				Case "HAVE_PTHREAD_MUTEXATTR_INIT"
-					fout.WriteLine("/*#define HAVE_PTHREAD_MUTEXATTR_INIT 1*/")
-				Case "HAVE_PTHREAD_MUTEXATTR_SETPSHARED"
-					fout.WriteLine("/*#define HAVE_PTHREAD_MUTEXATTR_SETPSHARED 1*/")
-                                Case "PTHREAD_MUTEX_ERRORCHECK_VALUE"
-                                        fout.WriteLine("/* #undef PTHREAD_MUTEX_ERRORCHECK_VALUE */")
-				Case "HAVE_SCHED_YIELD"
-					fout.WriteLine("/*#define HAVE_SCHED_YIELD 1*/")
-				Case "HAVE_SHMAT"
-					fout.WriteLine("/* #undef HAVE_SHMAT */")
-				Case "HAVE_SHMCTL"
-					fout.WriteLine("/* #undef HAVE_SHMCTL */")
-				Case "HAVE_SHMDT"
-					fout.WriteLine("/* #undef HAVE_SHMDT */")
-				Case "HAVE_SHMGET"
-					fout.WriteLine("/* #undef HAVE_SHMGET */")
-				Case "HAVE_USLEEP"
-					fout.WriteLine("/*#define HAVE_USLEEP 1*/")
-				Case "HAVE_YIELD"
-					fout.WriteLine("/* #undef HAVE_YIELD */")
-				Case "HAVE_LINUX_UNISTD_H"
-					fout.WriteLine("/* #undef HAVE_LINUX_UNISTD_H */")
-				Case "HAVE_NETDB_H"
-					fout.WriteLine("/*#define HAVE_NETDB_H 1*/")
-				Case "HAVE_NETINET_IN_H"
-					fout.WriteLine("/*#define HAVE_NETINET_IN_H 1*/")
-				Case "HAVE_NETINET_TCP_H"
-					fout.WriteLine("/*#define HAVE_NETINET_TCP_H 1*/")
-				Case "HAVE_PTHREAD_H"
-					fout.WriteLine("/*#define HAVE_PTHREAD_H 1*/")
-				Case "HAVE_SCHED_H"
-					fout.WriteLine("/*#define HAVE_SCHED_H 1*/")
-				Case "HAVE_SYS_FILIO_H"
-					fout.WriteLine("/* #undef HAVE_SYS_FILIO_H */")
-				Case "HAVE_SYS_IOCTL_H"
-					fout.WriteLine("/*#define HAVE_SYS_IOCTL_H 1*/")
-				Case "HAVE_SYS_IPC_H"
-					fout.WriteLine("/* #undef HAVE_SYS_IPC_H */")
-				Case "HAVE_SYS_PARAM_H"
-					fout.WriteLine("/*#define HAVE_SYS_PARAM_H 1*/")
-				Case "HAVE_SYS_PTRACE_H"
-					fout.WriteLine("/* #undef HAVE_SYS_PTRACE_H */")
-				Case "HAVE_SYS_SELECT_H"
-					fout.WriteLine("/*#define HAVE_SYS_SELECT_H 1*/")
-				Case "HAVE_SYS_SEM_H"
-					fout.WriteLine("/* #undef HAVE_SYS_SEM_H */")
-				Case "HAVE_SYS_SHM_H"
-					fout.WriteLine("/* #undef HAVE_SYS_SHM_H */")
-				Case "HAVE_SYS_SOCKET_H"
-					fout.WriteLine("/*#define HAVE_SYS_SOCKET_H 1*/")
-				Case "HAVE_SYS_TIME_H"
-					fout.WriteLine("/*#define HAVE_SYS_TIME_H 1*/")
-				Case "HAVE_SYS_UIO_H"
-					fout.WriteLine("/*#define HAVE_SYS_UIO_H 1*/")
-				Case "HAVE_SYS_WAIT_H"
-					fout.WriteLine("/*#define HAVE_SYS_WAIT_H 1*/")
-				Case "HAVE_VALUES_H"
-					fout.WriteLine("/* #undef HAVE_VALUES_H */")
-				Case "HAVE_LIBTHREAD"
-					fout.WriteLine("/* #undef HAVE_LIBTHREAD */")
-				Case "HAVE_ASSERT_H"
-					fout.WriteLine("#define HAVE_ASSERT_H 1")
-				Case "HAVE_LIMITS_H"
-					fout.WriteLine("#define HAVE_LIMITS_H")
-				Case "COLLECT_STATS"
-					fout.WriteLine("/* #undef COLLECT_STATS */")
-				Case "FILE_NAMEPUB_BASEDIR"
-					fout.WriteLine("/* #undef FILE_NAMEPUB_BASEDIR */")
-				Case "HAVE_CXX_BINDING"
-					fout.WriteLine("#define HAVE_CXX_BINDING 1")
-				Case "HAVE_DEBUGGER_SUPPORT"
-					fout.WriteLine("/* #undef HAVE_DEBUGGER_SUPPORT */")
-				Case "HAVE_DGETTEXT"
-					fout.WriteLine("/* #undef HAVE_DGETTEXT */")
-				Case "HAVE_FORTRAN_BINDING"
-					fout.WriteLine("/* #undef HAVE_FORTRAN_BINDING */")
-				Case "HAVE_GCC_ATTRIBUTE"
-					fout.WriteLine("/* #undef HAVE_GCC_ATTRIBUTE */")
-				Case "HAVE_GETTEXT"
-					fout.WriteLine("/* #undef HAVE_GETTEXT */")
-				Case "HAVE_LIBINTL_H"
-					fout.WriteLine("/* #undef HAVE_LIBINTL_H */")
-				Case "HAVE_LONG_DOUBLE"
-					fout.WriteLine("#define HAVE_LONG_DOUBLE 1")
-				Case "HAVE_LONG_LONG_INT"
-					fout.WriteLine("#define HAVE_LONG_LONG_INT 1")
-				Case "HAVE_C_ATTR_ALIGNED"
-					fout.WriteLine("/* #undef HAVE_C_ATTR_ALIGNED */")
-				Case "HAVE_C_MULTI_ATTR_ALIAS"
-					fout.WriteLine("/* #undef HAVE_C_MULTI_ATTR_ALIAS */")
-				Case "HAVE_MAX_STRUCT_ALIGNMENT"
-					'fout.WriteLine("/* #undef HAVE_MAX_STRUCT_ALIGNMENT */")
-					'If bWin64 Then
-					'	fout.WriteLine("#define HAVE_MAX_STRUCT_ALIGNMENT 8")
-					'Else
-					'	fout.WriteLine("#define HAVE_MAX_STRUCT_ALIGNMENT 4")
-					'End If
-					fout.WriteLine("#define HAVE_MAX_STRUCT_ALIGNMENT 8")
-				Case "HAVE_MAX_FP_ALIGNMENT"
-					fout.WriteLine("#define HAVE_MAX_FP_ALIGNMENT 8")
-				Case "HAVE_MAX_INTEGER_ALIGNMENT"
-					fout.WriteLine("#define HAVE_MAX_INTEGER_ALIGNMENT 4")
-				Case "HAVE_LARGEST_STRUCT_ALIGNMENT"
-					fout.WriteLine("/* #undef HAVE_LARGEST_STRUCT_ALIGNMENT */")
-				Case "HAVE_DOUBLE_POS_ALIGNMENT"
-					fout.WriteLine("/* #undef HAVE_DOUBLE_POS_ALIGNMENT */")
-				Case "HAVE_LLINT_POS_ALIGNMENT"
-					fout.WriteLine("/* #undef HAVE_LLINT_POS_ALIGNMENT */")
-				Case "HAVE_NAMEPUB_SERVICE"
-					fout.WriteLine("#define HAVE_NAMEPUB_SERVICE 1")
-				Case "HAVE_NO_FORTRAN_MPI_TYPES_IN_C"
-					fout.WriteLine("/* #undef HAVE_NO_FORTRAN_MPI_TYPES_IN_C */")
-				Case "HAVE_ROMIO"
-					fout.WriteLine("/* #undef HAVE_ROMIO */")
-				Case "HAVE_SEARCH"
-					fout.WriteLine("/* #undef HAVE_SEARCH */")
-				Case "HAVE_SNPRINTF"
-					fout.WriteLine("#define HAVE_SNPRINTF")
-				Case "HAVE_STDARG_H"
-					fout.WriteLine("#define HAVE_STDARG_H")
-				Case "HAVE_SYS_BITYPES_H"
-					fout.WriteLine("/* #undef HAVE_SYS_BITYPES_H */")
-				Case "HAVE_THREAD_H"
-					fout.WriteLine("/* #undef HAVE_THREAD_H */")
-				Case "HAVE_THR_YIELD"
-					fout.WriteLine("/* #undef HAVE_THR_YIELD */")
-				Case "HAVE_TSEARCH"
-					fout.WriteLine("/* #undef HAVE_TSEARCH */")
-				Case "HAVE_VA_COPY"
-					fout.WriteLine("/* #undef HAVE_VA_COPY */")
-				Case "HAVE_VSNPRINTF"
-					fout.WriteLine("#define HAVE_VSNPRINTF")
-				Case "HAVE_VSPRINTF"
-					fout.WriteLine("#define HAVE_VSPRINTF")
-				Case "HAVE_PVFS2_CREATE_WITHOUT_LAYOUT"
-					fout.WriteLine("/* #undef HAVE_PVFS2_CREATE_WITHOUT_LAYOUT */")
-				Case "MPICH_DEBUG_HANDLES"
-					fout.WriteLine("/* #undef HAVE_MPICH_DEBUG_HANDLES */")
-				Case "MPICH_DEBUG_INTERNAL"
-					fout.WriteLine("/* #undef MPICH_DEBUG_INTERNAL */")
-				Case "MPICH_DEBUG_NESTING"
-					fout.WriteLine("/* #undef MPICH_DEBUG_NESTING */")
-				Case "MPICH_ERROR_MSG_LEVEL"
-					fout.WriteLine("#define MPICH_ERROR_MSG_LEVEL MPICH_ERROR_MSG_ALL")
-				Case "MPICH_INFODLL_LOC"
-					fout.WriteLine("/* #undef MPICH_INFODLL_LOC */")
-				' After migrating to autoconf 2.62 we no longer use MPIU_[U]INT*
-				'Case "MPIU_INT8_T"
-				'	fout.WriteLine("#define MPIU_INT8_T __int8")
-				'Case "MPIU_INT16_T"
-				'	fout.WriteLine("#define MPIU_INT16_T __int16")
-				'Case "MPIU_INT32_T"
-				'	fout.WriteLine("#define MPIU_INT32_T __int32")
-				'Case "MPIU_INT64_T"
-				'	fout.WriteLine("#define MPIU_INT64_T __int64")
-				'Case "MPIU_UINT8_T"
-				'	fout.WriteLine("#define MPIU_UINT8_T unsigned __int8")
-				'Case "MPIU_UINT16_T"
-				'	fout.WriteLine("#define MPIU_UINT16_T unsigned __int16")
-				'Case "MPIU_UINT32_T"
-				'	fout.WriteLine("#define MPIU_UINT32_T unsigned __int32")
-				'Case "MPIU_UINT64_T"
-				'	fout.WriteLine("#define MPIU_UINT64_T unsigned __int64")
-				Case "MPIU_SIZE_T"
-					fout.WriteLine("#define MPIU_SIZE_T unsigned int")
-				Case "NDEBUG"
-					fout.WriteLine("/* #undef NDEBUG */")
-				Case "NEEDS_POINTER_ALIGNMENT_ADJUST"
-					fout.WriteLine("/* #undef NEEDS_POINTER_ALIGNMENT_ADJUST */")
-				Case "NEEDS_SNPRINTF_DECL"
-					fout.WriteLine("/* #undef NEEDS_SNPRINTF_DECL */")
-				Case "NEEDS_STRDUP_DECL"
-					fout.WriteLine("/* #undef NEEDS_STRDUP_DECL */")
-				Case "NEEDS_PUTENV_DECL"
-					fout.WriteLine("/* #undef NEEDS_PUTENV_DECL */")
-				Case "PACKAGE_BUGREPORT"
-					fout.WriteLine("/* #undef PACKAGE_BUGREPORT */")
-				Case "PACKAGE_NAME"
-					fout.WriteLine("/* #undef PACKAGE_NAME */")
-				Case "PACKAGE_STRING"
-					fout.WriteLine("/* #undef PACKAGE_STRING */")
-				Case "PACKAGE_TARNAME"
-					fout.WriteLine("/* #undef PACKAGE_TARNAME */")
-				Case "PACKAGE_VERSION"
-					fout.WriteLine("/* #undef PACKAGE_VERSION */")
-				Case "USE_COVERAGE"
-					fout.WriteLine("/* #undef USE_COVERAGE */")
-				Case "USE_FILE_FOR_NAMEPUB"
-					fout.WriteLine("/* #undef USE_FILE_FOR_NAMEPUB */")
-				Case "USE_GETTEXT"
-					fout.WriteLine("/* #undef USE_GETTEXT */")
-				Case "USE_LDAP_FOR_NAMEPUB"
-					fout.WriteLine("/* #undef USE_LDAP_FOR_NAMEPUB */")
-				Case "USE_LOGGING"
-					fout.WriteLine("/* #undef USE_LOGGING */")
-				Case "USE_TSEARCH_WITH_CHARP"
-					fout.WriteLine("/* #undef USE_TSEARCH_WITH_CHARP */")
-				Case "USE_WEAK_SYMBOLS"
-					fout.WriteLine("/* #undef USE_WEAK_SYMBOLS */")
-				Case "HAVE_CPP_VARARGS"
-					fout.WriteLine("/* #undef HAVE_CPP_VARARGS */")
-				Case "HAVE_CLOCK_GETRES"
-					fout.WriteLine("/* #undef HAVE_CLOCK_GETRES */")
-				Case "HAVE_CLOCK_GETTIME"
-					fout.WriteLine("/* #undef HAVE_CLOCK_GETTIME */")
-				Case "HAVE_GETHRTIME"
-					fout.WriteLine("/* #undef HAVE_GETHRTIME */")
-				Case "HAVE_MPI_WIN_CREATE"
-					fout.WriteLine("#define HAVE_MPI_WIN_CREATE 1")
-				Case "HAVE_COMPARE_AND_SWAP"
-					fout.WriteLine("/* #undef HAVE_COMPARE_AND_SWAP */")
-				Case "HAVE_DLFCN_H"
-					fout.WriteLine("/* #undef HAVE_DLFCN_H */")
-				Case "HAVE_UUID_UUID_H"
-					fout.WriteLine("/* #undef HAVE_UUID_UUID_H */")
-				Case "HAVE_GCC_ASM_AND_X86_LFENCE"
-					fout.WriteLine("/* #undef HAVE_GCC_ASM_AND_X86_LFENCE */")
-				Case "HAVE_GCC_ASM_AND_X86_MFENCE"
-					fout.WriteLine("/* #undef HAVE_GCC_ASM_AND_X86_MFENCE */")
-				Case "HAVE_GCC_ASM_AND_X86_SFENCE"
-					fout.WriteLine("/* #undef HAVE_GCC_ASM_AND_X86_SFENCE */")
-				Case "HAVE_MMAP"
-					fout.WriteLine("/* #undef HAVE_MMAP */")
-				Case "HAVE_MPP_SHMEM_H"
-					fout.WriteLine("/* #undef HAVE_MPP_SHMEM_H */")
-				Case "HAVE_SHM_OPEN"
-					fout.WriteLine("/* #undef HAVE_SHM_OPEN */")
-				Case "HAVE_SHM_UNLINK"
-					fout.WriteLine("/* #undef HAVE_SHM_UNLINK */")
-				Case "HAVE_SYS_MMAN_H"
-					fout.WriteLine("/* #undef HAVE_SYS_MMAN_H */")
-				Case "HAVE_SYSCONF"
-					fout.WriteLine("/* #undef HAVE_SYSCONF */")
-				Case "HAVE_NET_IF_H"
-					fout.WriteLine("/* #undef HAVE_NET_IF_H */")
-				Case "HAVE_SYS_SOCKIO_H"
-					fout.WriteLine("/* #undef HAVE_SYS_SOCKIO_H */")
-				Case "HAVE_ARPA_INET_H"
-					fout.WriteLIne("/* #undef HAVE_ARPA_INET_H */")
-				Case "HAVE_CTYPE_H"
-					fout.WriteLine("#define HAVE_CTYPE_H")
-				Case "HAVE_GETPAGESIZE"
-					fout.WriteLine("/* #undef HAVE_GETPAGESIZE */")
-				Case "HAVE_MQUEUE_H"
-					fout.WriteLine("/* #undef HAVE_MQUEUE_H */")
-				Case "HAVE_MQ_OPEN"
-					fout.WriteLine("/* #undef HAVE_MQ_OPEN */")
-				Case "HAVE_MSGGET"
-					fout.WriteLine("/* #undef HAVE_MSGGET */")
-				Case "HAVE_PROCESS_H"
-					fout.WriteLine("#define HAVE_PROCESS_H")
-				Case "HAVE_MULTIPLE_PRAGMA_WEAK"
-					fout.WriteLine("/* #undef HAVE_MULTIPLE_PRAGMA_WEAK */")
-				Case "MPICH_CPU_TICK_TYPE"
-					fout.WriteLine("#define MPICH_CPU_TICK_TYPE USE_WIN_X86_CYCLE_ASM")
-				Case "USE_BUSY_LOCKS"
-					fout.WriteLine("/* #undef USE_BUSY_LOCKS */")
-				Case "USE_MQSHM"
-					fout.WriteLine("/* #undef USE_MQSHM */")
-				Case "USE_ATOMIC_UPDATES"
-					fout.WriteLine("/* #undef USE_ATOMIC_UPDATES */")
-				Case "F77_FALSE_VALUE"
-					fout.WriteLine("#define F77_FALSE_VALUE 0")
-				Case "F77_TRUE_VALUE"
-					' Intel Fotran uses -1
-					' Compaq Visual Fortran uses 1
-					fout.WriteLine("#define F77_TRUE_VALUE -1")
-				Case "F77_TRUE_VALUE_SET"
-					fout.WriteLine("#define F77_TRUE_VALUE_SET 1")
-				Case "F77_RUNTIME_VALUES"
-					fout.WriteLine("/* #undef F77_RUNTIME_VALUES */")
-				Case "HAVE_AINT_LARGER_THAN_FINT"
-					fout.WriteLine("/* #undef HAVE_AINT_LARGER_THAN_FINT */")
-				Case "HAVE_FINT_IS_INT"
-					fout.WriteLine("/* #undef HAVE_FINT_IS_INT */")
-				Case "HAVE_LONG_LONG"
-					fout.WriteLine("/* #undef HAVE_LONG_LONG */")
-				Case "HAVE_WEAK_SYMBOLS"
-					fout.WriteLine("/* #undef HAVE_WEAK_SYMBOLS */")
-				Case "SIZEOF_CHAR"
-					fout.WriteLine("#define SIZEOF_CHAR 1")
-				Case "SIZEOF_F77_DOUBLE_PRECISION"
-					fout.WriteLine("#define SIZEOF_F77_DOUBLE_PRECISION 8")
-				Case "SIZEOF_F77_INTEGER"
-					fout.WriteLine("#define SIZEOF_F77_INTEGER 4")
-				Case "SIZEOF_F77_REAL"
-					fout.WriteLine("#define SIZEOF_F77_REAL 4")
-				Case "SIZEOF_VOIDP"
-					If b64 Then
-						fout.WriteLine("#define SIZEOF_VOIDP 8")
-					Else
-						fout.WriteLine("#define SIZEOF_VOIDP 4")
-					End If
-				Case "USE_GCC_G77_DECLS"
-					fout.WriteLine("/* #undef USE_GCC_G77_DECLS */")
-				Case "USE_POINTER_FOR_BOTTOM"
-					fout.WriteLine("/* #undef USE_POINTER_FOR_BOTTOM */")
-				Case "_TWO_WORD_FCD"
-					fout.WriteLine("/* #undef _TWO_WORD_FCD */")
-				Case "FORTRAN_SPECIAL_FUNCTION_PTR"
-					fout.WriteLine("/* #undef FORTRAN_SPECIAL_FUNCTION_PTR */")
-				Case "F77_NAME_LOWER"
-					If bf77_name_lower Then
-						fout.WriteLine("#define F77_NAME_LOWER")
-					Else
-						fout.WriteLine("/* #undef F77_NAME_LOWER */")
-					End If
-				Case "F77_NAME_LOWER_USCORE"
-					If bf77_name_lower_uscore Then
-						fout.WriteLine("#define F77_NAME_LOWER_USCORE")
-					Else
-						fout.WriteLine("/* #undef F77_NAME_LOWER_USCORE */")
-					End If
-				Case "F77_NAME_LOWER_2USCORE"
-					If bf77_name_lower_2uscore Then
-						fout.WriteLine("#define F77_NAME_LOWER_2USCORE 1")
-					Else
-						fout.WriteLine("/* #undef F77_NAME_LOWER_2USCORE */")
-					End If
-				Case "F77_NAME_UPPER"
-					if bf77_name_upper Then
-						fout.WriteLine("#define F77_NAME_UPPER")
-					Else
-						fout.WriteLine("/* #undef F77_NAME_UPPER */")
-					End If
-				Case "F77_NAME_MIXED"
-					if bf77_name_mixed Then
-						fout.WriteLine("#define F77_NAME_MIXED 1")
-					Else
-						fout.WriteLine("/* #undef F77_NAME_MIXED */")
-					End If
-				Case "F77_NAME_MIXED_USCORE"
-					if bf77_name_mixed_uscore Then
-						fout.WriteLine("#define F77_NAME_MIXED_USCORE 1")
-					Else
-						fout.WriteLine("/* #undef F77_NAME_MIXED_USCORE */")
-					End If
-				Case "HAVE_NSLINKMODULE"
-					fout.WriteLine("/* #undef HAVE_NSLINKMODULE */")
-				Case "HAVE_DLOPEN"
-					fout.WriteLine("/* #undef HAVE_DLOPEN */")
-				Case "HAVE_MACH_O_DYLD_H"
-					fout.WriteLine("/* #undef HAVE_MACH_O_DYLD_H */")
-				Case "USE_HUMAN_READABLE_TOKENS"
-					fout.WriteLine("#define USE_HUMAN_READABLE_TOKENS 1")
-				Case "HAVE_STRERROR"
-					fout.WriteLine("#ifndef HAVE_STRERROR")
-					fout.WriteLine("#define HAVE_STRERROR 1")
-					fout.WriteLine("#endif")
-                                Case "HAVE_STRERROR_R"
-                                        fout.WriteLine("/* #undef HAVE_STRERROR_R */")
-                                Case "STRERROR_R_CHAR_P"
-                                        fout.WriteLine("/* #undef STRERROR_R_CHAR_P */")
-                                Case "NEEDS_STRERROR_R_DECL"
-                                        fout.WriteLine("/* #undef NEEDS_STRERROR_R_DECL */")
-                                Case "HAVE_DECL_STRERROR_R"
-                                        fout.WriteLine("/* #undef HAVE_DECL_STRERROR_R */")
-				Case "HAVE_ASM_AND_X86_LFENCE"
-					fout.WriteLine("/* #undef HAVE_ASM_AND_X86_LFENCE */")
-				Case "HAVE_ASM_AND_X86_MFENCE"
-					fout.WriteLine("/* #undef HAVE_ASM_AND_X86_MFENCE */")
-				Case "HAVE_ASM_AND_X86_SFENCE"
-					fout.WriteLine("/* #undef HAVE_ASM_AND_X86_SFENCE */")
-				Case "HAVE___ASM_AND_X86_LFENCE"
-					fout.WriteLine("/* #undef HAVE___ASM_AND_X86_LFENCE */")
-				Case "HAVE___ASM_AND_X86_MFENCE"
-					fout.WriteLine("/* #undef HAVE___ASM_AND_X86_MFENCE */")
-				Case "HAVE___ASM_AND_X86_SFENCE"
-					fout.WriteLine("/* #undef HAVE___ASM_AND_X86_SFENCE */")
-				Case "HAVE__INTERLOCKEDEXCHANGE"
-					fout.WriteLine("/* #undef HAVE__INTERLOCKEDEXCHANGE */")
-				Case "HAVE_GCC_AND_X86_64_ASM"
-					fout.WriteLine("/* #undef HAVE_GCC_AND_X86_64_ASM */")
-				Case "HAVE_GCC_AND_IA64_ASM"
-					fout.WriteLine("/* #undef HAVE_GCC_AND_IA64_ASM */")
-				Case "HAVE_GCC_AND_SICORTEX_ASM"
-					fout.WriteLine("/* #undef HAVE_GCC_AND_SICORTEX_ASM */")
-				Case "HAVE_GCC_INTRINSIC_ATOMICS"
-					fout.WriteLine("/* #undef HAVE_GCC_INTRINSIC_ATOMICS */")
-				Case "HAVE_SUN_ATOMIC_OPS"
-					fout.WriteLine("/* #undef HAVE_SUN_ATOMIC_OPS */")
-				Case "SYNC_LOCK_TEST_AND_SET_IS_SWAP"
-					fout.WriteLine("/* #undef SYNC_LOCK_TEST_AND_SET_IS_SWAP */")
-				Case "NEEDS_SYS_TIME_H"
-					fout.WriteLine("/* #undef NEEDS_SYS_TIME_H */")
-				Case "HAVE_ALARM"
-					fout.WriteLine("/* #undef HAVE_ALARM */")
-				Case "HAVE_SETITIMER"
-					fout.WriteLine("/* #undef HAVE_SETITIMER */")
-				Case "USE_MPI_FOR_NMPI"
-					fout.WriteLine("/* #undef USE_MPI_FOR_NMPI */")
-				Case "USE_MACROS_FOR_WTIME"
-					fout.WriteLine("/* #undef USE_MACROS_FOR_WTIME */")
-				Case "HAVE_CSHARP_BINDING"
-					fout.WriteLine("/* #undef HAVE_CSHARP_BINDING */")
-				Case "MPIR_REAL4_CTYPE"
-					fout.WriteLine("#define MPIR_REAL4_CTYPE float")
-				Case "MPIR_REAL8_CTYPE"
-					fout.WriteLine("#define MPIR_REAL8_CTYPE double")
-				Case "MPIR_REAL16_CTYPE"
-					fout.WriteLine("/* #undef MPIR_REAL16_CTYPE */")
-				Case "MPIR_INTEGER1_CTYPE"
-					fout.WriteLine("/* #undef MPIR_INTEGER1_CTYPE */")
-				Case "MPIR_INTEGER2_CTYPE"
-					fout.WriteLine("/* #undef MPIR_INTEGER2_CTYPE */")
-				Case "MPIR_INTEGER4_CTYPE"
-					fout.WriteLine("/* #undef MPIR_INTEGER4_CTYPE */")
-				Case "MPIR_INTEGER8_CTYPE"
-					fout.WriteLine("/* #undef MPIR_INTEGER8_CTYPE */")
-				Case "MPIR_INTEGER16_CTYPE"
-					fout.WriteLine("/* #undef MPIR_INTEGER16_CTYPE */")
-				Case "MPIR_CXX_BOOL_CTYPE"
-					fout.WriteLine("#define MPIR_CXX_BOOL_CTYPE unsigned char")
-				Case "MPIR_CXX_BOOL_VALUE"
-					fout.WriteLIne("#define MPIR_CXX_BOOL_VALUE "+ MPIR_CXX_BOOL)
-				Case "MPIR_CXX_COMPLEX_VALUE"
-					fout.WriteLIne("#define MPIR_CXX_COMPLEX_VALUE "+ MPIR_CXX_COMPLEX)
-				Case "MPIR_CXX_DOUBLE_COMPLEX_VALUE"
-					fout.WriteLIne("#define MPIR_CXX_DOUBLE_COMPLEX_VALUE "+ MPIR_CXX_DOUBLE_COMPLEX)
-				Case "MPIR_CXX_LONG_DOUBLE_COMPLEX_VALUE"
-					fout.WriteLIne("#define MPIR_CXX_LONG_DOUBLE_COMPLEX_VALUE "+ MPIR_CXX_LONG_DOUBLE_COMPLEX)
-                                Case "MPIR_PINT_FMT_DEC_SPEC"
-                                        If b64 Then
-                                            fout.WriteLine("#define MPIR_PINT_FMT_DEC_SPEC "+ MPIR_PINT64_FMT_DEC_SPEC)
-                                        Else
-                                            fout.WriteLine("#define MPIR_PINT_FMT_DEC_SPEC "+ MPIR_PINT32_FMT_DEC_SPEC)
-                                        End If
-                                Case "MPIR_UPINT_FMT_DEC_SPEC"
-                                        If b64 Then
-                                            fout.WriteLine("#define MPIR_UPINT_FMT_DEC_SPEC "+ MPIR_UPINT64_FMT_DEC_SPEC)
-                                        Else
-                                            fout.WriteLine("#define MPIR_UPINT_FMT_DEC_SPEC "+ MPIR_UPINT32_FMT_DEC_SPEC)
-                                        End If
-				Case "HAVE___VA_COPY"
-					fout.WriteLine("/* #undef HAVE___VA_COPY */")
-				Case "HAVE_IOSTREAM"
-					fout.WriteLine("#define HAVE_IOSTREAM 1")
-				Case "HAVE_NAMESPACES"
-					fout.WriteLine("#define HAVE_NAMESPACES 1")
-				Case "HAVE_NAMESPACE_STD"
-					fout.WriteLine("#define HAVE_NAMESPACE_STD 1")
-				Case "HAVE_STDDEF_H"
-					fout.WriteLine("#define HAVE_STDDEF_H 1")
-				Case "HAVE_RUNTIME_THREADCHECK"
-					fout.WriteLine("#ifdef MPICH_MULTITHREADED")
-					fout.WriteLine("#define HAVE_RUNTIME_THREADCHECK 1")
-					fout.WriteLine("#else")
-					fout.WriteLine("/* #undef HAVE_RUNTIME_THREADCHECK */")
-					fout.WriteLine("#endif")
-				Case "MPICH_THREAD_LEVEL"
-					fout.WriteLine("#ifdef MPICH_MULTITHREADED")
-					fout.WriteLine("#define MPICH_THREAD_LEVEL MPI_THREAD_MULTIPLE")
-					fout.WriteLine("#else")
-					fout.WriteLine("#define MPICH_THREAD_LEVEL MPI_THREAD_SINGLE")
-					fout.WriteLine("#endif")
-                                Case "USE_THREAD_IMPL"
-                                        fout.WriteLine("#ifdef MPICH_MULTITHREADED")
-                                        fout.WriteLine("#define USE_THREAD_IMPL MPICH_THREAD_IMPL_GLOBAL_MUTEX")
-                                        fout.WriteLine("#else")
-                                        fout.WriteLine("#define USE_THREAD_IMPL MPICH_THREAD_IMPL_NONE")
-                                        fout.WriteLine("#endif")
-                                Case "MPIU_THREAD_PACKAGE_NAME"
-                                        fout.WriteLine("#define MPIU_THREAD_PACKAGE_NAME MPIU_THREAD_PACKAGE_WIN")
-				Case "MPIU_THREAD_REFCOUNT"
-					fout.WriteLine("#define MPIU_THREAD_REFCOUNT MPIU_REFCOUNT_NONE")
-				Case "MPIU_THREAD_GRANULARITY"
-					fout.WriteLine("#ifdef MPICH_MULTITHREADED")
-					fout.WriteLine("#define MPIU_THREAD_GRANULARITY MPIU_THREAD_GRANULARITY_GLOBAL")
-					fout.WriteLine("#else")
-					fout.WriteLine("#define MPIU_THREAD_GRANULARITY MPIU_THREAD_GRANULARITY_SINGLE")
-					fout.WriteLine("#endif")
-                                Case "MPIU_THREAD_SUPPRESS_PREDEFINED_REFCOUNTS"
-                                        ' Currently we only build MPICH with global lock 
-                                        ' -Introduce this option when building lock-free version
-                                        fout.WriteLine("/* #undef MPIU_THREAD_SUPPRESS_PREDEFINED_REFCOUNTS */")
-                                Case "MPIU_TLS_SPECIFIER"
-                                        fout.WriteLine("/* #undef MPIU_TLS_SPECIFIER */")
-				Case "MPIU_HANDLE_ALLOCATION_METHOD"
-					fout.WriteLine("#define MPIU_HANDLE_ALLOCATION_METHOD MPIU_HANDLE_ALLOCATION_MUTEX")
-				Case "MPIU_MUTEX_WAIT_TIME"
-					fout.WriteLine("/* #undef MPIU_MUTEX_WAIT_TIME */")
-				Case "_REENTRANT"
-					fout.WriteLine("/* #undef _REENTRANT */")
-				Case "_THREAD_SAFE"
-					fout.WriteLine("/* #undef _THREAD_SAFE */")
-				Case "HAVE_SYS_POLL_H"
-					fout.WriteLine("/* #undef HAVE_SYS_POLL_H */")
-				Case "USE_IB_IBAL"
-					fout.WriteLine("/* #undef USE_IB_IBAL */")
-					fout.WriteLine("/* This is set in the project settings */")
-				Case "USE_IB_VAPI"
-					fout.WriteLine("/* #define USE_IB_VAPI */")
-					fout.WriteLine("/* This is set in the project settings */")
-				Case "MPID_IBU_TYPE_UNIX"
-					fout.WriteLine("/* #undef MPID_IBU_TYPE_UNIX */")
-					'fout.WriteLine("#define MPID_IBU_TYPE_WINDOWS 1")
-				Case "HAVE_MALLOC_H"
-					fout.WriteLine("#define HAVE_MALLOC_H 1")
-				Case "MPICH_DEBUG_MEMINIT"
-					fout.WriteLine("/* #undef MPICH_DEBUG_MEMINIT */")
-				Case "C_ALLOCA"
-					fout.WriteLine("/* #undef C_ALLOCA */")
-				Case "HAVE_ALLOCA"
-					fout.WriteLine("#define HAVE_ALLOCA 1")
-					fout.WriteLine("#define alloca _alloca")
-				Case "HAVE_ALLOCA_H"
-					fout.WriteLine("/* #undef HAVE_ALLOCA_H */")
-				Case "HAVE_PTHREAD_YIELD"
-					fout.WriteLine("/* #undef HAVE_PTHREAD_YIELD */")
-				Case "HAVE_PTHREAD_MUTEX_RECURSIVE"
-					fout.WriteLine("/* #undef HAVE_PTHREAD_MUTEX_RECURSIVE */")
-				Case "HAVE_PTHREAD_MUTEX_RECURSIVE_NP"
-					fout.WriteLine("/* #undef HAVE_PTHREAD_MUTEX_RECURSIVE_NP */")
-				Case "HAVE_MKSTEMP"
-					fout.WriteLine("/* #undef HAVE_MKSTEMP */")
-				Case "HAVE_O_BINARY"
-					fout.WriteLine("#define HAVE_O_BINARY 1")
-				Case "_FILE_OFFSET_BITS"
-					fout.WriteLine("/* #undef _FILE_OFFSET_BITS */")
-				Case "_LARGEFILE64_SOURCE"
-					fout.WriteLine("/* #undef _LARGEFILE64_SOURCE */")
-				Case "HAVE_MPI_COMM_F2C"
-					fout.WriteLine("#define HAVE_MPI_COMM_F2C 1")
-				Case "HAVE_MPI_ERRHANDLER_F2C"
-					fout.WriteLine("#define HAVE_MPI_ERRHANDLER_F2C 1")
-				Case "HAVE_MPI_GROUP_F2C"
-					fout.WriteLine("#define HAVE_MPI_GROUP_F2C 1")
-				Case "HAVE_MPI_IO"
-					fout.WriteLine("#define HAVE_MPI_IO 1")
-				Case "HAVE_MPI_OP_F2C"
-					fout.WriteLine("#define HAVE_MPI_OP_F2C 1")
-				Case "HAVE_MPI_REQUEST_F2C"
-					fout.WriteLine("#define HAVE_MPI_REQUEST_F2C 1")
-				Case "HAVE_MPI_RMA"
-					fout.WriteLine("#define HAVE_MPI_RMA 1")
-				Case "HAVE_MPI_STATUSES_IGNORE"
-					fout.WriteLine("#define HAVE_MPI_STATUSES_IGNORE 1")
-				Case "HAVE_MPI_STATUS_BROKEN_ON_PROC_NULL"
-					fout.WriteLine("/* #undef HAVE_MPI_STATUS_BROKEN_ON_PROC_NULL */")
-				Case "HAVE_MPI_STATUS_F2C"
-					fout.WriteLine("#define HAVE_MPI_STATUS_F2C 1")
-				Case "HAVE_MPI_STATUS_IGNORE"
-					fout.WriteLine("#define HAVE_MPI_STATUS_IGNORE 1")
-				Case "HAVE_MPI_TYPE_F2C"
-					fout.WriteLine("#define HAVE_MPI_TYPE_F2C 1")
-                                Case "HAVE_MPI_F_INIT_WORKS_WITH_C"
-                                        fout.WriteLine("/* #undef HAVE_MPI_F_INIT_WORKS_WITH_C */")
-				Case "HAVE_NO_MPIO_REQUEST"
-					fout.WriteLine("/* #undef HAVE_NO_MPIO_REQUEST */")
-				Case "HAVE_PROTOTYPES"
-					fout.WriteLine("#define HAVE_PROTOTYPES 1")
-				Case "MPE_F77_FALSE_VALUE"
-					fout.WriteLine("#define MPE_F77_FALSE_VALUE 0")
-				Case "MPE_F77_TRUE_VALUE"
-					fout.WriteLine("#define MPE_F77_TRUE_VALUE -1")
-				Case "MPI_Fint"
-					fout.WriteLine("/* #undef MPI_Fint */")
-				Case "MPI_STATUS_SIZE"
-					fout.WriteLine("#define MPI_STATUS_SIZE 5")
-				Case "USE_STDARG"
-					fout.WriteLine("/* #undef USE_STDARG */")
-				Case "HAVE_MPI_WTIME"
-					fout.WriteLine("#define HAVE_MPI_WTIME 1")
-				Case "STDCALL"
-					fout.WriteLine("/* #undef STDCALL */")
-				Case "MPICH_DEBUG_FINE_GRAIN_NESTING"
-					fout.WriteLine("/* #undef MPICH_DEBUG_FINE_GRAIN_NESTING */")
-				Case "HAVE_SPARC_INLINE_PROCESS_LOCKS"
-					fout.WriteLine("/* #undef HAVE_SPARC_INLINE_PROCESS_LOCKS */")
-				Case "HAVE_IOSTREAM_H"
-					fout.WriteLine("/* #undef HAVE_IOSTREAM_H */")
-				Case "HAVE_CXX_EXCEPTIONS"
-					fout.WriteLine("#define HAVE_CXX_EXCEPTIONS 1")
-				Case "bool"
-					fout.WriteLine("/* bool */")
-				Case "HAVE_ENDIAN_H"
-					fout.WriteLine("/* HAVE_ENDIAN_H */")
-				Case "WORDS_UNIVERSAL_ENDIAN"
-					fout.WriteLine("#undef WORDS_UNIVERSAL_ENDIAN")
-				Case "NEEDS_VSNPRINTF_DECL"
-					fout.WriteLine("/* NEEDS_VSNPRINTF_DECL */")
-				Case "NEEDS_GETHOSTNAME_DECL"
-					fout.WriteLine("/* NEEDS_GETHOSTNAME_DECL */")
-				Case "NEEDS_MKSTEMP_DECL"
-					fout.WriteLine("/* NEEDS_MKSTEMP_DECL */")
-				Case "HAVE_MPI_RMA_LOCK"
-					fout.WriteLine("#define HAVE_MPI_RMA_LOCK 1")
-				Case "HAVE_MPI_RMA_TEST"
-					fout.WriteLine("#define HAVE_MPI_RMA_TEST 1")
-				Case "HAVE_MPI_F_STATUS_IGNORE"
-					fout.WriteLine("#define HAVE_MPI_F_STATUS_IGNORE 1")
-				Case "HAVE_MPI_F_STATUSES_IGNORE"
-					fout.WriteLine("#define HAVE_MPI_F_STATUSES_IGNORE 1")
-				Case "AIO_SIGNOTIFY_NONE"
-					fout.WriteLine("/* #undef AIO_SIGNOTIFY_NONE */")
-				Case "AIX"
-					fout.WriteLine("/* #undef AIX */")
-				Case "CRAY"
-					fout.WriteLine("/* #undef CRAY */")
-				Case "HAVE_AIO_H"
-					fout.WriteLine("/* #undef HAVE_AIO_H */")
-				Case "HAVE_FSYNC"
-					fout.WriteLine("/* #undef HAVE_FSYNC */")
-				Case "HAVE_FTRUNCATE"
-					fout.WriteLine("/* #undef HAVE_FTRUNCATE */")
-				Case "HAVE_LONG_LONG_64"
-					fout.WriteLine("/* #undef HAVE_LONG_LONG_64 */")
-				Case "HAVE_LSTAT"
-					fout.WriteLine("/* #undef HAVE_LSTAT */")
-				Case "HAVE_MEMALIGN"
-					fout.WriteLine("/* #undef HAVE_MEMALIGN */")
-				Case "HAVE_MPI_COMBINERS"
-					fout.WriteLine("/* #undef HAVE_MPI_COMBINERS */")
-				Case "HAVE_MPI_DARRAY_SUBARRAY"
-					fout.WriteLine("#define HAVE_MPI_DARRAY_SUBARRAY 1")
-				Case "HAVE_MPI_GREQUEST"
-					fout.WriteLine("#define HAVE_MPI_GREQUEST 1")
-				Case "HAVE_MPI_INFO"
-					fout.WriteLine("#define HAVE_MPI_INFO 1")
-				Case "HAVE_MPI_LONG_LONG_INT"
-					fout.WriteLine("/* #undef HAVE_MPI_LONG_LONG_INT */")
-				Case "HAVE_PREAD64"
-					fout.WriteLine("/* #undef HAVE_PREAD64 */")
-				Case "HAVE_PVFS2_H"
-					fout.WriteLine("/* #undef HAVE_PVFS2_H */")
-				Case "HAVE_PVFS2_SUPER_MAGIC"
-					fout.WriteLine("/* #undef HAVE_PVFS2_SUPER_MAGIC */")
-				Case "HAVE_PVFS_H"
-					fout.WriteLine("/* #undef HAVE_PVFS_H */")
-				Case "HAVE_PVFS_SUPER_MAGIC"
-					fout.WriteLine("/* #undef HAVE_PVFS_SUPER_MAGIC */")
-				Case "HAVE_READLINK"
-					fout.WriteLine("/* #undef HAVE_READLINK */")
-				Case "HAVE_SIGNAL_H"
-					fout.WriteLine("/* #undef HAVE_SIGNAL_H */")
-				Case "HAVE_SIGNAL"
-					fout.WriteLine("/* #undef HAVE_SIGNAL */")
-				Case "HAVE_STAT"
-					fout.WriteLine("/* #undef HAVE_STAT */")
-				Case "HAVE_STATUS_SET_BYTES"
-					fout.WriteLine("#define HAVE_STATUS_SET_BYTES 1")
-				Case "HAVE_STATVFS"
-					fout.WriteLine("/* #undef HAVE_STATVFS */")
-				Case "HAVE_STRUCT_STATFS"
-					fout.WriteLine("/* #undef HAVE_STRUCT_STATFS */")
-				Case "HAVE_SYS_AIO_H"
-					fout.WriteLine("/* #undef HAVE_SYS_AIO_H */")
-				Case "HAVE_SYS_MOUNT_H"
-					fout.WriteLine("/* #undef HAVE_SYS_MOUNT_H */")
-				Case "HAVE_SYS_STATVFS_H"
-					fout.WriteLine("/* #undef HAVE_SYS_STATVFS_H */")
-				Case "HAVE_SYS_VFS_H"
-					fout.WriteLine("/* #undef HAVE_SYS_VFS_H */")
-				Case "HPUX"
-					fout.WriteLine("/* #undef HPUX */")
-				Case "INT_LT_POINTER"
-					fout.WriteLine("/* #undef INT_LT_POINTER */")
-				Case "IRIX"
-					fout.WriteLine("/* #undef IRIX */")
-				Case "MPICH"
-					fout.WriteLine("/* #undef MPICH */")
-				Case "MPIHP"
-					fout.WriteLine("/* #undef MPIHP */")
-				Case "MPILAM"
-					fout.WriteLine("/* #undef MPILAM */")
-				Case "MPISGI"
-					fout.WriteLine("/* #undef MPISGI */")
-				Case "MPI_OFFSET_IS_INT"
-					fout.WriteLine("/* #undef MPI_OFFSET_IS_INT */")
-				Case "SIZEOF_MPI_OFFSET"
-					fout.WriteLine("/* #undef SIZEOF_MPI_OFFSET */")
-				Case "NEEDS_FSYNC_DECL"
-					fout.WriteLine("/* #undef NEEDS_FSYNC_DECL */")
-				Case "NEEDS_FTRUNCATE_DECL"
-					fout.WriteLine("/* #undef NEEDS_FTRUNCATE_DECL */")
-				Case "NEEDS_INT_CAST_WITH_FLOCK"
-					fout.WriteLine("/* #undef NEEDS_INT_CAST_WITH_FLOCK */")
-				Case "NEEDS_LSTAT_DECL"
-					fout.WriteLine("/* #undef NEEDS_LSTAT_DECL */")
-				Case "NEEDS_MPI_TEST"
-					fout.WriteLine("/* #undef NEEDS_MPI_TEST */")
-				Case "NEEDS_READLINK_DECL"
-					fout.WriteLine("/* #undef NEEDS_READLINK_DECL */")
-				Case "NO_MPI_SGI_type_is_contig"
-					fout.WriteLine("/* #undef NO_MPI_SGI_type_is_contig */")
-				Case "PRINT_ERR_MSG"
-					fout.WriteLine("/* #undef PRINT_ERR_MSG */")
-				Case "ROMIO_GRIDFTP"
-					fout.WriteLine("/* #undef ROMIO_GRIDFTP */")
-				Case "ROMIO_HAVE_AIO_CALLS_NEED_FILEDES"
-					fout.WriteLine("/* #undef ROMIO_HAVE_AIO_CALLS_NEED_FILEDES */")
-				Case "ROMIO_HAVE_AIO_SUSPEND_TWO_ARGS"
-					fout.WriteLine("/* #undef ROMIO_HAVE_AIO_SUSPEND_TWO_ARGS */")
-				Case "ROMIO_HAVE_STRUCT_AIOCB_WITH_AIO_FILDES"
-					fout.WriteLine("/* #undef ROMIO_HAVE_STRUCT_AIOCB_WITH_AIO_FILDES */")
-				Case "ROMIO_HAVE_STRUCT_AIOCB_WITH_AIO_HANDLE"
-					fout.WriteLine("/* #undef ROMIO_HAVE_STRUCT_AIOCB_WITH_AIO_HANDLE */")
-				Case "ROMIO_HAVE_STRUCT_AIOCB_WITH_AIO_REQPRIO"
-					fout.WriteLine("/* #undef ROMIO_HAVE_STRUCT_AIOCB_WITH_AIO_REQPRIO */")
-				Case "ROMIO_HAVE_STRUCT_AIOCB_WITH_AIO_SIGEVENT"
-					fout.WriteLine("/* #undef ROMIO_HAVE_STRUCT_AIOCB_WITH_AIO_SIGEVENT */")
-				Case "ROMIO_HAVE_STRUCT_AIOCB_WITH_AIO_WHENCE"
-					fout.WriteLine("/* #undef ROMIO_HAVE_STRUCT_AIOCB_WITH_AIO_WHENCE */")
-				Case "ROMIO_HAVE_STRUCT_STATFS_WITH_F_FSTYPENAME"
-					fout.WriteLine("/* #undef ROMIO_HAVE_STRUCT_STATFS_WITH_F_FSTYPENAME */")
-				Case "ROMIO_HAVE_STRUCT_STATVFS_WITH_F_BASETYPE"
-					fout.WriteLine("/* #undef ROMIO_HAVE_STRUCT_STATVFS_WITH_F_BASETYPE */")
-				Case "ROMIO_HAVE_STRUCT_STAT_WITH_ST_FSTYPE"
-					fout.WriteLine("/* #undef ROMIO_HAVE_STRUCT_STAT_WITH_ST_FSTYPE */")
-				Case "ROMIO_HAVE_WORKING_AIO"
-					fout.WriteLine("/* #undef ROMIO_HAVE_WORKING_AIO */")
-				Case "ROMIO_HFS"
-					fout.WriteLine("/* #undef ROMIO_HFS */")
-				Case "ROMIO_INSIDE_MPICH"
-					fout.WriteLine("#define ROMIO_INSIDE_MPICH 1")
-				Case "ROMIO_NFS"
-					fout.WriteLine("/* #undef ROMIO_NFS */")
-				Case "ROMIO_PANFS"
-					fout.WriteLine("/* #undef ROMIO_PANFS */")
-				Case "ROMIO_PFS"
-					fout.WriteLine("/* #undef ROMIO_PFS */")
-				Case "ROMIO_PVFS"
-					fout.WriteLine("/* #undef ROMIO_PVFS */")
-				Case "ROMIO_PVFS2"
-					fout.WriteLine("/* #undef ROMIO_PVFS2 */")
-				Case "ROMIO_PVFS_NEEDS_INT64_DEFINITION"
-					fout.WriteLine("/* #undef ROMIO_PVFS_NEEDS_INT64_DEFINITION */")
-				Case "ROMIO_SFS"
-					fout.WriteLine("/* #undef ROMIO_SFS */")
-				Case "ROMIO_TESTFS"
-					fout.WriteLine("/* #undef ROMIO_TESTFS */")
-				Case "ROMIO_UFS"
-					fout.WriteLine("/* #undef ROMIO_UFS */")
-				Case "ROMIO_XFS"
-					fout.WriteLine("/* #undef ROMIO_XFS */")
-				Case "SPPUX"
-					fout.WriteLine("/* #undef SPPUX */")
-				Case "SX4"
-					fout.WriteLine("/* #undef SX4 */")
-                                Case "HAVE_LSEEK64"
-                                        ' lseeki64 is available on windows
-                                        fout.WriteLine("/* #undef HAVE_LSEEK64 */")
-                                Case "NEEDS_LSEEK64_DECL"
-                                        fout.WriteLine("/* #undef NEEDS_LSEEK64_DECL */")
-				Case "USE_DBG_LOGGING"
-					fout.WriteLine("/* #undef USE_DBG_LOGGING */")
-				Case "HAVE_CFUUIDCREATE"
-					fout.WriteLine("/* #undef HAVE_CFUUIDCREATE */")
-				Case "HAVE_TIME"
-					fout.WriteLine("#define HAVE_TIME 1")
-				Case "HAVE_TIME_H"
-					fout.WriteLine("#define HAVE_TIME_H 1")
-				Case "HAVE_UUID_GENERATE"
-					fout.WriteLine("/* #undef HAVE_UUID_GENERATE */")
-				Case "HAVE_LRAND48"
-					fout.WriteLine("/* #undef HAVE_LRAND48 */")
-				Case "HAVE_SRAND48"
-					fout.WriteLine("/* #undef HAVE_SRAND48 */")
-				Case "NEEDS_LRAND48_DECL"
-					fout.WriteLine("/* #undef NEEDS_LRAND48_DECL */")
-				Case "NEEDS_SRAND48_DECL"
-					fout.WriteLine("/* #undef NEEDS_SRAND48_DECL */")
-				Case "HAVE_SHM_RW"
-					fout.WriteLine("/* #undef HAVE_SHM_RW */")
-				Case "HAVE_WORKING_SHMGET"
-					fout.WriteLine("/* #undef HAVE_WORKING_SHMGET */")
-				Case "HAVE_PMPI_COMM_CREATE_KEYVAL"
-					fout.WriteLine("#define HAVE_PMPI_COMM_CREATE_KEYVAL 1")
-				Case "HAVE_PMPI_COMM_FREE_KEYVAL"
-					fout.WriteLine("#define HAVE_PMPI_COMM_FREE_KEYVAL 1")
-				Case "HAVE_PMPI_COMM_GET_ATTR"
-					fout.WriteLine("#define HAVE_PMPI_COMM_GET_ATTR 1")
-				Case "HAVE_PMPI_COMM_SET_ATTR"
-					fout.WriteLine("#define HAVE_PMPI_COMM_SET_ATTR 1")
-				Case "_XOPEN_SOURCE"
-					fout.WriteLine("/* #undef _XOPEN_SOURCE */")
-				Case "HAVE_SYS_MSG_H"
-					fout.WriteLine("/* #undef HAVE_SYS_MSG_H */")
-				Case "HAVE_INET_PTON"
-					fout.WriteLine("/* #undef HAVE_INET_PTON */")
-				Case "_LARGE_FILES"
-					fout.WriteLine("/* #undef _LARGE_FILES */")
-				Case "HAVE_MAX_DOUBLE_FP_ALIGNMENT"
-					fout.WriteLine("#define HAVE_MAX_DOUBLE_FP_ALIGNMENT 8")
-				Case "HAVE_MAX_LONG_DOUBLE_FP_ALIGNMENT"
-					fout.WriteLine("#define HAVE_MAX_LONG_DOUBLE_FP_ALIGNMENT 8")
-				Case "SIZEOF_BOOL"
-					fout.WriteLine("#define SIZEOF_BOOL 1")
-				Case "SIZEOF_COMPLEX"
-					fout.WriteLine("#define SIZEOF_COMPLEX 8")
-				Case "SIZEOF_DOUBLECOMPLEX"
-					fout.WriteLine("#define SIZEOF_DOUBLECOMPLEX 16")
-				Case "SIZEOF_LONGDOUBLECOMPLEX"
-					fout.WriteLine("#define SIZEOF_LONGDOUBLECOMPLEX 16")
-				Case "size_t"
-					fout.WriteLine("/* #define size_t unsigned */")
-				Case "HAVE_UTIL_SHM"
-					fout.WriteLine("#undef HAVE_UTIL_SHM")
-				Case "HAVE_UTIL_SOCK"
-					fout.WriteLine("#undef HAVE_UTIL_SOCK")
-				Case "pid_t"
-					fout.WriteLine("#define pid_t int")
-				Case "CLOG_IMPL"
-					fout.WriteLine("#undef CLOG_IMPL")
-				Case "FIX_STDINT_ORDER"
-					fout.WriteLine("#undef FIX_STDINT_ORDER")
-				Case "HAVE_CRAY_FCD_STRING"
-					fout.WriteLine("#undef HAVE_CRAY_FCD_STRING")
-				Case "HAVE_CRAY_FCD_LOGICAL"
-					fout.WriteLine("#undef HAVE_CRAY_FCD_LOGICAL")
-				Case "HAVE_MPI_SPAWN"
-					fout.WriteLine("#undef HAVE_MPI_SPAWN")
-				Case "MAKE_SAFE_PMPI_CALL"
-					fout.WriteLine("#undef MAKE_SAFE_PMPI_CALL")
-				Case "HAVE_MPI_NAMING"
-					fout.WriteLine("#undef HAVE_MPI_NAMING")
-				Case "HAVE_INT_LT_POINTER"
-					If b64 Then
-						fout.WriteLine("#define HAVE_INT_LT_POINTER 1")
-					Else
-						fout.WriteLine("#undef HAVE_INT_LT_POINTER")
-					End If
-				Case "HAVE_ANY_INT32_T_ALIGNMENT"
-					fout.WriteLine("#define HAVE_ANY_INT32_T_ALIGNMENT 1")
-				Case "HAVE_ANY_INT64_T_ALIGNMENT"
-					fout.WriteLine("#define HAVE_ANY_INT64_T_ALIGNMENT 1")
-				Case "WORDS_LITTLEENDIAN"
-					fout.WriteLine("#define WORDS_LITTLEENDIAN 1")
-				Case "HAVE_STRUCT_IFCONF"
-					fout.WriteLine("#undef HAVE_STRUCT_IFCONF")
-				Case "USE_SVIDSOURCE_FOR_IFCONF"
-					fout.WriteLine("#undef USE_SVIDSOURCE_FOR_IFCONF")
-                                Case "USE_ALL_SOURCE_FOR_IFCONF"
-                                        fout.WriteLine("/* #undef USE_ALL_SOURCE_FOR_IFCONF */")
-				Case "HAVE_SYSCTL"
-					fout.WriteLine("#undef HAVE_SYSCTL")
-				Case "HAVE_SYS_SYSCTL_H"
-					fout.WriteLine("#undef HAVE_SYS_SYSCTL_H")
-				' Define to enable nemesis checkpointing
-				Case "ENABLE_CHECKPOINTING"
-					fout.WriteLine("/* #undef ENABLE_CHECKPOINTING */")
-				' Define to disable shm communicn in nemesis 
-				' - for debugging
-				Case "ENABLED_NO_LOCAL"
-					fout.WriteLine("/* #undef ENABLED_NO_LOCAL */")
-				' Define to enable shm communicn btw even procs or
-				' odd procs in nemesis - for debugging
-				Case "ENABLED_ODD_EVEN_CLIQUES"
-					fout.WriteLine("/* #undef ENABLED_ODD_EVEN_CLIQUES */")
-				' Define to enable shared memory collectives in nemesis
-				Case "ENABLED_SHM_COLLECTIVES"
-					fout.WriteLine("/* #undef ENABLED_SHM_COLLECTIVES */")
-				Case "ENABLE_COMM_OVERRIDES"
-					fout.WriteLine("/* #undef ENABLE_COMM_OVERRIDES */")
-				Case "USE_PIPE_COLLECTIVES"
-					fout.WriteLine("#define USE_PIPE_COLLECTIVES")
-				' Define to remove SwithToThread in polling loops in nemesis
-				'Case "ENABLE_NO_SCHED_YIELD"
-				'	fout.WriteLine("/* #undef ENABLE_NO_SCHED_YIELD */")
-				Case "ENABLE_NO_YIELD"
-					fout.WriteLine("/* #undef ENABLE_NO_YIELD */")
-				' Define for lfence within _asm{} in nemesis
-				Case "HAVE_ASM_AND_X86_LFENCE"
-					fout.WriteLIne("/* #undef HAVE_ASM_AND_X86_LFENCE */")
-				' Define for mfence within _asm{} in nemesis
-				Case "HAVE_ASM_AND_X86_MFENCE"
-					fout.WriteLIne("/* #undef HAVE_ASM_AND_X86_MFENCE */")
-				' Define for sfence within _asm{} in nemesis
-				Case "HAVE_ASM_AND_X86_SFENCE"
-					fout.WriteLIne("/* #undef HAVE_ASM_AND_X86_SFENCE */")
-				' Define for lfence within _asm{} +gcc in nemesis
-				Case "HAVE_GCC_ASM_AND_X86_LFENCE"
-					fout.WriteLIne("/* #undef HAVE_GCC_ASM_AND_X86_LFENCE */")
-				' Define for mfence within _asm{} +gcc in nemesis
-				Case "HAVE_GCC_ASM_AND_X86_MFENCE"
-					fout.WriteLIne("/* #undef HAVE_GCC_ASM_AND_X86_MFENCE */")
-				' Define for sfence within _asm{} in nemesis
-				Case "HAVE_GCC_ASM_AND_X86_SFENCE"
-					fout.WriteLIne("/* #undef HAVE_GCC_ASM_AND_X86_SFENCE */")
-				' Define to turn on inline opt in nemesis
-				Case "MPID_NEM_INLINE"
-					fout.WriteLine("#define MPID_NEM_INLINE 1")
-				' Choosing the net module in nemesis
-				Case "MPID_NEM_NET_MODULE"
-					fout.WriteLine("#define MPID_NEM_NET_MODULE MPID_NEM_NEWTCP_MODULE")
-				Case "MPID_MAD_MODULE_MULTIRAIL"
-					fout.WriteLine("/* #undef MPID_MAD_MODULE_MULTIRAIL */")
-				' Define if SYSV shm available 
-				Case "HAVE_SYSV_SHARED_MEM"
-					fout.WriteLine("/* #undef HAVE_SYSV_SHARED_MEM */")
-				' Define to turn on prefetching opt in nemesis
-				Case "PREFETCH_CELL"
-					fout.WriteLine("#define PREFETCH_CELL 1")
-				' Define to use fastboxes in nemesis
-				Case "USE_FASTBOX"
-					fout.WriteLine("#define USE_FASTBOX 1")
-				Case "HAVE_LIBCKPT"
-					fout.WriteLine("/* #undef HAVE_LIBCKPT */")
-				Case "HAVE_LIBCLI"
-					fout.WriteLine("/* #undef HAVE_LIBCLI */")
-				Case "HAVE_LIBELAN"
-					fout.WriteLine("/* #undef HAVE_LIBELAN */")
-				Case "HAVE_LIBGM"
-					fout.WriteLine("/* #undef HAVE_LIBGM */")
-				Case "HAVE_LIBIBVERBS"
-					fout.WriteLine("/* #undef HAVE_LIBIBVERBS */")
-				Case "HAVE_LIBMYRIEXPRESS"
-					fout.WriteLine("/* #undef HAVE_LIBMYRIEXPRESS */")
-				Case "HAVE_LIBPSM_INFINIPATH"
-					fout.WriteLine("/* #undef HAVE_LIBPSM_INFINIPATH */")
-				Case "HAVE_LIBNMAD"
-					fout.WriteLine("/* #undef HAVE_LIBNMAD */")
-				Case "HAVE_LIBCR"
-					fout.WriteLine("/* #undef HAVE_LIBCR */")
-				Case "HAVE_MUNMAP"
-					fout.WriteLine("/* #undef HAVE_MUNMAP */")
-				Case "HAVE_RAND"
-					fout.WriteLIne("/* #undef HAVE_RAND */")
-				Case "HAVE_SRAND"
-					fout.WriteLine("/* #undef HAVE_SRAND */")
-				Case "HAVE_STRTOLL"
-					fout.WriteLine("/* #undef HAVE_STRTOLL */")
-				Case "HAVE_ZOIDFS_H"
-					fout.WriteLine("#undef HAVE_ZOIDFS_H")
-				Case "HAVE_MPIU_FUNCS"
-					fout.WriteLine("#define HAVE_MPIU_FUNCS 1")
-				Case "ROMIO_BGL"
-					fout.WriteLine("#undef ROMIO_BGL")
-				Case "ROMIO_BGLOCKLESS"
-					fout.WriteLine("#undef ROMIO_BGLOCKLESS")
-				Case "ROMIO_LUSTRE"
-					fout.WriteLine("#undef ROMIO_LUSTRE")
-                                Case "HAVE_LUSTRE_LUSTRE_USER_H"
-                                        fout.WriteLine("/* #undef HAVE_LUSTRE_LUSTRE_USER_H */")
-				Case "ROMIO_ZOIDFS"
-					fout.WriteLine("#undef ROMIO_ZOIDFS")
-				Case "CRAY_STACKSEG_END"
-					fout.WriteLine("#undef CRAY_STACKSEG_END")
-				Case "HAVE_BINDPROCESSOR"
-					fout.WriteLine("#undef HAVE_BINDPROCESSOR")
-				Case "HAVE_CPU_SET_MACROS"
-					fout.WriteLine("#undef HAVE_CPU_SET_MACROS")
-				Case "HAVE_CPU_SET_T"
-					fout.WriteLine("#undef HAVE_CPU_SET_T")
-				Case "HAVE_CXX_COMPLEX"
-					fout.WriteLine("#define HAVE_CXX_COMPLEX 1")
-				Case "HAVE_DLSYM"
-					fout.WriteLine("#undef HAVE_DLSYM")
-				Case "HAVE_DOUBLE_ALIGNMENT_EXCEPTION"
-					' FIXME: Doesn't windows 64-bit have alignment exception ? 
-					fout.WriteLine("#undef HAVE_DOUBLE_ALIGNMENT_EXCEPTION")
-				Case "HAVE_FC_TYPE_ROUTINES"
-					fout.WriteLine("#define HAVE_FC_TYPE_ROUTINES")
-				Case "HAVE_GETPID"
-					fout.WriteLine("#undef HAVE_GETPID")
-				Case "HAVE_MPICHCONF"
-					fout.WriteLine("#define HAVE_MPICHCONF 1")
-				Case "HAVE_OSX_THREAD_AFFINITY"
-					fout.WriteLine("#undef HAVE_OSX_THREAD_AFFINITY")
-				Case "HAVE_PTHREAD_CLEANUP_PUSH"
-					fout.WriteLine("#undef HAVE_PTHREAD_CLEANUP_PUSH")
-				Case "HAVE_PTHREAD_CLEANUP_PUSH_MACRO"
-					fout.WriteLine("#undef HAVE_PTHREAD_CLEANUP_PUSH_MACRO")
-				Case "HAVE_RUNTIME_THREADCHECK"
-					fout.WriteLine("#define HAVE_RUNTIME_THREADCHECK 1")
-				Case "HAVE_SCHED_GETAFFINITY"
-					fout.WriteLine("#undef HAVE_SCHED_GETAFFINITY")
-				Case "HAVE_SCHED_SETAFFINITY"
-					fout.WriteLine("#undef HAVE_SCHED_SETAFFINITY")
-				Case "HAVE_THREAD_POLICY_SET"
-					fout.WriteLine("#undef HAVE_THREAD_POLICY_SET")
-				Case "LINUX86_CYCLE_CPUID_RDTSC"
-					fout.WriteLine("#undef LINUX86_CYCLE_CPUID_RDTSC")
-				Case "LINUX86_CYCLE_RDTSC"
-					fout.WriteLine("#undef LINUX86_CYCLE_RDTSC")
-				Case "LINUX86_CYCLE_RDTSCP"
-					fout.WriteLine("#undef LINUX86_CYCLE_RDTSCP")
-                                Case "LINUX86_CYCLE_CPUID_RDTSC32"
-                                        fout.WriteLine("/* #undef LINUX86_CYCLE_CPUID_RDTSC32 */")
-                                Case "LINUX86_CYCLE_CPUID_RDTSC64"
-                                        fout.WriteLine("/* #undef LINUX86_CYCLE_CPUID_RDTSC64 */")
-                                Case "HAVE_MACH_ABSOLUTE_TIME"
-                                        fout.WriteLine("/* #undef HAVE_MACH_ABSOLUTE_TIME */")
-				Case "MPICH_LIBDIR"
-					fout.WriteLine("#undef MPICH_LIBDIR")
-                                Case "MPICH_DEBUG_MUTEXNESTING"
-                                        fout.WriteLine("/* #undef MPICH_DEBUG_MUTEXNESTING */")
-				Case "MPICH_DEBUG_MEMARENA"
-					fout.WriteLine("#undef MPICH_DEBUG_MEMARENA")
-				Case "MPICH_DEBUG_MUTEX"
-					fout.WriteLine("#undef MPICH_DEBUG_MUTEX")
-				Case "MPICH_DEBUG_HANDLEALLOC"
-					fout.WriteLine("/* #undef MPICH_DEBUG_HANDLEALLOC */")
-				Case "STACK_DIRECTION"
-					fout.WriteLine("#undef STACK_DIRECTION")
-				Case "USE_ALLOCA"
-					fout.WriteLine("#undef USE_ALLOCA")
-				Case "USE_DYNAMIC_LIBRARIES"
-					fout.WriteLine("#undef USE_DYNAMIC_LIBRARIES")
-				Case "HAVE_MPIDI_CH3_CONF"
-					fout.WriteLine("#define HAVE_MPIDI_CH3_CONF 1")
-				Case "USE_NOPOSIX_FOR_IFCONF"
-					fout.WriteLine("#undef USE_NOPOSIX_FOR_IFCONF")
-				Case "HAVE_MPIDI_CH3SOCKCONF"
-					fout.WriteLine("#define HAVE_MPIDI_CH3SOCKCONF")
-				Case "HAVE_GCC_ASM_SPARC_MEMBAR"
-					fout.WriteLine("#undef HAVE_GCC_ASM_SPARC_MEMBAR")
-				Case "HAVE_GCC_ASM_SPARC_STBAR"
-					fout.WriteLine("#undef HAVE_GCC_ASM_SPARC_STBAR")
-				Case "HAVE_SOLARIS_ASM_SPARC_MEMBAR"
-					fout.WriteLine("#undef HAVE_SOLARIS_ASM_SPARC_MEMBAR")
-				Case "HAVE_SOLARIS_ASM_SPARC_STBAR"
-					fout.WriteLine("#undef HAVE_SOLARIS_ASM_SPARC_STBAR")
-				Case "GCC_X86_CYCLE_CPUID_RDTSC"
-					fout.WriteLine("/* #undef GCC_X86_CYCLE_CPUID_RDTSC */")
-				Case "GCC_X86_CYCLE_RDTSC"
-					fout.WriteLine("/* #undef GCC_X86_CYCLE_RDTSC */")
-				Case "GCC_X86_CYCLE_RDTSCP"
-					fout.WriteLine("/* #undef GCC_X86_CYCLE_RDTSCP */")
-				Case "HAVE_LIBPTHREAD"
-					fout.WriteLine("#undef HAVE_LIBPTHREAD")
-				Case "HAVE_O_LARGEFILE"
-					fout.WriteLine("#undef HAVE_O_LARGEFILE")
-				Case "HAVE_MPI_INIT_THREAD"
-					fout.WriteLine("#define HAVE_MPI_INIT_THREAD 1")
-				Case "HAVE_EXECINFO_H"
-					fout.WriteLine("#undef HAVE_EXECINFO_H")
-				Case "HAVE_FDOPEN"
-					fout.WriteLine("#undef HAVE_FDOPEN")
-				Case "HAVE_UCONTEXT_H"
-					fout.WriteLine("#undef HAVE_UCONTEXT_H")
-				Case "NEEDS_FDOPEN_DECL"
-					fout.WriteLine("/* #undef NEEDS_FDOPEN_DECL */")
-				Case "HAVE_H_ADDR_LIST"
-					fout.WriteLine("#define HAVE_H_ADDR_LIST 1")
-				Case "HAVE_CAP__FUNC__"
-					fout.WriteLine("/* #undef HAVE_CAP__FUNC__ */")
-				Case "HAVE__FUNC__"
-					fout.WriteLine("/* #undef HAVE__FUNC__ */")
-				Case "HAVE__FUNCTION__"
-					fout.WriteLine("#define HAVE__FUNCTION__ 1")
-				Case "HAVE_MEMCHECK_H"
-					fout.WriteLine("/* #undef HAVE_MEMCHECK_H */")
-                                Case "HAVE_VALGRIND_MEMCHECK_H"
-                                        fout.WriteLine("/* #undef HAVE_VALGRIND_MEMCHECK_H */")
-                                Case "HAVE_HELGRIND_H"
-                                        fout.WriteLine("/* #undef HAVE_HELGRIND_H */")
-				Case "HAVE_VALGRIND_H"
-					fout.WriteLine("/* #undef HAVE_VALGRIND_H */")
-				Case "HAVE_BROKEN_VALGRIND"
-					fout.WriteLine("/* #undef HAVE_BROKEN_VALGRIND */")
-                                Case "HAVE_VALGRIND_VALGRIND_H"
-                                        fout.WriteLine("/* #undef HAVE_VALGRIND_VALGRIND_H */")
-                                Case "HAVE_VALGRIND_HELGRIND_H"
-                                        fout.WriteLine("/* #undef HAVE_VALGRIND_HELGRIND_H */")
-                                Case "HAVE_DRD_H"
-                                        fout.WriteLine("/* #undef HAVE_DRD_H */")
-                                Case "HAVE_VALGRIND_DRD_H"
-                                        fout.WriteLine("/* #undef HAVE_VALGRIND_DRD_H */")
-				Case "USE_SMP_COLLECTIVES"
-					fout.WriteLine("#define USE_SMP_COLLECTIVES 1")
-				Case "CH3_RANK_BITS"
-					fout.WriteLine("#define CH3_RANK_BITS 16")
-                                Case "NEEDS_STRNCASECMP_DECL"
-                                        fout.WriteLine("/* #undef NEEDS_STRNCASECMP_DECL */")
-                                Case "HAVE_KNEM_IO_H"
-                                        fout.WriteLine("/* #undef HAVE_KNEM_IO_H */")
-                                Case "MPID_NEM_LOCAL_LMT_IMPL"
-                                        fout.WriteLine("#define MPID_NEM_LOCAL_LMT_IMPL MPID_NEM_LOCAL_LMT_SHM_COPY")
-                                Case "MPID_NEM_USE_LOCK_FREE_QUEUES"
-                                        fout.WriteLine("#define MPID_NEM_USE_LOCK_FREE_QUEUES 1")
-                                Case "USE_MMAP_SHM"
-                                        fout.WriteLine("/* #undef USE_MMAP_SHM */")
-                                Case "USE_SYSV_SHM"
-                                        fout.WriteLine("/* #undef USE_SYSV_SHM */")
-                                Case "HAVE_MPI_2DOUBLE_COMPLEX"
-                                        fout.WriteLine("#define HAVE_MPI_2DOUBLE_COMPLEX 1")
-                                Case "HAVE_MPI_2COMPLEX"
-                                        fout.WriteLine("#define HAVE_MPI_2COMPLEX 1")
-                                Case "HAVE_MPI_INTEGER16"
-                                        fout.WriteLine("#define HAVE_MPI_INTEGER16 1")
-                                Case "MPIO_USES_MPI_REQUEST"
-                                        fout.WriteLine("#define MPIO_USES_MPI_REQUEST 1")
-                                Case "USE_STRICT_MPI"
-                                        fout.WriteLine("/* #undef USE_STRICT_MPI */")
-                                Case "USE_PMI2_API"
-                                        ' SMPD does not support PMI2
-                                        fout.WriteLine("/* #undef USE_PMI2_API */")
-                                Case "HAVE_MD5_H"
-                                        fout.WriteLine("/* #undef HAVE_MD5_H */")
-                                Case "HAVE_OPENSSL_MD5_H"
-                                        fout.WriteLine("/* #undef HAVE_OPENSSL_MD5_H */")
-                                Case "HAVE_MD5"
-                                        fout.WriteLine("/* #undef HAVE_MD5 */")
-                                Case "HAVE_MD5_CALC"
-                                        fout.WriteLine("/* #undef HAVE_MD5_CALC */")
-                                Case "HAVE_MACRO_VA_ARGS"
-                                        fout.WriteLine("#define HAVE_MACRO_VA_ARGS")
-                                ' On windows sizeof(void *p) == sizeof(aint) . So we don't
-                                '  have to rely on aint to store attrval
-                                Case "USE_AINT_FOR_ATTRVAL"
-                                        fout.WriteLine("/* #undef USE_AINT_FOR_ATTRVAL */")
-                                Case "AC_APPLE_UNIVERSAL_BUILD"
-                                        fout.WriteLine("/* #undef AC_APPLE_UNIVERSAL_BUILD */")
-                                ' The following option is related to unix build system, whether
-                                '  it accepts -c -o
-                                ' Not applicable on windows
-                                Case "NO_MINUS_C_MINUS_O"
-                                        fout.WriteLine("/* #undef NO_MINUS_C_MINUS_O */")
-                                ' Disable falut tolerance code on windows
-                                Case "ENABLE_FTB"
-                                        fout.WriteLine("/* #undef ENABLE_FTB */")
-                                Case "HAVE_LIBFTB"
-                                        fout.WriteLine("/* #undef HAVE_LIBFTB */")
-                                ' FIXME: The size of openpa ptr should not be hardcoded...
-                                Case "SIZEOF_OPA_PTR_T"
-                                        If b64 Then
-                                            fout.WriteLine("#define SIZEOF_OPA_PTR_T 8")
-                                        Else
-                                            fout.WriteLine("#define SIZEOF_OPA_PTR_T 4")
-                                        End if
-                                Case "USE_ASYNC_PROGRESS"
-                                        fout.WriteLine("/* #undef USE_ASYNC_PROGRESS */")
-                                ' Windows builds don't rely on libtool - so no need to define
-                                ' LT_OBJDIR
-                                Case "LT_OBJDIR"
-                                        fout.WriteLine("/* #undef LT_OBJDIR */")
-                                Case "USE_MPIU_INSTR"
-                                        fout.WriteLine("/* #undef USE_MPIU_INSTR */")
-                                Case "HAVE_QSORT"
-                                        fout.WriteLine("#define HAVE_QSORT 1")
-				Case Else
-                                    Dim useCustomDefDict
-                                    useCustomDefDict = False
-                                    If Not (customDefDict Is Nothing) Then
-                                        If customDefDict.Exists(macroname) Then
-                                            useCustomDefDict = True
-                                        End If
-                                    End If
-                                    If useCustomDefDict Then
-                                        fout.WriteLine("#define " & macroname & " " & customDefDict.Item(macroname))
-                                    Else
-					'MsgBox("Unhandled definition <" & define & ">")
-					If appendUniqueString(unhandled_definitions, macroname) Then
-						unhandled_definitions_count = unhandled_definitions_count + 1
-					End If
-					unhandled_definitions_instances = unhandled_definitions_instances + 1
-					fout.WriteLine("/* unknown definition: " & macroname & " */")
-                                    End If
-			End Select
-			fout.WriteLine("")
-		Next
-	End If
-End Sub
-
-printMsg "STATUS", "Checking MPICH dependencies..."
-if not f.FolderExists("C:\Program Files\Microsoft HPC Pack 2008 SDK") then
-    printMsg "ERROR", "Unable to find Microsoft HPC SDK"
-    WScript.Quit
-else
-    printMsg "VERBOSE", "Found MS HPC SDK "
-end if
-printMsg "STATUS", "Creating MPICH header files..."
-printMsg "STATUS", "Creating generic header files..."
-
-'
-' Generate mpi.h
-'
-if not f.FolderExists("src\include\win64") then
-	f.CreateFolder("src\include\win64")
-end if
-printMsg "VERBOSE", "Creating src\include\win64\mpi.h"
-set fout64 = f.CreateTextFile("src\include\win64\mpi.h")
-if not f.FolderExists("src\include\win32") then
-	f.CreateFolder("src\include\win32")
-end if
-printMsg "VERBOSE", "Creating src\include\win32\mpi.h"
-set fout32 = f.CreateTextFile("src\include\win32\mpi.h")
-set fin = f.OpenTextFile("src\include\mpi.h.in")
-
-contents32=""
-contents64=""
-do until fin.AtEndOfStream = True
-    line = fin.ReadLine()
-    contents32 = contents32 + ReplaceAtsWithDecoration(line, false, false) + vbCrLf
-    contents64 = contents64 + ReplaceAtsWithDecoration(line, false, true) + vbCrLf
-loop
-
-fin.Close()
-
-contents32 = ReplaceAts(contents32, false, false)
-contents64 = ReplaceAts(contents64, false, true)
-if bAddDllDecoration then
-	contents32 = DecorateMPIFuncs(contents32)
-	contents64 = DecorateMPIFuncs(contents64)
-'	' uncomment out the HAVE_EXPORTS_MPI_API block
-'	'contents = ReplaceBetweenTags(contents, "/*", "HAVE_EXPORT_MPI_API", "*/", "#ifdef MPICH_STATIC_LIBRARY" & vbCrLf & "#define EXPORT_MPI_API" & vbCrLf & "#else" & vbCrLf & "#ifdef MPICH_EXPORTS" & vbCrLf & "#define EXPORT_MPI_API __declspec(dllexport)" & vbCrLf & "#else" & vbCrLf & "#define EXPORT_MPI_API __declspec(dllimport)" & vbCrLf & "#endif" & vbCrLf & "#endif" & vbCrLf & "#ifndef MPI_CALL" & vbCrLf & "#define MPI_CALL __cdecl" & vbCrLf & "#endif" & vbCrLf)
-'	contents = Replace(contents, "/* --Insert Additional Definitions Here-- */", "#ifdef MPICH_STATIC_LIBRARY" & vbCrLf & "#define EXPORT_MPI_API" & vbCrLf & "#else" & vbCrLf & "#ifdef MPICH_EXPORTS" & vbCrLf & "#define EXPORT_MPI_API __declspec(dllexport)" & vbCrLf & "#else" & vbCrLf & "#define EXPORT_MPI_API __declspec(dllimport)" & vbCrLf & "#endif" & vbCrLf & "#endif" & vbCrLf & "#ifndef MPI_CALL" & vbCrLf & "#define MPI_CALL __cdecl" & vbCrLf & "#endif" & vbCrLf)
-'	' add dllspec and calling convention to the MPI api
-'	first_index = InStr(contents, "#ifndef MPICH_SUPPRESS_PROTOTYPES")
-'	last_index = InStr(contents, "#endif /* MPICH_SUPPRESS_PROTOTYPES */")
-'	if first_index <> 0 and last_index <> 0 then
-'		prototypes = Mid(contents, first_index, last_index - first_index)
-'		prototypes = Replace(prototypes, "int MPI_", "EXPORT_MPI_API int MPI_CALL MPI_")
-'		prototypes = Replace(prototypes, "double PMPI_Wtime", "EXPORT_MPI_API double MPI_CALL PMPI_Wtime")
-'		prototypes = Replace(prototypes, "double PMPI_Wtick", "EXPORT_MPI_API double MPI_CALL PMPI_Wtick")
-'		prototypes = Replace(prototypes, "double MPI_Wtime", "EXPORT_MPI_API double MPI_CALL MPI_Wtime")
-'		prototypes = Replace(prototypes, "double MPI_Wtick", "EXPORT_MPI_API double MPI_CALL MPI_Wtick")
-'		contents = ReplaceBetweenTags(contents, "#ifndef MPICH_SUPPRESS_PROTOTYPES", "MPI_Send", "#endif /* MPICH_SUPPRESS_PROTOTYPES */", prototypes & "#endif /* MPICH_SUPPRESS_PROTOTYPES */")
-'	end if
-'	' add dllspec and calling convention to the PMPI api
-'	first_index = InStr(contents, "#if !defined(MPI_BUILD_PROFILING)")
-'	last_index = InStr(contents, "#endif  /* MPI_BUILD_PROFILING */")
-'	if first_index <> 0 and last_index <> 0 then
-'		prototypes = Mid(contents, first_index, last_index - first_index)
-'		prototypes = Replace(prototypes, "int PMPI_", "EXPORT_MPI_API int MPI_CALL PMPI_")
-'		prototypes = Replace(prototypes, "double PMPI_Wtime", "EXPORT_MPI_API double MPI_CALL PMPI_Wtime")
-'		prototypes = Replace(prototypes, "double PMPI_Wtick", "EXPORT_MPI_API double MPI_CALL PMPI_Wtick")
-'		contents = ReplaceBetweenTags(contents, "#if", "MPI_BUILD_PROFILING", "#endif  /* MPI_BUILD_PROFILING */", prototypes & "#endif  /* MPI_BUILD_PROFILING */")
-'	end if
-end if
-fout32.Write(contents32)
-fout64.Write(contents64)
-fout32.Close()
-fout64.Close()
-
-Function internalFindCFiles(ByRef key, ByRef files, folder)
-	For Each sub_folder in folder.SubFolders
-		internalFindCFiles key, files, sub_folder
-	Next
-	For Each file in folder.Files
-		If Right(file.Name, 2) = ".c" Then
-			files.Add key, file.Path
-			key = key + 1
-		End If
-	Next
-End Function
-Function FindCFiles(ByRef files, folder)
-	files.RemoveAll()
-	key = 0
-	internalFindCFiles key, files, folder
-End Function
-
-' Add the dll decorations to the source files
-if bAddDllDecoration then
-	set c_files = CreateObject("Scripting.Dictionary")
-	FindCFiles c_files, f.GetFolder("src\mpi")
-	' replace "int MPI_" with "EXPORT_MPI_API int MPI_CALL MPI_"
-	' fixup MPI_Fint MPI_
-	a = c_files.Items
-	If c_files.Count > 0 Then
-		For i = 0 to c_files.Count - 1
-			'cEcho a(i)
-			set fin = f.OpenTextFile(a(i))
-			contents = fin.ReadAll()
-			fin.Close()
-			new_contents = Replace(contents, "int MPI_", "EXPORT_MPI_API int MPI_CALL MPI_")
-			new_contents = Replace(new_contents, "MPI_FEXPORT_MPI_API int", "EXPORT_MPI_API MPI_Fint")
-			if new_contents <> contents then
-				'cEcho new_contents
-				'cEcho "Modifying file: " & a(i)
-				gEcho "Modifying file: " & a(i)
-				set fout = f.CreateTextFile(a(i))
-				fout.Write(new_contents)
-				fout.Close()
-			end if
-		Next
-	End If
-end if
-
-Function FindMPIFuncs()
-	Dim index, index2, right_str, result
-	set c_files = CreateObject("Scripting.Dictionary")
-	FindCFiles c_files, f.GetFolder("src\mpi")
-	' replace "int MPI_" with "EXPORT_MPI_API int MPI_CALL MPI_"
-	' fixup MPI_Fint MPI_
-	a = c_files.Items
-	If c_files.Count > 0 Then
-		For i = 0 to c_files.Count - 1
-			'cEcho a(i)
-			set fin = f.OpenTextFile(a(i))
-			contents = fin.ReadAll()
-			fin.Close()
-			index = InStr(contents, "int MPI_")
-			If index <> 0 Then
-				right_str = Right(contents, Len(contents) - index + 1)
-				index2 = InStr(right_str, ")")
-				If index2 <> 0 Then
-					If Mid(contents, index-5, 5) = "MPI_F" then
-						result = "MPI_F"
-					else
-						result = ""
-					end if
-					result = result & Left(right_str, index2) & vbCrLf & "{" & vbCrLf & "    return MPI_SUCCESS;" & vbCrLf & "}" & vbCrLf
-					gEcho result
-				End If
-			End If
-		Next
-	End If	
-End Function
-
-Function internalPrintFortranInterface(dir)
-	Dim index, index2, right_str, result
-	set c_files = CreateObject("Scripting.Dictionary")
-	FindCFiles c_files, f.GetFolder(dir)
-	' replace "int MPI_" with "EXPORT_MPI_API int MPI_CALL MPI_"
-	' fixup MPI_Fint MPI_
-	a = c_files.Items
-	If c_files.Count > 0 Then
-		For i = 0 to c_files.Count - 1
-			'cEcho a(i)
-			set fin = f.OpenTextFile(a(i))
-			contents = fin.ReadAll()
-			fin.Close()
-			index = InStr(contents, "int MPI_")
-			If index <> 0 Then
-				right_str = Right(contents, Len(contents) - index + 1)
-				index2 = InStr(right_str, ")")
-				If index2 <> 0 Then
-					If Mid(contents, index-5, 5) = "MPI_F" then
-						result = "MPI_F"
-					else
-						result = ""
-					end if
-					result = result & Left(right_str, index2)' & vbCrLf & "{" & vbCrLf & "    return MPI_SUCCESS;" & vbCrLf & "}" & vbCrLf
-					'cEcho result
-					gEcho result
-				End If
-			End If
-		Next
-	End If	
-End Function
-
-Function PrintFortranInterface()
-	internalPrintFortranInterface("src\mpi\coll")
-	internalPrintFortranInterface("src\mpi\pt2pt")
-	internalPrintFortranInterface("src\mpi\rma")
-End Function
-
-'Function PrintFortranInterface()
-'	Dim index, index2, right_str, result
-'	set c_files = CreateObject("Scripting.Dictionary")
-'	FindCFiles c_files, f.GetFolder("src\binding\f77")
-'	a = c_files.Items
-'	If c_files.Count > 0 Then
-'		For i = 0 to c_files.Count - 1
-'			set fin = f.OpenTextFile(a(i))
-'			contents = fin.ReadAll()
-'			fin.Close()
-'			index = InStrRev(contents, "FORT_DLL_SPEC void FORT_CALL mpi_")
-'			If index <> 0 Then
-'				right_str = Right(contents, Len(contents) - index + 1)
-'				index2 = InStr(right_str, ")")
-'				If index2 <> 0 Then
-'					result = Left(right_str, index2)' & vbCrLf & "{" & vbCrLf & "    return MPI_SUCCESS;" & vbCrLf & "}" & vbCrLf
-'					cEcho result
-'				End If
-'			End If
-'		Next
-'	End If	
-'End Function
-
-Function internalFindFCFiles(ByRef key, ByRef files, folder)
-	For Each sub_folder in folder.SubFolders
-		internalFindFCFiles key, files, sub_folder
-	Next
-	For Each file in folder.Files
-		If Right(file.Name, 3) = "f.c" Then
-			files.Add key, file.Path
-			key = key + 1
-		End If
-	Next
-End Function
-Function FindFCFiles(ByRef files, folder)
-	files.RemoveAll()
-	key = 0
-	internalFindFCFiles key, files, folder
-End Function
-
-Function FindStr(pattern, str)
-   Dim regEx, Match, Matches           ' Create variable.
-   Set regEx = New RegExp              ' Create a regular expression.
-   regEx.Pattern = pattern             ' Set pattern.
-   regEx.IgnoreCase = True             ' Set case insensitivity.
-   regEx.Global = True                 ' Set global applicability.
-   Set Matches = regEx.Execute(str)    ' Execute search.
-   For Each Match in Matches           ' Return the first match
-      FindStr = Match.Value
-      Exit Function
-   Next
-   FindStr = ""
-End Function
-
-Function AddStringLengthParameters(str)
-	Dim result, index, cur_arg, match, end_str
-	cur_arg = 1
-	result = ""
-	end_str = ""
-	match = FindStr("void\s*\*\s*\w+,", str)
-	while match <> ""
-		index = InStr(str, match)
-		result = result & Left(str, index + Len(match) - 2) & " FORT_MIXED_LEN(d" & cur_arg & ")"
-		end_str = end_str & " FORT_END_LEN(d" & cur_arg & ")"
-		cur_arg = cur_arg + 1
-		str = Right(str, Len(str) - index - Len(match) + 2)
-		match = FindStr("void\s*\*\s*\w+,", str)
-	wend
-	AddStringLengthParameters = result & str & end_str
-End Function
-
-Function CreateStdcallFortranInterface()
-	Dim index, index2, right_str, result, prototype, filename
-	set c_files = CreateObject("Scripting.Dictionary")
-	printMsg "VERBOSE", "Creating src\binding\f77\fprotos.h"
-	set fprotos = f.CreateTextFile("src\binding\f77\fprotos.h")
-	fprotos.WriteLine( "/* -*- Mode: C; c-basic-offset:4 ; -*- */" & vbNewLine & "/*" & vbNewLine & " *  (C) 2001 by Argonne National Laboratory." & vbNewLine & " *      See COPYRIGHT in top-level directory." & vbNewLine & " */" )
-	fprotos.WriteLine("")
-	fprotos.WriteLine("#ifndef FPROTOS_H")
-	fprotos.WriteLine("#define FPROTOS_H")
-	fprotos.WriteLine("")
-	fprotos.WriteLine("/* fprotos.h.  Generated automatically by winconfigure.  */")
-	fprotos.WriteLine("")
-	'fnames = Split("MPI_Allgather MPI_Allgatherv MPI_Allreduce MPI_Alltoall MPI_Alltoallv MPI_Alltoallw MPI_Bcast MPI_Exscan MPI_Gather MPI_Gatherv MPI_Reduce MPI_Reduce_scatter MPI_Scan MPI_Scatter MPI_Scatterv MPI_Bsend MPI_Bsend_init MPI_Buffer_attach MPI_Buffer_detach MPI_Ibsend MPI_Irecv MPI_Irsend MPI_Isend MPI_Issend MPI_Recv MPI_Recv_init MPI_Rsend MPI_Rsend_init MPI_Send MPI_Sendrecv MPI_Sendrecv_replace MPI_Send_init MPI_Ssend MPI_Ssend_init MPI_Accumulate MPI_Get MPI_Put MPI_Win_create")
-	fnames = Split("mpi_allgather_ +mpi_allgatherv_ +mpi_allreduce_ +mpi_alltoall_ +mpi_alltoallv_ +mpi_alltoallw_ +mpi_bcast_ +mpi_exscan_ +mpi_gather_ +mpi_gatherv_ +mpi_reduce_ +mpi_reduce_scatter_ +mpi_scan_ +mpi_scatter_ +mpi_scatterv_ +mpi_bsend_ +mpi_bsend_init_ +mpi_buffer_attach_ +mpi_buffer_detach_ +mpi_ibsend_ +mpi_irecv_ +mpi_irsend_ +mpi_isend_ +mpi_issend_ +mpi_recv_ +mpi_recv_init_ +mpi_rsend_ +mpi_rsend_init_ +mpi_send_ +mpi_sendrecv_ +mpi_sendrecv_replace_ +mpi_send_init_ +mpi_ssend_ +mpi_ssend_init_ +mpi_accumulate_ +mpi_get_ +mpi_put_ +mpi_win_create_ ", "+")
-	FindFCFiles c_files, f.GetFolder("src\binding\f77")
-	a = c_files.Items
-	If c_files.Count > 0 Then
-		For i = 0 to c_files.Count - 1
-			set fin = f.OpenTextFile(a(i))
-			contents = fin.ReadAll()
-			fin.Close()
-			found = false
-			for each name in fnames
-				if InStr(contents, name) then
-					'cEcho "found " & name & " in: " & vbCrLf & contents
-					found = true
-					exit for
-				end if
-			next
-			if found = true then
-				index = InStrRev(contents, "FORT_DLL_SPEC void FORT_CALL mpi_")
-				If index <> 0 Then
-					result = Left(contents, index - 1)
-					right_str = Right(contents, Len(contents) - index + 1)
-					index2 = InStr(right_str, ")")
-					If index2 <> 0 Then
-						result = result & AddStringLengthParameters(Left(right_str, index2 - 1)) & Right(right_str, Len(right_str) - index2 + 1)
-						result = Replace(result, "fproto.h", "fprotos.h")
-						index = InStrRev(result, "FORT_DLL_SPEC void FORT_CALL mpi_")
-						right_str = Right(result, Len(result) - index + 1)
-						index2 = InStr(right_str, "))")
-						prototype = "extern " & Left(right_str, index2 + 1) & ";"
-						'prototype = Replace(prototype, "FORT_MIXED_LEN", "FORT_MIXED_LEN_DECL")
-						'prototype = Replace(prototype, "FORT_END_LEN", "FORT_END_LEN_DECL")
-						filename = Replace(a(i), ".c", "s.c")
-						'cEcho "filename: " & filename
-						'cEcho "prototype: " & prototype
-						'cEcho result
-						printMsg "VERBOSE", "Creating file: " & filename
-						set file = f.CreateTextFile(filename)
-						file.Write(result)
-						file.Close()
-						fprotos.WriteLine(prototype)
-					End If
-				End If
-			End If
-		Next
-	End If
-	fprotos.WriteLine("")
-	fprotos.WriteLine("#endif")
-	fprotos.Close()
-End Function
-
-'
-' Generate mpichtimer.h
-'
-
-printMsg "VERBOSE", "Creating src\include\win32\mpichtimer.h"
-set fout = f.CreateTextFile("src\include\win32\mpichtimer.h")
-'set fin = f.OpenTextFile("src\mpi\timer\mpichtimer.h.in")
-set fin = f.OpenTextFile("src\include\mpichtimer.h.in")
-
-contents = fin.ReadAll()
-contents = ReplaceAts(contents, false, false)
-fout.Write(contents)
-fin.Close()
-fout.Close()
-
-printMsg "VERBOSE", "Creating src\include\win64\mpichtimer.h"
-set fout = f.CreateTextFile("src\include\win64\mpichtimer.h")
-'set fin = f.OpenTextFile("src\mpi\timer\mpichtimer.h.in")
-set fin = f.OpenTextFile("src\include\mpichtimer.h.in")
-
-
-contents = fin.ReadAll()
-contents = ReplaceAts(contents, false, true)
-fout.Write(contents)
-fin.Close()
-fout.Close()
-
-'
-' Generate mpichinfo.h
-'
-printMsg "VERBOSE", "Creating src\include\mpichinfo.h"
-set fout = f.CreateTextFile("src\include\mpichinfo.h")
-set fin  = f.OpenTextFile("src\include\mpichinfo.h.in")
-contents = fin.ReadAll()
-contents = ReplaceAts(contents, false, false)
-fout.Write(contents)
-fin.Close()
-fout.Close()
-
-'
-' mpid_thread.h
-'
-If f.FileExists("src\mpid\common\thread\mpid_thread.h.in") Then
-	printMsg "VERBOSE", "Creating src\include\win32\mpid_thread.h"
-	Set fout = f.CreateTextFile("src\include\win32\mpid_thread.h")
-	Set fin = f.OpenTextFile("src\mpid\common\thread\mpid_thread.h.in")
-	contents = fin.ReadAll()
-	contents = ReplaceAts(contents, false, false)
-	fout.Write(contents)
-	fin.Close()
-	fout.Close()
-	printMsg "VERBOSE", "Creating src\include\win64\mpid_thread.h"
-	Set fout = f.CreateTextFile("src\include\win64\mpid_thread.h")
-	Set fin = f.OpenTextFile("src\mpid\common\thread\mpid_thread.h.in")
-	contents = fin.ReadAll()
-	contents = ReplaceAts(contents, false, true)
-	fout.Write(contents)
-	fin.Close()
-	fout.Close()
-Else
-	printMsg "VERBOSE", "Skipping file: mpid_thread.h"
-End If
-
-'
-' trace_impl.h
-'
-printMsg "VERBOSE", "Creating src\util\logging\rlog\trace_impl.h"
-Set fout = f.CreateTextFile("src\util\logging\rlog\trace_impl.h")
-Call WriteHeader(fout, "trace_impl")
-'Call AddDefinitions(fout, "src\util\logging\rlog\trace_impl.h.in", false)
-fout.WriteLine("#define HAVE_CTYPE_H")
-fout.WriteLine("#define HAVE_STDLIB_H")
-fout.WriteLine("#define HAVE_STRING_H")
-Call WriteFooter(fout)
-fout.Close()
-
-printMsg "STATUS", "Creating MPE header files..."
-'
-' Generate mpe_log_thread.h
-'
-printMsg "VERBOSE", "Creating src\mpe2\src\logging\include\mpe_log_thread.h"
-set fout = f.CreateTextFile("src\mpe2\src\logging\include\mpe_log_thread.h")
-set fin  = f.OpenTextFile("src\mpe2\src\logging\include\mpe_log_thread.h.in")
-contents = fin.ReadAll()
-contents = ReplaceAts(contents, false, false)
-fout.Write(contents)
-fin.Close()
-fout.Close()
-
-'
-' Generate mpe_callstack.h
-'
-printMsg "VERBOSE", "Creating src\mpe2\src\callstack\include\mpe_callstack.h"
-set fout = f.CreateTextFile("src\mpe2\src\callstack\include\mpe_callstack.h")
-set fin  = f.OpenTextFile("src\mpe2\src\callstack\include\mpe_callstack.h.in")
-contents = fin.ReadAll()
-contents = ReplaceAts(contents, false, false)
-fout.Write(contents)
-fin.Close()
-fout.Close()
-
-If f.FolderExists("src\mpe2\src\logging\include") Then
-        '
-        ' clog_inttypes.h
-        ' 
-
-	If f.FileExists("src\mpe2\src\logging\include\clog_inttypes.h.in") Then
-		printMsg "VERBOSE", "Creating src\mpe2\src\logging\include\clog_inttypes.h"
-		Set fin = f.OpenTextFile("src\mpe2\src\logging\include\clog_inttypes.h.in")
-		Set fout = f.CreateTextFile("src\mpe2\src\logging\include\clog_inttypes.h")
-		contents = fin.ReadAll()
-		contents = ReplaceAts(contents, false, false)
-		fout.Write(contents)
-		fin.Close()
-		fout.Close()	
-	End If
-End If
-
-printMsg "STATUS", "Creating IO header files..."
-'
-' Generate mpio.h
-'
-
-printMsg "VERBOSE", "Creating src\include\mpio.h"
-set fout = f.CreateTextFile("src\include\mpio.h")
-set fin = f.OpenTextFile("src\mpi\romio\include\mpio.h.in")
-
-contents = fin.ReadAll()
-contents = ReplaceAts(contents, false, false)
-if bAddDllDecoration then
-	contents = ReplaceBetweenTags(contents, "/* MPI-IO function prototypes */", "HAVE_PRAGMA_HP_SEC_DEF", "#if defined(__cplusplus)", "#if defined(__cplusplus)")
-end if
-fout.Write(contents)
-fin.Close()
-fout.Close()
-
-
-'cEcho "Creating src\include\win64\mpio.h"
-'set fout = f.CreateTextFile("src\include\win64\mpio.h")
-'set fin = f.OpenTextFile("src\mpi\romio\include\mpio.h.in")
-'
-'contents = fin.ReadAll()
-'contents = ReplaceAts(contents, false, true)
-'if bAddDllDecoration then
-'	contents = ReplaceBetweenTags(contents, "/* MPI-IO function prototypes */", "HAVE_PRAGMA_HP_SEC_DEF", "#if defined(__cplusplus)", "#if defined(__cplusplus)")
-'end if
-'fout.Write(contents)
-'fin.Close()
-'fout.Close()
-
-'
-' Generate romioconf.h
-'
-
-If f.FileExists("src\mpi\romio\adio\include\romioconf.h.in") Then
-
-	printMsg "VERBOSE", "Creating src\mpi\romio\adio\include\romioconf.h"
-	set fout = f.CreateTextFile("src\mpi\romio\adio\include\romioconf.h")
-	Call WriteHeader(fout, "romio")
-	Call AddDefinitions(fout, "src\mpi\romio\adio\include\romioconf.h.in", false)
-	fout.WriteLine("#ifndef ROMIO_NTFS")
-	fout.WriteLine("#define ROMIO_NTFS 1")
-	fout.WriteLine("#endif")
-	fout.WriteLine("#ifndef HAVE_INT64")
-	fout.WriteLine("#define HAVE_INT64 1")
-	fout.WriteLine("#endif")
-	fout.WriteLine("#ifndef FORTRANDOUBLEUNDERSCORE")
-	fout.WriteLine("#define FORTRANCAPS")
-	fout.WriteLine("#endif")
-	fout.WriteLine("#define HAVE_IO_H 1")
-	fout.WriteLine("#define snprintf _snprintf")
-    fout.WriteLine("#define strtok_r strtok_s")
-	Call WriteFooter(fout)
-	fout.Close()
-
-Else
-
-	printMsg "VERBOSE", "Creating src\mpi\romio\adio\include\romioconf.h"
-	set fout = f.CreateTextFile("src\mpi\romio\adio\include\romioconf.h")
-
-	fout.WriteLine("/* -*- Mode: C; c-basic-offset:4 ; -*- */")
-	fout.WriteLine("/*")
-	fout.WriteLine(" *  (C) 2001 by Argonne National Laboratory.")
-	fout.WriteLine(" *      See COPYRIGHT in top-level directory.")
-	fout.WriteLine(" */")
-	fout.WriteLine("#ifndef ROMIOCONF_H")
-	fout.WriteLine("#define ROMIOCONF_H")
-	fout.WriteLine("")
-	fout.WriteLine("/* Define if `sys_siglist' is declared by <signal.h>.  */")
-	fout.WriteLine("#undef SYS_SIGLIST_DECLARED")
-	fout.WriteLine("")
-	fout.WriteLine("#undef AIO_HANDLE_IN_AIOCB")
-	fout.WriteLine("#undef AIO_PRIORITY_DEFAULT")
-	fout.WriteLine("#undef AIO_SIGNOTIFY_NONE")
-	fout.WriteLine("#undef AIO_SUN")
-	fout.WriteLine("#undef FREEBSD")
-	fout.WriteLine("#undef HAVE_LONG_LONG_64")
-	fout.WriteLine("#undef HAVE_MOUNT_NFS")
-	fout.WriteLine("#undef HAVE_MPI_COMBINERS")
-	fout.WriteLine("#undef HAVE_MPI_DARRAY_SUBARRAY")
-	fout.WriteLine("#ifndef HAVE_MPI_INFO")
-	fout.WriteLine("#define HAVE_MPI_INFO")
-	fout.WriteLine("#endif")
-	fout.WriteLine("#undef HAVE_MPI_LONG_LONG_INT")
-	fout.WriteLine("#undef HAVE_PRAGMA_CRI_DUP")
-	fout.WriteLine("#undef HAVE_PRAGMA_HP_SEC_DEF")
-	fout.WriteLine("#undef HAVE_PRAGMA_WEAK")
-	fout.WriteLine("#undef HAVE_PREAD64")
-	fout.WriteLine("#ifndef HAVE_STATUS_SET_BYTES")
-	fout.WriteLine("#define HAVE_STATUS_SET_BYTES")
-	fout.WriteLine("#endif")
-	fout.WriteLine("#ifndef HAVE_STRERROR")
-	fout.WriteLine("#define HAVE_STRERROR")
-	fout.WriteLine("#endif")
-	fout.WriteLine("#undef HAVE_SYSERRLIST")
-	fout.WriteLine("#undef HAVE_WEAK_SYMBOLS")
-	fout.WriteLine("#undef HFS")
-	fout.WriteLine("#undef HPUX")
-	fout.WriteLine("#undef INT_LT_POINTER")
-	fout.WriteLine("#undef IRIX")
-	fout.WriteLine("#undef LINUX")
-	fout.WriteLine("#ifndef MPICH")
-	fout.WriteLine("#define MPICH")
-	fout.WriteLine("#endif")
-	fout.WriteLine("#undef MPIHP")
-	fout.WriteLine("#undef MPILAM")
-	fout.WriteLine("#undef MPISGI")
-	fout.WriteLine("#undef MPI_OFFSET_IS_INT")
-	fout.WriteLine("#undef NEEDS_MPI_TEST")
-	fout.WriteLine("#undef NFS")
-	fout.WriteLine("#undef NO_AIO")
-	fout.WriteLine("#undef NO_FD_IN_AIOCB")
-	fout.WriteLine("#undef NO_MPI_SGI_type_is_contig")
-	fout.WriteLine("#undef PARAGON")
-	fout.WriteLine("#undef PFS")
-	fout.WriteLine("#undef PIOFS")
-	fout.WriteLine("#undef PRINT_ERR_MSG")
-	fout.WriteLine("#undef ROMIO_PVFS")
-	fout.WriteLine("#undef ROMIO_TESTFS")
-	fout.WriteLine("#undef SFS")
-	fout.WriteLine("#undef SOLARIS")
-	fout.WriteLine("#undef SPPUX")
-	fout.WriteLine("#undef SX4")
-	fout.WriteLine("#undef UFS")
-	fout.WriteLine("#undef XFS")
-	fout.WriteLine("")
-	fout.WriteLine("#ifndef ROMIO_NTFS")
-	fout.WriteLine("#define ROMIO_NTFS")
-	fout.WriteLine("#endif")
-	fout.WriteLine("#ifndef HAVE_INT64")
-	fout.WriteLine("#define HAVE_INT64 1")
-	fout.WriteLine("#endif")
-	fout.WriteLine("")
-	fout.WriteLine("#ifndef HAS_MPIR_ERR_SETMSG")
-	fout.WriteLine("#define HAS_MPIR_ERR_SETMSG")
-	fout.WriteLine("#endif")
-	fout.WriteLine("")
-	fout.WriteLine("#ifndef FORTRANDOUBLEUNDERSCORE")
-	fout.WriteLine("#define FORTRANCAPS")
-	fout.WriteLine("#endif")
-	fout.WriteLine("")
-	fout.WriteLine("#define restrict")
-	fout.WriteLine("")
-	fout.WriteLine("#define HAVE_IO_H 1")
-	fout.WriteLine("#define snprintf _snprintf")
-    fout.WriteLine("#define strtok_r strtok_s")
-	fout.WriteLine("#endif")
-
-	fout.Close()
-
-End If
-
-'   Convert mpif.h - F77 header to F90 header
-Function ConvertF77HeaderToF90(headerFileName)
-	set fs = CreateObject("Scripting.FileSystemObject")
-	set headerFileObj = fs.OpenTextFile(headerFileName)
-	tmpFileName = fs.GetTempName()
-	set tmpFileObj = fs.CreateTextFile(tmpFileName, true)
-	Do Until headerFileObj.AtEndOfStream = True
-		contents = headerFileObj.ReadLine()
-		posCommentChar = InStr(1, contents, "C", 1)
-		If posCommentChar = 1 Then
-			contents = Replace(contents, "C", "!", 1, 1, 1)
-		End If
-		tmpFileObj.WriteLine(contents)
-	Loop
-	headerFileObj.Close()
-	tmpFileObj.Close()
-
-	set headerFileObj = fs.GetFile(headerFileName)
-	set tmpFileObj = fs.GetFile(tmpFileName)
-	headerFileObj.Delete(True)
-	tmpFileObj.Move(headerFileName)
-	ConvertF77HeaderToF90 = True
-End Function 
-
-Function BuildIFaces()
-
-	Dim WshShell
-	set f = WScript.CreateObject("Scripting.FileSystemObject")
-
-	'
-	' Generate mpicxx.h
-	'
-	If bForce Or Not f.FileExists("src\binding\cxx\mpicxx.h.in") Then
-
-		Set WshShell = CreateObject("WScript.Shell")
-                Set userEnv = WshShell.Environment("USER")
-                userEnv("nodosfilewarning") = 1
-		WshShell.CurrentDirectory = "src\binding\cxx"
-		printMsg "VERBOSE", WshShell.CurrentDirectory & ">perl buildiface -nosep"
-		WshShell.Run "perl buildiface -nosep", 0, true
-		WshShell.CurrentDirectory = "..\..\.."
-	
-	End If
-
-	If f.FileExists("src\binding\cxx\mpicxx.h.in") Then
-	
-	  set fin = f.OpenTextFile("src\binding\cxx\mpicxx.h.in")
-	  printMsg "VERBOSE", "Creating src\include\mpicxx.h"
-	  set fout = f.CreateTextFile("src\include\mpicxx.h")
-	  contents = fin.ReadAll()
-	  contents = ReplaceAts(contents, false, false)
-	  if bCleanCode then
-		printMsg "VERBOSE", "modifying the comm, win datatype classes to handle unreferenced variables."
-		' Comm class
-		contents = ReplaceBetweenTags(contents, "int", "NULL_COPY_FN( const Comm &oldcomm", "}", "int NULL_COPY_FN( const Comm &oldcomm, int keyval, void *ex, void *attr_in, void *attr_out, bool &flag ) { oldcomm; keyval; ex; attr_in; attr_out; flag = 1; return 0; }")
-		contents = ReplaceBetweenTags(contents, "int", "NULL_DELETE_FN( Comm &comm", "}", "int NULL_DELETE_FN( Comm &comm, int keyval, void * attr, void *ex ) { comm; keyval; attr; ex; return 0; }")
-		contents = ReplaceBetweenTags(contents, "int", "DUP_FN( const Comm &oldcomm", "}", "int DUP_FN( const Comm &oldcomm, int keyval, void *ex, void *attr_in, void *attr_out, bool &flag ) { oldcomm; keyval; ex; flag = 1; *(void **)attr_out = attr_in; return 0; }")
-		' Win class
-		contents = ReplaceBetweenTags(contents, "int", "NULL_COPY_FN( const Win &oldwin", "}", "int NULL_COPY_FN( const Win &oldwin, int keyval, void *ex, void *attr_in, void *attr_out, bool &flag ) { oldwin; keyval; ex; attr_in; attr_out; flag = 1; return 0; }")
-		contents = ReplaceBetweenTags(contents, "int", "NULL_DELETE_FN( Win &win", "}", "int NULL_DELETE_FN( Win &win, int keyval, void * attr, void *ex ) { win; keyval; attr; ex; return 0; }")
-		contents = ReplaceBetweenTags(contents, "int", "DUP_FN( const Win &oldwin", "}", "int DUP_FN( const Win &oldwin, int keyval, void *ex, void *attr_in, void *attr_out, bool &flag ) { oldwin; keyval; ex; flag = 1; *(void **)attr_out = attr_in; return 0; }")
-		' Datatype class
-		contents = ReplaceBetweenTags(contents, "int", "NULL_COPY_FN( const Datatype &oldtype", "}", "int NULL_COPY_FN( const Datatype &oldtype, int keyval, void *ex, void *attr_in, void *attr_out, bool &flag ) { oldtype; keyval; ex; attr_in; attr_out; flag = 1; return 0; }")
-		contents = ReplaceBetweenTags(contents, "int", "NULL_DELETE_FN( Datatype &type", "}", "int NULL_DELETE_FN( Datatype &type, int keyval, void * attr, void *ex ) { type; keyval; attr; ex; return 0; }")
-		contents = ReplaceBetweenTags(contents, "int", "DUP_FN( const Datatype &oldtype", "}", "int DUP_FN( const Datatype &oldtype, int keyval, void *ex, void *attr_in, void *attr_out, bool &flag ) { oldtype; keyval; ex; flag = 1; *(void **)attr_out = attr_in; return 0; }")
-	  end if	
-	  fout.Write(contents)
-	  fin.Close()
-	  fout.Close()
-	
-'	  set fin = f.OpenTextFile("src\binding\cxx\mpicxx.h.in")
-'	  cEcho "Creating src\include\win64\mpicxx.h"
-'	  set fout = f.CreateTextFile("src\include\win64\mpicxx.h")
-'	  contents = fin.ReadAll()
-'	  contents = ReplaceAts(contents, false, true)
-'	  if bCleanCode then
-'		' Comm class
-'		contents = ReplaceBetweenTags(contents, "int", "NULL_COPY_FN( const Comm &oldcomm", "}", "int NULL_COPY_FN( const Comm &oldcomm, int keyval, void *ex, void *attr_in, void *attr_out, bool &flag ) { oldcomm; keyval; ex; attr_in; attr_out; flag = 1; return 0; }")
-'		contents = ReplaceBetweenTags(contents, "int", "NULL_DELETE_FN( Comm &comm", "}", "int NULL_DELETE_FN( Comm &comm, int keyval, void * attr, void *ex ) { comm; keyval; attr; ex; return 0; }")
-'		contents = ReplaceBetweenTags(contents, "int", "DUP_FN( const Comm &oldcomm", "}", "int DUP_FN( const Comm &oldcomm, int keyval, void *ex, void *attr_in, void *attr_out, bool &flag ) { oldcomm; keyval; ex; flag = 1; *(void **)attr_out = attr_in; return 0; }")
-'		' Win class
-'		contents = ReplaceBetweenTags(contents, "int", "NULL_COPY_FN( const Win &oldwin", "}", "int NULL_COPY_FN( const Win &oldwin, int keyval, void *ex, void *attr_in, void *attr_out, bool &flag ) { oldwin; keyval; ex; attr_in; attr_out; flag = 1; return 0; }")
-'		contents = ReplaceBetweenTags(contents, "int", "NULL_DELETE_FN( Win &win", "}", "int NULL_DELETE_FN( Win &win, int keyval, void * attr, void *ex ) { win; keyval; attr; ex; return 0; }")
-'		contents = ReplaceBetweenTags(contents, "int", "DUP_FN( const Win &oldwin", "}", "int DUP_FN( const Win &oldwin, int keyval, void *ex, void *attr_in, void *attr_out, bool &flag ) { oldwin; keyval; ex; flag = 1; *(void **)attr_out = attr_in; return 0; }")
-'		' Datatype class
-'		contents = ReplaceBetweenTags(contents, "int", "NULL_COPY_FN( const Datatype &oldtype", "}", "int NULL_COPY_FN( const Datatype &oldtype, int keyval, void *ex, void *attr_in, void *attr_out, bool &flag ) { oldtype; keyval; ex; attr_in; attr_out; flag = 1; return 0; }")
-'		contents = ReplaceBetweenTags(contents, "int", "NULL_DELETE_FN( Datatype &type", "}", "int NULL_DELETE_FN( Datatype &type, int keyval, void * attr, void *ex ) { type; keyval; attr; ex; return 0; }")
-'		contents = ReplaceBetweenTags(contents, "int", "DUP_FN( const Datatype &oldtype", "}", "int DUP_FN( const Datatype &oldtype, int keyval, void *ex, void *attr_in, void *attr_out, bool &flag ) { oldtype; keyval; ex; flag = 1; *(void **)attr_out = attr_in; return 0; }")
-'	  end if	
-'	  fout.Write(contents)
-'	  fin.Close()
-'	  fout.Close()
-
-	Else
-	
-	  printMsg "ERROR", "Run ""perl buildiface -nosep"" from the src\binding\cxx directory before running winconfigure"
-	  
-	End IF
-	
-	
-	'
-	' Generate mpimcxx.h
-	'
-	If bMcxx Then
-	
-		If bForce Or Not f.FileExists("src\binding\mcxx\mpimcxx.h.in") Then
-	
-			Set WshShell = CreateObject("WScript.Shell")
-                        Set userEnv = WshShell.Environment("USER")
-                        userEnv("nodosfilewarning") = 1
-			WshShell.CurrentDirectory = "src\binding\mcxx"
-			printMsg "VERBOSE", WshShell.CurrentDirectory & ">perl buildiface -nosep"
-			WshShell.Run "perl buildiface -nosep", 0, true
-			WhShell.CurrentDirectory = "..\..\.."
-	
-		End If
-	
-		If f.FileExists("src\binding\mcxx\mpimcxx.h.in") Then
-
-			set fin = f.OpenTextFile("src\binding\mcxx\mpimcxx.h.in")
-			printMsg "VERBOSE", "Creating src\include\mpimcxx.h"
-			set fout = f.CreateTextFile("src\include\mpimcxx.h")
-			contents = fin.ReadAll()
-			contents = ReplaceAts(contents, false, false)
-			fout.Write(contents)
-			fin.Close()
-			fout.Close()
-
-'			set fin = f.OpenTextFile("src\binding\mcxx\mpimcxx.h.in")
-'			cEcho "Creating src\include\mpimcxx64.h"
-'			set fout = f.CreateTextFile("src\include\mpimcxx64.h")
-'			contents = fin.ReadAll()
-'			contents = ReplaceAts(contents, false, true)
-'			fout.Write(contents)
-'			fin.Close()
-'			fout.Close()
-
-		Else
-	
-			printMsg "ERROR", "Run ""perl buildiface -nosep"" from the src\binding\mcxx directory before running winconfigure"
-	  
-		End If
-		
-	End If
-
-	If Not bRemoveFortran Then
-		'
-		' Generate mpif.h
-		'
-		If bForce Or Not f.FileExists("src\binding\f77\mpif.h.in") Then
-
-			Set WshShell = CreateObject("WScript.Shell")
-                        Set userEnv = WshShell.Environment("USER")
-                        userEnv("nodosfilewarning") = 1
-			WshShell.CurrentDirectory = "src\binding\f77"
-			printMsg "VERBOSE", WshShell.CurrentDirectory & ">perl buildiface"
-			WshShell.Run "perl buildiface", 0, true
-			WshShell.CurrentDirectory = "..\..\.."
-
-		End If
-
-		If f.FileExists("src\binding\f77\mpif.h.in") Then
-
-			set fin = f.OpenTextFile("src\binding\f77\mpif.h.in")
-			printMsg "VERBOSE", "Creating src\include\win32\mpif.h"
-			set fout = f.CreateTextFile("src\include\win32\mpif.h")
-			contents = fin.ReadAll()
-			contents = ReplaceAts(contents, true, false)
-			fout.Write(contents)
-			fin.Close()
-			fout.Close()
-			' Assume all windows fortran compilers are F90 compilers
-			retVal = ConvertF77HeaderToF90("src\include\win32\mpif.h")
-
-			set fin = f.OpenTextFile("src\binding\f77\mpif.h.in")
-			printMsg "VERBOSE", "Creating src\include\win64\mpif.h"
-			set fout = f.CreateTextFile("src\include\win64\mpif.h")
-			contents = fin.ReadAll()
-			contents = ReplaceAts(contents, true, true)
-			fout.Write(contents)
-			fin.Close()
-			fout.Close()
-			' Assume all windows fortran compilers are F90 compilers
-			retVal = ConvertF77HeaderToF90("src\include\win64\mpif.h")
-
-		Else
-	
-			printMsg "ERROR", "Run ""perl buildiface"" from the src\binding\f77 directory before running winconfigure"
-	
-		End If
-
-		'
-		' Create the string versions of the fortran interface necessitated by the stdcall calling convention
-		'
-		CreateStdcallFortranInterface()
-		
-		'
-		' Generate setbotf.f
-		'
-		If f.FileExists("src\binding\f77\setbotf.f.in") Then
-
-			set fin = f.OpenTextFile("src\binding\f77\setbotf.f.in")
-			printMsg "VERBOSE", "Creating src\binding\f77\setbotf.f"
-			set fout = f.CreateTextFile("src\binding\f77\setbotf.f")
-			contents = fin.ReadAll()
-			contents = ReplaceAts(contents, true, false)
-			fout.Write(contents)
-			fin.Close()
-			fout.Close()
-
-'			set fin = f.OpenTextFile("src\binding\f77\setbotf.f.in")
-'			cEcho "Creating src\binding\f77\setbotf64.f"
-'			set fout = f.CreateTextFile("src\binding\f77\setbotf64.f")
-'			contents = fin.ReadAll()
-'			contents = ReplaceAts(contents, true, true)
-'			fout.Write(contents)
-'			fin.Close()
-'			fout.Close()
-			
-		Else
-			printMsg "VERBOSE", "Skipping file: src\binding\f77\setbotf.f"
-		End If
-
-                '
-                ' Generate setbot.c
-                '
-                If f.FileExists("src\binding\f77\setbot.c.in") Then
-                    set fin = f.OpenTextFile("src\binding\f77\setbot.c.in")
-                    printMsg "VERBOSE", "Creating src\binding\f77\setbot.c"
-                    set fout = f.CreateTextFile("src\binding\f77\setbot.c")
-                    contents = fin.ReadAll()
-                    contents = ReplaceAts(contents, true, false)
-                    fout.Write(contents)
-                    fin.Close()
-                    fout.Close()
-                Else
-                    printMsg "VERBOSE", "Skipping file: src\binding\f77\setbot.c"
-                End If
-
-		'
-		' Generate F90 module files
-		'
-		If bForce Or Not f.FileExists("src\binding\f90\mpi.f90") Then
-
-			Set WshShell = CreateObject("WScript.Shell")
-                        Set userEnv = WshShell.Environment("USER")
-                        userEnv("nodosfilewarning") = 1
-			WshShell.CurrentDirectory = "src\binding\f90"
-			printMsg "VERBOSE", WshShell.CurrentDirectory & ">perl buildiface"
-			WshShell.Run "perl buildiface", 0, true
-
-			' Generate mpifnoext.h
-			' - Remove EXTERNAL, DOUBLE PRECISION from mpif.h
-			' - Change comment style in mpif.h from "C ..." to "! ..."
-			printMsg "VERBOSE", "Creating src\include\win32\mpifnoext.h"
-			set fs = CreateObject("Scripting.FileSystemObject")
-			set fout = fs.CreateTextFile("..\..\include\win32\mpifnoext.h")
-			set fin = fs.OpenTextFile("..\..\include\win32\mpif.h")
-			Do Until fin.AtEndOfStream = True
-				contents = fin.ReadLine()
-				posExternal = InStr(1, contents, "EXTERNAL", 1)
-				posDoubleP = InStr(1, contents, "DOUBLE PRECISION", 1)
-				posCommentChar = InStr(1, contents, "C", 1)
-				If posCommentChar = 1 Then
-					contents = Replace(contents, "C", "!", 1, 1, 1)
-				End If
-				If (posExternal < 1) And (posDoubleP < 1) Then
-					fout.WriteLine(contents)
-				End If
-			Loop
-			fin.Close()
-			fout.Close()
-			printMsg "VERBOSE", "Creating src\include\win64\mpifnoext.h"
-			set fout = fs.CreateTextFile("..\..\include\win64\mpifnoext.h")
-			set fin = fs.OpenTextFile("..\..\include\win64\mpif.h")
-			Do Until fin.AtEndOfStream = True
-				contents = fin.ReadLine()
-				posExternal = InStr(1, contents, "EXTERNAL", 1)
-				posDoubleP = InStr(1, contents, "DOUBLE PRECISION", 1)
-				posCommentChar = InStr(1, contents, "C", 1)
-				If posCommentChar = 1 Then
-					contents = Replace(contents, "C", "!", 1, 1, 1)
-				End If
-				If (posExternal < 1) And (posDoubleP < 1) Then
-					fout.WriteLine(contents)
-				End If
-			Loop
-			fin.Close()
-			fout.Close()
-
-			' Create mpi_sizeofs.f90 in arch dependent dirs
-			If Not fs.FolderExists("win32") Then
-				fs.CreateFolder("win32")
-			End If
-			printMsg "VERBOSE", "Creating src\binding\f90\win32\mpi_sizeofs.f90"
-			set fout = fs.CreateTextFile("win32\mpi_sizeofs.f90" , True)
-			set fin  = fs.OpenTextFile("mpi_sizeofs.f90.in")
-			contents = fin.ReadAll()
-			contents = ReplaceAts(contents, false, false)
-			fout.Write(contents)
-			fin.Close()
-			fout.Close()
-
-			If Not fs.FolderExists("win64") Then
-				fs.CreateFolder("win64")
-			End If
-			printMsg "VERBOSE", "Creating src\binding\f90\win64\mpi_sizeofs.f90"
-			set fout = fs.CreateTextFile("win64\mpi_sizeofs.f90", True)
-			set fin  = fs.OpenTextFile("mpi_sizeofs.f90.in")
-			contents = fin.ReadAll()
-			contents = ReplaceAts(contents, false, true)
-			fout.Write(contents)
-			fin.Close()
-			fout.Close()
-			
-			' Create mpif90model.h in arch dependent dirs
-			printMsg "VERBOSE", "Creating src\binding\f90\mpif90model.h"
-			set fout = fs.CreateTextFile("mpif90model.h" , True)
-			set fin  = fs.OpenTextFile("mpif90model.h.in")
-			contents = fin.ReadAll()
-			contents = ReplaceAts(contents, false, false)
-			fout.Write(contents)
-			fin.Close()
-			fout.Close()
-
-			' Create mpi_base.f90 
-			printMsg "VERBOSE", "Creating src\binding\f90\mpi_base.f90"
-			set fout = fs.CreateTextFile("mpi_base.f90" , True)
-			set fin  = fs.OpenTextFile("mpi_base.f90.in")
-			contents = fin.ReadAll()
-			contents = ReplaceAts(contents, false, false)
-			fout.Write(contents)
-			fin.Close()
-			fout.Close()
-
-			WshShell.CurrentDirectory = "..\..\.."
-
-		End If
-
-		If Not f.FileExists("src\binding\f90\mpi.f90") Then
-
-			printMsg "ERROR", "Run ""perl buildiface"" from the src\binding\f90 directory to generate the F90 modules"
-
-		End If
-	
-	End If
-
-End Function
-
-printMsg "STATUS", "Building C++ and Fortran interfaces..."
-BuildIFaces()
-
-
-'
-' Generate defmsg.h
-'
-'Function RunCmd(cmd_line)
-'	Set oExec = WshShell.Exec("cmd /C " & cmd_line & " 2>&1")
-'	cmd_output = oExec.StdOut.ReadAll()
-'	RunCmd = cmd_output
-'End Function
-'Function RunCmd(cmd_line)
-'	Dim results(2), runcmd_done
-'	Set WshShell = CreateObject("WScript.Shell")
-'	cEcho WshShell.CurrentDirectory & ">" & cmd_line
-'	Set oExec = WshShell.Exec(cmd_line)
-'	cmd_output = ""
-'	err_output = ""
-'	runcmd_more = true
-'	Do While runcmd_more
-'		runcmd_more = false
-'		If Not oExec.StdOut.AtEndOfStream Then
-'			runcmd_more = true
-'			cmd_output = cmd_output & oExec.StdOut.ReadLine & vbCrLf
-'		End If
-'		If Not oExec.StdErr.AtEndOfStream Then
-'			runcmd_more = true
-'			err_output = err_output & oExec.StdErr.ReadLine & vbCrLf
-'		End If
-'	Loop
-'	Do While oExec.Status <> 1
-'		WScript.Sleep 10
-'	Loop
-'	results(0) = cmd_output
-'	results(1) = err_output
-'	RunCmd = results
-'End Function
-Function RunCmd(cmd_line)
-	Dim results(2)
-	Set WshShell = CreateObject("WScript.Shell")
-	printMsg "VERBOSE", WshShell.CurrentDirectory & ">" & cmd_line
-	Set oExec = WshShell.Exec(cmd_line)
-	cmd_output = ""
-    err_output = ""
-	If Not oExec.StdOut.AtEndOfStream Then
-		cmd_output = cmd_output & oExec.StdOut.ReadAll
-	End If
-    If Not oExec.StdErr.AtEndOfStream Then
-		err_output = err_output & oExec.StdErr.ReadAll
-	End If
-    Do While oExec.Status <> 1
-        WScript.Sleep 10
-    Loop
-    results(0) = cmd_output
-    results(1) = err_output
-    RunCmd = results
-End Function
-
-Function RemoveWarnings(str)
-	lines = Split(str, vbCrLf)
-	result = ""
-	for each line in lines
-		line = Trim(line)
-		if Len(line) > 0 and (not Left(line, 7) = "Warning") then
-			result = result & line & vbCrLf
-		end if
-	next
-	RemoveWarnings = result
-End Function
-
-Function GenerateDefmsg()
-	set f = WScript.CreateObject("Scripting.FileSystemObject")
-	set fin = f.OpenTextFile("maint\errmsgdirs")
-	contents = fin.ReadAll()
-	fin.Close()
-	contents = Trim(contents)
-	contents = Replace(contents, "/", "\")
-	contents = Replace(contents, vbCrLf, "")
-	cmd_line = "perl maint\extracterrmsgs -skip=src\util/multichannel/mpi.c " & contents
-	'WScript.Echo(cmd_line)
-	output = RunCmd(cmd_line)
-	output(1) = RemoveWarnings(output(1))
-	If Len(output(1)) > 0 Then
-		printMsg "ERROR", output(1)
-		printMsg "ERROR", "Because of errors in extracting error messages, the file src\mpi\errhan\defmsg.h was not updated."
-	Else
-		set fout = f.OpenTextFile("src\mpi\errhan\defmsg.h", 2, True)
-		fout.Write(output(0))
-		fout.Close()
-	End If
-End Function
-
-If bForce Then
-	GenerateDefmsg()
-End If
-
-'
-' Generate mpiallstates.h and describe_states.c
-'
-'Function GenerateStatesFiles()
-'	set f = WScript.CreateObject("Scripting.FileSystemObject")
-'	If f.FileExists("maint\genstates.in") Then
-'
-'		set fin = f.OpenTextFile("maint\genstates.in")
-'		cEcho "Creating maint\genstates"
-'		set fout = f.CreateTextFile("maint\genstates")
-'		contents = fin.ReadAll()
-'		contents = Replace(contents, "@PERL@", "perl")
-'		fout.Write(contents)
-'		fin.Close()
-'		fout.Close()
-'		Set WshShell = CreateObject("WScript.Shell")
-'		cEcho WshShell.CurrentDirectory & ">perl maint\genstates"
-'		WshShell.Run "perl maint\genstates", 0, true
-'
-'	Else
-'
-'		If InStr(1, LCase(WScript.FullName), "cscript") > 0 Then
-'			WScript.Echo("Missing file: maint\genstates.in")
-'		End If
-' 
-'	End If
-'
-'End Function
-
-'
-' Generate state_names.h
-'
-Function GenerateStatesFiles()
-	set f = WScript.CreateObject("Scripting.FileSystemObject")
-	If f.FileExists("maint\extractstates.in") Then
-
-		set fin = f.OpenTextFile("maint\extractstates.in")
-		printMsg "VERBOSE", "Creating maint\extractstates"
-		set fout = f.CreateTextFile("maint\extractstates")
-		contents = fin.ReadAll()
-		contents = Replace(contents, "@PERL@", "perl")
-		fout.Write(contents)
-		fin.Close()
-		fout.Close()
-	
-	End If
-	
-	If f.FileExists("maint\extractstrings.in") Then
-
-		set fin = f.OpenTextFile("maint\extractstrings.in")
-		printMsg "VERBOSE", "Creating maint\extractstrings"
-		set fout = f.CreateTextFile("maint\extractstrings")
-		contents = fin.ReadAll()
-		contents = Replace(contents, "@PERL@", "perl")
-		fout.Write(contents)
-		fin.Close()
-		fout.Close()
-		
-	End If
-	
-	If f.FileExists("maint\extractstates") And f.FileExists("maint\extractstrings") Then
-		
-		Set WshShell = CreateObject("WScript.Shell")
-		printMsg "VERBOSE", WshShell.CurrentDirectory & ">perl maint\extractstates"
-		WshShell.Run "perl maint\extractstates", 0, true
-
-	Else
-
-		If InStr(1, LCase(WScript.FullName), "cscript") > 0 Then
-			printMsg "ERROR", "Missing files: maint\extractstates.in and maint\extractstrings.in"
-		End If
- 
-	End If
-
-End Function
-
-If bForce Then
-	GenerateStatesFiles()
-End If
-
-'
-' Generate the c++ and fortran tests from their templates
-'
-Function GenerateTemplatedTests()
-
-	set f = WScript.CreateObject("Scripting.FileSystemObject")
-	If f.FileExists("test\mpi\maint\testmerge.in") Then
-
-		set fin = f.OpenTextFile("test\mpi\maint\testmerge.in")
-		printMsg "VERBOSE", "Creating test\mpi\maint\testmerge"
-		set fout = f.CreateTextFile("test\mpi\maint\testmerge")
-		contents = fin.ReadAll()
-		contents = Replace(contents, "@PERL@", "perl")
-		fout.Write(contents)
-		fin.Close()
-		fout.Close()
-		Set WshShell = CreateObject("WScript.Shell")
-		WshShell.CurrentDirectory = "test\mpi\cxx\io"
-		printMsg "VERBOSE", WshShell.CurrentDirectory & ">perl ..\..\maint\testmerge -defn=..\..\maint\common.defn ioharness.defn ioharness.tlt"
-		WshShell.Run "perl ..\..\maint\testmerge -defn=..\..\maint\common.defn ioharness.defn ioharness.tlt", 0, true
-		WshShell.CurrentDirectory = "..\..\f77\io"
-		printMsg "VERBOSE", WshShell.CurrentDirectory & ">perl ..\..\maint\testmerge -defn=..\..\maint\common.defn ioharness.defn ioharness.tlt"
-		WshShell.Run "perl ..\..\maint\testmerge -defn=..\..\maint\common.defn ioharness.defn ioharness.tlt", 0, true
-		WshShell.CurrentDirectory = "..\..\..\.."
-
-	Else
-
-		printMsg "VERBOSE", "Missing file: test\mpi\maint\testmerge.in"
-
-	End If
-
-End Function
-
-If bForce Then
-	GenerateTemplatedTests()
-End If
-
-'
-' Validate .in files
-'
-
-
-printMsg "STATUS", "Creating *conf.h header files for MPICH..."
-'
-' Generate the conf.h files
-'
-
-Sub WriteHeader( fout, str )
-	fout.WriteLine( "/* -*- Mode: C; c-basic-offset:4 ; -*- */" & vbNewLine & "/*" & vbNewLine & " *  (C) 2001 by Argonne National Laboratory." & vbNewLine & " *      See COPYRIGHT in top-level directory." & vbNewLine & " */" )
-	fout.WriteLine("")
-	fout.WriteLine("#ifndef " & UCase(str) & "CONF_H_INCLUDED")
-	fout.WriteLine("#define " & UCase(str) & "CONF_H_INCLUDED")
-	fout.WriteLine("")
-	fout.WriteLine("/* " & str & "conf.h.  Generated automatically by winconfigure.  */")
-	fout.WriteLine("")
-End Sub
-
-Sub WriteFooter( fout )
-	fout.WriteLine("")
-	fout.WriteLine("#endif")
-End Sub
-
-'
-' Write common VS pragmas to header file pointed to by fout
-'
-Sub WriteCommonVSPragmas(fout)
-    ' Disable warnings for unsecure versions, eg: snprintf instead of snprintf_s, of funcs
-    fout.WriteLine("#pragma warning( disable : 4996 )") 
-    ' Disable warnings for do{}while(0) constructs - conditional expression is constant
-    fout.WriteLine("#pragma warning( disable : 4127 )")
-End Sub
-
-'
-' mpichconf.h
-'
-printMsg "VERBOSE", "Creating src\include\win32\mpichconf.h"
-Set fout = f.CreateTextFile("src\include\win32\mpichconf.h")
-Call WriteHeader(fout, "mpich")
-Call AddDefinitions(fout, "src\include\mpichconf.h.in", false)
-fout.WriteLine("#define HAVE_PROCESS_H")
-fout.WriteLine("#ifndef HAVE_WINDOWS_H")
-fout.WriteLine("#define HAVE_WINDOWS_H")
-fout.WriteLine("#endif")
-fout.WriteLine("#ifndef HAVE_WINNT_H")
-fout.WriteLine("#define HAVE_WINNT_H")
-fout.WriteLine("#endif")
-fout.WriteLine("#define HAVE_WINDOWS_SOCKET")
-fout.WriteLine("#define HAVE_WINSOCK2_H")
-fout.WriteLine("#define HAVE_INTSAFE_H")
-fout.WriteLine("#define HAVE_WIN32_SLEEP")
-fout.WriteLine("#define HAVE_NT_LOCKS")
-fout.WriteLine("#define HAVE_MAPVIEWOFFILE")
-fout.WriteLine("#define HAVE_CREATEFILEMAPPING")
-fout.WriteLine("#define HAVE_INTERLOCKEDEXCHANGE")
-fout.WriteLine("#define HAVE_BOOL")
-fout.WriteLine("#define HAVE_CRTDBG_H")
-fout.WriteLine("")
-fout.WriteLine("#define snprintf _snprintf")
-fout.WriteLine("#define inline __inline")
-fout.WriteLine("")
-fout.WriteLine("#define WITH_SOCK_TYPE SOCK_IOCP")
-fout.WriteLine("")
-fout.WriteLine("/* Define if building mpich in development mode */")
-fout.WriteLine("#define MPICH_DEV_BUILD")
-fout.WriteLine("#define MPICH_DBG_OUTPUT")
-fout.WriteLine("")
-fout.WriteLine("/*#define MPICH_MPI_FROM_PMPI*/")
-fout.WriteLine("#define USE_PROCESS_LOCKS 1")
-fout.WriteLine("#define USE_THREAD_PACKAGE")
-fout.WriteLine("#define USE_WINTHREADS")
-fout.WriteLine("#ifndef HAVE_INT64")
-fout.WriteLine("#define HAVE_INT64 1")
-fout.WriteLine("#define HAVE_PTRTOLONG")
-fout.WriteLine("#define HAVE_PTRTOINT")
-fout.WriteLine("#define HAVE_PTRTOAINT")
-fout.WriteLine("#define HAVE_LONGTOPTR")
-fout.WriteLine("#define HAVE_INTTOPTR")
-fout.WriteLine("#define HAVE_AINTTOPTR")
-fout.WriteLine("#endif")
-fout.WriteLine("#ifndef HAVE_STRNICMP")
-fout.WriteLine("	#define HAVE_STRNICMP")
-fout.WriteLine("#endif")
-fout.WriteLine("#ifndef _WIN32_WINNT")
-fout.WriteLine("	#define _WIN32_WINNT 0x500")
-fout.WriteLine("#endif")
-fout.WriteLine("#define HAVE_SWITCHTOTHREAD	1")
-fout.WriteLine("#define HAVE_GETLASTERROR 1")
-fout.WriteLine("#define HAVE_FORMATMESSAGE 1")
-fout.WriteLine("#define HAVE_SRAND 1")
-fout.WriteLine("#define HAVE_QUERYPERFORMANCECOUNTER 1")
-fout.WriteLine("#ifndef ENABLE_NO_MACRO_VARARG_NAME")
-fout.WriteLine("	#define ENABLE_NO_MACRO_VARARG_NAME")
-fout.WriteLine("#endif")
-' Use Windows Intrinsics for atomics
-fout.WriteLine("#define HAVE_NT_INTRINSICS")
-' Use Windows SHM
-fout.WriteLine("#define HAVE_NT_SHARED_MEM")
-fout.WriteLine("#define USE_NT_SHM	1")
-fout.WriteLine("#define USE_NT_SOCK 1")
-fout.WriteLine("#define HAVE_EXECUTIVE_PE 1")
-fout.WriteLine("#define HAVE__MKTEMP_S 1")
-fout.WriteLine("#define HAVE_FOPEN_S 1")
-WriteCommonVSPragmas(fout)
-' Define so that we can test whether the mpichconf.h file has been included 
-fout.WriteLine(" /* Define so that we can test whether the mpichconf.h has been included */")
-fout.WriteLine("#define HAVE_MPICHCONF 1")
-If Not bRemoveFortran Then
-	fout.WriteLine("/* Define to #define MPIR_F_TRUE/FALSE to F77_TRUE/FALSE_VALUE */")
-	fout.WriteLine("#define F77_USE_BOOLEAN_LITERALS 1")
-End If
-Call WriteFooter(fout)
-fout.Close()
-printMsg "VERBOSE", "Creating src\include\win64\mpichconf.h"
-Set fout = f.CreateTextFile("src\include\win64\mpichconf.h")
-Call WriteHeader(fout, "mpich")
-Call AddDefinitions(fout, "src\include\mpichconf.h.in", true)
-fout.WriteLine("#define HAVE_PROCESS_H")
-fout.WriteLine("#ifndef HAVE_WINDOWS_H")
-fout.WriteLine("#define HAVE_WINDOWS_H")
-fout.WriteLine("#endif")
-fout.WriteLine("#define HAVE_WINDOWS_SOCKET")
-fout.WriteLine("#define HAVE_WINSOCK2_H")
-fout.WriteLine("#define HAVE_INTSAFE_H")
-fout.WriteLine("#define HAVE_WIN32_SLEEP")
-fout.WriteLine("#define HAVE_NT_LOCKS")
-fout.WriteLine("#define HAVE_MAPVIEWOFFILE")
-fout.WriteLine("#define HAVE_CREATEFILEMAPPING")
-fout.WriteLine("#define HAVE_INTERLOCKEDEXCHANGE")
-fout.WriteLine("#define HAVE_BOOL")
-fout.WriteLine("#define HAVE_CRTDBG_H")
-fout.WriteLine("")
-fout.WriteLine("#define snprintf _snprintf")
-fout.WriteLine("#define inline __inline")
-fout.WriteLine("")
-fout.WriteLine("#define WITH_SOCK_TYPE SOCK_IOCP")
-fout.WriteLine("")
-fout.WriteLine("/* Define if building mpich in development mode */")
-fout.WriteLine("#define MPICH_DEV_BUILD")
-fout.WriteLine("#define MPICH_DBG_OUTPUT")
-fout.WriteLine("")
-fout.WriteLine("/*#define MPICH_MPI_FROM_PMPI*/")
-fout.WriteLine("#define USE_PROCESS_LOCKS 1")
-fout.WriteLine("#define USE_THREAD_PACKAGE")
-fout.WriteLine("#define USE_WINTHREADS")
-fout.WriteLine("#ifndef HAVE_INT64")
-fout.WriteLine("#define HAVE_INT64 1")
-fout.WriteLine("#define HAVE_PTRTOLONG")
-fout.WriteLine("#define HAVE_PTRTOINT")
-fout.WriteLine("#define HAVE_PTRTOAINT")
-fout.WriteLine("#define HAVE_LONGTOPTR")
-fout.WriteLine("#define HAVE_INTTOPTR")
-fout.WriteLine("#define HAVE_AINTTOPTR")
-fout.WriteLine("#endif")
-fout.WriteLine("#ifndef HAVE_STRNICMP")
-fout.WriteLine("	#define HAVE_STRNICMP")
-fout.WriteLine("#endif")
-fout.WriteLine("#ifndef _WIN32_WINNT")
-fout.WriteLine("	#define _WIN32_WINNT 0x500")
-fout.WriteLine("#endif")
-fout.WriteLine("#define HAVE_SWITCHTOTHREAD	1")
-fout.WriteLine("#define HAVE_GETLASTERROR 1")
-fout.WriteLine("#define HAVE_FORMATMESSAGE 1")
-fout.WriteLine("#define HAVE_SRAND 1")
-fout.WriteLine("#define HAVE_QUERYPERFORMANCECOUNTER 1")
-fout.WriteLine("#ifndef ENABLE_NO_MACRO_VARARG_NAME")
-fout.WriteLine("	#define ENABLE_NO_MACRO_VARARG_NAME")
-fout.WriteLine("#endif")
-' Use Windows Intrinsics for atomics
-fout.WriteLine("#define HAVE_NT_INTRINSICS")
-' Use Windows SHM
-fout.WriteLine("#define HAVE_NT_SHARED_MEM")
-fout.WriteLine("#define USE_NT_SHM	1")
-fout.WriteLine("#define USE_NT_SOCK 1")
-fout.WriteLine("#define HAVE_EXECUTIVE_PE 1")
-fout.WriteLine("#define HAVE__MKTEMP_S 1")
-fout.WriteLine("#define HAVE_FOPEN_S 1")
-WriteCommonVSPragmas(fout)
-' Define so that we can test whether the mpichconf.h file has been included 
-fout.WriteLine(" /* Define so that we can test whether the mpichconf.h has been included */")
-fout.WriteLine("#define HAVE_MPICHCONF 1")
-
-If Not bRemoveFortran Then
-	fout.WriteLine("/* Define to #define MPIR_F_TRUE/FALSE to F77_TRUE/FALSE_VALUE */")
-	fout.WriteLine("#define F77_USE_BOOLEAN_LITERALS 1")
-End If
-Call WriteFooter(fout)
-fout.Close()
-
-'
-' mpidi_ch3_conf.h
-'
-printMsg "VERBOSE", "Creating src\include\win32\mpidi_ch3_conf.h"
-Set fout = f.CreateTextFile("src\include\win32\mpidi_ch3_conf.h")
-Call WriteHeader(fout, "mpidi_ch3_")
-Call AddDefinitions(fout, "src\mpid\ch3\include\mpidi_ch3_conf.h.in", false)
-fout.WriteLine("#define EWOULDBLOCK EAGAIN")
-fout.WriteLine("#define HAVE_WINTHREADS")
-fout.WriteLine("#define MPICH_CPU_TICK_TYPE USE_WIN_X86_CYCLE_ASM")
-Call WriteFooter(fout)
-fout.Close()
-printMsg "VERBOSE", "Creating src\include\win64\mpidi_ch3_conf.h"
-Set fout = f.CreateTextFile("src\include\win64\mpidi_ch3_conf.h")
-Call WriteHeader(fout, "mpidi_ch3_")
-Call AddDefinitions(fout, "src\mpid\ch3\include\mpidi_ch3_conf.h.in", true)
-fout.WriteLine("#define EWOULDBLOCK EAGAIN")
-fout.WriteLine("#define HAVE_WINTHREADS")
-fout.WriteLine("#define MPICH_CPU_TICK_TYPE USE_WIN_X86_CYCLE_ASM")
-Call WriteFooter(fout)
-fout.Close()
-
-'
-' timerconf.h
-'
-printMsg "VERBOSE", "Creating src\include\win32\timerconf.h"
-Set fout = f.CreateTextFile("src\include\win32\timerconf.h")
-Call WriteHeader(fout, "timer")
-Call AddDefinitions(fout, "src\mpi\timer\timerconf.h.in", false)
-Call WriteFooter(fout)
-fout.Close()
-printMsg "VERBOSE", "Creating src\include\win64\timerconf.h"
-Set fout = f.CreateTextFile("src\include\win64\timerconf.h")
-Call WriteHeader(fout, "timer")
-Call AddDefinitions(fout, "src\mpi\timer\timerconf.h.in", true)
-Call WriteFooter(fout)
-fout.Close()
-
-'
-' mpid_locksconf.h
-'
-printMsg "VERBOSE", "Creating src\include\win32\mpid_locksconf.h"
-Set fout = f.CreateTextFile("src\include\win32\mpid_locksconf.h")
-Call WriteHeader(fout, "mpid_locks")
-Call AddDefinitions(fout, "src\mpid\common\locks\mpid_locksconf.h.in", false)
-Call WriteFooter(fout)
-fout.Close()
-printMsg "VERBOSE", "Creating src\include\win64\mpid_locksconf.h"
-Set fout = f.CreateTextFile("src\include\win64\mpid_locksconf.h")
-Call WriteHeader(fout, "mpid_locks")
-Call AddDefinitions(fout, "src\mpid\common\locks\mpid_locksconf.h.in", true)
-Call WriteFooter(fout)
-fout.Close()
-
-'
-' mpidu_sock_conf.h
-'
-printMsg "VERBOSE", "Creating src\include\win32\mpidu_sock_conf.h"
-Set fout = f.CreateTextFile("src\include\win32\mpidu_sock_conf.h")
-Call WriteHeader(fout, "mpidu_sock_")
-Call AddDefinitions(fout, "src\mpid\common\sock\mpidu_sock_conf.h.in", false)
-Call WriteFooter(fout)
-fout.Close()
-printMsg "VERBOSE", "Creating src\include\win64\mpidu_sock_conf.h"
-Set fout = f.CreateTextFile("src\include\win64\mpidu_sock_conf.h")
-Call WriteHeader(fout, "mpidu_sock_")
-Call AddDefinitions(fout, "src\mpid\common\sock\mpidu_sock_conf.h.in", true)
-Call WriteFooter(fout)
-fout.Close()
-
-'
-' ch3u_sock_conf.h
-'
-printMsg "VERBOSE", "Creating src\include\win32\ch3usockconf.h"
-Set fout = f.CreateTextFile("src\include\win32\ch3usockconf.h")
-Call WriteHeader(fout, "mpidi_ch3usock")
-Call AddDefinitions(fout, "src\mpid\ch3\util\sock\ch3usockconf.h.in", false)
-Call WriteFooter(fout)
-fout.Close()
-printMsg "VERBOSE", "Creating src\include\win64\ch3usockconf.h"
-Set fout = f.CreateTextFile("src\include\win64\ch3usockconf.h")
-Call WriteHeader(fout, "mpidi_ch3usock")
-Call AddDefinitions(fout, "src\mpid\ch3\util\sock\ch3usockconf.h.in", true)
-Call WriteFooter(fout)
-fout.Close()
-
-'
-' pmiconf.h
-'
-printMsg "VERBOSE", "Creating src\include\win32\pmiconf.h"
-Set fout = f.CreateTextFile("src\include\win32\pmiconf.h")
-Call WriteHeader(fout, "pmi")
-Call AddDefinitions(fout, "src\pmi\smpd\pmiconf.h.in", false)
-fout.WriteLine("#ifndef HAVE_WINDOWS_H")
-fout.WriteLine("#define HAVE_WINDOWS_H")
-fout.WriteLine("#endif")
-Call WriteFooter(fout)
-fout.Close()
-printMsg "VERBOSE", "Creating src\include\win64\pmiconf.h"
-Set fout = f.CreateTextFile("src\include\win64\pmiconf.h")
-Call WriteHeader(fout, "pmi")
-Call AddDefinitions(fout, "src\pmi\smpd\pmiconf.h.in", true)
-fout.WriteLine("#ifndef HAVE_WINDOWS_H")
-fout.WriteLine("#define HAVE_WINDOWS_H")
-fout.WriteLine("#endif")
-Call WriteFooter(fout)
-fout.Close()
-
-'
-' mpiu_os_wrappers_conf.h
-'
-'If f.FileExists("src\util\wrappers\mpiu_os_wrappers_conf.h.in") Then
-'	cEcho "Creating src\util\wrappers\mpiu_os_wrappers_conf.h"
-'	Set fout = f.CreateTextFile("src\util\wrappers\mpiu_os_wrappers_conf.h")
-'	Call WriteHeader(fout, "mpiu_os_wrappers")
-'	Call AddDefinitions(fout, "src\util\wrappers\mpiu_os_wrappers_conf.h.in", false)
-'	fout.WriteLine("#ifndef HAVE_WINDOWS_H")
-'		fout.WriteLine("#define HAVE_WINDOWS_H")
-'	fout.WriteLine("#endif")
-'	fout.WriteLine("#define USE_NT_SHM	1")
-'	fout.WriteLine("#define USE_NT_SOCK 1")
-'	fout.WriteLine("#define HAVE_SWITCHTOTHREAD	1")
-'	fout.WriteLine("#define HAVE_GETLASTERROR 1")
-'	fout.WriteLine("#define HAVE_FORMATMESSAGE 1")
-'	fout.WriteLine("#define HAVE_SRAND 1")
-'	fout.WriteLine("#define HAVE_QUERYPERFORMANCECOUNTER 1")
-'	fout.WriteLine("#define HAVE_DOUBLEUNDERSCOREINLINE 1")
-'	fout.WriteLine("#ifndef __cplusplus")
-'		fout.WriteLine("#define HAVE_NOINLINE 1")
-'	fout.WriteLine("#endif")
-'	Call WriteFooter(fout)
-'	fout.Close()
-'Else
-'	cEcho "Skipping file: mpiu_os_wrappers_conf.h"
-'End If
-
-'
-' mpidi_ch3i_rdma_conf.h
-'
-If f.FileExists("src\mpid\ch3\channels\rdma\include\mpidi_ch3i_rdma_conf.h.in") Then
-	printMsg "VERBOSE", "Creating src\include\win32\mpidi_ch3i_rdma_conf.h"
-	Set fout = f.CreateTextFile("src\include\win32\mpidi_ch3i_rdma_conf.h")
-	Call WriteHeader(fout, "mpidi_ch3i_rdma_")
-	Call AddDefinitions(fout, "src\mpid\ch3\channels\rdma\include\mpidi_ch3i_rdma_conf.h.in", false)
-	fout.WriteLine("#define USE_BUSY_LOCKS")
-	Call WriteFooter(fout)
-	fout.Close()
-	printMsg "VERBOSE", "Creating src\include\win64\mpidi_ch3i_rdma_conf.h"
-	Set fout = f.CreateTextFile("src\include\win64\mpidi_ch3i_rdma_conf.h")
-	Call WriteHeader(fout, "mpidi_ch3i_rdma_")
-	Call AddDefinitions(fout, "src\mpid\ch3\channels\rdma\include\mpidi_ch3i_rdma_conf.h.in", true)
-	fout.WriteLine("#define USE_BUSY_LOCKS")
-	Call WriteFooter(fout)
-	fout.Close()
-Else
-	printMsg "VERBOSE", "Skipping file: mpidi_ch3i_rdma_conf.h"
-End If
-
-'
-' mpidi_ch3i_shm_conf.h
-'
-If f.FileExists("src\mpid\ch3\channels\shm\include\mpidi_ch3i_shm_conf.h.in") Then
-	printMsg "VERBOSE", "Creating src\include\win32\mpidi_ch3i_shm_conf.h"
-	Set fout = f.CreateTextFile("src\include\win32\mpidi_ch3i_shm_conf.h")
-	Call WriteHeader(fout, "mpidi_ch3i_shm_")
-	Call AddDefinitions(fout, "src\mpid\ch3\channels\shm\include\mpidi_ch3i_shm_conf.h.in", false)
-	fout.WriteLine("#define USE_BUSY_LOCKS")
-	fout.WriteLine("#define HAVE_SHARED_PROCESS_READ")
-	fout.WriteLine("#define USE_RDMA_GET")
-	fout.WriteLine("#define USE_SHM_RDMA_GET")
-	Call WriteFooter(fout)
-	fout.Close()
-	printMsg "VERBOSE", "Creating src\include\win64\mpidi_ch3i_shm_conf.h"
-	Set fout = f.CreateTextFile("src\include\win64\mpidi_ch3i_shm_conf.h")
-	Call WriteHeader(fout, "mpidi_ch3i_shm_")
-	Call AddDefinitions(fout, "src\mpid\ch3\channels\shm\include\mpidi_ch3i_shm_conf.h.in", true)
-	fout.WriteLine("#define USE_BUSY_LOCKS")
-	fout.WriteLine("#define HAVE_SHARED_PROCESS_READ")
-	fout.WriteLine("#define USE_RDMA_GET")
-	fout.WriteLine("#define USE_SHM_RDMA_GET")
-	Call WriteFooter(fout)
-	fout.Close()
-Else
-	printMsg "VERBOSE", "Skipping file: mpidi_ch3i_shm_conf.h"
-End If
-
-'
-' mpidi_ch3i_sock_conf.h
-'
-If f.FileExists("src\mpid\ch3\channels\sock\include\mpidi_ch3i_sock_conf.h.in") Then
-	printMsg "VERBOSE", "Creating src\include\win32\mpidi_ch3i_sock_conf.h"
-	Set fout = f.CreateTextFile("src\include\win32\mpidi_ch3i_sock_conf.h")
-	Call WriteHeader(fout, "mpidi_ch3i_sock_")
-	Call AddDefinitions(fout, "src\mpid\ch3\channels\sock\include\mpidi_ch3i_sock_conf.h.in", false)
-	Call WriteFooter(fout)
-	fout.Close()
-	printMsg "VERBOSE", "Creating src\include\win64\mpidi_ch3i_sock_conf.h"
-	Set fout = f.CreateTextFile("src\include\win64\mpidi_ch3i_sock_conf.h")
-	Call WriteHeader(fout, "mpidi_ch3i_sock_")
-	Call AddDefinitions(fout, "src\mpid\ch3\channels\sock\include\mpidi_ch3i_sock_conf.h.in", true)
-	Call WriteFooter(fout)
-	fout.Close()
-Else
-	printMsg "VERBOSE", "Skipping file: mpidi_ch3i_sock_conf.h"
-End If
-
-'
-' mpidi_ch3i_ssm_conf.h
-'
-If f.FileExists("src\mpid\ch3\channels\ssm\include\mpidi_ch3i_ssm_conf.h.in") Then
-	printMsg "VERBOSE", "Creating src\include\win32\mpidi_ch3i_ssm_conf.h"
-	Set fout = f.CreateTextFile("src\include\win32\mpidi_ch3i_ssm_conf.h")
-	Call WriteHeader(fout, "mpidi_ch3i_ssm_")
-	Call AddDefinitions(fout, "src\mpid\ch3\channels\ssm\include\mpidi_ch3i_ssm_conf.h.in", false)
-	fout.WriteLine("#define USE_PERSISTENT_SHARED_MEMORY")
-	fout.WriteLine("#define HAVE_SHARED_PROCESS_READ")
-	fout.WriteLine("#define USE_RDMA_GET")
-	fout.WriteLine("#define USE_SHM_RDMA_GET")
-	Call WriteFooter(fout)
-	fout.Close()
-	printMsg "VERBOSE", "Creating src\include\win64\mpidi_ch3i_ssm_conf.h"
-	Set fout = f.CreateTextFile("src\include\win64\mpidi_ch3i_ssm_conf.h")
-	Call WriteHeader(fout, "mpidi_ch3i_ssm_")
-	Call AddDefinitions(fout, "src\mpid\ch3\channels\ssm\include\mpidi_ch3i_ssm_conf.h.in", true)
-	fout.WriteLine("#define USE_PERSISTENT_SHARED_MEMORY")
-	fout.WriteLine("#define HAVE_SHARED_PROCESS_READ")
-	fout.WriteLine("#define USE_RDMA_GET")
-	fout.WriteLine("#define USE_SHM_RDMA_GET")
-	Call WriteFooter(fout)
-	fout.Close()
-Else
-	printMsg "VERBOSE", "Skipping file: mpidi_ch3i_ssm_conf.h"
-End If
-
-'
-' mpidi_ch3i_nemesis_conf.h
-'
-If f.FileExists("src\mpid\ch3\channels\nemesis\include\mpidi_ch3i_nemesis_conf.h.in") Then
-	printMsg "VERBOSE", "Creating src\mpid\ch3\channels\nemesis\include\mpidi_ch3i_nemesis_conf.h"
-	Set fout = f.CreateTextFile("src\mpid\ch3\channels\nemesis\include\mpidi_ch3i_nemesis_conf.h")
-	Call WriteHeader(fout, "mpidi_ch3i_nemesis_")
-	Call AddDefinitions(fout, "src\mpid\ch3\channels\nemesis\include\mpidi_ch3i_nemesis_conf.h.in", false)
-    ' Use Windows Intrinsics for atomics
-	fout.WriteLine("#define HAVE_NT_INTRINSICS")
-	Call WriteFooter(fout)
-	fout.Close()
-Else
-	printMsg "VERBOSE","Skipping file: mpidi_ch3i_nemesis_conf.h"
-End If
-'
-' mpidi_ch3i_essm_conf.h
-'
-'If f.FileExists("src\mpid\ch3\channels\essm\include\mpidi_ch3i_essm_conf.h.in") Then
-'	cEcho "Creating src\include\win32\mpidi_ch3i_essm_conf.h"
-'	Set fout = f.CreateTextFile("src\include\win32\mpidi_ch3i_essm_conf.h")
-'	Call WriteHeader(fout, "mpidi_ch3i_essm_")
-'	Call AddDefinitions(fout, "src\mpid\ch3\channels\essm\include\mpidi_ch3i_essm_conf.h.in", false)
-'	Call WriteFooter(fout)
-'	fout.Close()
-'	cEcho "Creating src\include\win64\mpidi_ch3i_essm_conf.h"
-'	Set fout = f.CreateTextFile("src\include\win64\mpidi_ch3i_essm_conf.h")
-'	Call WriteHeader(fout, "mpidi_ch3i_essm_")
-'	Call AddDefinitions(fout, "src\mpid\ch3\channels\essm\include\mpidi_ch3i_essm_conf.h.in", true)
-'	Call WriteFooter(fout)
-'	fout.Close()
-'Else
-'	cEcho "Skipping file: mpidi_ch3i_essm_conf.h"
-'End If
-
-'
-' mpidi_ch3i_sshm_conf.h
-'
-If f.FileExists("src\mpid\ch3\channels\sshm\include\mpidi_ch3i_sshm_conf.h.in") Then
-	printMsg "VERBOSE", "Creating src\include\win32\mpidi_ch3i_sshm_conf.h"
-	Set fout = f.CreateTextFile("src\include\win32\mpidi_ch3i_sshm_conf.h")
-	Call WriteHeader(fout, "mpidi_ch3i_sshm_")
-	Call AddDefinitions(fout, "src\mpid\ch3\channels\sshm\include\mpidi_ch3i_sshm_conf.h.in", false)
-	fout.WriteLine("#define HAVE_MASM_AND_X86")
-	fout.WriteLine("#define USE_PERSISTENT_SHARED_MEMORY")
-	fout.WriteLine("#define HAVE_SHARED_PROCESS_READ")
-	fout.WriteLine("#define USE_RDMA_GET")
-	fout.WriteLine("#define USE_SHM_RDMA_GET")
-	Call WriteFooter(fout)
-	fout.Close()
-	printMsg "VERBOSE", "Creating src\include\win64\mpidi_ch3i_sshm_conf.h"
-	Set fout = f.CreateTextFile("src\include\win64\mpidi_ch3i_sshm_conf.h")
-	Call WriteHeader(fout, "mpidi_ch3i_sshm_")
-	Call AddDefinitions(fout, "src\mpid\ch3\channels\sshm\include\mpidi_ch3i_sshm_conf.h.in", true)
-	fout.WriteLine("#define HAVE_MASM_AND_X86")
-	fout.WriteLine("#define USE_PERSISTENT_SHARED_MEMORY")
-	fout.WriteLine("#define HAVE_SHARED_PROCESS_READ")
-	fout.WriteLine("#define USE_RDMA_GET")
-	fout.WriteLine("#define USE_SHM_RDMA_GET")
-	Call WriteFooter(fout)
-	fout.Close()
-Else
-	printMsg "VERBOSE", "Skipping file: mpidi_ch3i_sshm_conf.h"
-End If
-
-'
-' mpidi_ch3i_ib_conf.h
-'
-If f.FileExists("src\mpid\ch3\channels\ib\include\mpidi_ch3i_ib_conf.h.in") Then
-	printMsg "VERBOSE", "Creating src\include\win32\mpidi_ch3i_ib_conf.h"
-	Set fout = f.CreateTextFile("src\include\win32\mpidi_ch3i_ib_conf.h")
-	Call WriteHeader(fout, "mpidi_ch3i_ib_")
-	Call AddDefinitions(fout, "src\mpid\ch3\channels\ib\include\mpidi_ch3i_ib_conf.h.in", false)
-	fout.WriteLine("#define MPID_IBU_TYPE_WINDOWS")
-	fout.WriteLine("#define __WIN__")
-	fout.WriteLine("#define __i386__")
-	If bUsePinCache Then
-		fout.WriteLine("/*#define USE_NO_PIN_CACHE*/")
-	else
-		fout.WriteLine("#define USE_NO_PIN_CACHE")
-	End If
-	fout.WriteLine("/*#define USE_RDMA_GET*/")
-	fout.WriteLine("#define USE_RDMA_PUT")
-	Call WriteFooter(fout)
-	fout.Close()
-	printMsg "VERBOSE", "Creating src\include\win64\mpidi_ch3i_ib_conf.h"
-	Set fout = f.CreateTextFile("src\include\win64\mpidi_ch3i_ib_conf.h")
-	Call WriteHeader(fout, "mpidi_ch3i_ib_")
-	Call AddDefinitions(fout, "src\mpid\ch3\channels\ib\include\mpidi_ch3i_ib_conf.h.in", true)
-	fout.WriteLine("#define MPID_IBU_TYPE_WINDOWS")
-	fout.WriteLine("#define __WIN__")
-	If x64 then
-		fout.WriteLine("#define __x86_64__")
-	else
-		fout.WriteLine("#define __ia64__")
-	End If
-	If bUsePinCache Then
-		fout.WriteLine("/*#define USE_NO_PIN_CACHE*/")
-	else
-		fout.WriteLine("#define USE_NO_PIN_CACHE")
-	End If
-	fout.WriteLine("/*#define USE_RDMA_GET*/")
-	fout.WriteLine("#define USE_RDMA_PUT")
-	Call WriteFooter(fout)
-	fout.Close()
-Else
-	printMsg "VERBOSE", "Skipping file: mpidi_ch3i_ib_conf.h"
-End If
-
-'
-' Generate mpid_nem_net_module_defs.h
-'
-If f.FileExists("src\mpid\ch3\channels\nemesis\nemesis\include\mpid_nem_net_module_defs.h.in") Then
-	printMsg "VERBOSE","Creating src\mpid\ch3\channels\nemesis\nemesis\include\mpid_nem_net_module_defs.h"
-	set fout = f.CreateTextFile("src\mpid\ch3\channels\nemesis\nemesis\include\mpid_nem_net_module_defs.h")
-	set fin  = f.OpenTextFile("src\mpid\ch3\channels\nemesis\nemesis\include\mpid_nem_net_module_defs.h.in")
-	contents = fin.ReadAll()
-	contents = ReplaceAts(contents, false, false)
-	fout.Write(contents)
-	fin.Close()
-	fout.Close()
-Else
-	printMsg "VERBOSE", "Skipping file: mpid_nem_net_module_defs.h"
-End If
-
-'
-' Generate mpid_nem_net_array.c
-'
-If f.FileExists("src\mpid\ch3\channels\nemesis\nemesis\src\mpid_nem_net_array.c.in") Then
-	printMsg "VERBOSE","Creating src\mpid\ch3\channels\nemesis\nemesis\src\mpid_nem_net_array.c"
-	set fout = f.CreateTextFile("src\mpid\ch3\channels\nemesis\nemesis\src\mpid_nem_net_array.c")
-	set fin  = f.OpenTextFile("src\mpid\ch3\channels\nemesis\nemesis\src\mpid_nem_net_array.c.in")
-	contents = fin.ReadAll()
-	contents = ReplaceAts(contents, false, false)
-	fout.Write(contents)
-	fin.Close()
-	fout.Close()
-Else
-	printMsg "VERBOSE", "Skipping file: mpid_nem_net_array.c"
-End If
-
-'
-' mpiu_events_conf.h
-'
-'If f.FileExists("src\util\events\mpiu_events_conf.h.in") Then
-'	cEcho "Creating src\include\win32\mpiu_events_conf.h"
-'	Set fout = f.CreateTextFile("src\include\win32\mpiu_events_conf.h")
-'	Call WriteHeader(fout, "mpiu_events_")
-'	Call AddDefinitions(fout, "src\util\events\mpiu_events_conf.h.in", false)
-'	fout.WriteLine("#ifndef USE_MPIU_EVENT_TYPE")
-'	fout.WriteLine("#define USE_MPIU_EVENT_TYPE MPIU_EVENT_TYPE_WINDOWS")
-'	fout.WriteLine("#endif")
-'	Call WriteFooter(fout)
-'	fout.Close()
-'	cEcho "Creating src\include\win64\mpiu_events_conf.h"
-'	Set fout = f.CreateTextFile("src\include\win64\mpiu_events_conf.h")
-'	Call WriteHeader(fout, "mpiu_events_")
-'	Call AddDefinitions(fout, "src\util\events\mpiu_events_conf.h.in", false)
-'	fout.WriteLine("#ifndef USE_MPIU_EVENT_TYPE")
-'	fout.WriteLine("#define USE_MPIU_EVENT_TYPE MPIU_EVENT_TYPE_WINDOWS")
-'	fout.WriteLine("#endif")
-'	Call WriteFooter(fout)
-'	fout.Close()
-'Else
-'	Set fout = f.CreateTextFile("src\include\win32\mpiu_events_conf.h")
-'	Call WriteHeader(fout, "mpiu_events_")
-'	fout.WriteLine("#ifndef USE_MPIU_EVENT_TYPE")
-'	fout.WriteLine("#define USE_MPIU_EVENT_TYPE MPIU_EVENT_TYPE_WINDOWS")
-'	fout.WriteLine("#endif")
-'	Call WriteFooter(fout)
-'	fout.Close()
-'	Set fout = f.CreateTextFile("src\include\win64\mpiu_events_conf.h")
-'	Call WriteHeader(fout, "mpiu_events_")
-'	fout.WriteLine("#ifndef USE_MPIU_EVENT_TYPE")
-'	fout.WriteLine("#define USE_MPIU_EVENT_TYPE MPIU_EVENT_TYPE_WINDOWS")
-'	fout.WriteLine("#endif")
-'	Call WriteFooter(fout)
-'	fout.Close()
-'End If
-
-'
-' smpdconf.h
-'
-If f.FileExists("src\pm\smpd\smpdconf.h.in") Then
-	printMsg "VERBOSE", "Creating src\pm\smpd\smpdconf.h"
-	Set fout = f.CreateTextFile("src\pm\smpd\smpdconf.h")
-        Call WriteHeader(fout, "smpd_")
-	Call AddDefinitions(fout, "src\pm\smpd\smpdconf.h.in", false)
-        fout.WriteLine("#ifndef HAVE_WINDOWS_H")
-	fout.WriteLine("    #define HAVE_WINDOWS_H")
-        fout.WriteLine("#endif")
-'   Use human readable tokens in MPIU String funcs
-'   - should be consistent with settings in mpichconf.h used in
-'     compilation of string funcs, argstr.c
-        fout.WriteLine("#ifndef USE_HUMAN_READABLE_TOKENS")
-	fout.WriteLine("    #define USE_HUMAN_READABLE_TOKENS")
-        fout.WriteLine("#endif")
-	Call WriteFooter(fout)
-	fout.Close()
-Else
-	cEcho "Skipping file: smpdconf.h"
-End If
-
-printMsg "STATUS", "Creating header files for MPL..."
-If f.FileExists("src\mpl\include\config.h.in") Then
-	printMsg "VERBOSE", "Creating src\mpl\include\mplconfig.h"
-	Set fout = f.CreateTextFile("src\mpl\include\mplconfig.h")
-	Call WriteHeader(fout, "mplconfig_")
-        CreateMPLDefDict()
-	Call AddDefinitions(fout, "src\mpl\include\config.h.in", false)
-        FreeMPLDefDict()
-	fout.Close()
-        Call AddPrefixToDefinitions("src\mpl\include\mplconfig.h", "MPL_")
-        Set fout = f.OpenTextFile("src\mpl\include\mplconfig.h", 8)
-        fout.WriteLine("#define snprintf _snprintf")
-        fout.WriteLine("#define inline __inline")
-	Call WriteFooter(fout)
-        fout.Close()
-Else
-	printMsg "VERBOSE", "Skipping file: src\mpl\include\config.h.in"
-End If
-
-printMsg "STATUS", "Creating config.h header files for OpenPA..."
-if not f.FolderExists("src\openpa\src\win32") then
-        printMsg "VERBOSE", "Creating src\openpa\src\win32 directory"
-	f.CreateFolder("src\openpa\src\win32")
-end if
-if not f.FolderExists("src\openpa\src\win64") then
-        printMsg "VERBOSE", "Creating src\openpa\src\win64 directory"
-	f.CreateFolder("src\openpa\src\win64")
-end if
-
-If f.FileExists("src\openpa\src\config.h.in") Then
-	printMsg "VERBOSE", "Creating src\openpa\src\win32\opa_config.h"
-	Set fout = f.CreateTextFile("src\openpa\src\win32\opa_config.h")
-	Call WriteHeader(fout, "opa_config_")
-	Call AddOPADefinitions(fout, "src\openpa\src\config.h.in", false)
-	Call WriteFooter(fout)
-	fout.Close()
-	printMsg "VERBOSE", "Creating src\openpa\src\win64\opa_config.h"
-	Set fout = f.CreateTextFile("src\openpa\src\win64\opa_config.h")
-	Call WriteHeader(fout, "opa_config_")
-	Call AddOPADefinitions(fout, "src\openpa\src\config.h.in", true)
-	Call WriteFooter(fout)
-	fout.Close()
-Else
-	printMsg "VERBOSE", "Skipping file: src\openpa\src\config.h.in"
-End If
-
-printMsg "STATUS", "Creating *conf.h header files for MPE..."
-If f.FolderExists("src\mpe2") Then
-
-	'
-	' mpe_logging_conf.h
-	'
-	If f.FileExists("src\mpe2\src\logging\mpe_logging_conf.h.in") Then
-		printMsg "VERBOSE", "Creating src\include\win32\mpe_logging_conf.h"
-		Set fout = f.CreateTextFile("src\include\win32\mpe_logging_conf.h")
-		Call WriteHeader(fout, "mpe_logging_")
-		Call AddDefinitions(fout, "src\mpe2\src\logging\mpe_logging_conf.h.in", false)
-		fout.WriteLine("#define HAVE_IO_H 1")
-		fout.WriteLine("#define HAVE_WINDOWS_H 1")
-		fout.WriteLine("#define read _read")
-		fout.WriteLine("/* #define write _write */")
-		fout.WriteLine("#define open _open")
-		fout.WriteLine("#define close _close")
-		fout.WriteLine("#define mktemp _mktemp")
-		fout.WriteLine("#define lseek _lseek")
-		fout.WriteLine("#define snprintf _snprintf")
-		fout.WriteLine("#define OPEN( a , b , c ) _open( a , b | O_BINARY , c )")
-		' Define *_FILENO -- defined in unistd.h in unix
-		fout.WriteLine("#define STDOUT_FILENO (_fileno( stdout ))")
-		fout.WriteLine("#define STDIN_FILENO (_fileno( stdin ))")
-		fout.WriteLine("#define STDERR_FILENO (_fileno( stderr ))")
-		Call WriteFooter(fout)
-		fout.Close()
-		printMsg "VERBOSE", "Creating src\include\win64\mpe_logging_conf.h"
-		Set fout = f.CreateTextFile("src\include\win64\mpe_logging_conf.h")
-		Call WriteHeader(fout, "mpe_logging_")
-		Call AddDefinitions(fout, "src\mpe2\src\logging\mpe_logging_conf.h.in", true)
-		fout.WriteLine("#define HAVE_IO_H 1")
-		fout.WriteLine("#define HAVE_WINDOWS_H 1")
-		fout.WriteLine("#define read _read")
-		fout.WriteLine("/* #define write _write */")
-		fout.WriteLine("#define open _open")
-		fout.WriteLine("#define close _close")
-		fout.WriteLine("#define mktemp _mktemp")
-		fout.WriteLine("#define lseek _lseek")
-		fout.WriteLine("#define snprintf _snprintf")
-		fout.WriteLine("#define OPEN( a , b , c ) _open( a , b | O_BINARY , c )")
-		' Define *_FILENO -- defined in unistd.h in unix
-		fout.WriteLine("#define STDOUT_FILENO (_fileno( stdout ))")
-		fout.WriteLine("#define STDIN_FILENO (_fileno( stdin ))")
-		fout.WriteLine("#define STDERR_FILENO (_fileno( stderr ))")
-		Call WriteFooter(fout)
-		fout.Close()
-	Else
-		printMsg "VERBOSE", "Skipping file: mpe_logging_conf.h"
-	End If
-
-	'/src/misc/mpe_misc_conf.h.in
-
-	'
-	' mpe_wrappers_conf.h
-	'
-	If f.FileExists("src\mpe2\src\wrappers\mpe_wrappers_conf.h.in") Then
-		printMsg "VERBOSE", "Creating src\include\win32\mpe_wrappers_conf.h"
-		Set fout = f.CreateTextFile("src\include\win32\mpe_wrappers_conf.h")
-		Call WriteHeader(fout, "mpe_wrappers_")
-		Call AddDefinitions(fout, "src\mpe2\src\wrappers\mpe_wrappers_conf.h.in", false)
-		fout.WriteLine("#define HAVE_WINDOWS_H 1")
-		Call WriteFooter(fout)
-		fout.Close()
-		printMsg "VERBOSE", "Creating src\include\win64\mpe_wrappers_conf.h"
-		Set fout = f.CreateTextFile("src\include\win64\mpe_wrappers_conf.h")
-		Call WriteHeader(fout, "mpe_wrappers_")
-		Call AddDefinitions(fout, "src\mpe2\src\wrappers\mpe_wrappers_conf.h.in", true)
-		fout.WriteLine("#define HAVE_WINDOWS_H 1")
-		fout.WriteLine("#define HAVE___ARGV 1")
-		Call WriteFooter(fout)
-		fout.Close()
-	Else
-		printMsg "VERBOSE", "Skipping file: mpe_wrappers_conf.h"
-	End If
-
-	'/src/slog2sdk/trace_rlog/trace_impl.h.in
-	'/src/slog2sdk/trace_sample/trace_impl.h.in
-
-	'
-	' mpe_conf.h
-	'
-	If f.FileExists("src\mpe2\mpe_conf.h.in") Then
-		printMsg "VERBOSE", "Creating src\include\win32\mpe_conf.h"
-		Set fout = f.CreateTextFile("src\include\win32\mpe_conf.h")
-		Call WriteHeader(fout, "mpe_")
-		Call AddDefinitions(fout, "src\mpe2\mpe_conf.h.in", false)
-		fout.WriteLine("#define HAVE_IO_H 1")
-		fout.WriteLine("#define HAVE_WINDOWS_H 1")
-		fout.WriteLine("#define read _read")
-		fout.WriteLine("/* #define write _write */")
-		fout.WriteLine("#define open _open")
-		fout.WriteLine("#define close _close")
-		fout.WriteLine("#define mktemp _mktemp")
-		fout.WriteLine("#define lseek _lseek")
-		fout.WriteLine("#define snprintf _snprintf")
-		fout.WriteLine("#define OPEN( a , b , c ) _open( a , b | O_BINARY , c )")
-		Call WriteFooter(fout)
-		fout.Close()
-		printMsg "VERBOSE", "Creating src\include\win64\mpe_conf.h"
-		Set fout = f.CreateTextFile("src\include\win64\mpe_conf.h")
-		Call WriteHeader(fout, "mpe_")
-		Call AddDefinitions(fout, "src\mpe2\mpe_conf.h.in", true)
-		fout.WriteLine("#define HAVE_IO_H 1")
-		fout.WriteLine("#define HAVE_WINDOWS_H 1")
-		fout.WriteLine("#define read _read")
-		fout.WriteLine("/* #define write _write */")
-		fout.WriteLine("#define open _open")
-		fout.WriteLine("#define close _close")
-		fout.WriteLine("#define mktemp _mktemp")
-		fout.WriteLine("#define lseek _lseek")
-		fout.WriteLine("#define snprintf _snprintf")
-		fout.WriteLine("#define OPEN( a , b , c ) _open( a , b | O_BINARY , c )")
-		Call WriteFooter(fout)
-		fout.Close()
-	Else
-		printMsg "VERBOSE", "Skipping file: mpe_conf.h"
-	End If
-
-End If
-
-'
-' mpe_callstack_conf.h
-'
-If f.FileExists("src\mpe2\src\callstack\mpe_callstack_conf.h.in") Then
-	printMsg "VERBOSE", "Creating src\mpe2\src\callstack\mpe_callstack_conf.h"
-	Set fout = f.CreateTextFile("src\mpe2\src\callstack\mpe_callstack_conf.h")
-	Call WriteHeader(fout, "mpe_callstack_")
-	Call AddDefinitions(fout, "src\mpe2\src\callstack\mpe_callstack_conf.h.in", false)
-	fout.WriteLine("#define HAVE_WINDOWS_H 1")
-	Call WriteFooter(fout)
-	fout.Close()
-Else
-	printMsg "VERBOSE", "Skipping file: mpe_callstack_conf.h"
-End If
-
-
-Function ConfigureTestDir
-
-	'
-	' mpitestconf.h
-	'
-	If f.FileExists("test\mpi\include\mpitestconf.h.in") Then
-		printMsg "VERBOSE", "Creating src\include\win32\mpitestconf.h"
-		Set fout = f.CreateTextFile("src\include\win32\mpitestconf.h") ' Let's avoid adding a new include path to the test projects
-		Call WriteHeader(fout, "mpitest")
-		Call AddDefinitions(fout, "test\mpi\include\mpitestconf.h.in", false)
-		fout.WriteLine("#ifndef HAVE_WINDOWS_H")
-		fout.WriteLine("#define HAVE_WINDOWS_H")
-		fout.WriteLine("#endif")
-		Call WriteFooter(fout)
-		fout.Close()
-		printMsg "VERBOSE", "Creating src\include\win64\mpitestconf.h"
-		Set fout = f.CreateTextFile("src\include\win64\mpitestconf.h") ' Let's avoid adding a new include path to the test projects
-		Call WriteHeader(fout, "mpitest")
-		Call AddDefinitions(fout, "test\mpi\include\mpitestconf.h.in", true)
-		fout.WriteLine("#ifndef HAVE_WINDOWS_H")
-		fout.WriteLine("#define HAVE_WINDOWS_H")
-		fout.WriteLine("#endif")
-		Call WriteFooter(fout)
-		fout.Close()
-	Else
-		printMsg "VERBOSE", "Skipping file: mpitestconf.h"
-	End If
-
-	If Not bRemoveFortran Then
-		'
-		' attraints.h
-		'
-		If f.FileExists("test\mpi\f77\attr\attraints.h.in") Then
-			'cEcho "Creating test\mpi\f77\attr\attraints.h"
-			'Set fout = f.CreateTextFile("test\mpi\f77\attr\attraints.h")
-			printMsg "VERBOSE", "Creating src\include\win32\attraints.h"
-			Set fout = f.CreateTextFile("src\include\win32\attraints.h")
-			Set fin = f.OpenTextFile("test\mpi\f77\attr\attraints.h.in")
-			contents = fin.ReadAll()
-			contents = ReplaceAts(contents, false, false)
-			fout.Write(contents)
-			fin.Close()
-			fout.Close()
-
-			printMsg "VERBOSE", "Creating src\include\win64\attraints.h"
-			Set fout = f.CreateTextFile("src\include\win64\attraints.h")
-			Set fin = f.OpenTextFile("test\mpi\f77\attr\attraints.h.in")
-			contents = fin.ReadAll()
-			contents = ReplaceAts(contents, false, true)
-			fout.Write(contents)
-			fin.Close()
-			fout.Close()
-		Else
-			printMsg "VERBOSE", "Skipping file: attraints.h"
-		End If
-		'
-		' attr1aints.h
-		'
-		If f.FileExists("test\mpi\f77\pt2pt\attr1aints.h.in") Then
-			printMsg "VERBOSE", "Creating src\include\win32\attr1aints.h"
-			Set fout = f.CreateTextFile("src\include\win32\attr1aints.h")
-			Set fin = f.OpenTextFile("test\mpi\f77\pt2pt\attr1aints.h.in")
-			contents = fin.ReadAll()
-			contents = ReplaceAts(contents, false, false)
-			fout.Write(contents)
-			fin.Close()
-			fout.Close()
-
-			printMsg "VERBOSE", "Creating src\include\win64\attr1aints.h"
-			Set fout = f.CreateTextFile("src\include\win64\attr1aints.h")
-			Set fin = f.OpenTextFile("test\mpi\f77\pt2pt\attr1aints.h.in")
-			contents = fin.ReadAll()
-			contents = ReplaceAts(contents, false, true)
-			fout.Write(contents)
-			fin.Close()
-			fout.Close()
-		Else
-			printMsg "VERBOSE", "Skipping file: attr1aints.h"
-		End If
-
-		'
-		' typeaints.h
-		'
-		If f.FileExists("test\mpi\f77\datatype\typeaints.h.in") Then
-			'cEcho "Creating test\mpi\f77\datatype\typeaints.h"
-			'Set fout = f.CreateTextFile("test\mpi\f77\datatype\typeaints.h")
-			printMsg "VERBOSE", "Creating src\include\win32\typeaints.h"
-			Set fout = f.CreateTextFile("src\include\win32\typeaints.h")
-			Set fin = f.OpenTextFile("test\mpi\f77\datatype\typeaints.h.in")
-			contents = fin.ReadAll()
-			contents = ReplaceAts(contents, false, false)
-			fout.Write(contents)
-			fin.Close()
-			fout.Close()
-
-			printMsg "VERBOSE", "Creating src\include\win64\typeaints.h"
-			Set fout = f.CreateTextFile("src\include\win64\typeaints.h")
-			Set fin = f.OpenTextFile("test\mpi\f77\datatype\typeaints.h.in")
-			contents = fin.ReadAll()
-			contents = ReplaceAts(contents, false, true)
-			fout.Write(contents)
-			fin.Close()
-			fout.Close()
-		Else
-			printMsg "VERBOSE", "Skipping file: typeaints.h"
-		End If
-
-		'
-		' ioaint.h
-		'
-		If f.FileExists("test\mpi\f77\io\ioaint.h.in") Then
-			'cEcho "Creating test\mpi\f77\io\ioaint.h"
-			'Set fout = f.CreateTextFile("test\mpi\f77\io\ioaint.h")
-			printMsg "VERBOSE", "Creating src\include\win32\ioaint.h"
-			Set fout = f.CreateTextFile("src\include\win32\ioaint.h")
-			Set fin = f.OpenTextFile("test\mpi\f77\io\ioaint.h.in")
-			contents = fin.ReadAll()
-			contents = ReplaceAts(contents, false, false)
-			fout.Write(contents)
-			fin.Close()
-			fout.Close()
-
-			printMsg "VERBOSE", "Creating src\include\win64\ioaint.h"
-			Set fout = f.CreateTextFile("src\include\win64\ioaint.h")
-			Set fin = f.OpenTextFile("test\mpi\f77\io\ioaint.h.in")
-			contents = fin.ReadAll()
-			contents = ReplaceAts(contents, false, true)
-			fout.Write(contents)
-			fin.Close()
-			fout.Close()
-		Else
-			printMsg "VERBOSE", "Skipping file: ioaint.h"
-		End If
-
-		'
-		' iooffset.h
-		'
-		If f.FileExists("test\mpi\f77\io\iooffset.h.in") Then
-			'cEcho "Creating test\mpi\f77\io\iooffset.h"
-			'Set fout = f.CreateTextFile("test\mpi\f77\io\iooffset.h")
-			printMsg "VERBOSE", "Creating src\include\win32\iooffset.h"
-			Set fout = f.CreateTextFile("src\include\win32\iooffset.h")
-			Set fin = f.OpenTextFile("test\mpi\f77\io\iooffset.h.in")
-			contents = fin.ReadAll()
-			contents = ReplaceAts(contents, false, false)
-			fout.Write(contents)
-			fin.Close()
-			fout.Close()
-
-			printMsg "VERBOSE", "Creating src\include\win64\iooffset.h"
-			Set fout = f.CreateTextFile("src\include\win64\iooffset.h")
-			Set fin = f.OpenTextFile("test\mpi\f77\io\iooffset.h.in")
-			contents = fin.ReadAll()
-			contents = ReplaceAts(contents, false, true)
-			fout.Write(contents)
-			fin.Close()
-			fout.Close()
-		Else
-			printMsg "VERBOSE", "Skipping file: iooffset.h"
-		End If
-
-		'
-		' iodisp.h
-		'
-		If f.FileExists("test\mpi\f77\io\iodisp.h.in") Then
-			'cEcho "Creating test\mpi\f77\io\iodisp.h"
-			'Set fout = f.CreateTextFile("test\mpi\f77\io\iodisp.h")
-			printMsg "VERBOSE", "Creating src\include\win32\iodisp.h"
-			Set fout = f.CreateTextFile("src\include\win32\iodisp.h")
-			Set fin = f.OpenTextFile("test\mpi\f77\io\iodisp.h.in")
-			contents = fin.ReadAll()
-			contents = ReplaceAts(contents, false, false)
-			fout.Write(contents)
-			fin.Close()
-			fout.Close()
-
-			printMsg "VERBOSE", "Creating src\include\win64\iodisp.h"
-			Set fout = f.CreateTextFile("src\include\win64\iodisp.h")
-			Set fin = f.OpenTextFile("test\mpi\f77\io\iodisp.h.in")
-			contents = fin.ReadAll()
-			contents = ReplaceAts(contents, false, true)
-			fout.Write(contents)
-			fin.Close()
-			fout.Close()
-		Else
-			printMsg "VERBOSE", "Skipping file: iodisp.h"
-		End If
-
-		'
-		' addsize.h
-		'
-		If f.FileExists("test\mpi\f77\rma\addsize.h.in") Then
-			'cEcho "Creating test\mpi\f77\rma\addsize.h"
-			'Set fout = f.CreateTextFile("test\mpi\f77\rma\addsize.h")
-			printMsg "VERBOSE", "Creating src\include\win32\addsize.h"
-			Set fout = f.CreateTextFile("src\include\win32\addsize.h")
-			Set fin = f.OpenTextFile("test\mpi\f77\rma\addsize.h.in")
-			contents = fin.ReadAll()
-			contents = ReplaceAts(contents, false, false)
-			fout.Write(contents)
-			fin.Close()
-			fout.Close()
-
-			printMsg "VERBOSE", "Creating src\include\win64\addsize.h"
-			Set fout = f.CreateTextFile("src\include\win64\addsize.h")
-			Set fin = f.OpenTextFile("test\mpi\f77\rma\addsize.h.in")
-			contents = fin.ReadAll()
-			contents = ReplaceAts(contents, false, true)
-			fout.Write(contents)
-			fin.Close()
-			fout.Close()
-		Else
-			printMsg "VERBOSE", "Skipping file: addsize.h"
-		End If
-
-		'
-		' type1aint.h
-		'
-		If f.FileExists("test\mpi\f77\spawn\type1aint.h.in") Then
-			'cEcho "Creating test\mpi\f77\spawn\type1aint.h"
-			'Set fout = f.CreateTextFile("test\mpi\f77\spawn\type1aint.h")
-			printMsg "VERBOSE", "Creating src\include\win32\type1aint.h"
-			Set fout = f.CreateTextFile("src\include\win32\type1aint.h")
-			Set fin = f.OpenTextFile("test\mpi\f77\spawn\type1aint.h.in")
-			contents = fin.ReadAll()
-			contents = ReplaceAts(contents, false, false)
-			fout.Write(contents)
-			fin.Close()
-			fout.Close()
-
-			printMsg "VERBOSE", "Creating src\include\win64\type1aint.h"
-			Set fout = f.CreateTextFile("src\include\win64\type1aint.h")
-			Set fin = f.OpenTextFile("test\mpi\f77\spawn\type1aint.h.in")
-			contents = fin.ReadAll()
-			contents = ReplaceAts(contents, false, true)
-			fout.Write(contents)
-			fin.Close()
-			fout.Close()
-		Else
-			printMsg "VERBOSE", "Skipping file: type1aint.h"
-		End If
-
-	End If
-
-End Function
-
-printMsg "STATUS", "Configuring MPICH test directory..."
-ConfigureTestDir()
-
-'
-' fooconf.h
-'
-'Set fout = f.CreateTextFile("src\include\fooconf.h")
-'Call WriteHeader(fout, "foo")
-'Call AddDefinitions(fout, "src\include\fooconf.h.in", false)
-'fout.WriteLine("foo specific stuff")
-'Call WriteFooter(fout)
-'fout.Close()
-
-'
-' Generate mpicc
-'
-Function GenerateMPICC()
-	set f = WScript.CreateObject("Scripting.FileSystemObject")
-	vbLessThan = "<"
-	vbGreaterThan = ">"
-	path_to_mpich = f.GetAbsolutePathName("winconfigure.wsf")
-	path_to_mpich = Left(path_to_mpich, Len(path_to_mpich) - 16)
-	If Not f.FolderExists("bin") Then
-		f.CreateFolder("bin")
-	End If
-	printMsg "VERBOSE", "Creating bin\mpicc.wsf"
-	Set fout = f.CreateTextFile("bin\mpicc.wsf")
-	fout.WriteLine(vbLessThan & "package" & vbGreaterThan)
-	fout.WriteLine(vbLessThan & "job id=""mpicc""" & vbGreaterThan)
-	fout.WriteLine("    " & vbLessThan & "runtime" & vbGreaterThan)
-	fout.WriteLine("        " & vbLessThan & "description" & vbGreaterThan & "This script compiles C console MPICH applications" & vbLessThan & "/description" & vbGreaterThan)
-	fout.WriteLine("        " & vbLessThan & "unnamed")
-	fout.WriteLine("            name = ""file""")
-	fout.WriteLine("            helpstring = ""List the source files to compile""")
-	fout.WriteLine("            many = ""true""")
-	fout.WriteLine("            required = ""1""")
-	fout.WriteLine("        /" & vbGreaterThan)
-	fout.WriteLine("        " & vbLessThan & "named")
-	fout.WriteLine("            name = ""out""")
-	fout.WriteLine("            helpstring = ""Name of the output executable, default=myapp.exe""")
-	fout.WriteLine("            type = ""string""")
-	fout.WriteLine("            required = ""false""")
-	fout.WriteLine("        /" & vbGreaterThan)
-	fout.WriteLine("        " & vbLessThan & "example" & vbGreaterThan & "Example: mpicc main.c /out:foobar.exe" & vbLessThan & "/example" & vbGreaterThan)
-	fout.WriteLine("    " & vbLessThan & "/runtime" & vbGreaterThan)
-	fout.WriteLine(vbLessThan & "script language=""VBScript""" & vbGreaterThan)
-	fout.WriteLine("")
-	fout.WriteLine("' Set defaults")
-	fout.WriteLine("outputExe = ""myapp.exe""")
-	fout.WriteLine("")
-	fout.WriteLine("If WScript.Arguments.Unnamed.Count = 0 Then")
-	fout.WriteLine("    WScript.Arguments.ShowUsage")
-	fout.WriteLine("    WScript.Quit")
-	fout.WriteLine("End If")
-	fout.WriteLine("")
-	fout.WriteLine("Set f = WScript.CreateObject(""Scripting.FileSystemObject"")")
-	fout.WriteLine("")
-	fout.WriteLine("' Process named arguments")
-	fout.WriteLine("If WScript.Arguments.Named.Exists(""out"") Then")
-	fout.WriteLine("	outputExe = WScript.Arguments.Named.Item(""out"")")
-	fout.WriteLine("End If")
-	fout.WriteLine("")
-	fout.WriteLine("' Create a new instance of Visual Studio .NET.")
-	fout.WriteLine("Set DTE = WScript.CreateObject(""VisualStudio.DTE.7.1"")")
-	fout.WriteLine("Set solution = DTE.Solution")
-	if bVS2005 then
-	    fout.WriteLine("solution.Open(""" & path_to_mpich & "examples\windows\skeleton\skeleton.vs05.sln"")")
-	else
-	    fout.WriteLine("solution.Open(""" & path_to_mpich & "examples\windows\skeleton\skeleton.sln"")")
-	end if
-	fout.WriteLine("Set project = solution.Projects.Item(1)")
-	fout.WriteLine("")
-	fout.WriteLine("' Add the C files to the project")
-	fout.WriteLine("Set Cfiles = WScript.Arguments.Unnamed")
-	fout.WriteLine("For arg = 0 To Cfiles.Count - 1")
-	fout.WriteLine("	Cfile = Cfiles(arg)")
-	fout.WriteLine("	Cfile = f.GetAbsolutePathName(Cfile)")
-	fout.WriteLine("	project.ProjectItems.AddFromFile(Cfile)")
-	fout.WriteLine("Next")
-	fout.WriteLine("")
-	fout.WriteLine("' Build the solution")
-	fout.WriteLine("solution.SolutionBuild.Build()")
-	fout.WriteLine("")
-	fout.WriteLine("While solution.SolutionBuild.BuildState " & vbLessThan & vbGreaterThan & " 3")
-	fout.WriteLine("	WScript.Sleep 1000")
-	fout.WriteLine("Wend")
-	fout.WriteLine("")
-	fout.WriteLine("' Save the output on error")
-	fout.WriteLine("If solution.SolutionBuild.LastBuildInfo " & vbLessThan & vbGreaterThan & " 0 Then")
-	fout.WriteLine("	WScript.Echo ""Build failed""")
-	fout.WriteLine("	Set shell = WScript.CreateObject(""WScript.shell"")")
-	fout.WriteLine("	shell.run """ & path_to_mpich & "examples\windows\skeleton\Debug\BuildLog.htm""")
-	fout.WriteLine("End If")
-	fout.WriteLine("")
-	fout.WriteLine("' Remove the C files from the project")
-	fout.WriteLine("For i = 1 To project.ProjectItems.Count")
-	fout.WriteLine("	If project.ProjectItems.Item(i).Name = ""Source Files"" Then")
-	fout.WriteLine("		index = i")
-	fout.WriteLine("	End If")
-	fout.WriteLine("Next")
-	fout.WriteLine("For arg = 0 To Cfiles.Count - 1")
-	fout.WriteLine("	Cfile = Cfiles(arg)")
-	fout.WriteLine("	Cfile = f.GetFileName(Cfile)")
-	fout.WriteLine("	For i = project.ProjectItems.Item(index).ProjectItems.Count To 1 Step -1")
-	fout.WriteLine("		If project.ProjectItems.Item(index).ProjectItems.Item(i).Name = Cfile Then")
-	fout.WriteLine("			project.ProjectItems.Item(index).ProjectItems.Item(i).Remove()")
-	fout.WriteLine("		End If")
-	fout.WriteLine("	Next")
-	fout.WriteLine("Next")
-	fout.WriteLine("")
-	fout.WriteLine("' Copy the executable")
-	fout.WriteLine("If f.FileExists(""" & path_to_mpich & "examples\windows\skeleton\Debug\skeleton.exe"") Then")
-	fout.WriteLine("	f.CopyFile """ & path_to_mpich & "examples\windows\skeleton\Debug\skeleton.exe"", outputExe, True")
-	fout.WriteLine("End If")
-	fout.WriteLine("")
-	fout.WriteLine("' Clean up")
-	fout.WriteLine("solution.SolutionBuild.Clean()")
-	fout.WriteLine("")
-	fout.WriteLine(vbLessThan & "/script" & vbGreaterThan)
-	fout.WriteLine(vbLessThan & "/job" & vbGreaterThan)
-	fout.WriteLine(vbLessThan & "/package" & vbGreaterThan)
-	fout.Close()
-End Function
-
-GenerateMPICC()
-
-Function MyTrim(str)
-	str = Trim(str)
-	while (Left(str, 1) = vbTab)
-		str = Right(str, Len(str) - 1)
-	wend
-	while (Right(str, 1) = vbTab)
-		str = Left(str, Len(str) - 1)
-	wend
-	MyTrim = str
-End Function
-
-' Use this function to exclude files that shouldn't be compiled
-Function CompileFile(fname)
-	CompileFile = true
-	'fname = MyTrim(fname)
-	If fname = "" Then
-		CompileFile = false
-	End If
-	If fname = "$(mpi_sources)" Then
-		CompileFile = false
-	End If
-	If fname = "${mpi_sources}" Then
-		CompileFile = false
-	End If
-	If fname = "${socksources}" Then
-		CompileFile = false
-	End If
-	If fname = "timelimit.c" Then
-		CompileFile = false
-	End If
-	If fname = "dbg_control.c" Then
-		CompileFile = false
-	End If
-	If fname = "dbginit.c" Then
-		CompileFile = false
-	End If
-	If fname = "groupdebug.c" Then
-		CompileFile = false
-	End If
-	if Left(fname, 1) = "@" Then
-		CompileFile = false
-	End If
-	If Right(fname, 2) = ".h" Then
-		CompileFile = false
-	End If
-'	If fname = "register_datarepf.c" Then
-'		CompileFile = false
-'	End If
-	If fname = "fileutil.c" Then
-		CompileFile = false
-	End If
-End Function
-
-Sub OutputLine(path, line)
-	Dim do_output
-	do_output = false
-	If Left(line, 14) = "mpi_sources = " Then
-		line = Right(line, Len(line) - 14)
-		do_output = true
-	End If
-	If Left(line, 28) = "lib${MPILIBNAME}_a_SOURCES =" Then
-		line = Right(line, Len(line) - 28)
-		do_output = true
-	End If
-	If Left(line, 18) = "libmpl_a_SOURCES =" Then
-		line = Right(line, Len(line) - 18)
-		do_output = true
-	End If
-	If Left(line, 29) = "lib${MPIFLIBNAME}_a_SOURCES =" Then
-		line = Right(line, Len(line) - 29)
-		do_output = true
-	End If
-	If Left(line, 14) = "win_sources = " Then
-		line = Right(line, Len(line) - 14)
-		do_output = true
-	End If
-	If Left(line, 14) = "socksources = " Then
-		line = Right(line, Len(line) - 14)
-		do_output = true
-	End If
-	If do_output Then
-		'WScript.Echo line
-		line = Replace(line, "	", " ")
-		fnames = Split(line)
-		For Each fname in fnames
-			fname = MyTrim(fname)
-			If CompileFile(fname) Then
-				If creating_rules Then
-					' Make a rule for the entire directory
-					files_found = true
-					If Right(fname, 4) = ".cpp" Or Right(fname, 4) = ".cxx" Then
-						cxx_files_found = true
-					End If
-					If Right(fname, 2) = ".f" Then
-						fortran_files_found = true
-					End If
-					' Make rules for each individual file
-					'mfile.WriteLine("$(" & outdir & ")\" & Left(fname, Len(fname) -1) & "obj: ..\" & path & "\" & fname)
-					'mfile.WriteLine("	$(cc) $(cflags) /Fo""$(" & outdir & ")\\"" /Fd""$(" & outdir & ")\\"" ..\" & path & "\" & fname)
-				Else
-					'WScript.Echo path & "\" & fname
-					' remove the file extension
-					If Right(fname, 4) = ".cpp" Or Right(fname, 4) = ".cxx" Then
-						fname = Left(fname, Len(fname) - 3)
-					Else
-						fname = Left(fname, Len(fname) - 1)
-					End If
-					mfile.Write(" \" & vbCrLF & "	$(" & outdir & ")\" & fname & "obj")
-				End If
-			End If
-		Next
-	End If
-End Sub
-
-' Returns true if name (folder/file name) is excluded from build
-' eg: We don't want to compile sock/poll on windows
-Function IsInBuildExclusionList(name)
-    IsInBuildExclusionList = false
-    If Right(name, 4) = "poll" Then
-        IsInBuildExclusionList = true
-    End If
-End Function
-
-compile_flags=""
-Sub SetCompileFlags(flags)
-    If compile_flags <> "" Then
-        printMsg "ERROR", "Setting compile flags before resetting the prev saved state is not supported"
-    Else
-        compile_flags = flags
-    End If
-End Sub
-Function IsSetCompileFlags()
-    If compile_flags <> "" Then
-        IsSetCompileFlags = True
-    Else
-        IsSetCompileFlags = False
-    End If
-End Function
-Function GetCompileFlags()
-    GetCompileFlags = compile_flags
-End Function
-
-Sub ResetCompileFlags()
-    If compile_flags = "" Then
-        printMsg "ERROR", "Dup reset of compile flags"
-    End If
-    compile_flags = ""
-End Sub
-
-Sub FindSimpleMakeFiles(folder, trimpath)
-	For Each sub_folder in folder.SubFolders
-                If Not IsInBuildExclusionList(sub_folder) Then
-		    FindSimpleMakeFiles sub_folder, trimpath
-                End If
-	Next
-	For Each file in folder.Files
-		If file.Name = "Makefile.sm" Then
-			Dim line, fullline
-			Set fin = f.OpenTextFile(file.Path)
-			'WScript.Echo file.ParentFolder
-			fullline = ""
-			files_found = false
-			cxx_files_found = false
-			fortran_files_found = false
-			while not fin.AtEndOfStream
-				line = MyTrim(fin.ReadLine)
-				If Left(line, 1) <> "#" Then
-					If Right(line, 1) = "\" Then
-						If fullline = "" Then
-							fullline = Left(line, len(line)-1)
-						Else
-							fullline = fullline & " " & Left(line, len(line)-1)
-						End If
-					Else
-						If fullline = "" Then
-							fullline = line
-						Else
-							fullline = fullline & " " & line
-						End If
-						'OutputLine file.ParentFolder, fullline
-						OutputLine Right(file.ParentFolder, Len(file.ParentFolder) - trimpath), fullline
-						fullline = ""
-					End If
-				End If
-			wend
-			fin.Close
-			If creating_rules And files_found Then
-				mfile.WriteLine("{..\" & Right(file.ParentFolder, Len(file.ParentFolder) - trimpath) & "}.c{$(" & outdir & ")}.obj:")
-				mfile.Write("    $(cc) ")
-                                If IsSetCompileFlags() Then
-                                    ' Get the compiler flags and use it
-                                    mfile.Write(GetCompileFlags() & " ")
-                                Else
-                                    ' Use default cflags
-                                    mfile.Write(" $(cflags) ")
-                                End If
-				If extra_flags <> "" Then
-					mfile.Write(extra_flags & " ")
-				End If
-				mfile.WriteLine("/Fo""$(" & outdir & ")\\"" /Fd""$(" & outdir & ")\\"" $**")
-				mfile.WriteLine
-				If cxx_files_found Then
-					mfile.WriteLine("{..\" & Right(file.ParentFolder, Len(file.ParentFolder) - trimpath) & "}.cpp{$(" & outdir & ")}.obj:")
-					mfile.WriteLine("    $(cc) $(" & cxxflags & ") /Fo""$(" & outdir & ")\\"" /Fd""$(" & outdir & ")\\"" $**")
-					mfile.WriteLine
-					mfile.WriteLine("{..\" & Right(file.ParentFolder, Len(file.ParentFolder) - trimpath) & "}.cxx{$(" & outdir & ")}.obj:")
-					mfile.WriteLine("    $(cc) $(" & cxxflags & ") /Fo""$(" & outdir & ")\\"" /Fd""$(" & outdir & ")\\"" $**")
-					mfile.WriteLine
-				End If
-				If fortran_files_found Then
-					mfile.WriteLine("{..\" & Right(file.ParentFolder, Len(file.ParentFolder) - trimpath) & "}.f{$(" & outdir & ")}.obj:")
-					'mfile.WriteLine("    $(fc) $(" & fort_prefix & "fortflags) /Fo""$(" & outdir & ")\\"" /Fd""$(" & outdir & ")\\"" $**")
-					mfile.WriteLine("    $(fc) $(" & fort_prefix & "fortflags) /module:""$(" & outdir & ")\\"" /object:""$(" & outdir & ")\\"" $**")
-					mfile.WriteLine
-				End If
-			End If
-		End If
-	Next
-End Sub
-
-Sub CreateRules(folder, trimpath)
-	creating_rules = true
-	FindSimpleMakeFiles folder, trimpath
-End Sub
-
-Sub CreateObjs(package, folder, trimpath, do_start, do_end)
-	creating_rules = false
-	If do_start Then
-		mfile.Write(package & "_objs =")
-	End If
-	FindSimpleMakeFiles folder, trimpath
-	If do_end Then
-		mfile.WriteLine
-		mfile.WriteLine
-	End If
-End Sub
-
-Function GenBuild()
-	If Not f.FolderExists("winbuild") Then
-		f.CreateFolder("winbuild")
-	End If
-	Set bfile = f.CreateTextFile("winbuild\build.bat", true)
-	bfile.WriteLine("REM   (C) 2001 by Argonne National Laboratory.")
-	bfile.WriteLine("REM      See COPYRIGHT in top-level directory.")
-	bfile.WriteLine
-	bfile.WriteLine("IF ""%1"" == """" ( SET SILENT=/S ) ELSE ( SET SILENT= )")
-	bfile.WriteLine("nmake %SILENT%")
-	bfile.WriteLine("nmake %SILENT% /NOLOGO CHANNEL=sock RLOG=1")
-	bfile.WriteLine("nmake %SILENT% /NOLOGO CHANNEL=mt")
-	bfile.WriteLine("nmake %SILENT% /NOLOGO CHANNEL=mt RLOG=1")
-	bfile.WriteLine("nmake %SILENT% /NOLOGO CHANNEL=nemesis")
-	bfile.WriteLine("nmake %SILENT% /NOLOGO CHANNEL=nemesis RLOG=1")
-'	bfile.WriteLine("REM nmake %SILENT% /NOLOGO CHANNEL=sshm")
-'	bfile.WriteLine("REM nmake %SILENT% /NOLOGO CHANNEL=sshm RLOG=1")
-'	bfile.WriteLine("REM nmake %SILENT% /NOLOGO CHANNEL=ib IB=IBAL IB_PATH=c:\ibal\src\base IB_PATH_LIB=c:\ibal\Install")
-'	bfile.WriteLine("REM nmake %SILENT% /NOLOGO CHANNEL=ib IB=IBAL IB_PATH=c:\ibal\src\base IB_PATH_LIB=c:\ibal\Install RLOG=1")
-'	bfile.WriteLine("REM nmake %SILENT% /NOLOGO CHANNEL=ib IB=VAPI")
-'	bfile.WriteLine("REM nmake %SILENT% /NOLOGO CHANNEL=ib IB=VAPI RLOG=1")
-'	bfile.WriteLine("REM nmake %SILENT% /NOLOGO CHANNEL=essm")
-'	bfile.WriteLine("REM nmake %SILENT% /NOLOGO CHANNEL=essm RLOG=1")
-	bfile.WriteLine("nmake %SILENT% /NOLOGO cxx")
-	bfile.WriteLine("nmake %SILENT% /NOLOGO fort")
-	bfile.WriteLine("nmake %SILENT% /NOLOGO mpi_mod")
-	bfile.WriteLine("nmake %SILENT% /NOLOGO gfort")
-	bfile.WriteLine("nmake %SILENT% /NOLOGO sfort")
-	bfile.WriteLine("nmake %SILENT% /NOLOGO irlog2rlog")
-	bfile.WriteLine("nmake %SILENT% /NOLOGO TraceInput")
-	bfile.WriteLine("nmake %SILENT% /NOLOGO gcc_libs")
-	bfile.WriteLine("nmake %SILENT% /NOLOGO impgen")
-	bfile.Close()
-
-	Set mfile = f.CreateTextFile("winbuild\makefile", true)
-	mfile.WriteLine("#")
-	mfile.WriteLine("#   (C) 2001 by Argonne National Laboratory.")
-	mfile.WriteLine("#      See COPYRIGHT in top-level directory.")
-	mfile.WriteLine("#")
-	mfile.WriteLine
-	mfile.WriteLine("!IF ( ""$(CPU)"" == ""i386"" ) || ( ""$(CPU)"" == ""I386"" ) || ( ""$(CPU)"" == ""X86"" ) || ( ""$(CPU)"" == """" ) || ( ""$(CPU)"" == ""ia32"" ) || ( ""$(CPU)"" == ""IA32"" )")
-	mfile.WriteLine("CPU = x86")
-	mfile.WriteLine("!ENDIF")
-	mfile.WriteLine("!IF ( ""$(CPU)"" == ""X64"" ) || ( ""$(CPU)"" == ""AMD64"" ) || ( ""$(CPU)"" == ""amd64"" )")
-	mfile.WriteLine("CPU = x64")
-	mfile.WriteLine("!ENDIF")
-	mfile.WriteLine("!IF ""$(CPU)"" == ""IA64""")
-	mfile.WriteLine("CPU = ia64")
-	mfile.WriteLine("!ENDIF")
-	mfile.WriteLine
-	mfile.WriteLine("!IF ""$(CPU)"" != ""x86""")
-	mfile.WriteLine("!IF ""$(CPU)"" != ""x64""")
-	mfile.WriteLine("!IF ""$(CPU)"" != ""ia64""")
-	mfile.WriteLine("!ERROR  Must specify CPU environment variable ( CPU=i386,x86,ia32,x64,amd64,ia64 )")
-	mfile.WriteLine("!ENDIF")
-	mfile.WriteLine("!ENDIF")
-	mfile.WriteLine("!ENDIF")
-	mfile.WriteLine
-	mfile.WriteLine("!IF ""$(cc)"" == """"")
-	mfile.WriteLine("cc     = cl")
-	mfile.WriteLine("!ENDIF")
-	mfile.WriteLine("!IF ""$(link)"" == """"")
-	mfile.WriteLine("link   = link")
-	mfile.WriteLine("!ENDIF")
-	mfile.WriteLine("!IF ""$(implib)"" == """"")
-	mfile.WriteLine("implib = lib")
-	mfile.WriteLine("!ENDIF")
-	mfile.WriteLine("!IF ""$(fc)"" == """"")
-	mfile.WriteLine("fc = ifort")
-	mfile.WriteLine("!ENDIF")
-	mfile.WriteLine
-	mfile.WriteLine("!IFDEF MPICH_CFLAGS")
-	mfile.WriteLine("common_cflags = $(common_cflags) $(MPICH_CFLAGS)")
-	mfile.WriteLine("!ENDIF")
-	mfile.WriteLine
-	mfile.WriteLine("!IF ""$(CPU)"" == ""x86""")
-	mfile.WriteLine("common_cflags = $(common_cflags) -D_X86_=1 -DWIN32 -D_WIN32 -W3")
-	mfile.WriteLine("!ELSEIF ""$(CPU)"" == ""x64""")
-	'mfile.WriteLine("common_cflags = $(common_cflags) -D_AMD64_=1 -D__x86_64__ -DWIN64 -D_WIN64 -Wp64 -W4")
-	mfile.WriteLine("common_cflags = $(common_cflags) -D_AMD64_=1 -DWIN64 -D_WIN64 -Wp64 -W4")
-	mfile.WriteLine("!ELSEIF ""$(CPU)"" == ""ia64""")
-	mfile.WriteLine("common_cflags = $(common_cflags) -D_IA64_=1 -DWIN64 -D_WIN64 -Wp64 -W4")
-	mfile.WriteLine("!ENDIF")
-	mfile.WriteLine
-	mfile.WriteLine("!IFNDEF APPVER")
-	mfile.WriteLine("APPVER = 5.0")
-	mfile.WriteLine("!ENDIF")
-	mfile.WriteLine("!IF ""$(APPVER)"" == ""5.0""")
-	mfile.WriteLine("NMAKE_WINVER = 0x0500")
-	mfile.WriteLine("!ELSEIF ""$(APPVER)"" == ""5.01""")
-	mfile.WriteLine("NMAKE_WINVER = 0x0501")
-	mfile.WriteLine("!ELSEIF ""$(APPVER)"" == ""5.02""")
-	mfile.WriteLine("NMAKE_WINVER = 0x0502")
-	mfile.WriteLine("!ELSEIF ""$(APPVER)"" == ""6.0""")
-	mfile.WriteLine("NMAKE_WINVER = 0x0600")
-	mfile.WriteLine("!ENDIF")
-	mfile.WriteLine("common_cflags = $(common_cflags) -Oi -D_WINNT -D_WIN32_WINNT=$(NMAKE_WINVER)")
-	mfile.WriteLine
-        mfile.WriteLine("# Set USE_MTDLL_RUNLIB env variable to 1 if you need to use")
-        mfile.WriteLine("# Multithreaded dynamic link runtime library to build MPICH")
-        mfile.WriteLine("# Default is multithreaded static run lib")
-                        ' IF (NODEBUG)
-	mfile.WriteLine("!IFDEF NODEBUG")
-	mfile.WriteLine("common_cflags = $(common_cflags) -DNDEBUG -D_MT")
-	mfile.WriteLine("!IFDEF ENABLE_FAST")
-	mfile.WriteLine("common_cflags = $(common_cflags) -Ox -Ob2 -Ot -GS- -GR-")
-	mfile.WriteLine("!ELSE")
-	mfile.WriteLine("common_cflags = $(common_cflags) -O2 -DHAVE_ERROR_CHECKING=MPID_ERROR_LEVEL_ALL")
-	mfile.WriteLine("!ENDIF")
-	mfile.WriteLine("!IFDEF USE_MTDLL_RUNLIB")
-	mfile.WriteLine("common_cflags = $(common_cflags) -D_DLL -MD")
-	mfile.WriteLine("!ELSE")
-	mfile.WriteLine("common_cflags = $(common_cflags) -MT")
-	mfile.WriteLine("!ENDIF")
-                        ' ELSE (NODEBUG)
-	mfile.WriteLine("!ELSE")
-	mfile.WriteLine("common_cflags = $(common_cflags) -DHAVE_ERROR_CHECKING=MPID_ERROR_LEVEL_ALL -DUSE_DBG_LOGGING -DDEBUG -Zi -Od -D_MT")
-	mfile.WriteLine("!IFDEF USE_MTDLL_RUNLIB")
-	mfile.WriteLine("common_cflags = $(common_cflags) -D_DLL -MDd")
-	mfile.WriteLine("!ELSE")
-	mfile.WriteLine("common_cflags = $(common_cflags) -MTd")
-	mfile.WriteLine("!ENDIF")
-	mfile.WriteLine("!ENDIF")
-	mfile.WriteLine
-        ' FIXME: We should try to use CCP_SDK env instead of hardcoding the HPC SDK path
-        ' WARNING: This HPC SDK include path contains its own mpi.h - So include it with caution
-        mfile.WriteLine("MS_HPC_SDK_INC_PATH = ""C:\Program Files\Microsoft HPC Pack 2008 SDK\Include""")
-	mfile.WriteLine
-        mfile.WriteLine("MS_HPC_SDK_ND_INC_PATH = ""C:\Program Files\Microsoft HPC Pack 2008 SDK\NetworkDirect\Include""")
-	mfile.WriteLine
-        ' The HPC SDK lib path contains the type libraries required for interfacing with the HPC job manager
-	mfile.WriteLine("!IF ""$(CPU)"" == ""x86""")
-	mfile.WriteLine("MS_HPC_SDK_LIB_PATH = ""C:\Program Files\Microsoft HPC Pack 2008 SDK\Lib\i386""")
-	mfile.WriteLine("!ELSEIF ""$(CPU)"" == ""x64""")
-	mfile.WriteLine("MS_HPC_SDK_LIB_PATH = ""C:\Program Files\Microsoft HPC Pack 2008 SDK\Lib\amd64""")
-	mfile.WriteLine("!ENDIF")
-	mfile.WriteLine
-	mfile.WriteLine("lflags  = $(lflags) /LIBPATH:$(MS_HPC_SDK_LIB_PATH) /OPT:REF /INCREMENTAL:NO /NOLOGO /MANIFEST")
-	mfile.WriteLine("!IFDEF NODEBUG")
-	mfile.WriteLine("lflags = $(lflags) /RELEASE")
-	mfile.WriteLine("!ELSE")
-	mfile.WriteLine("lflags = $(lflags) /DEBUG:full /DEBUGTYPE:cv")
-	mfile.WriteLine("!ENDIF")
-	mfile.WriteLine("conlflags = $(lflags) -subsystem:console,$(APPVER)")
-	mfile.WriteLine("dlllflags = $(lflags) -dll")
-	mfile.WriteLine("liblflags =")
-	' End of win32.mak replacement
-	mfile.WriteLine
-	mfile.WriteLine("!IF ""$(CHANNEL)"" == """"")
-	mfile.WriteLine("CHANNEL = sock")
-	mfile.WriteLine("!ENDIF")
-	mfile.WriteLine
-	mfile.WriteLine("!IFDEF NODEBUG")
-	mfile.WriteLine("D =")
-	mfile.WriteLine("!ELSE")
-	mfile.WriteLine("D = d")
-	mfile.WriteLine("!ENDIF")
-	mfile.WriteLine
-	mfile.WriteLine("!IFDEF RLOG")
-	mfile.WriteLine("P = p")
-	mfile.WriteLine("common_cflags = $(common_cflags) /DHAVE_STRNICMP /DHAVE_TIMING=MPID_TIMING_KIND_LOG_DETAILED /DUSE_LOGGING=MPID_LOGGING_RLOG")
-	mfile.WriteLine("rlog_libs = $(RLOG_OUTDIR)\rlog$(D).lib")
-	mfile.WriteLine("PLIB_DEP = rlog")
-	mfile.WriteLine("!ELSE")
-	mfile.WriteLine("P =")
-	mfile.WriteLine("rlog_libs =")
-	mfile.WriteLine("PLIB_DEP =")
-	mfile.WriteLine("!ENDIF")
-	mfile.WriteLine
-	mfile.WriteLine("common_cflags = -c -nologo $(common_cflags) \")
-	mfile.WriteLine(" /DHAVE_WINDOWS_H \")
-	mfile.WriteLine(" /DUSE_WINCONF_H \")
-	mfile.WriteLine(" /DMPIO_BUILD_PROFILING \")
-	mfile.WriteLine(" /DROMIO_INSIDE_MPICH")
-	mfile.WriteLine
-	mfile.WriteLine("!IF ""$(NO_FORTRAN)"" == """"")
-	mfile.WriteLine("common_cflags = $(common_cflags) /DHAVE_FORTRAN_BINDING")
-	mfile.WriteLine("!ENDIF")
-	mfile.WriteLine
-	mfile.WriteLine("common_cflags = $(common_cflags) \")
-        mfile.WriteLine(" /I$(MS_HPC_SDK_LIB_PATH) \")
-        mfile.WriteLine(" /I$(MS_HPC_SDK_ND_INC_PATH) \")
-	mfile.WriteLine(" /I..\src\include \")
-	mfile.WriteLine(" /I..\src\util\wrappers \")
-	mfile.WriteLine(" /I..\src\openpa\src \")
-	mfile.WriteLine(" /I..\src\mpl\include \")
-	mfile.WriteLine(" /I..\src\mpid\ch3\include \")
-	mfile.WriteLine(" /I..\src\mpid\ch3\channels\$(CHANNEL)\include \")
-	mfile.WriteLine(" /I..\src\mpid\ch3\channels\$(CHANNEL)\src \")
-	mfile.WriteLine(" /I..\src\mpid\common\sock \")
-	mfile.WriteLine(" /I..\src\mpid\common\sock\iocp \")
-	mfile.WriteLine(" /I..\src\mpid\ch3\util\sock \")
-	mfile.WriteLine(" /I..\src\mpi\romio\mpi-io \")
-	mfile.WriteLine(" /I..\src\mpi\romio\adio\include \")
-	mfile.WriteLine(" /I..\src\mpid\common\datatype \")
-	mfile.WriteLine(" /I..\src\mpid\common\locks \")
-	mfile.WriteLine(" /I..\src\mpid\common\sched \")
-	mfile.WriteLine(" /I..\src\mpi\datatype \")
-	mfile.WriteLine(" /I..\src\mpi\binding\f90 \")
-	mfile.WriteLine(" /I..\src\pm\smpd \")
-	mfile.WriteLine(" /I..\src\pm\smpd\sock\include \")
-	mfile.WriteLine(" /I..\src\pm\smpd\sock\iocp\include \")
-	mfile.WriteLine(" /I..\src\mpi\spawn \")
-	mfile.WriteLine(" /I..\src\binding\f77")
-	mfile.WriteLine
-	mfile.WriteLine("!IF ""$(CPU)"" == ""i386"" || ""$(CPU)"" == ""x86""")
-	mfile.WriteLine("common_cflags = $(common_cflags) /I..\src\include\win32 /I..\src\binding\f90\win32 /I..\src\openpa\src\win32")
-	mfile.WriteLine("!ELSE")
-	mfile.WriteLine("common_cflags = $(common_cflags) /I..\src\include\win64 /I..\src\binding\f90\win64 /I..\src\openpa\src\win64")
-	mfile.WriteLine("!ENDIF")
-	mfile.WriteLine
-	mfile.WriteLine("cxxflags = $(common_cflags) /DMPI_EXPORTS")
-	mfile.WriteLine("cflags = $(cflags) $(common_cflags) /DMPI_EXPORTS /DMPICH_SKIP_MPICXX")
-	mfile.WriteLine("fcflags = $(common_cflags) /DMPICH_SKIP_MPICXX \")
-	mfile.WriteLine(" /DUSE_FORT_CDECL \")
-	mfile.WriteLine(" /DUSE_MSC_DLLSPEC \")
-	mfile.WriteLine(" /DFORTRAN_EXPORTS \")
-	mfile.WriteLine(" /DF77_NAME_UPPER \")
-	mfile.WriteLine(" /DHAVE_C_API")
-	mfile.WriteLine("gfcflags = $(common_cflags) /DMPICH_SKIP_MPICXX \")
-	mfile.WriteLine(" /DUSE_FORT_CDECL \")
-	mfile.WriteLine(" /DUSE_MSC_DLLSPEC \")
-	mfile.WriteLine(" /DFORTRAN_EXPORTS \")
-	mfile.WriteLine(" /DFORTRANDOUBLEUNDERSCORE \")
-	mfile.WriteLine(" /DF77_NAME_LOWER_2USCORE \")
-	mfile.WriteLine(" /DHAVE_C_API")
-	mfile.WriteLine("sfcflags = $(common_cflags) /DMPICH_SKIP_MPICXX \")
-	mfile.WriteLine(" /DUSE_FORT_STDCALL \")
-	mfile.WriteLine(" /DUSE_MSC_DLLSPEC \")
-	mfile.WriteLine(" /DFORTRAN_EXPORTS \")
-	mfile.WriteLine(" /DF77_NAME_UPPER \")
-	mfile.WriteLine(" /DUSE_FORT_MIXED_STR_LEN \")
-	mfile.WriteLine(" /DHAVE_C_API")
-	mfile.WriteLine("!IF ""$(CPU)"" != ""x86""")
-	mfile.WriteLine("fcflags = $(fcflags) /DHAVE_AINT_LARGER_THAN_FINT")
-	mfile.WriteLine("gfcflags = $(gfcflags) /DHAVE_AINT_LARGER_THAN_FINT")
-	mfile.WriteLine("sfcflags = $(sfcflags) /DHAVE_AINT_LARGER_THAN_FINT")
-	mfile.WriteLine("!ENDIF")
-	mfile.WriteLine("fpcflags = \")
-        mfile.WriteLine(" $(fcflags) \")
-        mfile.WriteLine(" /DMPICH_MPI_FROM_PMPI \")
-        mfile.WriteLine(" /DUSE_ONLY_MPI_NAMES")
-	mfile.WriteLine("fortflags = /iface:cref /c /names:uppercase")
-	mfile.WriteLine("gfortflags = /iface:cref /assume:underscore /c /names:lowercase")
-	mfile.WriteLine("sfortflags = /iface:stdcall /c /names:uppercase")
-	mfile.WriteLine("!IF ""$(CPU)"" == ""x86""")
-        mfile.WriteLine("fortflags = $(fortflags) /I..\src\include\win32 ")
-        mfile.WriteLine("!ELSE")
-        mfile.WriteLine("fortflags = $(fortflags) /I..\src\include\win64 ")
-	mfile.WriteLine("!ENDIF")
-	mfile.WriteLine("impl_cxxflags = $(cflags)")
-	mfile.WriteLine("mpe_cflags = \")
-	mfile.WriteLine(" /I ..\src\mpe2\include \")
-	mfile.WriteLine(" /I ..\src\mpe2\src\logging\include \")
-	mfile.WriteLine(" /I ..\src\mpe2\src\callstack \")
-	mfile.WriteLine(" /I ..\src\mpe2\src\callstack\include")
-	mfile.WriteLine
-	mfile.WriteLine("!IF ""$(CHANNEL)"" == ""ib""")
-	mfile.WriteLine("!IFNDEF IB")
-	mfile.WriteLine("IB = IBAL")
-	mfile.WriteLine("!ENDIF")
-	mfile.WriteLine("!IFNDEF IB_PATH")
-	mfile.WriteLine("!IF ""$(CPU)"" != ""x86""")
-	mfile.WriteLine("IB_PATH = c:\mellanox64")
-	mfile.WriteLine("!ELSE")
-	mfile.WriteLine("IB_PATH = c:\mellanox")
-	mfile.WriteLine("!ENDIF")
-	mfile.WriteLine("!ENDIF")
-	mfile.WriteLine("!IF ""$(IB)"" == ""IBAL""")
-	mfile.WriteLine("cflags = $(cflags) /DUSE_IB_$(IB) /I$(IB_PATH)\shared\include /I$(IB_PATH)\shared\include\iba /I$(IB_PATH)\winuser\include")
-	mfile.WriteLine("!ELSE")
-	mfile.WriteLine("cflags = $(cflags) /DUSE_IB_$(IB) /I$(IB_PATH)\include")
-	mfile.WriteLine("!ENDIF")
-	mfile.WriteLine("!ENDIF")
-	mfile.WriteLine
-	mfile.WriteLine("!IF ""$(CHANNEL)"" == ""mt""")
-	mfile.WriteLine("cflags = $(cflags) \")
-	mfile.WriteLine(" /DMPICH_MULTITHREADED \")
-	mfile.WriteLine(" /I..\src\mpid\ch3\channels\sock\include \")
-	mfile.WriteLine(" /I..\src\mpid\ch3\channels\sock\src")
-	mfile.WriteLine("!ENDIF")
-	mfile.WriteLine
-	mfile.WriteLine("!IF ""$(CHANNEL)"" == ""nemesis""")
-	mfile.WriteLine("cflags = $(cflags) \")
-	mfile.WriteLine(" /DMPICH_MULTITHREADED /D ENABLE_NO_MACRO_VARARG_NAME \")
-	mfile.WriteLine(" /I..\src\mpid\ch3\channels\nemesis\nemesis\include \")
-	mfile.WriteLine(" /I..\src\mpid\ch3\channels\nemesis\nemesis\utils\monitor \")
-	mfile.WriteLine(" /I..\src\mpid\ch3\channels\nemesis\nemesis\netmod\wintcp \")
-	mfile.WriteLine(" /I..\src\mpid\ch3\channels\nemesis\nemesis\netmod\nd")
-	mfile.WriteLine("!ENDIF")
-'	mfile.WriteLine
-'	mfile.WriteLine("!IF ""$(CHANNEL)"" == ""essm""")
-'	mfile.WriteLine("cflags = $(cflags) /DMPICH_MULTITHREADED")
-'	mfile.WriteLine("!ENDIF")
-	mfile.WriteLine
-	mfile.WriteLine("mpich_libs = activeds.lib adsiid.lib netapi32.lib ntdsapi.lib secur32.lib mswsock.lib ws2_32.lib mpr.lib rpcrt4.lib crypt32.lib gdi32.lib kernel32.lib advapi32.lib comsupp.lib")
-	mfile.WriteLine("!IF ""$(CPU)"" != ""x86""")
-	mfile.WriteLine("# common_libs = bufferoverflowU.lib")
-	mfile.WriteLine("!ENDIF")
-	mfile.WriteLine
-	mfile.WriteLine("!IF ""$(CHANNEL)"" == ""ib""")
-	mfile.WriteLine("!IF ""$(IB)"" == ""IBAL""")
-	mfile.WriteLine("!IF ""$(IB_PATH_LIB)"" == """"")
-	mfile.WriteLine("mpich_libs = $(mpich_libs) ibal.lib complib.lib /LIBPATH:$(IB_PATH)\lib")
-	mfile.WriteLine("!ELSE")
-	mfile.WriteLine("!IF ""$(CPU)"" != ""x86""")
-	mfile.WriteLine("mpich_libs = $(mpich_libs) ibal.lib complib.lib /LIBPATH:$(IB_PATH_LIB)\AMD64")
-	mfile.WriteLine("!ELSE")
-	mfile.WriteLine("mpich_libs = $(mpich_libs) ibal.lib complib.lib /LIBPATH:$(IB_PATH_LIB)\x86")
-	mfile.WriteLine("!ENDIF")
-	mfile.WriteLine("!ENDIF")
-	mfile.WriteLine("!ELSE")
-	mfile.WriteLine("!IF ""$(IB_PATH_LIB)"" == """"")
-	mfile.WriteLine("mpich_libs = $(mpich_libs) vapi.lib vapi_common.lib /LIBPATH:$(IB_PATH)\lib\release")
-	mfile.WriteLine("!ELSE")
-	mfile.WriteLine("mpich_libs = $(mpich_libs) vapi.lib vapi_common.lib /LIBPATH:$(IB_PATH_LIB)")
-	mfile.WriteLine("!ENDIF")
-	mfile.WriteLine("!ENDIF")
-	mfile.WriteLine("!ENDIF")
-	mfile.WriteLine
-	mfile.WriteLine("!IF ""$(NODEBUG)"" == """"")
-	mfile.WriteLine("CFG = Debug")
-	mfile.WriteLine("!ELSE")
-	mfile.WriteLine("CFG = Release")
-	mfile.WriteLine("!ENDIF")
-	mfile.WriteLine
-	mfile.WriteLine("!IF ""$(CHANNEL)"" == ""ib""")
-	mfile.WriteLine("OUTDIR = $(CPU)\$(CFG)\$(CHANNEL)_$(IB)$(P)")
-	mfile.WriteLine("!ELSE")
-	mfile.WriteLine("OUTDIR = $(CPU)\$(CFG)\$(CHANNEL)$(P)")
-	mfile.WriteLine("!ENDIF")
-	mfile.WriteLine("BIN_OUTDIR = $(CPU)\$(CFG)\bin")
-	mfile.WriteLine("SOCK_OUTDIR = $(CPU)\$(CFG)\sock$(P)")
-	mfile.WriteLine("MT_OUTDIR = $(CPU)\$(CFG)\mt$(P)")
-	mfile.WriteLine("NEMESIS_OUTDIR = $(CPU)\$(CFG)\nemesis$(P)")
-'	mfile.WriteLine("SSHM_OUTDIR = $(CPU)\$(CFG)\sshm$(P)")
-'	mfile.WriteLine("ESSM_OUTDIR = $(CPU)\$(CFG)\essm$(P)")
-'	mfile.WriteLine("IB_OUTDIR = $(CPU)\$(CFG)\ib_$(IB)$(P)")
-	mfile.WriteLine("FORTP_OUTDIR = $(CPU)\$(CFG)\fortranp")
-	mfile.WriteLine("FORT_OUTDIR = $(CPU)\$(CFG)\fortran")
-	mfile.WriteLine("GFORT_OUTDIR = $(CPU)\$(CFG)\gfortran")
-	mfile.WriteLine("SFORT_OUTDIR = $(CPU)\$(CFG)\sfortran")
-	mfile.WriteLine("CXX_OUTDIR = $(CPU)\$(CFG)\cxx")
-	mfile.WriteLine("MPI_OUTDIR = $(CPU)\$(CFG)\mpi")
-	mfile.WriteLine("RLOG_OUTDIR = $(CPU)\$(CFG)\rlog")
-	mfile.WriteLine("MPE_OUTDIR = $(CPU)\$(CFG)\mpe")
-	mfile.WriteLine("MPE_WRAP_OUTDIR = $(CPU)\$(CFG)\mpe_wrap")
-	mfile.WriteLine("GCC_OUTDIR = $(CPU)\$(CFG)\gcc")
-	mfile.WriteLine
-	mfile.WriteLine("# The first rule gets built if nothing is specified on the nmake command line")
-	mfile.WriteLine("all_redirect: all")
-	mfile.WriteLine
-	mfile.WriteLine("$(OUTDIR) :")
-	mfile.WriteLine("    if not exist ""$(OUTDIR)\$(NULL)"" mkdir $(OUTDIR)")
-	mfile.WriteLine
-	mfile.WriteLine("$(BIN_OUTDIR) :")
-	mfile.WriteLine("	if not exist ""$(BIN_OUTDIR)\$(NULL)"" mkdir $(BIN_OUTDIR)")
-	mfile.WriteLine
-	mfile.WriteLine("$(FORTP_OUTDIR) :")
-	mfile.WriteLine("	if not exist ""$(FORTP_OUTDIR)\$(NULL)"" mkdir $(FORTP_OUTDIR)")
-	mfile.WriteLine
-	mfile.WriteLine("$(FORT_OUTDIR) :")
-	mfile.WriteLine("	if not exist ""$(FORT_OUTDIR)\$(NULL)"" mkdir $(FORT_OUTDIR)")
-	mfile.WriteLine
-	mfile.WriteLine("$(GFORT_OUTDIR) :")
-	mfile.WriteLine("	if not exist ""$(GFORT_OUTDIR)\$(NULL)"" mkdir $(GFORT_OUTDIR)")
-	mfile.WriteLine
-	mfile.WriteLine("$(SFORT_OUTDIR) :")
-	mfile.WriteLine("	if not exist ""$(SFORT_OUTDIR)\$(NULL)"" mkdir $(SFORT_OUTDIR)")
-	mfile.WriteLine
-	mfile.WriteLine("$(CXX_OUTDIR) :")
-	mfile.WriteLine("	if not exist ""$(CXX_OUTDIR)\$(NULL)"" mkdir $(CXX_OUTDIR)")
-	mfile.WriteLine
-	mfile.WriteLine("$(MPI_OUTDIR) :")
-	mfile.WriteLine("	if not exist ""$(MPI_OUTDIR)\$(NULL)"" mkdir $(MPI_OUTDIR)")
-	mfile.WriteLine
-	mfile.WriteLine("$(RLOG_OUTDIR) :")
-	mfile.WriteLine("	if not exist ""$(RLOG_OUTDIR)\$(NULL)"" mkdir $(RLOG_OUTDIR)")
-	mfile.WriteLine
-	mfile.WriteLine("$(MPE_OUTDIR) :")
-	mfile.WriteLine("	if not exist ""$(MPE_OUTDIR)\$(NULL)"" mkdir $(MPE_OUTDIR)")
-	mfile.WriteLine
-	mfile.WriteLine("$(MPE_WRAP_OUTDIR) :")
-	mfile.WriteLine("	if not exist ""$(MPE_WRAP_OUTDIR)\$(NULL)"" mkdir $(MPE_WRAP_OUTDIR)")
-	mfile.WriteLine
-	mfile.WriteLine("$(GCC_OUTDIR) :")
-	mfile.WriteLine("	if not exist ""$(GCC_OUTDIR)\$(NULL)"" mkdir $(GCC_OUTDIR)")
-	mfile.WriteLine
-	mfile.WriteLine("# clean destroys everything, even user generated files")
-	mfile.WriteLine("CLEAN:")
-	mfile.WriteLine("	if exist $(OUTDIR)\$(NULL) rd /s /q $(OUTDIR)")
-	mfile.WriteLine("	if exist $(BIN_OUTDIR)\$(NULL) rd /s /q $(BIN_OUTDIR)")
-	mfile.WriteLine("	if exist $(SOCK_OUTDIR)\$(NULL) rd /s /q $(SOCK_OUTDIR)")
-	mfile.WriteLine("	if exist $(MT_OUTDIR)\$(NULL) rd /s /q $(MT_OUTDIR)")
-	mfile.WriteLine("	if exist $(SSM_OUTDIR)\$(NULL) rd /s /q $(SSM_OUTDIR)")
-	mfile.WriteLine("	if exist $(SHM_OUTDIR)\$(NULL) rd /s /q $(SHM_OUTDIR)")
-	mfile.WriteLine("	if exist $(NEMESIS_OUTDIR)\$(NULL) rd /s /q $(NEMESIS_OUTDIR)")
-'	mfile.WriteLine("	if exist $(SSHM_OUTDIR)\$(NULL) rd /s /q $(SSHM_OUTDIR)")
-'	mfile.WriteLine("	if exist $(ESSM_OUTDIR)\$(NULL) rd /s /q $(ESSM_OUTDIR)")
-'	mfile.WriteLine("	if exist $(IB_OUTDIR)IBAL\$(NULL) rd /s /q $(IB_OUTDIR)IBAL")
-'	mfile.WriteLine("	if exist $(IB_OUTDIR)VAPI\$(NULL) rd /s /q $(IB_OUTDIR)VAPI")
-	mfile.WriteLine("	if exist $(SOCK_OUTDIR)p\$(NULL) rd /s /q $(SOCK_OUTDIR)p")
-	mfile.WriteLine("	if exist $(MT_OUTDIR)p\$(NULL) rd /s /q $(MT_OUTDIR)p")
-	mfile.WriteLine("	if exist $(SSM_OUTDIR)p\$(NULL) rd /s /q $(SSM_OUTDIR)p")
-	mfile.WriteLine("	if exist $(SHM_OUTDIR)p\$(NULL) rd /s /q $(SHM_OUTDIR)p")
-	mfile.WriteLine("	if exist $(NEMESIS_OUTDIR)p\$(NULL) rd /s /q $(NEMESIS_OUTDIR)p")
-'	mfile.WriteLine("	if exist $(SSHM_OUTDIR)p\$(NULL) rd /s /q $(SSHM_OUTDIR)p")
-'	mfile.WriteLine("	if exist $(ESSM_OUTDIR)p\$(NULL) rd /s /q $(ESSM_OUTDIR)p")
-'	mfile.WriteLine("	if exist $(IB_OUTDIR)IBALp\$(NULL) rd /s /q $(IB_OUTDIR)IBALp")
-'	mfile.WriteLine("	if exist $(IB_OUTDIR)VAPIp\$(NULL) rd /s /q $(IB_OUTDIR)VAPIp")
-	mfile.WriteLine("	if exist $(FORTP_OUTDIR)\$(NULL) rd /s /q $(FORTP_OUTDIR)")
-	mfile.WriteLine("	if exist $(FORT_OUTDIR)\$(NULL) rd /s /q $(FORT_OUTDIR)")
-	mfile.WriteLine("	if exist $(GFORT_OUTDIR)\$(NULL) rd /s /q $(GFORT_OUTDIR)")
-	mfile.WriteLine("	if exist $(SFORT_OUTDIR)\$(NULL) rd /s /q $(SFORT_OUTDIR)")
-	mfile.WriteLine("	if exist $(CXX_OUTDIR)\$(NULL) rd /s /q $(CXX_OUTDIR)")
-	mfile.WriteLine("	if exist $(MPI_OUTDIR)\$(NULL) rd /s /q $(MPI_OUTDIR)")
-	mfile.WriteLine("	if exist $(RLOG_OUTDIR)\$(NULL) rd /s /q $(RLOG_OUTDIR)")
-	mfile.WriteLine("	if exist $(MPE_OUTDIR)\$(NULL) rd /s /q $(MPE_OUTDIR)")
-	mfile.WriteLine("	if exist $(MPE_WRAP_OUTDIR)\$(NULL) rd /s /q $(MPE_WRAP_OUTDIR)")
-	mfile.WriteLine("	if exist $(GCC_OUTDIR)\$(NULL) rd /s /q $(GCC_OUTDIR)")
-	mfile.WriteLine
-
-	trimlength = Len(f.GetFolder(".").Path) + 1
-
-	mfile.WriteLine
-	mfile.WriteLine("# MPICH")
-	mfile.WriteLine
-	CreateRules f.GetFolder("src\mpi"), trimlength
-	CreateRules f.GetFolder("src\binding\f90"), trimlength
-	CreateRules f.GetFolder("src\mpid\common\datatype"), trimlength
-	CreateRules f.GetFolder("src\util\mem"), trimlength
-	CreateRules f.GetFolder("src\util\dbg"), trimlength
-	CreateRules f.GetFolder("src\util\msgs"), trimlength
-	CreateRules f.GetFolder("src\util\procmap"), trimlength
-	CreateRules f.GetFolder("src\util\ex"), trimlength
-	CreateRules f.GetFolder("src\pmi\smpd"), trimlength
-	CreateRules f.GetFolder("src\pm\smpd"), trimlength
-	' Create a special rule for smpd_adreg.cpp since it must be compiled for UNICODE
-	mfile.WriteLine("$(" & outdir & ")\smpd_adreg.obj: ..\src\pm\smpd\smpd_adreg.cpp")
-	mfile.WriteLine("    $(cc) $(cflags) /DUNICODE /D_UNICODE /Fo""$(" & outdir & ")\\"" /Fd""$(" & outdir & ")\\"" ..\src\pm\smpd\smpd_adreg.cpp")
-	mfile.WriteLine
-	CreateRules f.GetFolder("src\nameserv\pmi"), trimlength
-	CreateRules f.GetFolder("src\mpid\ch3\src"), trimlength
-	CreateRules f.GetFolder("src\mpid\common\locks"), trimlength
-	CreateRules f.GetFolder("src\mpid\common\sock\iocp"), trimlength
-	CreateRules f.GetFolder("src\mpid\common\sched"), trimlength
-	CreateRules f.GetFolder("src\util\info"), trimlength
-'	CreateRules f.GetFolder("src\util\timing"), trimlength
-	CreateRules f.GetFolder("src\util\logging\common"), trimlength
-	CreateRules f.GetFolder("src\util\param"), trimlength
-        CreateRules f.GetFolder("src\util\thread"), trimlength
-        CreateRules f.GetFolder("src\util\other"), trimlength
-        ' Insert rules for mpl manually since mpl is not build with Makefile.sm files
-        mfile.WriteLine("{..\src\mpl\src}.c{$(OUTDIR)}.obj:")
-        mfile.WriteLine("    $(cc) $(cflags) /Fo""$(OUTDIR)\\"" /Fd""$(OUTDIR)\\"" $**")
-        mfile.WriteLine
-	' Insert rules for romio manually since romio is not build with Makefile.sm files
-	mfile.WriteLine("{..\src\mpi\romio\adio\ad_ntfs}.c{$(OUTDIR)}.obj:")
-	mfile.WriteLine("    $(cc) $(cflags) /Fo""$(OUTDIR)\\"" /Fd""$(OUTDIR)\\"" $**")
-	mfile.WriteLine
-	mfile.WriteLine("{..\src\mpi\romio\adio\common}.c{$(OUTDIR)}.obj:")
-	mfile.WriteLine("    $(cc) $(cflags) /Fo""$(OUTDIR)\\"" /Fd""$(OUTDIR)\\"" $**")
-	mfile.WriteLine
-	mfile.WriteLine("{..\src\mpi\romio\mpi-io}.c{$(OUTDIR)}.obj:")
-	mfile.WriteLine("    $(cc) $(cflags) /Fo""$(OUTDIR)\\"" /Fd""$(OUTDIR)\\"" $**")
-	mfile.WriteLine
-	mfile.WriteLine("{..\src\mpi\romio\mpi-io\glue\mpich}.c{$(OUTDIR)}.obj:")
-	mfile.WriteLine("    $(cc) $(cflags) /Fo""$(OUTDIR)\\"" /Fd""$(OUTDIR)\\"" $**")
-	mfile.WriteLine
-	mfile.WriteLine("{..\src\mpi\romio\mpi2-other\array}.c{$(OUTDIR)}.obj:")
-	mfile.WriteLine("    $(cc) $(cflags) /Fo""$(OUTDIR)\\"" /Fd""$(OUTDIR)\\"" $**")
-	mfile.WriteLine
-	mfile.WriteLine("$(OUTDIR)\rlogtime.obj: ..\src\util\logging\rlog\rlogtime.c")
-	mfile.WriteLine("	$(cc) $(cflags) /I..\src\util\logging\common /Fo""$(OUTDIR)\\"" /Fd""$(OUTDIR)\\"" ..\src\util\logging\rlog\rlogtime.c")
-	mfile.WriteLine
-	CreateObjs "mpich", f.GetFolder("src\mpi"), trimlength, true, false
-	CreateObjs "mpich", f.GetFolder("src\mpid\common\datatype"), trimlength, false, false
-	CreateObjs "mpich", f.GetFolder("src\util\mem"), trimlength, false, false
-	CreateObjs "mpich", f.GetFolder("src\util\dbg"), trimlength, false, false
-	CreateObjs "mpich", f.GetFolder("src\util\msgs"), trimlength, false, false
-	CreateObjs "mpich", f.GetFolder("src\util\procmap"), trimlength, false, false
-	CreateObjs "mpich", f.GetFolder("src\util\ex"), trimlength, false, false
-	CreateObjs "mpich", f.GetFolder("src\pmi\smpd"), trimlength, false, false
-	CreateObjs "mpich", f.GetFolder("src\pm\smpd"), trimlength, false, false
-	mfile.Write(" \" & vbCrLF & "	$(" & outdir & ")\smpd_adreg.obj")
-	CreateObjs "mpich", f.GetFolder("src\nameserv\pmi"), trimlength, false, false
-	CreateObjs "mpich", f.GetFolder("src\mpid\ch3\src"), trimlength, false, false
-	CreateObjs "mpich", f.GetFolder("src\mpid\common\locks"), trimlength, false, false
-	CreateObjs "mpich", f.GetFolder("src\mpid\common\sock\iocp"), trimlength, false, false
-	CreateObjs "mpich", f.GetFolder("src\mpid\common\sched"), trimlength, false, false
-	CreateObjs "mpich", f.GetFolder("src\util\info"), trimlength, false, false
-'	CreateObjs "mpich", f.GetFolder("src\util\timing"), trimlength, false, false
-	CreateObjs "mpich", f.GetFolder("src\util\logging\common"), trimlength, false, false
-	CreateObjs "mpich", f.GetFolder("src\util\param"), trimlength, false, false
-        CreateObjs "mpich", f.GetFolder("src\util\thread"), trimlength, false, false
-        CreateObjs "mpich", f.GetFolder("src\util\other"), trimlength, false, false
-	mfile.WriteLine(" \" & vbCrLf & "	$(OUTDIR)\ad_ntfs.obj \")
-	mfile.WriteLine("	$(OUTDIR)\ad_ntfs_close.obj \")
-	mfile.WriteLine("	$(OUTDIR)\ad_ntfs_done.obj \")
-	mfile.WriteLine("	$(OUTDIR)\ad_ntfs_fcntl.obj \")
-	mfile.WriteLine("	$(OUTDIR)\ad_ntfs_flush.obj \")
-	mfile.WriteLine("	$(OUTDIR)\ad_ntfs_iread.obj \")
-	mfile.WriteLine("	$(OUTDIR)\ad_ntfs_iwrite.obj \")
-	mfile.WriteLine("	$(OUTDIR)\ad_ntfs_open.obj \")
-	mfile.WriteLine("	$(OUTDIR)\ad_ntfs_read.obj \")
-	mfile.WriteLine("	$(OUTDIR)\ad_ntfs_resize.obj \")
-	mfile.WriteLine("	$(OUTDIR)\ad_ntfs_wait.obj \")
-	mfile.WriteLine("	$(OUTDIR)\ad_ntfs_write.obj \")
-	mfile.WriteLine("	$(OUTDIR)\greq_fns.obj \")
-	mfile.WriteLine("	$(OUTDIR)\ad_darray.obj \")
-	mfile.WriteLine("	$(OUTDIR)\ad_subarray.obj \")
-	mfile.WriteLine("	$(OUTDIR)\ad_aggregate.obj \")
-	mfile.WriteLine("	$(OUTDIR)\ad_close.obj \")
-	mfile.WriteLine("	$(OUTDIR)\ad_delete.obj \")
-	mfile.WriteLine("	$(OUTDIR)\ad_end.obj \")
-	mfile.WriteLine("	$(OUTDIR)\ad_fstype.obj \")
-	mfile.WriteLine("	$(OUTDIR)\ad_get_sh_fp.obj \")
-	mfile.WriteLine("	$(OUTDIR)\ad_hints.obj \")
-	mfile.WriteLine("	$(OUTDIR)\ad_init.obj \")
-	mfile.WriteLine("	$(OUTDIR)\ad_iopen.obj \")
-	mfile.WriteLine("	$(OUTDIR)\ad_iread_fake.obj \")
-	mfile.WriteLine("	$(OUTDIR)\ad_iwrite_fake.obj \")
-	mfile.WriteLine("	$(OUTDIR)\ad_open.obj \")
-	mfile.WriteLine("	$(OUTDIR)\system_hints.obj \")
-	mfile.WriteLine("	$(OUTDIR)\ad_prealloc.obj \")
-	mfile.WriteLine("	$(OUTDIR)\ad_features.obj \")
-	mfile.WriteLine("	$(OUTDIR)\ad_opencoll.obj \")
-	mfile.WriteLine("	$(OUTDIR)\ad_read_coll.obj \")
-	mfile.WriteLine("	$(OUTDIR)\ad_read_str.obj \")
-	mfile.WriteLine("	$(OUTDIR)\ad_read_str_naive.obj \")
-	mfile.WriteLine("	$(OUTDIR)\ad_seek.obj \")
-	mfile.WriteLine("	$(OUTDIR)\ad_set_sh_fp.obj \")
-	mfile.WriteLine("	$(OUTDIR)\ad_set_view.obj \")
-	mfile.WriteLine("	$(OUTDIR)\ad_write_coll.obj \")
-	mfile.WriteLine("	$(OUTDIR)\ad_write_str.obj \")
-	mfile.WriteLine("	$(OUTDIR)\ad_write_str_naive.obj \")
-	mfile.WriteLine("	$(OUTDIR)\ad_io_coll.obj \")
-	mfile.WriteLine("	$(OUTDIR)\ad_opencoll.obj \")
-	mfile.WriteLine("	$(OUTDIR)\ad_coll_build_req_new.obj \")
-	mfile.WriteLine("	$(OUTDIR)\ad_coll_exch_new.obj \")
-	mfile.WriteLine("	$(OUTDIR)\ad_aggregate_new.obj \")
-	mfile.WriteLine("	$(OUTDIR)\ad_features.obj \")
-	mfile.WriteLine("	$(OUTDIR)\heap-sort.obj \")
-'	mfile.WriteLine("	$(OUTDIR)\async_list.obj \")
-	mfile.WriteLine("	$(OUTDIR)\byte_offset.obj \")
-	mfile.WriteLine("	$(OUTDIR)\cb_config_list.obj \")
-	mfile.WriteLine("	$(OUTDIR)\eof_offset.obj \")
-	mfile.WriteLine("	$(OUTDIR)\error.obj \")
-	mfile.WriteLine("	$(OUTDIR)\flatten.obj \")
-	mfile.WriteLine("	$(OUTDIR)\get_fp_posn.obj \")
-	mfile.WriteLine("	$(OUTDIR)\iscontig.obj \")
-	mfile.WriteLine("	$(OUTDIR)\lock.obj \")
-	mfile.WriteLine("	$(OUTDIR)\malloc.obj \")
-'	mfile.WriteLine("	$(OUTDIR)\req_malloc.obj \")
-	mfile.WriteLine("	$(OUTDIR)\shfp_fname.obj \")
-	mfile.WriteLine("	$(OUTDIR)\status_setb.obj \")
-	mfile.WriteLine("	$(OUTDIR)\close.obj \")
-	mfile.WriteLine("	$(OUTDIR)\delete.obj \")
-	mfile.WriteLine("	$(OUTDIR)\mpir-mpioinit.obj \")
-	mfile.WriteLine("	$(OUTDIR)\file_c2f.obj \")
-	mfile.WriteLine("	$(OUTDIR)\file_f2c.obj \")
-	mfile.WriteLine("	$(OUTDIR)\fsync.obj \")
-	mfile.WriteLine("	$(OUTDIR)\get_amode.obj \")
-	mfile.WriteLine("	$(OUTDIR)\get_atom.obj \")
-	mfile.WriteLine("	$(OUTDIR)\get_bytoff.obj \")
-	mfile.WriteLine("	$(OUTDIR)\get_extent.obj \")
-	mfile.WriteLine("	$(OUTDIR)\get_group.obj \")
-	mfile.WriteLine("	$(OUTDIR)\get_info.obj \")
-	mfile.WriteLine("	$(OUTDIR)\get_posn.obj \")
-	mfile.WriteLine("	$(OUTDIR)\get_posn_sh.obj \")
-	mfile.WriteLine("	$(OUTDIR)\get_size.obj \")
-	mfile.WriteLine("	$(OUTDIR)\get_view.obj \")
-	mfile.WriteLine("	$(OUTDIR)\mpio_err.obj \")
-	mfile.WriteLine("	$(OUTDIR)\mpio_file.obj \")
-	mfile.WriteLine("	$(OUTDIR)\ioreq_c2f.obj \")
-	mfile.WriteLine("	$(OUTDIR)\ioreq_f2c.obj \")
-	mfile.WriteLine("	$(OUTDIR)\iotest.obj \")
-	mfile.WriteLine("	$(OUTDIR)\iowait.obj \")
-	mfile.WriteLine("	$(OUTDIR)\iread.obj \")
-	mfile.WriteLine("	$(OUTDIR)\iread_at.obj \")
-	mfile.WriteLine("	$(OUTDIR)\iread_sh.obj \")
-	mfile.WriteLine("	$(OUTDIR)\iwrite.obj \")
-	mfile.WriteLine("	$(OUTDIR)\iwrite_at.obj \")
-	mfile.WriteLine("	$(OUTDIR)\iwrite_sh.obj \")
-	mfile.WriteLine("	$(OUTDIR)\mpich_fileutil.obj \")
-	mfile.WriteLine("	$(OUTDIR)\mpiu_greq.obj \")
-	mfile.WriteLine("	$(OUTDIR)\open.obj \")
-	mfile.WriteLine("	$(OUTDIR)\prealloc.obj \")
-	mfile.WriteLine("	$(OUTDIR)\rd_atallb.obj \")
-	mfile.WriteLine("	$(OUTDIR)\rd_atalle.obj \")
-	mfile.WriteLine("	$(OUTDIR)\read.obj \")
-	mfile.WriteLine("	$(OUTDIR)\read_all.obj \")
-	mfile.WriteLine("	$(OUTDIR)\read_allb.obj \")
-	mfile.WriteLine("	$(OUTDIR)\read_alle.obj \")
-	mfile.WriteLine("	$(OUTDIR)\read_at.obj \")
-	mfile.WriteLine("	$(OUTDIR)\read_atall.obj \")
-	mfile.WriteLine("	$(OUTDIR)\read_ord.obj \")
-	mfile.WriteLine("	$(OUTDIR)\read_ordb.obj \")
-	mfile.WriteLine("	$(OUTDIR)\read_orde.obj \")
-	mfile.WriteLine("	$(OUTDIR)\read_sh.obj \")
-	mfile.WriteLine("	$(OUTDIR)\seek.obj \")
-	mfile.WriteLine("	$(OUTDIR)\seek_sh.obj \")
-	mfile.WriteLine("	$(OUTDIR)\set_atom.obj \")
-	mfile.WriteLine("	$(OUTDIR)\set_info.obj \")
-	mfile.WriteLine("	$(OUTDIR)\set_size.obj \")
-	mfile.WriteLine("	$(OUTDIR)\set_view.obj \")
-	mfile.WriteLine("	$(OUTDIR)\wr_atallb.obj \")
-	mfile.WriteLine("	$(OUTDIR)\wr_atalle.obj \")
-	mfile.WriteLine("	$(OUTDIR)\strfns.obj \")
-	mfile.WriteLine("	$(OUTDIR)\write.obj \")
-	mfile.WriteLine("	$(OUTDIR)\write_all.obj \")
-	mfile.WriteLine("	$(OUTDIR)\write_allb.obj \")
-	mfile.WriteLine("	$(OUTDIR)\write_alle.obj \")
-	mfile.WriteLine("	$(OUTDIR)\write_at.obj \")
-	mfile.WriteLine("	$(OUTDIR)\write_atall.obj \")
-	mfile.WriteLine("	$(OUTDIR)\write_ord.obj \")
-	mfile.WriteLine("	$(OUTDIR)\write_ordb.obj \")
-	mfile.WriteLine("	$(OUTDIR)\write_orde.obj \")
-	mfile.WriteLine("	$(OUTDIR)\write_sh.obj \")
-        ' Insert objs for mpl manually
-        mfile.WriteLine("   $(OUTDIR)\mplstr.obj \")
-        mfile.WriteLine("   $(OUTDIR)\mplenv.obj \")
-        mfile.WriteLine("   $(OUTDIR)\mpltrmem.obj \")
-	' Insert objs for f90 type create funcs manually because the src/binding/f90
-        ' directory has both C & fortran interfaces
-        mfile.WriteLine("   $(OUTDIR)\create_f90_util.obj \")
-        mfile.WriteLine("   $(OUTDIR)\create_f90_int.obj \")
-        mfile.WriteLine("   $(OUTDIR)\create_f90_real.obj \")
-        mfile.WriteLine("   $(OUTDIR)\create_f90_complex.obj")
-	mfile.WriteLine
-	mfile.WriteLine("!IFDEF RLOG")
-	mfile.WriteLine("mpich_objs = $(mpich_objs) $(OUTDIR)\rlogtime.obj")
-	mfile.WriteLine("!ENDIF")
-
-	mfile.WriteLine
-	mfile.WriteLine("# ch3sock")
-	mfile.WriteLine
-	outdir = "SOCK_OUTDIR"
-	CreateRules f.GetFolder("src\mpid\ch3\channels\sock"), trimlength
-	'CreateRules f.GetFolder("src\mpid\common\sock\iocp"), trimlength
-	CreateRules f.GetFolder("src\mpid\ch3\util\sock"), trimlength
-	CreateObjs "ch3sock", f.GetFolder("src\mpid\ch3\channels\sock"), trimlength, true, false
-	CreateObjs "ch3sock", f.GetFolder("src\mpid\ch3\util\sock"), trimlength, false, true
-	'CreateObjs "ch3sock", f.GetFolder("src\mpid\common\sock\iocp"), trimlength, false, true
-
-	mfile.WriteLine
-	mfile.WriteLine("# ch3mt")
-	mfile.WriteLine
-	outdir = "MT_OUTDIR"
-	CreateRules f.GetFolder("src\mpid\ch3\channels\sock"), trimlength
-	CreateRules f.GetFolder("src\mpid\ch3\util\sock"), trimlength
-	'CreateRules f.GetFolder("src\util\events"), trimlength
-	CreateObjs "ch3mt", f.GetFolder("src\mpid\ch3\channels\sock"), trimlength, true, false
-	CreateObjs "ch3mt", f.GetFolder("src\mpid\ch3\util\sock"), trimlength, false, true
-	'CreateObjs "ch3mt", f.GetFolder("src\util\events"), trimlength, false, false
-
-	mfile.WriteLine
-	mfile.WriteLine("# ch3nemesis")
-	mfile.WriteLine
-	outdir = "NEMESIS_OUTDIR"
-	CreateRules f.GetFolder("src\mpid\ch3\channels\nemesis\src"), trimlength
-	CreateRules f.GetFolder("src\mpid\ch3\channels\nemesis\nemesis\src"), trimlength
-'	CreateRules f.GetFolder("src\mpid\ch3\channels\nemesis\nemesis\utils"), trimlength
-	CreateRules f.GetFolder("src\mpid\ch3\channels\nemesis\nemesis\netmod\wintcp"), trimlength
-	CreateRules f.GetFolder("src\mpid\ch3\channels\nemesis\nemesis\netmod\nd"), trimlength
-	CreateRules f.GetFolder("src\mpid\ch3\channels\nemesis\nemesis\netmod\none"), trimlength
-	CreateObjs "ch3nemesis", f.GetFolder("src\mpid\ch3\channels\nemesis\src"), trimlength, true, false
-	CreateObjs "ch3nemesis", f.GetFolder("src\mpid\ch3\channels\nemesis\nemesis\src"), trimlength, false, false
-'	CreateObjs "ch3nemesis", f.GetFolder("src\mpid\ch3\channels\nemesis\nemesis\utils"), trimlength, false, false
-	CreateObjs "ch3nemesis", f.GetFolder("src\mpid\ch3\channels\nemesis\nemesis\netmod\wintcp"), trimlength, false, false
-	CreateObjs "ch3nemesis", f.GetFolder("src\mpid\ch3\channels\nemesis\nemesis\netmod\nd"), trimlength, false, false
-	CreateObjs "ch3nemesis", f.GetFolder("src\mpid\ch3\channels\nemesis\nemesis\netmod\none"), trimlength, false, true
-
-
-	mfile.WriteLine
-	mfile.WriteLine("!IF ""$(CHANNEL)"" == ""sock""")
-	mfile.WriteLine
-	mfile.WriteLine("ch3sock: $(SOCK_OUTDIR)\mpich$(P)$(D).dll")
-	mfile.WriteLine
-	mfile.WriteLine("$(SOCK_OUTDIR)\mpich$(P)$(D).dll: $(ch3sock_objs) $(mpich_objs) $(PLIB_DEP)")
-	mfile.WriteLine("	$(link) $(dlllflags) $(ch3sock_objs) $(mpich_objs) $(mpich_libs) $(rlog_libs) $(common_libs) -out:$(SOCK_OUTDIR)\mpich$(P)$(D).dll /DEF:..\mpich.def")
-	mfile.WriteLine("	if exist $(SOCK_OUTDIR)\mpich$(P)$(D).dll.manifest mt.exe -manifest $(SOCK_OUTDIR)\mpich$(P)$(D).dll.manifest -outputresource:$(SOCK_OUTDIR)\mpich$(P)$(D).dll;2")
-	mfile.WriteLine
-	mfile.WriteLine("!ELSE")
-	mfile.WriteLine
-	mfile.WriteLine("!IF ""$(CHANNEL)"" == ""mt""")
-	mfile.WriteLine("channel_objs = $(ch3mt_objs)")
-	mfile.WriteLine("!ELSEIF ""$(CHANNEL)"" == ""nemesis""")
-	mfile.WriteLine("channel_objs = $(ch3nemesis_objs)")
-	mfile.WriteLine("!ELSE")
-	mfile.WriteLine("!ERROR Invalid channel selected - $(CHANNEL)")
-	mfile.WriteLine("!ENDIF")
-	mfile.WriteLine
-	mfile.WriteLine("ch3$(CHANNEL): $(OUTDIR)\mpich$(CHANNEL)$(P)$(D).dll")
-	mfile.WriteLine
-	mfile.WriteLine("$(OUTDIR)\mpich$(CHANNEL)$(P)$(D).dll: $(channel_objs) $(mpich_objs) $(PLIB_DEP)")
-	mfile.WriteLine("	$(link) $(dlllflags) $(channel_objs) $(mpich_objs) $(mpich_libs) $(rlog_libs) $(common_libs) -out:$(OUTDIR)\mpich$(CHANNEL)$(P)$(D).dll /DEF:..\mpich.def")
-	mfile.WriteLine("	if exist $(OUTDIR)\mpich$(CHANNEL)$(P)$(D).dll.manifest mt.exe -manifest $(OUTDIR)\mpich$(CHANNEL)$(P)$(D).dll.manifest -outputresource:$(OUTDIR)\mpich$(CHANNEL)$(P)$(D).dll;2")
-	mfile.WriteLine
-	mfile.WriteLine("!ENDIF")
-
-	'mfile.WriteLine
-	'mfile.WriteLine("!IF ""$(CHANNEL)"" == ""sock""")
-	'mfile.WriteLine("ch3sock: $(SOCK_OUTDIR)\mpich$(P)$(D).dll")
-	'mfile.WriteLine
-	'mfile.WriteLine("$(SOCK_OUTDIR)\mpich$(P)$(D).dll: $(ch3sock_objs) $(mpich_objs)")
-	'mfile.WriteLine("	$(link) $(dlllflags) $(ch3sock_objs) $(mpich_objs) $(rlog_libs) $(common_libs) -out:$(SOCK_OUTDIR)\mpich$(P)$(D).dll")
-	'mfile.WriteLine
-	'mfile.WriteLine("!ELSEIF ""$(CHANNEL)"" == ""ssm""")
-	'mfile.WriteLine("ch3ssm: $(SSM_OUTDIR)\mpich$(CHANNEL)$(P)$(D).dll")
-	'mfile.WriteLine
-	'mfile.WriteLine("$(SSM_OUTDIR)\mpich$(CHANNEL)$(P)$(D).dll: $(ch3ssm_objs) $(mpich_objs)")
-	'mfile.WriteLine("	$(link) $(dlllflags) $(ch3ssm_objs) $(mpich_objs) $(rlog_libs) $(common_libs) -out:$(SSM_OUTDIR)\mpich$(CHANNEL)$(P)$(D).dll")
-	'mfile.WriteLine
-	'mfile.WriteLine("!ELSEIF ""$(CHANNEL)"" == ""shm""")
-	'mfile.WriteLine("ch3shm: $(SHM_OUTDIR)\mpich$(CHANNEL)$(P)$(D).dll")
-	'mfile.WriteLine
-	'mfile.WriteLine("$(SHM_OUTDIR)\mpich$(CHANNEL)$(P)$(D).dll: $(ch3shm_objs) $(mpich_objs)")
-	'mfile.WriteLine("	$(link) $(dlllflags) $(ch3shm_objs) $(mpich_objs) $(rlog_libs) $(common_libs) -out:$(SHM_OUTDIR)\mpich$(CHANNEL)$(P)$(D).dll")
-	'mfile.WriteLine
-	'mfile.WriteLine("!ELSEIF ""$(CHANNEL)"" == ""sshm""")
-	'mfile.WriteLine("ch3sshm: $(SSHM_OUTDIR)\mpich$(CHANNEL)$(P)$(D).dll")
-	'mfile.WriteLine
-	'mfile.WriteLine("$(SSHM_OUTDIR)\mpich$(CHANNEL)$(P)$(D).dll: $(ch3sshm_objs) $(mpich_objs)")
-	'mfile.WriteLine("	$(link) $(dlllflags) $(ch3sshm_objs) $(mpich_objs) $(rlog_libs) $(common_libs) -out:$(SSHM_OUTDIR)\mpich$(CHANNEL)$(P)$(D).dll")
-	'mfile.WriteLine
-	'mfile.WriteLine("!ELSEIF ""$(CHANNEL)"" == ""essm""")
-	'mfile.WriteLine("ch3essm: $(ESSM_OUTDIR)\mpich$(CHANNEL)$(P)$(D).dll")
-	'mfile.WriteLine
-	'mfile.WriteLine("$(ESSM_OUTDIR)\mpich$(CHANNEL)$(P)$(D).dll: $(ch3essm_objs) $(mpich_objs)")
-	'mfile.WriteLine("	$(link) $(dlllflags) $(ch3essm_objs) $(mpich_objs) $(rlog_libs) $(common_libs) -out:$(ESSM_OUTDIR)\mpich$(CHANNEL)$(P)$(D).dll")
-	'mfile.WriteLine
-	'mfile.WriteLine("!ELSEIF ""$(CHANNEL)"" == ""ib""")
-	'mfile.WriteLine("ch3ib: $(IB_OUTDIR)\mpich$(CHANNEL)$(P)$(D).dll")
-	'mfile.WriteLine
-	'mfile.WriteLine("$(IB_OUTDIR)\mpich$(CHANNEL)$(P)$(D).dll: $(ch3ib_objs) $(mpich_objs)")
-	'mfile.WriteLine("	$(link) $(dlllflags) $(ch3ib_objs) $(mpich_objs) $(rlog_libs) $(common_libs) -out:$(IB_OUTDIR)\mpich$(CHANNEL)$(P)$(D).dll")
-	'mfile.WriteLine
-	'mfile.WriteLine("!ELSEIF ""$(CHANNEL)"" == ""mt""")
-	'mfile.WriteLine("ch3mt: $(MT_OUTDIR)\mpich$(CHANNEL)$(P)$(D).dll")
-	'mfile.WriteLine
-	'mfile.WriteLine("$(MT_OUTDIR)\mpich$(CHANNEL)$(P)$(D).dll: $(ch3mt_objs) $(mpich_objs)")
-	'mfile.WriteLine("	$(link) $(dlllflags) $(ch3mt_objs) $(mpich_objs) $(rlog_libs) $(common_libs) -out:$(MT_OUTDIR)\mpich$(CHANNEL)$(P)$(D).dll")
-	'mfile.WriteLine
-	'mfile.WriteLine("!ELSE")
-	'mfile.WriteLine("!ERROR No channel selected")
-	'mfile.WriteLine("!ENDIF")
-
-	mfile.WriteLine
-	mfile.WriteLine("# Fortran")
-	mfile.WriteLine
-	outdir = "FORT_OUTDIR"
-        'extra_flags = "$(fcflags)"
-        SetCompileFlags("$(fcflags)")
-	fort_prefix = ""
-	CreateRules f.GetFolder("src\binding\f77"), trimlength
-	CreateRules f.GetFolder("src\binding\f90"), trimlength
-        ResetCompileFlags()
-	mfile.WriteLine
-	CreateObjs "fort", f.GetFolder("src\binding\f77"), trimlength, true, false
-	mfile.WriteLine(" \" & vbCrLf & "   $(FORT_OUTDIR)\typef90intf.obj \")
-        mfile.WriteLine("   $(FORT_OUTDIR)\typef90realf.obj \")
-        mfile.WriteLine("   $(FORT_OUTDIR)\typef90cmplxf.obj")
-        mfile.WriteLine
-
-	mfile.WriteLine("$(FORT_OUTDIR)\fmpich$(D).dll: $(fort_objs)")
-	mfile.WriteLine("	$(link) $(dlllflags) $(fort_objs) $(FORTP_OUTDIR)\fmpichp$(D).lib $(MPI_OUTDIR)\mpi$(D).lib $(common_libs) /DEF:..\src\binding\f77\mpichf.def -out:$(FORT_OUTDIR)\fmpich$(D).dll")
-	mfile.WriteLine("	if exist $(FORT_OUTDIR)\fmpich$(D).dll.manifest mt.exe -manifest $(FORT_OUTDIR)\fmpich$(D).dll.manifest -outputresource:$(FORT_OUTDIR)\fmpich$(D).dll;2")
-	mfile.WriteLine
-	mfile.WriteLine("fort: fortp $(FORT_OUTDIR) $(FORT_OUTDIR)\fmpich$(D).dll")
-	mfile.WriteLine
-	outdir = "FORTP_OUTDIR"
-        'extra_flags = "$(fpcflags)"
-        SetCompileFlags("$(fpcflags)")
-	fort_prefix = ""
-	CreateRules f.GetFolder("src\binding\f77"), trimlength
-	CreateRules f.GetFolder("src\binding\f90"), trimlength
-        ResetCompileFlags()
-        mfile.WriteLine
-        CreateObjs "fortp", f.GetFolder("src\binding\f77"), trimlength, true, false
-	mfile.WriteLine(" \" & vbCrLf & "   $(FORTP_OUTDIR)\typef90intf.obj \")
-        mfile.WriteLine("   $(FORTP_OUTDIR)\typef90realf.obj \")
-        mfile.WriteLine("   $(FORTP_OUTDIR)\typef90cmplxf.obj")
-        mfile.WriteLine
-
-	mfile.WriteLine("$(FORTP_OUTDIR)\fmpichp$(D).lib: $(fortp_objs)")
-	mfile.WriteLine("	$(implib) $(liblflags) $(fortp_objs) $(MPI_OUTDIR)\mpi$(D).lib $(common_libs) -out:$(FORTP_OUTDIR)\fmpichp$(D).lib")
-	mfile.WriteLine
-	mfile.WriteLine("fortp: $(FORTP_OUTDIR) $(FORTP_OUTDIR)\fmpichp$(D).lib")
-
-	mfile.WriteLine
-        ' Adding rules for F90 mod files
-        mfile.WriteLine("{..\src\binding\f90}.f90{$(FORT_OUTDIR)}.mod:")
-	mfile.WriteLine("!IF ""$(CPU)"" == ""x86""")
-        mfile.WriteLine("   copy /y ..\src\binding\f90\win32\mpi_sizeofs.f90 ..\src\binding\f90")
-	mfile.WriteLine("!ELSE")
-        mfile.WriteLine("   copy /y ..\src\binding\f90\win64\mpi_sizeofs.f90 ..\src\binding\f90")
-	mfile.WriteLine("!ENDIF")
-        mfile.WriteLine("   $(fc) $(fortflags) /module:""$(FORT_OUTDIR)\\"" /object:""$(FORT_OUTDIR)\\"" $**")
-        mfile.WriteLine
-        mfile.WriteLine("mpi_mod_objs = \")
-        mfile.WriteLine("   $(FORT_OUTDIR)\mpi_constants.mod \")
-        mfile.WriteLine("   $(FORT_OUTDIR)\mpi_base.mod \")
-        mfile.WriteLine("   $(FORT_OUTDIR)\mpi_sizeofs.mod \")
-        mfile.WriteLine("   $(FORT_OUTDIR)\mpi.mod ")
-        mfile.WriteLine
-        mfile.WriteLine("mpi_mod: $(FORT_OUTDIR) $(mpi_mod_objs)")
-        mfile.WriteLine
-	outdir = "GFORT_OUTDIR"
-        'extra_flags = "$(gfcflags)"
-        SetCompileFlags("$(gfcflags)")
-	fort_prefix = "g"
-	CreateRules f.GetFolder("src\binding\f77"), trimlength
-        ResetCompileFlags()
-	CreateObjs "gfort", f.GetFolder("src\binding\f77"), trimlength, true, true
-	mfile.WriteLine("$(GFORT_OUTDIR)\fmpichg$(D).dll: $(gfort_objs)")
-	mfile.WriteLine("	$(link) $(dlllflags) $(gfort_objs) $(MPI_OUTDIR)\mpi$(D).lib $(common_libs) /DEF:..\src\binding\f77\mpichfg.def -out:$(GFORT_OUTDIR)\fmpichg$(D).dll")
-	mfile.WriteLine("	if exist $(GFORT_OUTDIR)\fmpichg$(D).dll.manifest mt.exe -manifest $(GFORT_OUTDIR)\fmpichg$(D).dll.manifest -outputresource:$(GFORT_OUTDIR)\fmpichg$(D).dll;2")
-	mfile.WriteLine
-	mfile.WriteLine("gfort: $(GFORT_OUTDIR) $(GFORT_OUTDIR)\fmpichg$(D).dll")
-	mfile.WriteLine
-	mfile.WriteLine("!IF ""$(CPU)"" != ""x86""")
-	mfile.WriteLine("# We don't build sfort for non-x86 platforms")
-	mfile.WriteLine("sfort: $(SFORT_OUTDIR)")
-	mfile.WriteLine
-	mfile.WriteLine("!ELSE")
-	outdir = "SFORT_OUTDIR"
-        SetCompileFlags("$(sfcflags)")
-        'extra_flags = "$(sfcflags)"
-	fort_prefix = "s"
-	CreateRules f.GetFolder("src\binding\f77"), trimlength
-        ResetCompileFlags()
-	CreateObjs "sfort", f.GetFolder("src\binding\f77"), trimlength, true, false
-	' Add the extra character* versions of the MPI functions here
-	mfile.WriteLine(" \" & vbCrLf & "	$(SFORT_OUTDIR)\accumulatefs.obj \")
-	mfile.WriteLine("	$(SFORT_OUTDIR)\allgatherfs.obj \")
-	mfile.WriteLine("	$(SFORT_OUTDIR)\allgathervfs.obj \")
-	mfile.WriteLine("	$(SFORT_OUTDIR)\allreducefs.obj \")
-	mfile.WriteLine("	$(SFORT_OUTDIR)\alltoallfs.obj \")
-	mfile.WriteLine("	$(SFORT_OUTDIR)\alltoallvfs.obj \")
-	mfile.WriteLine("	$(SFORT_OUTDIR)\alltoallwfs.obj \")
-	mfile.WriteLine("	$(SFORT_OUTDIR)\bcastfs.obj \")
-	mfile.WriteLine("	$(SFORT_OUTDIR)\bsendfs.obj \")
-	mfile.WriteLine("	$(SFORT_OUTDIR)\bsend_initfs.obj \")
-	mfile.WriteLine("	$(SFORT_OUTDIR)\bufattachfs.obj \")
-	mfile.WriteLine("	$(SFORT_OUTDIR)\bufdetachfs.obj \")
-	mfile.WriteLine("	$(SFORT_OUTDIR)\exscanfs.obj \")
-	mfile.WriteLine("	$(SFORT_OUTDIR)\gatherfs.obj \")
-	mfile.WriteLine("	$(SFORT_OUTDIR)\gathervfs.obj \")
-	mfile.WriteLine("	$(SFORT_OUTDIR)\getfs.obj \")
-	mfile.WriteLine("	$(SFORT_OUTDIR)\ibsendfs.obj \")
-	mfile.WriteLine("	$(SFORT_OUTDIR)\irecvfs.obj \")
-	mfile.WriteLine("	$(SFORT_OUTDIR)\irsendfs.obj \")
-	mfile.WriteLine("	$(SFORT_OUTDIR)\isendfs.obj \")
-	mfile.WriteLine("	$(SFORT_OUTDIR)\issendfs.obj \")
-	mfile.WriteLine("	$(SFORT_OUTDIR)\putfs.obj \")
-	mfile.WriteLine("	$(SFORT_OUTDIR)\recvfs.obj \")
-	mfile.WriteLine("	$(SFORT_OUTDIR)\recv_initfs.obj \")
-	mfile.WriteLine("	$(SFORT_OUTDIR)\redscatfs.obj \")
-	mfile.WriteLine("	$(SFORT_OUTDIR)\reducefs.obj \")
-	mfile.WriteLine("	$(SFORT_OUTDIR)\rsendfs.obj \")
-	mfile.WriteLine("	$(SFORT_OUTDIR)\rsend_initfs.obj \")
-	mfile.WriteLine("	$(SFORT_OUTDIR)\scanfs.obj \")
-	mfile.WriteLine("	$(SFORT_OUTDIR)\scatterfs.obj \")
-	mfile.WriteLine("	$(SFORT_OUTDIR)\scattervfs.obj \")
-	mfile.WriteLine("	$(SFORT_OUTDIR)\sendfs.obj \")
-	mfile.WriteLine("	$(SFORT_OUTDIR)\sendrecvfs.obj \")
-	mfile.WriteLine("	$(SFORT_OUTDIR)\send_initfs.obj \")
-	mfile.WriteLine("	$(SFORT_OUTDIR)\sndrcvrplfs.obj \")
-	mfile.WriteLine("	$(SFORT_OUTDIR)\ssendfs.obj \")
-	mfile.WriteLine("	$(SFORT_OUTDIR)\ssend_initfs.obj \")
-	mfile.WriteLine("	$(SFORT_OUTDIR)\win_createfs.obj")
-	mfile.WriteLine
-	mfile.WriteLine("$(SFORT_OUTDIR)\fmpichs$(D).dll: $(sfort_objs)")
-	mfile.WriteLine("	$(link) $(dlllflags) $(sfort_objs) $(MPI_OUTDIR)\mpi$(D).lib $(common_libs) /DEF:..\src\binding\f77\mpichfs.def -out:$(SFORT_OUTDIR)\fmpichs$(D).dll")
-	mfile.WriteLine("	if exist $(SFORT_OUTDIR)\fmpichs$(D).dll.manifest mt.exe -manifest $(SFORT_OUTDIR)\fmpichs$(D).dll.manifest -outputresource:$(SFORT_OUTDIR)\fmpichs$(D).dll;2")
-	mfile.WriteLine
-	mfile.WriteLine("sfort: $(SFORT_OUTDIR) $(SFORT_OUTDIR)\fmpichs$(D).dll")
-	mfile.WriteLine
-	mfile.WriteLine("!ENDIF")
-	extra_flags = ""
-	fort_prefix = ""
-
-	mfile.WriteLine
-	mfile.WriteLine("# MPI multi-channel wrapper")
-	mfile.WriteLine
-	outdir = "MPI_OUTDIR"
-	CreateRules f.GetFolder("src\util\multichannel"), trimlength
-	CreateObjs "mpi", f.GetFolder("src\util\multichannel"), trimlength, true, true
-	mfile.WriteLine("$(MPI_OUTDIR)\mpichmpi$(D).dll: $(mpi_objs)")
-	mfile.WriteLine("	$(link) $(dlllflags) $(mpi_objs) $(common_libs) /DEF:..\mpi.def -out:$(MPI_OUTDIR)\mpichmpi$(D).dll /IMPLIB:$(MPI_OUTDIR)\mpi$(D).lib")
-	mfile.WriteLine("	if exist $(MPI_OUTDIR)\mpichmpi$(D).dll.manifest mt.exe -manifest $(MPI_OUTDIR)\mpichmpi$(D).dll.manifest -outputresource:$(MPI_OUTDIR)\mpichmpi$(D).dll;2")
-	mfile.WriteLine
-	mfile.WriteLine("mpi: $(MPI_OUTDIR) $(MPI_OUTDIR)\mpichmpi$(D).dll")
-
-	mfile.WriteLine
-	mfile.WriteLine("# C++")
-	mfile.WriteLine
-	outdir = "CXX_OUTDIR"
-	cxxflags = "cxxflags"
-	CreateRules f.GetFolder("src\binding\cxx"), trimlength
-	CreateObjs "cxx", f.GetFolder("src\binding\cxx"), trimlength, true, true
-	mfile.WriteLine("$(CXX_OUTDIR)\cxx$(D).lib: $(cxx_objs)")
-	mfile.WriteLine("	$(implib) $(liblflags) $(cxx_objs) -out:$(CXX_OUTDIR)\cxx$(D).lib")
-	mfile.WriteLine
-	mfile.WriteLine("cxx: $(CXX_OUTDIR) $(CXX_OUTDIR)\cxx$(D).lib")
-
-	mfile.WriteLine
-	mfile.WriteLine("# MPE")
-	mfile.WriteLine
-	mfile.WriteLine("{..\src\mpe2\src\logging\src}.c{$(MPE_OUTDIR)}.obj:")
-	mfile.WriteLine("    $(cc) $(cflags) $(mpe_cflags) /DMPE_EXPORTS /Fo""$(MPE_OUTDIR)\\"" /Fd""$(MPE_OUTDIR)\\"" $**")
-	mfile.WriteLine
-	mfile.WriteLine("{..\src\mpe2\src\callstack\src}.c{$(MPE_OUTDIR)}.obj:")
-	mfile.WriteLine("    $(cc) $(cflags) $(mpe_cflags) /DMPE_EXPORTS /Fo""$(MPE_OUTDIR)\\"" /Fd""$(MPE_OUTDIR)\\"" $**")
-	mfile.WriteLine
-	mfile.WriteLine("$(MPE_OUTDIR)\mpiu_thread.obj: ..\src\util\thread\mpiu_thread.c")
-	mfile.WriteLine("    $(cc) $(cflags) $(mpe_cflags) /DMPE_EXPORTS /Fo""$(MPE_OUTDIR)\\"" /Fd""$(MPE_OUTDIR)\\"" $**")
-	mfile.WriteLine
-	mfile.WriteLine("mpe_objs = \")
-	mfile.WriteLine("	$(MPE_OUTDIR)\clog.obj \")
-	mfile.WriteLine("	$(MPE_OUTDIR)\clog_block.obj \")
-	mfile.WriteLine("	$(MPE_OUTDIR)\clog_buffer.obj \")
-	mfile.WriteLine("   $(MPE_OUTDIR)\clog_commset.obj \")
-	mfile.WriteLine("	$(MPE_OUTDIR)\clog_merger.obj \")
-	mfile.WriteLine("	$(MPE_OUTDIR)\clog_preamble.obj \")
-	mfile.WriteLine("	$(MPE_OUTDIR)\clog_print.obj \")
-	mfile.WriteLine("	$(MPE_OUTDIR)\clog_record.obj \")
-	mfile.WriteLine("	$(MPE_OUTDIR)\clog_sync.obj \")
-	mfile.WriteLine("	$(MPE_OUTDIR)\clog_timer.obj \")
-	mfile.WriteLine("	$(MPE_OUTDIR)\clog_util.obj \")
-	mfile.WriteLine("   $(MPE_OUTDIR)\clog_uuid.obj \")
-	mfile.WriteLine("	$(MPE_OUTDIR)\clog_cache.obj \")
-	mfile.WriteLine("	$(MPE_OUTDIR)\clog_joiner.obj \")
-	mfile.WriteLine("	$(MPE_OUTDIR)\mpe_logf.obj \")
-	mfile.WriteLine("	$(MPE_OUTDIR)\mpiu_thread.obj \")
-	mfile.WriteLine("	$(MPE_OUTDIR)\fancyprint.obj \")
-	mfile.WriteLine("	$(MPE_OUTDIR)\iterator.obj \")
-	mfile.WriteLine("	$(MPE_OUTDIR)\mpe_log.obj")
-	mfile.WriteLine
-	mfile.WriteLine("{..\src\mpe2\src\callstack\src}.c{$(MPE_OUTDIR)}.obj:")
-	mfile.WriteLine("    $(cc) $(cflags) $(mpe_cflags) /DMPE_EXPORTS /Fo""$(MPE_OUTDIR)\\"" /Fd""$(MPE_OUTDIR)\\"" $**")
-	mfile.WriteLine
-	mfile.WriteLine("$(MPE_OUTDIR)\mpe$(D).dll: $(mpe_objs)")
-	mfile.WriteLine("	$(link) $(dlllflags) $(mpe_objs) $(MPI_OUTDIR)\mpi$(D).lib $(common_libs) /DEF:..\src\mpe2\mpe.def -out:$(MPE_OUTDIR)\mpe$(D).dll /IMPLIB:$(MPE_OUTDIR)\mpe$(D).lib")
-	mfile.WriteLine("	if exist $(MPE_OUTDIR)\mpe$(D).dll.manifest mt.exe -manifest $(MPE_OUTDIR)\mpe$(D).dll.manifest -outputresource:$(MPE_OUTDIR)\mpe$(D).dll;2")
-	mfile.WriteLine
-	mfile.WriteLine("mpe: $(MPE_OUTDIR) $(MPE_OUTDIR)\mpe$(D).dll ")
-
-	mfile.WriteLine
-	mfile.WriteLine("# MPE wrapper")
-	mfile.WriteLine
-	mfile.WriteLine("{..\src\mpe2\src\wrappers\src}.c{$(MPE_WRAP_OUTDIR)}.obj:")
-	mfile.WriteLine("    $(cc) $(cflags) /DUSE_STDARG  /I..\src\mpe2\include /I..\src\mpe2\src\logging\include /I..\src\mpe2\src\wrappers\include /Fo""$(MPE_WRAP_OUTDIR)\\"" /Fd""$(MPE_WRAP_OUTDIR)\\"" $**")
-	mfile.WriteLine
-	mfile.WriteLine("mpe_wrap_objs = \")
-	mfile.WriteLine("	$(MPE_WRAP_OUTDIR)\log_mpi_util.obj \")
-	mfile.WriteLine("	$(MPE_WRAP_OUTDIR)\log_mpi_core.obj")
-	mfile.WriteLine
-	mfile.WriteLine("$(MPE_WRAP_OUTDIR)\mpichmpe$(D).dll: $(mpe_wrap_objs)")
-	mfile.WriteLine("	$(link) $(dlllflags) $(mpe_wrap_objs) $(MPI_OUTDIR)\mpi$(D).lib $(MPE_OUTDIR)\mpe$(D).lib $(common_libs) /DEF:..\src\mpe2\src\wrappers\mpewrap.def -out:$(MPE_WRAP_OUTDIR)\mpichmpe$(D).dll /IMPLIB:$(MPE_WRAP_OUTDIR)\mpichmpe$(D).lib")
-	mfile.WriteLine("	if exist $(MPE_WRAP_OUTDIR)\mpichmpe$(D).dll.manifest mt.exe -manifest $(MPE_WRAP_OUTDIR)\mpichmpe$(D).dll.manifest -outputresource:$(MPE_WRAP_OUTDIR)\mpichmpe$(D).dll;2")
-	mfile.WriteLine
-	mfile.WriteLine("mpe_wrap: $(MPE_WRAP_OUTDIR) $(MPE_WRAP_OUTDIR)\mpichmpe$(D).dll")
-
-	mfile.WriteLine
-	mfile.WriteLine("# RLOG")
-	mfile.WriteLine
-	mfile.WriteLine("{..\src\util\logging\rlog}.c{$(RLOG_OUTDIR)}.obj:")
-	mfile.WriteLine("    $(cc) $(cflags) /Fo""$(RLOG_OUTDIR)\\"" /Fd""$(RLOG_OUTDIR)\\"" $**")
-	mfile.WriteLine
-	mfile.WriteLine("rlog_objs = \")
-	mfile.WriteLine("	$(RLOG_OUTDIR)\rlog.obj \")
-	mfile.WriteLine("	$(RLOG_OUTDIR)\rlogutil.obj \")
-	mfile.WriteLine("	$(RLOG_OUTDIR)\irlogutil.obj")
-	mfile.WriteLine
-	mfile.WriteLine("$(RLOG_OUTDIR)\rlog$(D).lib: $(rlog_objs)")
-	mfile.WriteLine("	$(implib) $(liblflags) $(rlog_objs) -out:$(RLOG_OUTDIR)\rlog$(D).lib")
-	mfile.WriteLine
-	mfile.WriteLine("rlog: $(RLOG_OUTDIR) $(RLOG_OUTDIR)\rlog$(D).lib")
-	mfile.WriteLine
-	mfile.WriteLine("irlog_objs = \")
-	mfile.WriteLine("	$(RLOG_OUTDIR)\irlog2rlog.obj")
-	mfile.WriteLine
-	mfile.WriteLine("$(RLOG_OUTDIR)\irlog2rlog.exe: $(irlog_objs) $(rlog_objs) $(mpich_objs)")
-	mfile.WriteLine("	$(link) $(conlflags) $(irlog_objs) $(rlog_objs) $(mpich_objs) $(ch3sock_objs) $(common_libs) -out:""$(RLOG_OUTDIR)\irlog2rlog.exe"" $(mpich_libs)")
-	mfile.WriteLine("	if exist $(RLOG_OUTDIR)\irlog2rlog.exe.manifest mt.exe -manifest $(RLOG_OUTDIR)\irlog2rlog.exe.manifest -outputresource:$(RLOG_OUTDIR)\irlog2rlog.exe;1")
-	mfile.WriteLine
-	mfile.WriteLine("# create special rules for the TraceInput.dll source files since they need to include Java paths")
-	mfile.WriteLine("$(RLOG_OUTDIR)\logformat_trace_InputLog.obj: ..\src\util\logging\rlog\TraceInput\logformat_trace_InputLog.c")
-	mfile.WriteLine("    $(cc) $(cflags) /I..\src\mpe2\src\slog2sdk\src\logformat\trace /I..\src\util\logging\rlog -DHAVE_STRNICMP /I""$(JAVA_HOME)""\include /I""$(JAVA_HOME)""\include\win32 /Fo""$(RLOG_OUTDIR)\\"" /Fd""$(RLOG_OUTDIR)\\"" ..\src\util\logging\rlog\TraceInput\logformat_trace_InputLog.c")
-	mfile.WriteLine
-	mfile.WriteLine("$(RLOG_OUTDIR)\trace_input.obj: ..\src\util\logging\rlog\TraceInput\trace_input.c")
-	mfile.WriteLine("    $(cc) $(cflags) /DHAVE_STRNICMP /I..\src\mpe2\src\slog2sdk\src\logformat\trace /I..\src\util\logging\rlog /I""$(JAVA_HOME)""\include /I""$(JAVA_HOME)""\include\win32 /Fo""$(RLOG_OUTDIR)\\"" /Fd""$(RLOG_OUTDIR)\\"" ..\src\util\logging\rlog\TraceInput\trace_input.c")
-	mfile.WriteLine
-	mfile.WriteLine("trace_input_objs = \")
-	mfile.WriteLine("	$(RLOG_OUTDIR)\logformat_trace_InputLog.obj \")
-	mfile.WriteLine("	$(RLOG_OUTDIR)\trace_input.obj")
-	mfile.WriteLine
-	mfile.WriteLine("$(RLOG_OUTDIR)\TraceInput.dll: $(trace_input_objs) $(rlog_objs) $(mpich_objs)")
-	mfile.WriteLine("	$(link) $(dlllflags) $(trace_input_objs) $(rlog_objs) $(mpich_objs) $(ch3sock_objs) $(common_libs) -out:$(RLOG_OUTDIR)\TraceInput.dll /IMPLIB:$(RLOG_OUTDIR)\TraceInput.lib $(mpich_libs)")
-	mfile.WriteLine("	if exist $(RLOG_OUTDIR)\TraceInput.dll.manifest mt.exe -manifest $(RLOG_OUTDIR)\TraceInput.dll.manifest -outputresource:$(RLOG_OUTDIR)\TraceInput.dll;2")
-	mfile.WriteLine
-	mfile.WriteLine("TraceInput: $(RLOG_OUTDIR) $(RLOG_OUTDIR)\TraceInput.dll")
-	mfile.WriteLine
-	mfile.WriteLine("irlog2rlog: $(RLOG_OUTDIR) $(RLOG_OUTDIR)\irlog2rlog.exe")
-	mfile.WriteLine
-
-	mfile.WriteLine
-	mfile.WriteLine("# mpiexec")
-	mfile.WriteLine
-	mfile.WriteLine("$(OUTDIR)\mpiexec.obj: ..\src\pm\smpd\mpiexec.c")
-	mfile.WriteLine("	$(cc) $(cflags) /Fo""$(OUTDIR)\\"" /Fd""$(OUTDIR)\\"" ..\src\pm\smpd\mpiexec.c")
-	mfile.WriteLine("$(OUTDIR)\mpiexec_rsh.obj: ..\src\pm\smpd\mpiexec_rsh.c")
-	mfile.WriteLine("	$(cc) $(cflags) /Fo""$(OUTDIR)\\"" /Fd""$(OUTDIR)\\"" ..\src\pm\smpd\mpiexec_rsh.c")
-	mfile.WriteLine("$(OUTDIR)\mp_parse_command_line.obj: ..\src\pm\smpd\mp_parse_command_line.c")
-	mfile.WriteLine("	$(cc) $(cflags) /Fo""$(OUTDIR)\\"" /Fd""$(OUTDIR)\\"" ..\src\pm\smpd\mp_parse_command_line.c")
-	mfile.WriteLine("$(OUTDIR)\mp_parse_oldconfig.obj: ..\src\pm\smpd\mp_parse_oldconfig.c")
-	mfile.WriteLine("	$(cc) $(cflags) /Fo""$(OUTDIR)\\"" /Fd""$(OUTDIR)\\"" ..\src\pm\smpd\mp_parse_oldconfig.c")
-	mfile.WriteLine
-	mfile.WriteLine("mpiexec_objs = \")
-	mfile.WriteLine("	$(OUTDIR)\mpiexec.obj \")
-	mfile.WriteLine("	$(OUTDIR)\mpiexec_rsh.obj \")
-	mfile.WriteLine("	$(OUTDIR)\mp_parse_command_line.obj \")
-	mfile.WriteLine("	$(OUTDIR)\mp_parse_oldconfig.obj")
-	mfile.WriteLine
-	mfile.WriteLine("$(BIN_OUTDIR)\mpiexec.exe: $(mpiexec_objs) $(mpich_objs)")
-	mfile.WriteLine("	$(link) $(conlflags) $(mpiexec_objs) $(mpich_objs) $(ch3sock_objs) $(common_libs) -out:$(BIN_OUTDIR)\mpiexec.exe $(mpich_libs)")
-	mfile.WriteLine("	if exist $(BIN_OUTDIR)\mpiexec.exe.manifest mt.exe -manifest $(BIN_OUTDIR)\mpiexec.exe.manifest -outputresource:$(BIN_OUTDIR)\mpiexec.exe;1")
-	mfile.WriteLine
-	mfile.WriteLine("mpiexec: $(BIN_OUTDIR) $(BIN_OUTDIR)\mpiexec.exe")
-
-	mfile.WriteLine
-	mfile.WriteLine("# smpd")
-	mfile.WriteLine
-	mfile.WriteLine("$(OUTDIR)\smpd.obj: ..\src\pm\smpd\smpd.c")
-	mfile.WriteLine("	$(cc) $(cflags) /Fo""$(OUTDIR)\\"" /Fd""$(OUTDIR)\\"" ..\src\pm\smpd\smpd.c")
-	mfile.WriteLine("$(OUTDIR)\smpd_cmd_args.obj: ..\src\pm\smpd\smpd_cmd_args.c")
-	mfile.WriteLine("	$(cc) $(cflags) /Fo""$(OUTDIR)\\"" /Fd""$(OUTDIR)\\"" ..\src\pm\smpd\smpd_cmd_args.c")
-	mfile.WriteLine("$(OUTDIR)\smpd_service.obj: ..\src\pm\smpd\smpd_service.c")
-	mfile.WriteLine("	$(cc) $(cflags) /Fo""$(OUTDIR)\\"" /Fd""$(OUTDIR)\\"" ..\src\pm\smpd\smpd_service.c")
-	mfile.WriteLine("$(OUTDIR)\smpd_watchprocs.obj: ..\src\pm\smpd\smpd_watchprocs.c")
-	mfile.WriteLine("	$(cc) $(cflags) /Fo""$(OUTDIR)\\"" /Fd""$(OUTDIR)\\"" ..\src\pm\smpd\smpd_watchprocs.c")
-	mfile.WriteLine
-	mfile.WriteLine("smpd_objs = \")
-	mfile.WriteLine("	$(OUTDIR)\smpd.obj \")
-	mfile.WriteLine("	$(OUTDIR)\smpd_cmd_args.obj \")
-	mfile.WriteLine("	$(OUTDIR)\smpd_service.obj \")
-	mfile.WriteLine("	$(OUTDIR)\smpd_watchprocs.obj")
-	mfile.WriteLine
-	mfile.WriteLine("$(BIN_OUTDIR)\smpd.exe: $(smpd_objs) $(mpich_objs)")
-	mfile.WriteLine("	$(link) $(conlflags) $(smpd_objs) $(mpich_objs) $(ch3sock_objs) $(common_libs) -out:$(BIN_OUTDIR)\smpd.exe $(mpich_libs)")
-	mfile.WriteLine("	if exist $(BIN_OUTDIR)\smpd.exe.manifest mt.exe -manifest $(BIN_OUTDIR)\smpd.exe.manifest -outputresource:$(BIN_OUTDIR)\smpd.exe;1")
-	mfile.WriteLine
-	mfile.WriteLine("smpd: $(BIN_OUTDIR) $(BIN_OUTDIR)\smpd.exe")
-
-	mfile.WriteLine
-	mfile.WriteLine("# impgen")
-	mfile.WriteLine
-	mfile.WriteLine("$(GCC_OUTDIR)\gccimpgen.obj: ..\maint\gccimpgen.cpp")
-	mfile.WriteLine("	$(cc) $(cflags) /Fo""$(GCC_OUTDIR)\\"" /Fd""$(GCC_OUTDIR)\\"" ..\maint\gccimpgen.cpp")
-	mfile.WriteLine
-	mfile.WriteLine("$(GCC_OUTDIR)\impgen.exe: $(GCC_OUTDIR)\gccimpgen.obj")
-	mfile.WriteLine("	$(link) $(conlflags) $(GCC_OUTDIR)\gccimpgen.obj $(common_libs) -out:$(GCC_OUTDIR)\impgen.exe")
-	mfile.WriteLine("	if exist $(GCC_OUTDIR)\impgen.exe.manifest mt.exe -manifest $(GCC_OUTDIR)\impgen.exe.manifest -outputresource:$(GCC_OUTDIR)\impgen.exe;1")
-	mfile.WriteLine
-	mfile.WriteLine("impgen: $(GCC_OUTDIR) $(GCC_OUTDIR)\impgen.exe")
-	mfile.WriteLine
-	mfile.WriteLine("!IF ""$(CPU)"" != ""x86""")
-	mfile.WriteLine("# Add 64bit gcc stuff here")
-	mfile.WriteLine("gcc_libs: $(GCC_OUTDIR)")
-	mfile.WriteLine
-	mfile.WriteLine("!ELSE")
-	mfile.WriteLine("gcc_libs: impgen")
-	mfile.WriteLine("	IF EXIST ""$(GCC_OUTDIR)\mpichgcc$(D).def"" del $(GCC_OUTDIR)\mpichgcc$(D).def")
-	mfile.WriteLine("	$(GCC_OUTDIR)\impgen.exe $(SOCK_OUTDIR)\mpich$(D).dll > $(GCC_OUTDIR)\mpichgcc$(D).def")
-	mfile.WriteLine("	dlltool --dllname mpich$(D).dll --def $(GCC_OUTDIR)\mpichgcc$(D).def --output-lib $(GCC_OUTDIR)\libmpich$(D).a")
-	mfile.WriteLine("	del $(GCC_OUTDIR)\mpichgcc$(D).def")
-	mfile.WriteLine("	IF EXIST ""$(GCC_OUTDIR)\mpichmpi$(D).def"" del $(GCC_OUTDIR)\mpichmpi$(D).def")
-	mfile.WriteLine("	$(GCC_OUTDIR)\impgen.exe $(MPI_OUTDIR)\mpichmpi$(D).dll > $(GCC_OUTDIR)\mpichmpi$(D).def")
-	mfile.WriteLine("	dlltool --dllname mpichmpi$(D).dll --def $(GCC_OUTDIR)\mpichmpi$(D).def --output-lib $(GCC_OUTDIR)\libmpi$(D).a")
-	mfile.WriteLine("	del $(GCC_OUTDIR)\mpichmpi$(D).def")
-	mfile.WriteLine("	IF EXIST ""$(GCC_OUTDIR)\fmpichgcc$(D).def"" del $(GCC_OUTDIR)\fmpichgcc$(D).def")
-	mfile.WriteLine("	$(GCC_OUTDIR)\impgen.exe $(GFORT_OUTDIR)\fmpichg$(D).dll > $(GCC_OUTDIR)\fmpichgcc$(D).def")
-	mfile.WriteLine("	dlltool --dllname fmpichg$(D).dll --def $(GCC_OUTDIR)\fmpichgcc$(D).def --output-lib $(GCC_OUTDIR)\libfmpichg$(D).a")
-	mfile.WriteLine("	del $(GCC_OUTDIR)\fmpichgcc$(D).def")
-	mfile.WriteLine
-	mfile.WriteLine("!ENDIF")
-
-	mfile.WriteLine
-	mfile.WriteLine("!IF ""$(CHANNEL)"" == ""sock""")
-	mfile.WriteLine("!IFDEF RLOG")
-	mfile.WriteLine("all: $(OUTDIR) rlog ch3$(CHANNEL)")
-	mfile.WriteLine("!ELSE")
-	mfile.WriteLine("all: $(OUTDIR) $(BIN_OUTDIR) ch3$(CHANNEL) smpd mpiexec mpi mpe mpe_wrap")
-	mfile.WriteLine("!ENDIF")
-	mfile.WriteLine("!ELSE")
-	mfile.WriteLine("all: $(OUTDIR) ch3$(CHANNEL)")
-	mfile.WriteLine("!ENDIF")
-
-	mfile.Close()
-End Function
-
-printMsg "STATUS", "Creating makefile & build scripts for MPICH..."
-GenBuild()
-
-Function ParseDirs(filename)
-	Dim line, fullline
-	'cEcho filename
-	Set fin = f.OpenTextFile(filename)
-	fullline = ""
-	while not fin.AtEndOfStream
-		line = MyTrim(fin.ReadLine)
-		If Left(line, 1) <> "#" Then
-			If Right(line, 1) = "\" Then
-				If fullline = "" Then
-					fullline = Left(line, len(line)-1)
-				Else
-					fullline = fullline & " " & Left(line, len(line)-1)
-				End If
-			Else
-				If fullline = "" Then
-					fullline = line
-				Else
-					fullline = fullline & " " & line
-				End If
-				'OutputLine Right(file.ParentFolder, Len(file.ParentFolder) - trimpath), fullline
-				If Left(fullline, 10) = "SUBDIRS = " Then
-					line = Right(fullline, Len(fullline) - 10)
-					'cEcho line
-					fin.Close
-					ParseDirs = Split(line)
-					Exit Function
-				End If
-				fullline = ""
-			End If
-		End If
-	wend
-	fin.Close
-	ParseDirs = Array() ' return an empty array
-End Function
-
-Function ParseSrcFiles(filename)
-	Dim line, fullline, src_line
-	'cEcho filename
-	Set fin = f.OpenTextFile(filename)
-	fullline = ""
-	src_line = ""
-	while not fin.AtEndOfStream
-		line = MyTrim(fin.ReadLine)
-		If Left(line, 1) <> "#" Then
-			If Right(line, 1) = "\" Then
-				If fullline = "" Then
-					fullline = Left(line, len(line)-1)
-				Else
-					fullline = fullline & " " & Left(line, len(line)-1)
-				End If
-			Else
-				If fullline = "" Then
-					fullline = line
-				Else
-					fullline = fullline & " " & line
-				End If
-				'OutputLine Right(file.ParentFolder, Len(file.ParentFolder) - trimpath), fullline
-				If Left(fullline, 14) = "mpi_sources = " Then
-					src_line = src_line & " " & Right(fullline, Len(fullline) - 14)
-					'cEcho src_line
-				End If
-				If Left(fullline, 14) = "win_sources = " Then
-					src_line = src_line & " " & Right(fullline, Len(fullline) - 14)
-					'cEcho src_line
-				End If
-				If Left(fullline, 28) = "lib${MPILIBNAME}_a_SOURCES =" Then
-					src_line = src_line & " " & Right(fullline, Len(fullline) - 28)
-					'cEcho src_line
-				End If
-				If Left(fullline, 18) = "libmpl_a_SOURCES =" Then
-					src_line = src_line & " " & Right(fullline, Len(fullline) - 18)
-					'cEcho src_line
-				End If
-				fullline = ""
-			End If
-		End If
-	wend
-	fin.Close
-	ParseSrcFiles = Split(src_line)
-End Function
-
-Function TraverseSubdir(byref dirname)
-	TraverseSubdir = true
-	If dirname = "." Then
-		TraverseSubdir = false
-	End If
-	If dirname = "@device_name@" Then
-		dirname = "ch3"
-	ElseIf dirname = "@channel_name@" Then
-		dirname = buildfiles_channel
-	ElseIf dirname = "@pm_name@" Then
-		dirname = "smpd"
-	ElseIf dirname = "@pmi_name@" Then
-		dirname = "smpd"
-	Elseif Left(dirname, 1) = "@" Then
-		TraverseSubdir = false
-	End If
-	If Left(dirname, 1) = "$" Then
-		TraverseSubdir = false
-	End If
-	If dirname = "" Then
-		TraverseSubdir = false
-	End If
-	If dirname = "binding" Then
-		TraverseSubdir = false
-	End If
-End Function
-
-Function GenBuildFiles(dirname)
-	Dim dirs
-	Dim dirs_fout, srcs_fout, mfile, first
-	first = true
-	dirs = ParseDirs(dirname & "\Makefile.sm")
-	For Each subdir in dirs
-		If TraverseSubdir(subdir) Then
-			If remove_buildfiles Then
-				If f.FileExists(dirname & "\DIRS") Then
-					printMsg "VERBOSE", "del " & dirname & "\DIRS"
-					f.DeleteFile(dirname & "\DIRS")
-				End If
-			Else
-				If first Then
-					Set dirs_fout = f.CreateTextFile(dirname & "\DIRS", true)
-					dirs_fout.Write("DIRS = ")
-					first = false
-				End If
-				dirs_fout.Write("\" & vbCrLf & " " & subdir)
-			End If
-			'cEcho "subdir: '" & dirname & "\" & subdir & "'"
-			GenBuildFiles(dirname & "\" & subdir)
-		End If
-	Next
-	If Not first Then
-		dirs_fout.WriteLine
-		dirs_fout.Close
-		printMsg "VERBOSE", dirname & "\DIRS"
-	End If
-	If remove_buildfiles Then
-		If f.FileExists(dirname & "\SOURCES") Then
-			printMsg "VERBOSE", "del " & dirname & "\SOURCES"
-			f.DeleteFile(dirname & "\SOURCES")
-		End If
-		If f.FileExists(dirname & "\makefile") Then
-			printMsg "VERBOSE", "del " & dirname & "\makefile"
-			f.DeleteFile(dirname & "\makefile")
-		End If
-	Else
-		first = true
-		For Each src_filename in ParseSrcFiles(dirname & "\Makefile.sm")
-			If CompileFile(src_filename) Then
-				'cEcho dirname & "\Makefile.sm" & ": " & src_filename
-				If first Then
-					Set srcs_fout = f.CreateTextFile(dirname & "\SOURCES")
-					srcs_fout.Write("SOURCES = ")
-					first = false
-				End If
-				srcs_fout.Write("\" & vbCrLf & " " & src_filename)
-			End If
-		Next
-		If Not first Then
-			srcs_fout.WriteLine
-			srcs_fout.WriteLine
-			Dim ex, dotdots, includes
-			Set ex = New RegExp
-			ex.Global = True
-			ex.Pattern = "\w+\\"
-			dotdots = ex.Replace(dirname & "\", "..\")
-			srcs_fout.WriteLine("TARGETPATH=." & dotdots & "obj$(BUILD_ALT_DIR)")
-			srcs_fout.WriteLine
-			srcs_fout.WriteLine("TARGETTYPE=LIBRARY")'DYNLINK")
-			srcs_fout.WriteLine
-			srcs_fout.WriteLine("TARGETNAME=mpich")
-			srcs_fout.WriteLine
-			srcs_fout.WriteLine("DLLDEF=" & dotdots & "mpich.def")
-			srcs_fout.WriteLine
-			includes = dotdots & "src\include;" & _
-				dotdots & "src\include\win32;" & _
-				dotdots & "src\mpid\ch3\include;" & _
-				dotdots & "src\mpid\ch3\channels\" & buildfiles_channel & "\include;" & _
-				dotdots & "src\mpid\ch3\channels\" & buildfiles_channel & "\src;" & _
-				dotdots & "src\mpid\common\sock;" & _
-				dotdots & "src\mpid\common\sock\iocp;" & _
-				dotdots & "src\mpi\romio\mpi-io;" & _
-				dotdots & "src\mpi\romio\adio\include;" & _
-				dotdots & "src\mpid\common\datatype;" & _
-				dotdots & "src\mpid\common\locks;" & _
-				dotdots & "src\mpi\datatype;" & _
-				dotdots & "src\pm\smpd;" & _
-				dotdots & "src\mpi\spawn;" & _
-				dotdots & "src\binding\f77"
-			srcs_fout.WriteLine("INCLUDES=$(INCLUDES);" & includes)
-			srcs_fout.WriteLine
-			srcs_fout.WriteLine("C_DEFINES=$(C_DEFINES) -DHAVE_WINDOWS_H -DUSE_WINCONF_H -DMPIO_BUILD_PROFILING -DROMIO_INSIDE_MPICH -DHAVE_FORTRAN_BINDING -DMPICH_SKIP_MPICXX")
-			srcs_fout.WriteLine
-			srcs_fout.WriteLine("MSC_WARNING_LEVEL= /W4")
-			srcs_fout.WriteLine
-			srcs_fout.Close
-			printMsg "VERBOSE", dirname & "\SOURCES"
-			Set mfile = f.CreateTextFile(dirname & "\makefile")
-			mfile.WriteLine("#")
-			mfile.WriteLine("# DO NOT EDIT THIS FILE!!!  Edit .\sources. if you want to add a new source file to this component.")
-			mfile.WriteLine("#")
-			mfile.WriteLine
-			mfile.WriteLine("!INCLUDE $(NTMAKEENV)\makefile.def")
-			mfile.Close
-			printMsg "VERBOSE", dirname & "\makefile"
-		End If
-	End If
-End Function
-
-' Only build these files if specified: "winconfigure --genbuildfiles"
-'cEcho "Creating build tool files"
-'GenBuildFiles(".")
-
-Function ReplaceBetweenTags(str, tag1, find_str, tag2, replace_str)
-	Dim index, left_str, right_str, start_index, end_index
-	index = InStr(str, find_str)
-	If index = 0 Then
-		'MsgBox find_str & " not found in: " & str
-		ReplaceBetweenTags = str
-		Exit Function
-	End If
-	left_str = Left(str, index)
-	right_str = Right(str, Len(str) - index)
-	start_index = InStrRev(left_str, tag1)
-	If start_index = 0 Then
-		'MsgBox tag1 & " not found in: " & left_str
-		ReplaceBetweenTags = str
-		Exit Function
-	End If
-	end_index = InStr(right_str, tag2)
-	If end_index = 0 Then
-		'MsgBox tag2 & " not found in: " & right_str
-		ReplaceBetweenTags = str
-		Exit Function
-	End If
-	end_index = end_index + index
-	ReplaceBetweenTags = Left(str, start_index-1) & replace_str & Right(str, Len(str) - end_index - Len(tag2) + 1)
-End Function
-
-If bRemoveFortran Then
-	'Dim regEx, Match, Matches
-	Set regEx = New RegExp
-	regEx.IgnoreCase = False
-	regEx.Global = True
-
-	' mpich.def
-	'  remove:
-	'	MPIPRIV
-	'	MPIR_Keyval_set_fortran
-	'	MPIR_Keyval_set_fortran90
-	'	MPIR_Grequest_set_lang_f77
-	Set fin = f.OpenTextFile("mpich.def")
-	contents = fin.ReadAll()
-	fin.Close()
-	regEx.Pattern = "(.*MPIPRIV.*)"
-	contents = regEx.Replace(contents, ";$1")
-	regEx.Pattern = "(.*MPIR_Keyval_set_fortran)"
-	contents = regEx.Replace(contents, ";$1")
-	regEx.Pattern = "(.*MPIR_Grequest_set_lang_f77)"
-	contents = regEx.Replace(contents, ";$1")
-	regEx.Pattern = "(.*MPIR_F_MPI_BOTTOM)"
-	contents = regEx.Replace(contents, ";$1")
-	regEx.Pattern = "(.*MPI_F_STATUS_IGNORE)"
-	contents = regEx.Replace(contents, ";$1")
-	regEx.Pattern = "(.*MPI_F_STATUSES_IGNORE)"
-	contents = regEx.Replace(contents, ";$1")
-	regEx.Pattern = "(.*MPI_F_ERRCODES_IGNORE)"
-	contents = regEx.Replace(contents, ";$1")
-	regEx.Pattern = "(.*MPI_F_ARGVS_NULL)"
-	contents = regEx.Replace(contents, ";$1")
-	regEx.Pattern = "(.*[P]?MPI_Status_c2f)"
-	contents = regEx.Replace(contents, ";$1")
-	regEx.Pattern = "(.*[P]?MPI_Status_f2c)"
-	contents = regEx.Replace(contents, ";$1")
-	'cEcho "Creating mpich.def"
-	gEcho "Creating mpich.def"
-	Set fout = f.CreateTextFile( "mpich.def" )
-	fout.Write(contents)
-	fout.Close()
-
-	' mpich.sln
-	'  remove:
-	'	Project(..."mpichf"...EndProject
-	'   Project(..."mpichff"...EndProject
-	'   fortDebug = fortDebug
-	'   fortRelease = fortRelease
-	'   gfortDebug = gfortDebug
-	'   gfortRelease = gfortRelease
-	'   sfortDebug = sfortDebug
-	'   sfortRelease = sfortRelease
-	'   *.fortDebug.*
-	'   *.fortRelease.*
-	'   *.gfortDebug.*
-	'   *.gfortRelease.*
-	'   *.sfortDebug.*
-	'   *.sfortRelease.*
-	'   *= fortDebug|Win32
-	'   *= fortRelease|Win32
-	'   *= gfortDebug|Win32
-	'   *= gfortRelease|Win32
-	'   *= sfortDebug|Win32
-	'   *= sfortRelease|Win32
-	if bVS2005 then
-	    Set fin = f.OpenTextFile( "mpich.vs05.sln" )
-	else
-	    Set fin = f.OpenTextFile( "mpich.sln" )
-	end if
-	contents = fin.ReadAll()
-	fin.Close()
-	regEx.Pattern = "Project\(.*""mpichff?"".*\s*.*\s*.*\s*.*EndProject[\r\n]*"
-	contents = regEx.Replace(contents, "")
-	regEx.Pattern = ".*[gs]?fortDebug = [gs]?fortDebug.*[\r\n]*"
-	contents = regEx.Replace(contents, "")
-	regEx.Pattern = ".*[gs]?fortRelease = [gs]?fortRelease.*[\r\n]*"
-	contents = regEx.Replace(contents, "")
-	regEx.Pattern = ".*\.[gs]*fortDebug\..*[\r\n]*"
-	contents = regEx.Replace(contents, "")
-	regEx.Pattern = ".*\.[gs]*fortRelease\..*[\r\n]*"
-	contents = regEx.Replace(contents, "")
-	regEx.Pattern = ".*= [gs]?fortDebug\|Win32[\r\n]*"
-	contents = regEx.Replace(contents, "")
-	regEx.Pattern = ".*= [gs]?fortRelease\|Win32[\r\n]*"
-	contents = regEx.Replace(contents, "")
-	if bVS2005 then
-		'cEcho "Creating mpich.vs05.sln"
-		gEcho "Creating mpich.vs05.sln"
-	    Set fout = f.CreateTextFile( "mpich.vs05.sln" )
-	else
-		'cEcho "Creating mpich.sln"
-		gEcho "Creating mpich.sln"
-	    Set fout = f.CreateTextFile( "mpich.sln" )
-	end if
-	fout.Write(contents)
-	fout.Close()
-	
-	' mpich.vcproj
-	'  remove:
-	'   ,HAVE_FORTRAN_BINDING
-	'   mpichffd.lib
-	'   mpichff.lib
-	if bVS2005 then
-	    Set fin = f.OpenTextFile( "mpich.vs05.vcproj" )
-	else
-	    Set fin = f.OpenTextFile( "mpich.vcproj" )
-	end if
-	contents = fin.ReadAll()
-	fin.Close()
-	contents = Replace(contents, ",HAVE_FORTRAN_BINDING", "")
-	contents = Replace(contents, ";HAVE_FORTRAN_BINDING", "")
-	contents = Replace(contents, "mpichffd.lib", "")
-	contents = Replace(contents, "mpichff.lib", "")
-	'regEx.Pattern = ".*<File.*\s*.*c2f\.c\s*.*</File>.*[\r\n]*"
-	'contents = regEx.Replace(contents, "")
-	'regEx.Pattern = ".*<File.*\s*.*f2c\.c\s*.*</File>.*[\r\n]*"
-	'contents = regEx.Replace(contents, "")
-	'regEx.Pattern = ".*<File.*\s*.*setbot\.c.*[\r\n]+.*[\r\n]+.*[\r\n]+.*[\r\n]+.*[\r\n]+.*[\r\n]+.*[\r\n]+.*</File>.*[\r\n]+"
-	'contents = regEx.Replace(contents, "")
-	contents = ReplaceBetweenTags(contents, "<File", "statusc2f.c", "</File>", "")
-	contents = ReplaceBetweenTags(contents, "<File", "statusf2c.c", "</File>", "")
-	contents = ReplaceBetweenTags(contents, "<File", "setbot.c", "</File>", "")
-	if bVS2005 then
-		'cEcho "Creating mpich.vs05.vcproj"
-		gEcho "Creating mpich.vs05.vcproj"
-	    Set fout = f.CreateTextFile( "mpich.vs05.vcproj" )
-	else
-		'cEcho "Creating mpich.vcproj"
-		gEcho "Creating mpich.vcproj"
-	    Set fout = f.CreateTextFile( "mpich.vcproj" )
-	end if
-	fout.Write(contents)
-	fout.Close()
-
-	' mpichs.vcproj
-	'  remove:
-	'   lib\mpichffd.lib
-	'   lib\mpichff.lib
-	if bVS2005 then
-	    Set fin = f.OpenTextFile( "mpichs.vs05.vcproj" )
-	else
-	    Set fin = f.OpenTextFile( "mpichs.vcproj" )
-	end if
-	contents = fin.ReadAll()
-	fin.Close()
-	contents = Replace(contents, ",HAVE_FORTRAN_BINDING", "")
-	contents = Replace(contents, ";HAVE_FORTRAN_BINDING", "")
-	contents = Replace(contents, "lib\mpichffd.lib", "")
-	contents = Replace(contents, "lib\mpichff.lib", "")
-	'regEx.Pattern = ".*<File.*\s*.*c2f\.c\s*.*</File>.*[\r\n]*"
-	'contents = regEx.Replace(contents, "")
-	'regEx.Pattern = ".*<File.*\s*.*f2c\.c\s*.*</File>.*[\r\n]*"
-	'contents = regEx.Replace(contents, "")
-	'regEx.Pattern = ".*<File.*\s*.*setbot\.c.*[\r\n]+.*[\r\n]+.*[\r\n]+.*[\r\n]+.*[\r\n]+.*[\r\n]+.*[\r\n]+.*</File>.*[\r\n]+"
-	'contents = regEx.Replace(contents, "")
-	contents = ReplaceBetweenTags(contents, "<File", "statusc2f.c", "</File>", "")
-	contents = ReplaceBetweenTags(contents, "<File", "statusf2c.c", "</File>", "")
-	contents = ReplaceBetweenTags(contents, "<File", "setbot.c", "</File>", "")
-	if bVS2005 then
-		'cEcho "Creating mpichs.vs05.vcproj"
-		gEcho "Creating mpichs.vs05.vcproj"
-	    Set fout = f.CreateTextFile( "mpichs.vs05.vcproj" )
-	else
-		'cEcho "Creating mpichs.vcproj"
-		gEcho "Creating mpichs.vcproj"
-	    Set fout = f.CreateTextFile( "mpichs.vcproj" )
-	end if
-	fout.Write(contents)
-	fout.Close()
-
-	' maint\mpichi.vdproj
-	'  remove:
-	'   lots of stuff
-End If
-
-Sub UpdateSMPDVersion
-        GetMPICHVersions mpichVerStr, mpichABIVerStr, mpichReleaseDate
-	printMsg "VERBOSE", "Creating src\pm\smpd\smpd_version.h"
-	Set fout = f.CreateTextFile("src\pm\smpd\smpd_version.h", true)
-	fout.WriteLine("#define SMPD_VERSION """ & mpichVerStr & """")
-	fout.Close()
-End Sub
-
-Call UpdateSMPDVersion()
-
-'
-' Report any errors
-'
-If unhandled_definitions <> "" Then
-	printMsg "ERROR", "Unhandled definitions" & vbNewLine & unhandled_definitions
-	printMsg "ERROR", "ERROR: " & unhandled_definitions_count & " definitions not handled"
-	printMsg "ERROR", "(" & unhandled_definitions_instances & " instances of unhandled definitions)"
-End If
-If unhandled_ats <> "" Then
-	printMsg "ERROR", "Unhandled @foo@'s:" & vbNewLine & unhandled_ats
-	printMsg "ERROR", "ERROR: " & unhandled_ats_count & " @foo@'s not handled"
-	printMsg "ERROR", "(" & unhandled_ats_instances & " instances of unhandled @foo@'s)"
-End If
-printMsg "STATUS", "Configuring MPICH completed"
-printMsgFlush
-
-</script>
-</job>
-</package>

-----------------------------------------------------------------------

Summary of changes:
 COPYRIGHT.rtf                                      |   56 -
 Makefile.am                                        |    1 -
 README.vin                                         |    7 -
 README.winbin.rtf                                  |  136 -
 autogen.sh                                         |   21 +-
 configure.ac                                       |    7 +-
 doc/Makefile.mk                                    |    4 +-
 doc/installguide/install.tex.vin                   |   82 -
 doc/smpd/Makefile.in                               |   30 -
 doc/smpd/smpd_pmi.tex                              |  324 -
 doc/smpd/smpd_tree.eps                             |  622 --
 doc/userguide/user.tex.vin                         |  114 -
 doc/windev/Makefile.in                             |   76 -
 doc/windev/getdotin.bat                            |   40 -
 doc/windev/testmpich.wsf                           | 2470 ------
 doc/windev/windev.tex.vin                          | 1194 ---
 examples/cpi.vcproj                                |  374 -
 examples/pmandel.vcproj                            |  372 -
 examples/pmandel_fence.vcproj                      |  372 -
 examples/pmandel_service.vcproj                    |  372 -
 examples/pmandel_spaserv.vcproj                    |  372 -
 examples/pmandel_spawn.vcproj                      |  372 -
 examples/spawntest.vcproj                          |  138 -
 examples/windows/installed_examples/cpi.vcproj     |  372 -
 examples/windows/installed_examples/cxxpi.cxx      |   64 -
 examples/windows/installed_examples/cxxpi.vcproj   |  372 -
 examples/windows/installed_examples/examples.sln   |   45 -
 examples/windows/installed_examples/fpi.vfproj     |   48 -
 examples/windows/pmandel_vis/BoundsDlg.cpp         |   48 -
 examples/windows/pmandel_vis/BoundsDlg.h           |   33 -
 examples/windows/pmandel_vis/ConnectDialog.cpp     |   82 -
 examples/windows/pmandel_vis/ConnectDialog.h       |   41 -
 examples/windows/pmandel_vis/DemoPointsDlg.cpp     |  173 -
 examples/windows/pmandel_vis/DemoPointsDlg.h       |   37 -
 examples/windows/pmandel_vis/ExampleNode.cpp       |   15 -
 examples/windows/pmandel_vis/ExampleNode.h         |   18 -
 examples/windows/pmandel_vis/MainFrm.cpp           |  115 -
 examples/windows/pmandel_vis/MainFrm.h             |   47 -
 examples/windows/pmandel_vis/mpi.cpp               |  293 -
 examples/windows/pmandel_vis/pman_vis.cpp          |  150 -
 examples/windows/pmandel_vis/pman_vis.h            |   39 -
 examples/windows/pmandel_vis/pman_vis.rc           |  472 --
 examples/windows/pmandel_vis/pman_vis.vcproj       |  584 --
 examples/windows/pmandel_vis/pman_visDoc.cpp       |   84 -
 examples/windows/pmandel_vis/pman_visDoc.h         |   45 -
 examples/windows/pmandel_vis/pman_visView.cpp      |  562 --
 examples/windows/pmandel_vis/pman_visView.h        |   70 -
 examples/windows/pmandel_vis/res/Toolbar.bmp       |  Bin 1078 -> 0 bytes
 examples/windows/pmandel_vis/res/pman_vis.ico      |  Bin 21630 -> 0 bytes
 examples/windows/pmandel_vis/res/pman_vis.manifest |   22 -
 examples/windows/pmandel_vis/res/pman_vis.rc2      |   13 -
 examples/windows/pmandel_vis/res/pman_visDoc.ico   |  Bin 1078 -> 0 bytes
 examples/windows/pmandel_vis/resource.h            |   48 -
 examples/windows/pmandel_vis/sock.cpp              |  373 -
 examples/windows/pmandel_vis/stdafx.cpp            |   13 -
 examples/windows/pmandel_vis/stdafx.h              |   48 -
 examples/windows/pmandel_vis_net/App.ico           |  Bin 1078 -> 0 bytes
 examples/windows/pmandel_vis_net/AssemblyInfo.cs   |   58 -
 examples/windows/pmandel_vis_net/Form.cs           | 1096 ---
 examples/windows/pmandel_vis_net/Form.resx         |  193 -
 .../windows/pmandel_vis_net/MandelViewer.csproj    |  136 -
 examples/windows/pmitest/pmitest.c                 |  305 -
 examples/windows/pmitest/pmitest.vcproj            |  138 -
 examples/windows/skeleton/skeleton.c               |    6 -
 examples/windows/skeleton/skeleton.sln             |   21 -
 examples/windows/skeleton/skeleton.vcproj          |  138 -
 maint/Makefile.mk                                  |    7 +-
 maint/checkbuilds.in                               |   39 +-
 maint/impgen.vcproj                                |  357 -
 maint/mpichi.vdproj                                | 3399 --------
 maint/mpichx64i.vdproj                             | 3011 -------
 maint/release.pl                                   |    1 -
 maint/update_windows_version                       |   83 -
 maint/winbuild.wsf                                 |  229 -
 mpi.vcproj                                         |  425 -
 mpich.sln                                          | 5929 --------------
 mpich.vcproj                                       | 8300 --------------------
 mpichs.vcproj                                      | 4989 ------------
 mpl.vcproj                                         |  236 -
 src/binding/cxx/cxx.vcproj                         | 1027 ---
 src/binding/f77/mpichf.vcproj                      | 7761 ------------------
 src/include/mpiimpl.h                              |    4 +-
 src/mpid/ch3/channels/nemesis/ch3nemesis.vcproj    |  944 ---
 src/mpid/ch3/channels/sock/ch3sock.vcproj          | 1545 ----
 src/mpid/common/sock/poll/sock_misc.i              |    9 +-
 src/mpid/common/sock/sock.vcproj                   | 1721 ----
 src/pm/Makefile.mk                                 |    4 -
 src/pm/smpd/Makefile.mk                            |   85 -
 src/pm/smpd/README                                 |  126 -
 src/pm/smpd/doc/close.sm.tex                       |   38 -
 src/pm/smpd/doc/connect.sm.tex                     |  197 -
 src/pm/smpd/doc/connect_pmi.sm.tex                 |   46 -
 src/pm/smpd/doc/console.sm.tex                     |   53 -
 src/pm/smpd/doc/mpiexec.sm.tex                     |  100 -
 src/pm/smpd/doc/sm2ps.bat                          |    1 -
 src/pm/smpd/doc/smpd.sm.tex                        |  157 -
 src/pm/smpd/mp_parse_command_line.c                | 2450 ------
 src/pm/smpd/mp_parse_oldconfig.c                   |  486 --
 src/pm/smpd/mpichprereq                            |   12 -
 src/pm/smpd/mpiexec.c                              |  507 --
 src/pm/smpd/mpiexec.h                              |   32 -
 src/pm/smpd/mpiexec.rc                             |  102 -
 src/pm/smpd/mpiexec.vcproj                         | 1233 ---
 src/pm/smpd/mpiexec_rsh.c                          |  895 ---
 src/pm/smpd/resource.h                             |   20 -
 src/pm/smpd/resource1.h                            |   20 -
 src/pm/smpd/smpd.c                                 |  362 -
 src/pm/smpd/smpd.h                                 | 1060 ---
 src/pm/smpd/smpd.rc                                |  102 -
 src/pm/smpd/smpd.sln                               |   56 -
 src/pm/smpd/smpd.vcproj                            | 1341 ----
 src/pm/smpd/smpd_ad.cpp                            |  860 --
 src/pm/smpd/smpd_adreg.cpp                         | 1305 ---
 src/pm/smpd/smpd_affinitize.c                      |  425 -
 src/pm/smpd/smpd_authenticate.c                    |  389 -
 src/pm/smpd/smpd_barrier.c                         |  179 -
 src/pm/smpd/smpd_ccp_util.c                        |  100 -
 src/pm/smpd/smpd_cmd_args.c                        |  869 --
 src/pm/smpd/smpd_command.c                         |  860 --
 src/pm/smpd/smpd_connect.c                         | 1448 ----
 src/pm/smpd/smpd_database.c                        |  665 --
 src/pm/smpd/smpd_database.h                        |   36 -
 src/pm/smpd/smpd_do_console.c                      |  149 -
 src/pm/smpd/smpd_get_opt.c                         |  918 ---
 src/pm/smpd/smpd_handle_command.c                  | 6761 ----------------
 src/pm/smpd/smpd_handle_spawn.c                    | 1010 ---
 src/pm/smpd/smpd_hash.c                            |  172 -
 src/pm/smpd/smpd_host_util.c                       |  982 ---
 src/pm/smpd/smpd_hpc_js.h                          |   39 -
 src/pm/smpd/smpd_hpc_js_bs.cpp                     |   56 -
 src/pm/smpd/smpd_hpc_js_exports.h                  |   12 -
 src/pm/smpd/smpd_hpc_js_rmk.cpp                    |   90 -
 src/pm/smpd/smpd_hpc_js_util.cpp                   |  286 -
 src/pm/smpd/smpd_implthread.h                      |   29 -
 src/pm/smpd/smpd_iov.h                             |   26 -
 src/pm/smpd/smpd_job.c                             |  275 -
 src/pm/smpd/smpd_launch_process.c                  | 2475 ------
 src/pm/smpd/smpd_mapdrive.c                        |  695 --
 src/pm/smpd/smpd_printf.c                          |  780 --
 src/pm/smpd/smpd_read_write.c                      |  339 -
 src/pm/smpd/smpd_register.c                        |  765 --
 src/pm/smpd/smpd_restart.c                         |   49 -
 src/pm/smpd/smpd_service.c                         |  745 --
 src/pm/smpd/smpd_service.h                         |   42 -
 src/pm/smpd/smpd_session.c                         |  573 --
 src/pm/smpd/smpd_start_mgr.c                       |  369 -
 src/pm/smpd/smpd_state_machine.c                   | 7129 -----------------
 src/pm/smpd/smpd_user_data.c                       | 1069 ---
 src/pm/smpd/smpd_util.vcproj                       | 1264 ---
 src/pm/smpd/smpd_watchprocs.c                      |  391 -
 src/pm/smpd/sock/Makefile.mk                       |   11 -
 src/pm/smpd/sock/include/smpd_util_sock.h          |  233 -
 src/pm/smpd/sock/iocp/Makefile.sm                  |    3 -
 src/pm/smpd/sock/iocp/include/smpd_util_socki.h    |   38 -
 src/pm/smpd/sock/iocp/smpd_util_sock.c             | 2670 -------
 src/pm/smpd/sock/poll/Makefile.mk                  |   27 -
 src/pm/smpd/sock/poll/smpd_sock_immed.i            |  664 --
 src/pm/smpd/sock/poll/smpd_sock_init.i             |   50 -
 src/pm/smpd/sock/poll/smpd_sock_misc.i             |  280 -
 src/pm/smpd/sock/poll/smpd_sock_post.i             |  710 --
 src/pm/smpd/sock/poll/smpd_sock_set.i              |  124 -
 src/pm/smpd/sock/poll/smpd_sock_wait.i             |  701 --
 src/pm/smpd/sock/poll/smpd_socki_util.i            |  812 --
 src/pm/smpd/sock/poll/smpd_util_sock.c             |  202 -
 src/pm/smpd/sock/poll/smpd_util_socki.h            |   58 -
 src/pm/smpd/sock/poll/subconfigure.m4              |  147 -
 src/pm/smpd/subconfigure.m4                        |  122 -
 src/pm/smpd/wmpiconfig/App.ico                     |  Bin 1078 -> 0 bytes
 src/pm/smpd/wmpiconfig/AssemblyInfo.cs             |   58 -
 src/pm/smpd/wmpiconfig/wmpiconfig.cs               | 1577 ----
 src/pm/smpd/wmpiconfig/wmpiconfig.csproj           |  151 -
 src/pm/smpd/wmpiconfig/wmpiconfig.resx             |  353 -
 src/pm/smpd/wmpiexec/App.ico                       |  Bin 1078 -> 0 bytes
 src/pm/smpd/wmpiexec/AssemblyInfo.cs               |   58 -
 src/pm/smpd/wmpiexec/jumpshot.ico                  |  Bin 1078 -> 0 bytes
 src/pm/smpd/wmpiexec/sample.txt                    |   12 -
 src/pm/smpd/wmpiexec/wmpiexec.cs                   | 1762 -----
 src/pm/smpd/wmpiexec/wmpiexec.csproj               |  152 -
 src/pm/smpd/wmpiexec/wmpiexec.resx                 |  503 --
 src/pm/smpd/wmpiregister/App.ico                   |  Bin 1078 -> 0 bytes
 src/pm/smpd/wmpiregister/AssemblyInfo.cs           |   58 -
 src/pm/smpd/wmpiregister/wmpiregister.cs           |  364 -
 src/pm/smpd/wmpiregister/wmpiregister.csproj       |  151 -
 src/pm/smpd/wmpiregister/wmpiregister.resx         |  140 -
 src/pmi/Makefile.mk                                |    1 -
 src/pmi/smpd/Makefile.mk                           |   19 -
 src/pmi/smpd/ipmi.h                                |  146 -
 src/pmi/smpd/pmi.vcproj                            |  318 -
 src/pmi/smpd/smpd_ipmi.c                           | 3151 --------
 src/pmi/smpd/smpd_pmi.c                            |  281 -
 src/pmi/smpd/subconfigure.m4                       |   27 -
 src/util/dbg/dbg.vcproj                            | 1930 -----
 src/util/ex/executive.vcproj                       |  235 -
 src/util/logging/rlog/TraceInput/TraceInput.vcproj |  246 -
 src/util/logging/rlog/irlog2rlog.vcproj            |  225 -
 src/util/logging/rlog/minalignrlog.vcproj          |  210 -
 src/util/logging/rlog/printirlog.vcproj            |  223 -
 src/util/logging/rlog/printrlog.vcproj             |  223 -
 src/util/logging/rlog/rimshot/rimshot.vcproj       |  297 -
 src/util/logging/rlog/rlog.vcproj                  | 1032 ---
 test/mpi/basic/adapt.vcproj                        |  146 -
 test/mpi/basic/netpipe.vcproj                      |  423 -
 test/mpi/basic/patterns.vcproj                     |  156 -
 test/mpi/basic/sendrecv.vcproj                     |  158 -
 test/mpi/basic/simple.vcproj                       |  156 -
 test/mpi/basic/srtest.vcproj                       |  138 -
 test/mpi/createprojects.wsf                        |  371 -
 test/mpi/runtests.wsf                              |  171 -
 winconfigure.wsf                                   | 8019 -------------------
 209 files changed, 12 insertions(+), 128581 deletions(-)
 delete mode 100644 COPYRIGHT.rtf
 delete mode 100644 README.winbin.rtf
 delete mode 100644 doc/smpd/Makefile.in
 delete mode 100644 doc/smpd/smpd_pmi.tex
 delete mode 100644 doc/smpd/smpd_tree.eps
 delete mode 100644 doc/windev/Makefile.in
 delete mode 100755 doc/windev/getdotin.bat
 delete mode 100755 doc/windev/testmpich.wsf
 delete mode 100644 doc/windev/windev.tex.vin
 delete mode 100644 examples/cpi.vcproj
 delete mode 100644 examples/pmandel.vcproj
 delete mode 100644 examples/pmandel_fence.vcproj
 delete mode 100644 examples/pmandel_service.vcproj
 delete mode 100644 examples/pmandel_spaserv.vcproj
 delete mode 100644 examples/pmandel_spawn.vcproj
 delete mode 100644 examples/spawntest.vcproj
 delete mode 100644 examples/windows/installed_examples/cpi.vcproj
 delete mode 100644 examples/windows/installed_examples/cxxpi.cxx
 delete mode 100644 examples/windows/installed_examples/cxxpi.vcproj
 delete mode 100644 examples/windows/installed_examples/examples.sln
 delete mode 100644 examples/windows/installed_examples/fpi.vfproj
 delete mode 100644 examples/windows/pmandel_vis/BoundsDlg.cpp
 delete mode 100644 examples/windows/pmandel_vis/BoundsDlg.h
 delete mode 100644 examples/windows/pmandel_vis/ConnectDialog.cpp
 delete mode 100644 examples/windows/pmandel_vis/ConnectDialog.h
 delete mode 100644 examples/windows/pmandel_vis/DemoPointsDlg.cpp
 delete mode 100644 examples/windows/pmandel_vis/DemoPointsDlg.h
 delete mode 100644 examples/windows/pmandel_vis/ExampleNode.cpp
 delete mode 100644 examples/windows/pmandel_vis/ExampleNode.h
 delete mode 100644 examples/windows/pmandel_vis/MainFrm.cpp
 delete mode 100644 examples/windows/pmandel_vis/MainFrm.h
 delete mode 100644 examples/windows/pmandel_vis/mpi.cpp
 delete mode 100644 examples/windows/pmandel_vis/pman_vis.cpp
 delete mode 100644 examples/windows/pmandel_vis/pman_vis.h
 delete mode 100644 examples/windows/pmandel_vis/pman_vis.rc
 delete mode 100644 examples/windows/pmandel_vis/pman_vis.vcproj
 delete mode 100644 examples/windows/pmandel_vis/pman_visDoc.cpp
 delete mode 100644 examples/windows/pmandel_vis/pman_visDoc.h
 delete mode 100644 examples/windows/pmandel_vis/pman_visView.cpp
 delete mode 100644 examples/windows/pmandel_vis/pman_visView.h
 delete mode 100644 examples/windows/pmandel_vis/res/Toolbar.bmp
 delete mode 100644 examples/windows/pmandel_vis/res/pman_vis.ico
 delete mode 100644 examples/windows/pmandel_vis/res/pman_vis.manifest
 delete mode 100644 examples/windows/pmandel_vis/res/pman_vis.rc2
 delete mode 100644 examples/windows/pmandel_vis/res/pman_visDoc.ico
 delete mode 100644 examples/windows/pmandel_vis/resource.h
 delete mode 100644 examples/windows/pmandel_vis/sock.cpp
 delete mode 100644 examples/windows/pmandel_vis/stdafx.cpp
 delete mode 100644 examples/windows/pmandel_vis/stdafx.h
 delete mode 100644 examples/windows/pmandel_vis_net/App.ico
 delete mode 100644 examples/windows/pmandel_vis_net/AssemblyInfo.cs
 delete mode 100644 examples/windows/pmandel_vis_net/Form.cs
 delete mode 100644 examples/windows/pmandel_vis_net/Form.resx
 delete mode 100644 examples/windows/pmandel_vis_net/MandelViewer.csproj
 delete mode 100644 examples/windows/pmitest/pmitest.c
 delete mode 100644 examples/windows/pmitest/pmitest.vcproj
 delete mode 100644 examples/windows/skeleton/skeleton.c
 delete mode 100644 examples/windows/skeleton/skeleton.sln
 delete mode 100644 examples/windows/skeleton/skeleton.vcproj
 delete mode 100644 maint/impgen.vcproj
 delete mode 100644 maint/mpichi.vdproj
 delete mode 100755 maint/mpichx64i.vdproj
 delete mode 100755 maint/update_windows_version
 delete mode 100644 maint/winbuild.wsf
 delete mode 100644 mpi.vcproj
 delete mode 100644 mpich.sln
 delete mode 100644 mpich.vcproj
 delete mode 100644 mpichs.vcproj
 delete mode 100755 mpl.vcproj
 delete mode 100644 src/binding/cxx/cxx.vcproj
 delete mode 100644 src/binding/f77/mpichf.vcproj
 delete mode 100755 src/mpid/ch3/channels/nemesis/ch3nemesis.vcproj
 delete mode 100644 src/mpid/ch3/channels/sock/ch3sock.vcproj
 delete mode 100644 src/mpid/common/sock/sock.vcproj
 delete mode 100644 src/pm/smpd/Makefile.mk
 delete mode 100644 src/pm/smpd/README
 delete mode 100644 src/pm/smpd/doc/close.sm.tex
 delete mode 100644 src/pm/smpd/doc/connect.sm.tex
 delete mode 100644 src/pm/smpd/doc/connect_pmi.sm.tex
 delete mode 100644 src/pm/smpd/doc/console.sm.tex
 delete mode 100644 src/pm/smpd/doc/mpiexec.sm.tex
 delete mode 100644 src/pm/smpd/doc/sm2ps.bat
 delete mode 100644 src/pm/smpd/doc/smpd.sm.tex
 delete mode 100644 src/pm/smpd/mp_parse_command_line.c
 delete mode 100644 src/pm/smpd/mp_parse_oldconfig.c
 delete mode 100644 src/pm/smpd/mpichprereq
 delete mode 100644 src/pm/smpd/mpiexec.c
 delete mode 100644 src/pm/smpd/mpiexec.h
 delete mode 100644 src/pm/smpd/mpiexec.rc
 delete mode 100644 src/pm/smpd/mpiexec.vcproj
 delete mode 100644 src/pm/smpd/mpiexec_rsh.c
 delete mode 100644 src/pm/smpd/resource.h
 delete mode 100644 src/pm/smpd/resource1.h
 delete mode 100644 src/pm/smpd/smpd.c
 delete mode 100644 src/pm/smpd/smpd.h
 delete mode 100644 src/pm/smpd/smpd.rc
 delete mode 100644 src/pm/smpd/smpd.sln
 delete mode 100644 src/pm/smpd/smpd.vcproj
 delete mode 100644 src/pm/smpd/smpd_ad.cpp
 delete mode 100644 src/pm/smpd/smpd_adreg.cpp
 delete mode 100644 src/pm/smpd/smpd_affinitize.c
 delete mode 100644 src/pm/smpd/smpd_authenticate.c
 delete mode 100644 src/pm/smpd/smpd_barrier.c
 delete mode 100644 src/pm/smpd/smpd_ccp_util.c
 delete mode 100644 src/pm/smpd/smpd_cmd_args.c
 delete mode 100644 src/pm/smpd/smpd_command.c
 delete mode 100644 src/pm/smpd/smpd_connect.c
 delete mode 100644 src/pm/smpd/smpd_database.c
 delete mode 100644 src/pm/smpd/smpd_database.h
 delete mode 100644 src/pm/smpd/smpd_do_console.c
 delete mode 100644 src/pm/smpd/smpd_get_opt.c
 delete mode 100644 src/pm/smpd/smpd_handle_command.c
 delete mode 100644 src/pm/smpd/smpd_handle_spawn.c
 delete mode 100644 src/pm/smpd/smpd_hash.c
 delete mode 100644 src/pm/smpd/smpd_host_util.c
 delete mode 100644 src/pm/smpd/smpd_hpc_js.h
 delete mode 100644 src/pm/smpd/smpd_hpc_js_bs.cpp
 delete mode 100644 src/pm/smpd/smpd_hpc_js_exports.h
 delete mode 100644 src/pm/smpd/smpd_hpc_js_rmk.cpp
 delete mode 100644 src/pm/smpd/smpd_hpc_js_util.cpp
 delete mode 100644 src/pm/smpd/smpd_implthread.h
 delete mode 100644 src/pm/smpd/smpd_iov.h
 delete mode 100644 src/pm/smpd/smpd_job.c
 delete mode 100644 src/pm/smpd/smpd_launch_process.c
 delete mode 100644 src/pm/smpd/smpd_mapdrive.c
 delete mode 100644 src/pm/smpd/smpd_printf.c
 delete mode 100644 src/pm/smpd/smpd_read_write.c
 delete mode 100644 src/pm/smpd/smpd_register.c
 delete mode 100644 src/pm/smpd/smpd_restart.c
 delete mode 100644 src/pm/smpd/smpd_service.c
 delete mode 100644 src/pm/smpd/smpd_service.h
 delete mode 100644 src/pm/smpd/smpd_session.c
 delete mode 100644 src/pm/smpd/smpd_start_mgr.c
 delete mode 100644 src/pm/smpd/smpd_state_machine.c
 delete mode 100644 src/pm/smpd/smpd_user_data.c
 delete mode 100644 src/pm/smpd/smpd_util.vcproj
 delete mode 100644 src/pm/smpd/smpd_watchprocs.c
 delete mode 100644 src/pm/smpd/sock/Makefile.mk
 delete mode 100644 src/pm/smpd/sock/include/smpd_util_sock.h
 delete mode 100644 src/pm/smpd/sock/iocp/Makefile.sm
 delete mode 100644 src/pm/smpd/sock/iocp/include/smpd_util_socki.h
 delete mode 100644 src/pm/smpd/sock/iocp/smpd_util_sock.c
 delete mode 100644 src/pm/smpd/sock/poll/Makefile.mk
 delete mode 100644 src/pm/smpd/sock/poll/smpd_sock_immed.i
 delete mode 100644 src/pm/smpd/sock/poll/smpd_sock_init.i
 delete mode 100644 src/pm/smpd/sock/poll/smpd_sock_misc.i
 delete mode 100644 src/pm/smpd/sock/poll/smpd_sock_post.i
 delete mode 100644 src/pm/smpd/sock/poll/smpd_sock_set.i
 delete mode 100644 src/pm/smpd/sock/poll/smpd_sock_wait.i
 delete mode 100644 src/pm/smpd/sock/poll/smpd_socki_util.i
 delete mode 100644 src/pm/smpd/sock/poll/smpd_util_sock.c
 delete mode 100644 src/pm/smpd/sock/poll/smpd_util_socki.h
 delete mode 100644 src/pm/smpd/sock/poll/subconfigure.m4
 delete mode 100644 src/pm/smpd/subconfigure.m4
 delete mode 100644 src/pm/smpd/wmpiconfig/App.ico
 delete mode 100644 src/pm/smpd/wmpiconfig/AssemblyInfo.cs
 delete mode 100644 src/pm/smpd/wmpiconfig/wmpiconfig.cs
 delete mode 100644 src/pm/smpd/wmpiconfig/wmpiconfig.csproj
 delete mode 100644 src/pm/smpd/wmpiconfig/wmpiconfig.resx
 delete mode 100644 src/pm/smpd/wmpiexec/App.ico
 delete mode 100644 src/pm/smpd/wmpiexec/AssemblyInfo.cs
 delete mode 100644 src/pm/smpd/wmpiexec/jumpshot.ico
 delete mode 100644 src/pm/smpd/wmpiexec/sample.txt
 delete mode 100644 src/pm/smpd/wmpiexec/wmpiexec.cs
 delete mode 100644 src/pm/smpd/wmpiexec/wmpiexec.csproj
 delete mode 100644 src/pm/smpd/wmpiexec/wmpiexec.resx
 delete mode 100644 src/pm/smpd/wmpiregister/App.ico
 delete mode 100644 src/pm/smpd/wmpiregister/AssemblyInfo.cs
 delete mode 100644 src/pm/smpd/wmpiregister/wmpiregister.cs
 delete mode 100644 src/pm/smpd/wmpiregister/wmpiregister.csproj
 delete mode 100644 src/pm/smpd/wmpiregister/wmpiregister.resx
 delete mode 100644 src/pmi/smpd/Makefile.mk
 delete mode 100644 src/pmi/smpd/ipmi.h
 delete mode 100644 src/pmi/smpd/pmi.vcproj
 delete mode 100644 src/pmi/smpd/smpd_ipmi.c
 delete mode 100644 src/pmi/smpd/smpd_pmi.c
 delete mode 100644 src/pmi/smpd/subconfigure.m4
 delete mode 100644 src/util/dbg/dbg.vcproj
 delete mode 100644 src/util/ex/executive.vcproj
 delete mode 100644 src/util/logging/rlog/TraceInput/TraceInput.vcproj
 delete mode 100644 src/util/logging/rlog/irlog2rlog.vcproj
 delete mode 100644 src/util/logging/rlog/minalignrlog.vcproj
 delete mode 100644 src/util/logging/rlog/printirlog.vcproj
 delete mode 100644 src/util/logging/rlog/printrlog.vcproj
 delete mode 100644 src/util/logging/rlog/rimshot/rimshot.vcproj
 delete mode 100644 src/util/logging/rlog/rlog.vcproj
 delete mode 100644 test/mpi/basic/adapt.vcproj
 delete mode 100644 test/mpi/basic/netpipe.vcproj
 delete mode 100644 test/mpi/basic/patterns.vcproj
 delete mode 100644 test/mpi/basic/sendrecv.vcproj
 delete mode 100644 test/mpi/basic/simple.vcproj
 delete mode 100644 test/mpi/basic/srtest.vcproj
 delete mode 100644 test/mpi/createprojects.wsf
 delete mode 100644 test/mpi/runtests.wsf
 delete mode 100755 winconfigure.wsf


hooks/post-receive
-- 
MPICH primary repository


More information about the commits mailing list