From b1fd860835cdedece7a891171424db9da7a9038e Mon Sep 17 00:00:00 2001
From: Tim Young <tim.young@lightsys.org>
Date: Mon, 19 Jun 2017 14:03:28 -0500
Subject: [PATCH] Cannot edit something that is powered off.

---
 EduNetworkBuilder/NetworkBuilder.cs          |  88 +++++-----
 EduNetworkBuilder/Resources/ReleaseNotes.rtf | 159 +++++++++----------
 2 files changed, 131 insertions(+), 116 deletions(-)

diff --git a/EduNetworkBuilder/NetworkBuilder.cs b/EduNetworkBuilder/NetworkBuilder.cs
index 74aec2d..ad1e043 100644
--- a/EduNetworkBuilder/NetworkBuilder.cs
+++ b/EduNetworkBuilder/NetworkBuilder.cs
@@ -597,11 +597,13 @@ namespace EduNetworkBuilder
         { 
             int index = 0;
             bool LockedOut = false;
+            bool PoweredOff = false;
             if (pbNetworkView.ContextMenuStrip == null)
             {
                 pbNetworkView.ContextMenuStrip = new ContextMenuStrip();
             }
             if (ReleasedOn != null) LockedOut = ReleasedOn.DeviceIsLockedOutByVLANs();
+            if (ReleasedOn != null) PoweredOff = ReleasedOn.PowerOff;
             pbNetworkView.ContextMenuStrip.Items.Clear();
 
             if(ItemsSelected.Count > 0)
@@ -633,46 +635,54 @@ namespace EduNetworkBuilder
                 if (ReleasedOn != null && ReleasedOn.IsNotNetDevice())
                 {
                     List<string> DoneList = new List<string>();
-                    foreach (string tStr in myNetwork.GetIncompleteTestDestinations(ReleasedOn.hostname, ContextTest.ping))
+                    if (!PoweredOff)
                     {
-                        if (!DoneList.Contains(tStr))
+                        foreach (string tStr in myNetwork.GetIncompleteTestDestinations(ReleasedOn.hostname, ContextTest.ping))
                         {
-                            pbNetworkView.ContextMenuStrip.Items.Add(string.Format(NB.Translate("_PingStr"), tStr));
-                            pbNetworkView.ContextMenuStrip.Items[index++].Click += pbNetworkView_Ping_Name_Click;
-                            DoneList.Add(tStr);
+                            if (!DoneList.Contains(tStr))
+                            {
+                                pbNetworkView.ContextMenuStrip.Items.Add(string.Format(NB.Translate("_PingStr"), tStr));
+                                pbNetworkView.ContextMenuStrip.Items[index++].Click += pbNetworkView_Ping_Name_Click;
+                                DoneList.Add(tStr);
+                            }
                         }
-                    }
-                    DoneList.Clear();
-                    foreach (string tStr in myNetwork.GetIncompleteTestDestinations(ReleasedOn.hostname, ContextTest.traceroute))
-                    {
-                        if (!DoneList.Contains(tStr))
+
+                        DoneList.Clear();
+
+                        foreach (string tStr in myNetwork.GetIncompleteTestDestinations(ReleasedOn.hostname, ContextTest.traceroute))
                         {
-                            pbNetworkView.ContextMenuStrip.Items.Add(string.Format(NB.Translate("_Traceroute") + " " + tStr));
-                            pbNetworkView.ContextMenuStrip.Items[index++].Click += pbNetworkView_Traceroute_Name_Click;
-                            DoneList.Add(tStr);
+                            if (!DoneList.Contains(tStr))
+                            {
+                                pbNetworkView.ContextMenuStrip.Items.Add(string.Format(NB.Translate("_Traceroute") + " " + tStr));
+                                pbNetworkView.ContextMenuStrip.Items[index++].Click += pbNetworkView_Traceroute_Name_Click;
+                                DoneList.Add(tStr);
+                            }
                         }
-                    }
-                    DoneList.Clear();
-                    foreach (string tStr in myNetwork.GetIncompleteTestDestinations(ReleasedOn.hostname, ContextTest.arp))
-                    {
-                        if (!DoneList.Contains(tStr))
+                        DoneList.Clear();
+                        foreach (string tStr in myNetwork.GetIncompleteTestDestinations(ReleasedOn.hostname, ContextTest.arp))
                         {
-                            pbNetworkView.ContextMenuStrip.Items.Add(string.Format(NB.Translate("H_ARP_TitleStr"), tStr));
-                            pbNetworkView.ContextMenuStrip.Items[index++].Click += pbNetworkView_Arp_Name_Click;
-                            DoneList.Add(tStr);
+                            if (!DoneList.Contains(tStr))
+                            {
+                                pbNetworkView.ContextMenuStrip.Items.Add(string.Format(NB.Translate("H_ARP_TitleStr"), tStr));
+                                pbNetworkView.ContextMenuStrip.Items[index++].Click += pbNetworkView_Arp_Name_Click;
+                                DoneList.Add(tStr);
+                            }
                         }
                     }
                 }
                 if (ReleasedOn != null && ReleasedOn.IsNotNetDevice())
                 {
-                    pbNetworkView.ContextMenuStrip.Items.Add(NB.Translate("_Ping1"));
-                    pbNetworkView.ContextMenuStrip.Items[index++].Click += pbNetworkView_Ping_Click;
-                    pbNetworkView.ContextMenuStrip.Items.Add(NB.Translate("_Traceroute"));
-                    pbNetworkView.ContextMenuStrip.Items[index++].Click += pbNetworkView_Traceroute_Click;
-                    pbNetworkView.ContextMenuStrip.Items.Add(NB.Translate("H_ARP_Title"));
-                    pbNetworkView.ContextMenuStrip.Items[index++].Click += pbNetworkView_Arp_Click;
-                    pbNetworkView.ContextMenuStrip.Items.Add(NB.Translate("NB_NetViewClr"));
-                    pbNetworkView.ContextMenuStrip.Items[index++].Click += pbNetworkView_ArpClear_Click;
+                    if (!PoweredOff)
+                    {
+                        pbNetworkView.ContextMenuStrip.Items.Add(NB.Translate("_Ping1"));
+                        pbNetworkView.ContextMenuStrip.Items[index++].Click += pbNetworkView_Ping_Click;
+                        pbNetworkView.ContextMenuStrip.Items.Add(NB.Translate("_Traceroute"));
+                        pbNetworkView.ContextMenuStrip.Items[index++].Click += pbNetworkView_Traceroute_Click;
+                        pbNetworkView.ContextMenuStrip.Items.Add(NB.Translate("H_ARP_Title"));
+                        pbNetworkView.ContextMenuStrip.Items[index++].Click += pbNetworkView_Arp_Click;
+                        pbNetworkView.ContextMenuStrip.Items.Add(NB.Translate("NB_NetViewClr"));
+                        pbNetworkView.ContextMenuStrip.Items[index++].Click += pbNetworkView_ArpClear_Click;
+                    }
                 }
                 if (ReleasedOn != null)
                 {
@@ -682,7 +692,7 @@ namespace EduNetworkBuilder
                         pbNetworkView.ContextMenuStrip.Items[index++].Click += pbNetworkView_Delete_Click;
                     }
                 }
-                if (ReleasedOn != null && ReleasedOn.IsNotNetDevice())
+                if (ReleasedOn != null && ReleasedOn.IsNotNetDevice() && !PoweredOff)
                 {
                     pbNetworkView.ContextMenuStrip.Items.Add(NB.Translate("_Edit"));
                     pbNetworkView.ContextMenuStrip.Items[index++].Click += pbNetworkView_Edit_Click;
@@ -691,10 +701,13 @@ namespace EduNetworkBuilder
                 if (ReleasedOn != null)
                 {
                     ItemClickedOn = ReleasedOn;
-                    if (ReleasedOn.HasDHCPNic())
+                    if (!PoweredOff)
                     {
-                        pbNetworkView.ContextMenuStrip.Items.Add(NB.Translate("NB_NetViewDHCP"));
-                        pbNetworkView.ContextMenuStrip.Items[index++].Click += pbNetworkView_DHCPRequest_Click;
+                        if (ReleasedOn.HasDHCPNic())
+                        {
+                            pbNetworkView.ContextMenuStrip.Items.Add(NB.Translate("NB_NetViewDHCP"));
+                            pbNetworkView.ContextMenuStrip.Items[index++].Click += pbNetworkView_DHCPRequest_Click;
+                        }
                     }
                     foreach (string host in ReleasedOn.ListOfConnectedHosts())
                     {
@@ -1019,9 +1032,12 @@ namespace EduNetworkBuilder
                 return;
             }
             if (duration.TotalMilliseconds < 250)
-            { 
-                //This mouse-up is part of a double-click operation. Do an edit
-                pbNetworkView_Edit_Click(sender, e);
+            {
+                bool PoweredOff = false;
+                //This mouse-up is part of a double-click operation. Do an edit.  But only if we are powered on
+                if (ItemClickedOn != null) PoweredOff = ItemClickedOn.PowerOff;
+                if(!PoweredOff)
+                    pbNetworkView_Edit_Click(sender, e);
             }
             else
             {
diff --git a/EduNetworkBuilder/Resources/ReleaseNotes.rtf b/EduNetworkBuilder/Resources/ReleaseNotes.rtf
index 1ecf9f3..ab6e300 100644
--- a/EduNetworkBuilder/Resources/ReleaseNotes.rtf
+++ b/EduNetworkBuilder/Resources/ReleaseNotes.rtf
@@ -94,9 +94,9 @@ Normal Table;}}{\*\listtable{\list\listtemplateid-678110632\listhybrid{\listleve
 \fi-360\li5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li5760\lin5760 }
 {\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li6480\lin6480 }{\listname 
 ;}\listid1535926840}}{\*\listoverridetable{\listoverride\listid300036472\listoverridecount0\ls1}{\listoverride\listid1535926840\listoverridecount0\ls2}{\listoverride\listid569733219\listoverridecount0\ls3}{\listoverride\listid1059207521
-\listoverridecount0\ls4}{\listoverride\listid159203163\listoverridecount0\ls5}{\listoverride\listid272565942\listoverridecount0\ls6}}{\*\rsidtbl \rsid7431196\rsid8871995\rsid12019296\rsid12727595\rsid14170698\rsid14577306\rsid15677065\rsid16005564}
-{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim0}{\info{\operator tim.young@lightsys.org}{\creatim\yr2017\mo3\dy14\hr9\min58}{\revtim\yr2017\mo6\dy16\hr14\min33}{\version8}
-{\edmins7}{\nofpages9}{\nofwords1695}{\nofchars9667}{\nofcharsws11340}{\vern91}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}\paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\gutter0\ltrsect 
+\listoverridecount0\ls4}{\listoverride\listid159203163\listoverridecount0\ls5}{\listoverride\listid272565942\listoverridecount0\ls6}}{\*\rsidtbl \rsid7431196\rsid7475506\rsid8871995\rsid12019296\rsid12727595\rsid14170698\rsid14577306\rsid15677065
+\rsid16005564}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim0}{\info{\operator tim.young@lightsys.org}{\creatim\yr2017\mo3\dy14\hr9\min58}{\revtim\yr2017\mo6\dy19\hr14\min3}
+{\version9}{\edmins8}{\nofpages9}{\nofwords1708}{\nofchars9741}{\nofcharsws11427}{\vern91}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}\paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\gutter0\ltrsect 
 \widowctrl\ftnbj\aenddoc\trackmoves0\trackformatting1\donotembedsysfont0\relyonvml0\donotembedlingdata1\grfdocevents0\validatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0\horzdoc\dghspace120\dgvspace120\dghorigin1701
 \dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind1\viewscale100\rsidroot14577306 \nouicompat \fet0{\*\wgrffmtfilter 2450}\nofeaturethrottle1\ilfomacatclnup0\ltrpar \sectd \ltrsect\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
@@ -112,16 +112,18 @@ Normal Table;}}{\*\listtable{\list\listtemplateid-678110632\listhybrid{\listleve
 \par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid16005564 \hich\af39\dbch\af31505\loch\f39 * Can right-click and delete of multiple selected items
 \par \hich\af39\dbch\af31505\loch\f39 * Can right-click and change color of multiple selected items
 \par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid8871995 \hich\af39\dbch\af31505\loch\f39 * Fixed some tracert bugs
-\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid7431196 \hich\af39\dbch\af31505\loch\f39 * lots \hich\af39\dbch\af31505\loch\f39 of minor fixes so is more stable on Linux
-\par \hich\af39\dbch\af31505\loch\f39 * \hich\af39\dbch\af31505\loch\f39 Saves \hich\af39\dbch\af31505\loch\f39 settings in ~/.conf/EduNetworkbuilder_config.xml file on Linux}{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 
-\f39\lang9\langfe1033\langnp9\insrsid7431196\charrsid14170698 
+\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid7431196 \hich\af39\dbch\af31505\loch\f39 * lots of minor fixes so is more stable on Linux
+\par \hich\af39\dbch\af31505\loch\f39 * Saves settin\hich\af39\dbch\af31505\loch\f39 gs in ~/.conf/EduNetworkbuilder_config.xml file on Linux
+\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid7475506 \hich\af39\dbch\af31505\loch\f39 * Cannot edit something that is powered off.  Also, cannot ping, do DHCP refresh, etc.}{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 
+\f39\lang9\langfe1033\langnp9\insrsid7475506\charrsid14170698 
 \par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid14577306 \hich\af39\dbch\af31505\loch\f39 Version 1.0.31
 \par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid14577306 {\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid14577306\charrsid14577306 \hich\af39\dbch\af31505\loch\f39 *}{
-\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid14577306 \hich\af39\dbch\af31505\loch\f39  Added powering off switches, routers, and the \hich\af39\dbch\af31505\loch\f39 like
+\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid14577306 \hich\af39\dbch\af31505\loch\f39  Added powering off switches, routers, and the like
 \par \hich\af39\dbch\af31505\loch\f39 * Added traceroute
 \par \hich\af39\dbch\af31505\loch\f39 * Added a few puzzles for those
 \par \hich\af39\dbch\af31505\loch\f39 * Moved to a new git repository
-\par \hich\af39\dbch\af31505\loch\f39 * Changed the default location of popups.  They worked very strange in a multi-window environment.}{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid14577306\charrsid14577306 
+\par \hich\af39\dbch\af31505\loch\f39 * Changed the default location of popups.  They \hich\af39\dbch\af31505\loch\f39 worked very strange in a multi-window environment.}{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 
+\f39\lang9\langfe1033\langnp9\insrsid14577306\charrsid14577306 
 \par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.30
 \par }{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 * Another downloadable (zip only, stable) version.}{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 
 \par \hich\af39\dbch\af31505\loch\f39 Version 1.0.29
@@ -132,8 +134,7 @@ Normal Table;}}{\*\listtable{\list\listtemplateid-678110632\listhybrid{\listleve
 \par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.28
 \par }{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 * Initial VLAN release
 \par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.27
-\par }{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 * Made distribution easier by CD (does updates from web, but we also have a downloadable\hich\af39\dbch\af31505\loch\f39 
- zip you can install from)
+\par }{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 * Made distribution easier by CD (does updates from web, but we also have a downloadable zip you can install from)
 \par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.26
 \par }{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 * Major graphics overhaul
 \par \hich\af39\dbch\af31505\loch\f39   - Packets move on timer
@@ -142,181 +143,179 @@ Normal Table;}}{\*\listtable{\list\listtemplateid-678110632\listhybrid{\listleve
 \par \hich\af39\dbch\af31505\loch\f39 * Fixed minor issue with "help" puzzle
 \par \hich\af39\dbch\af31505\loch\f39 * Made help "?" button turn red when it is part of the puzzle
 \par \hich\af39\dbch\af31505\loch\f39 * Put checkmark to display names and IPs of devices on front form.
-\par \hich\af39\dbch\af31505\loch\f39 * Add a NetTest to show people to click on the "display Device names and IP" checkmark}{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 
+\par \hich\af39\dbch\af31505\loch\f39 * Add a NetT\hich\af39\dbch\af31505\loch\f39 est to show people to click on the "display Device names and IP" checkmark}{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 
 \par \hich\af39\dbch\af31505\loch\f39 Version 1.0.25
-\par }{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 * Minor changes to help f\hich\af39\dbch\af31505\loch\f39 ile
+\par }{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 * Minor changes to help file
 \par \hich\af39\dbch\af31505\loch\f39 * Fixed size of labels on IP-Address editor box
 \par \hich\af39\dbch\af31505\loch\f39 * Hide gateway label when we do not need it. (ip-address editor)
-\par \hich\af39\dbch\af31505\loch\f39 * rename "mixed network" puzzle to be "adding devices" (the puzzle was about adding devices)
+\par \hich\af39\dbch\af31505\loch\f39 * rename "mixed network"\hich\af39\dbch\af31505\loch\f39  puzzle to be "adding devices" (the puzzle was about adding devices)
 \par \hich\af39\dbch\af31505\loch\f39 * Changed layout of many messages
-\par \hich\af39\dbch\af31505\loch\f39 * Save the l\hich\af39\dbch\af31505\loch\f39 evel we are working on.  Allows us to finish level 5 before level 3 if we want to.
+\par \hich\af39\dbch\af31505\loch\f39 * Save the level we are working on.  Allows us to finish level 5 before level 3 if we want to.
 \par \hich\af39\dbch\af31505\loch\f39 * Make network-loop puzzles sit next to each-other
-\par \hich\af39\dbch\af31505\loch\f39 * Make it so network-loop2 puzzle asks for second ping after first one finishes 
-\par \hich\af39\dbch\af31505\loch\f39 * Lots of work towards the French transla\hich\af39\dbch\af31505\loch\f39 tion}{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 
+\par \hich\af39\dbch\af31505\loch\f39 * Make \hich\af39\dbch\af31505\loch\f39 it so network-loop2 puzzle asks for second ping after first one finishes 
+\par \hich\af39\dbch\af31505\loch\f39 * Lots of work towards the French translation}{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 
 \par \hich\af39\dbch\af31505\loch\f39 Version 1.0.24   
 \par }{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 * Add sound when ctrl-s is pressed so we know we saved.
-\par \hich\af39\dbch\af31505\loch\f39 * Add sound fail when save is canceled (will use it later if ctrl-s fails)
+\par \hich\af39\dbch\af31505\loch\f39 * Add sound fail when save is canceled (will use it later if c\hich\af39\dbch\af31505\loch\f39 trl-s fails)
 \par \hich\af39\dbch\af31505\loch\f39 * Added some wireless puzzles
 \par \hich\af39\dbch\af31505\loch\f39 * Fix issue with WAP not forwarding packets correctly
-\par \hich\af39\dbch\af31505\loch\f39 * Clear out old st\hich\af39\dbch\af31505\loch\f39 atus message if we do something.  So we do not say "saved" forever...
+\par \hich\af39\dbch\af31505\loch\f39 * Clear out old status message if we do something.  So we do not say "saved" forever...
 \par \hich\af39\dbch\af31505\loch\f39 * Fixed bad gateway on wireless router issue
 \par \hich\af39\dbch\af31505\loch\f39 * Fixed wbridge misbehaving. (issue with gateway)
 \par \hich\af39\dbch\af31505\loch\f39 * Added wireless items to help and context help topics
-\par \hich\af39\dbch\af31505\loch\f39 * Thanks to Peter Wilson for so much\hich\af39\dbch\af31505\loch\f39  of the translation backbone.
-\par \hich\af39\dbch\af31505\loch\f39 * Lots of translation string changes.  The French translation should be soon in coming.
+\par \hich\af39\dbch\af31505\loch\f39 * Thanks to Peter Wilson for so much of the translation backbone.
+\par \hich\af39\dbch\af31505\loch\f39 * Lots of translation string changes.  The French translation should be soon in comin\hich\af39\dbch\af31505\loch\f39 g.
 \par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.23   09/20/2015
 \par }{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 * Fixed issues with broadcast packets
 \par \hich\af39\dbch\af31505\loch\f39 * Fixed a network loop issue
-\par \hich\af39\dbch\af31505\loch\f39 * Fixed issue with multiple interfaces and \hich\af39\dbch\af31505\loch\f39 being able to go out a different interface than we came in on
-\par \hich\af39\dbch\af31505\loch\f39 * Fixed many small bugs that crept in when fixing other bugs.  Now all puzzles seem to play correctly}{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 
+\par \hich\af39\dbch\af31505\loch\f39 * Fixed issue with multiple interfaces and being able to go out a different interface than we came in on
+\par \hich\af39\dbch\af31505\loch\f39 * Fixed many small bugs that crept in when fixing oth\hich\af39\dbch\af31505\loch\f39 er bugs.  Now all puzzles seem to play correctly}{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 
+
 \par \hich\af39\dbch\af31505\loch\f39 Version 1.0.22  09/01/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296 
 \par \hich\af39\dbch\af31505\loch\f39 * Added ssid and keys for wireless links
-\par \hich\af39\dbch\af31505\loch\f39 * Wireless will auto-dis\hich\af39\dbch\af31505\loch\f39 connect if link is too long
+\par \hich\af39\dbch\af31505\loch\f39 * Wireless will auto-disconnect if link is too long
 \par \hich\af39\dbch\af31505\loch\f39 * Wireless will auto-connect if ssid and key match, if link is short enough
-\par \hich\af39\dbch\af31505\loch\f39 * Packets will drop on wireless links if distance is too great
+\par \hich\af39\dbch\af31505\loch\f39 * Packets w\hich\af39\dbch\af31505\loch\f39 ill drop on wireless links if distance is too great
 \par \hich\af39\dbch\af31505\loch\f39 * wport has no interface (cannot edit IP address)
-\par \hich\af39\dbch\af31505\loch\f39 * wireless router works properly - forw\hich\af39\dbch\af31505\loch\f39 ards broadcast packets
+\par \hich\af39\dbch\af31505\loch\f39 * wireless router works properly - forwards broadcast packets
 \par \hich\af39\dbch\af31505\loch\f39 * wireless router handles dhcp requests properly (both responds to it but also passes it on)
 \par \hich\af39\dbch\af31505\loch\f39 * right-clicking light and microwave no longer has ping, arp, edit, and other context menus
 \par \hich\af39\dbch\af31505\loch\f39 * added net-test for DHCP server status (on/off)
 \par \hich\af39\dbch\af31505\loch\f39 * If multiple DHCP servers, client randomly chooses which to keep.
 \par \hich\af39\dbch\af31505\loch\f39 *Add Wireless Puzzle
-\par \hich\af39\dbch\af31505\loch\f39 *Fix many wireless device bugs\line }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.21   08/15/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 
-\f39\lang9\langfe1033\langnp9\insrsid12019296 
+\par \hich\af39\dbch\af31505\loch\f39 *Fix many wireless device \hich\af39\dbch\af31505\loch\f39 bugs\line }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.21   08/15/2015}{
+\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296 
 \par \hich\af39\dbch\af31505\loch\f39 * Added a microwave and fluorescent light.  They corrupt data when packets run close to them.
-\par \hich\af39\dbch\af31505\loch\f39 * Added some p\hich\af39\dbch\af31505\loch\f39 acket corruption puzzles
-\par \hich\af39\dbch\af31505\loch\f39 * Fixed window resize-on-load issue where the help window popped up first, then the builder window resized over to hide the help window. 
+\par \hich\af39\dbch\af31505\loch\f39 * Added some packet corruption puzzles
+\par \hich\af39\dbch\af31505\loch\f39 * Fixed window resize-on-load issue where the help window popped up first, then the builde\hich\af39\dbch\af31505\loch\f39 r window resized over to hide the help window. 
 \par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.20  08/12/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296 
-\par \hich\af39\dbch\af31505\loch\f39 * wports do not display on tooltips or when printing the device in\hich\af39\dbch\af31505\loch\f39 fo
+\par \hich\af39\dbch\af31505\loch\f39 * wports do not display on tooltips or when printing the device info
 \par \hich\af39\dbch\af31505\loch\f39 * Added ctrl-s to quick-save a network we are working on
 \par \hich\af39\dbch\af31505\loch\f39 * commented out wireless devices for now - doing a big demo and wireless is not yet complete
 \par \hich\af39\dbch\af31505\loch\f39 * added search box to help
 \par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.19  08/08/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296 
 \par \hich\af39\dbch\af31505\loch\f39 *Updated context help for most puzzles that introduce new ideas.
-\par \hich\af39\dbch\af31505\loch\f39 * Sorted Help topics when adding them in net-tests.
+\par \hich\af39\dbch\af31505\loch\f39 * Sorted Help topics when adding them in net\hich\af39\dbch\af31505\loch\f39 -tests.
 \par \hich\af39\dbch\af31505\loch\f39 * Added some images to the help to help clarify things.
 \par \hich\af39\dbch\af31505\loch\f39 * Start with the help windows being the same "height" as the network window.
-\par \hich\af39\dbch\af31505\loch\f39 * Open\hich\af39\dbch\af31505\loch\f39  Help so it can be kept open while the puzzles progress.
-\par \hich\af39\dbch\af31505\loch\f39 * Deal with minimized state better (used to shrink window to smallest possible state)
+\par \hich\af39\dbch\af31505\loch\f39 * Open Help so it can be kept open while the puzzles progress.
+\par \hich\af39\dbch\af31505\loch\f39 * Deal with minimized state better (used to shrink w\hich\af39\dbch\af31505\loch\f39 indow to smallest possible state)
 \par \hich\af39\dbch\af31505\loch\f39 * Remember size and location of main window between uses.
 \par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.18  08/08/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296 
-\par \hich\af39\dbch\af31505\loch\f39 * Added Context Help for puz\hich\af39\dbch\af31505\loch\f39 zles.
+\par \hich\af39\dbch\af31505\loch\f39 * Added Context Help for puzzles.
 \par \hich\af39\dbch\af31505\loch\f39 -  Each puzzle can have context help
 \par \hich\af39\dbch\af31505\loch\f39 -  There is a net-test to have us read help
-\par \hich\af39\dbch\af31505\loch\f39 * fixed minor problem with a "ding" sound when we load a puzzle that has something locked.
+\par \hich\af39\dbch\af31505\loch\f39 * fixed minor problem \hich\af39\dbch\af31505\loch\f39 with a "ding" sound when we load a puzzle that has something locked.
 \par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.17  08/01/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296 
 \par \hich\af39\dbch\af31505\loch\f39 * Added more help
-\par \hich\af39\dbch\af31505\loch\f39 * Much progress made in preparing\hich\af39\dbch\af31505\loch\f39  for a French translation
+\par \hich\af39\dbch\af31505\loch\f39 * Much progress made in preparing for a French translation
 \par \hich\af39\dbch\af31505\loch\f39 * allow for Puzzle's description to be in another language
 \par \hich\af39\dbch\af31505\loch\f39 * Added more to help
-\par \hich\af39\dbch\af31505\loch\f39 * Removed edit -> cut, paste, copy, undo.  They never did anything.  So why have them?
-\par \hich\af39\dbch\af31505\loch\f39 * Save box starts in the directory of the file we opened (if we\hich\af39\dbch\af31505\loch\f39  have one)
+\par \hich\af39\dbch\af31505\loch\f39 * R\hich\af39\dbch\af31505\loch\f39 emoved edit -> cut, paste, copy, undo.  They never did anything.  So why have them?
+\par \hich\af39\dbch\af31505\loch\f39 * Save box starts in the directory of the file we opened (if we have one)
 \par \hich\af39\dbch\af31505\loch\f39 * Choose a language at startup if one has never been chosen, and have option to change language.
-\par \hich\af39\dbch\af31505\loch\f39 * Added another puzzle, showing what happens (or does not happen) if we have two networks that use the same IP addresses, and we want to build a VPN\hich\af39\dbch\af31505\loch\f39  between them.
+\par \hich\af39\dbch\af31505\loch\f39 *\hich\af39\dbch\af31505\loch\f39  Added another puzzle, showing what happens (or does not happen) if we have two networks that use the same IP addresses, and we want to build a VPN between them.
 \par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.16  07/18/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296 
 \par \hich\af39\dbch\af31505\loch\f39 * Added ability to break links (bad network wire)
-\par \hich\af39\dbch\af31505\loch\f39 * "connection lights" on network cards / ports when we edit devices
+\par \hich\af39\dbch\af31505\loch\f39 * "connection lig\hich\af39\dbch\af31505\loch\f39 hts" on network cards / ports when we edit devices
 \par \hich\af39\dbch\af31505\loch\f39 * Test for "needs link to" does not succeed if the link in question is a broken link
-\par \hich\af39\dbch\af31505\loch\f39 * Added a p\hich\af39\dbch\af31505\loch\f39 uzzle to show you how to find broken links 
+\par \hich\af39\dbch\af31505\loch\f39 * Added a puzzle to show you how to find broken links 
 \par \hich\af39\dbch\af31505\loch\f39 * Used broken links in other puzzles
 \par \hich\af39\dbch\af31505\loch\f39 * Fixed bug: switches could not use DHCP for many different reasons.  Now it works for them.
 \par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.15  07/11/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296 
 \par \hich\af39\dbch\af31505\loch\f39 * Added ping time progress bar
-\par \hich\af39\dbch\af31505\loch\f39 
-* Fixed issue with things timing out before they completed.  If the network screen is too large, it makes it go just a tiny bit slower and various things would fail.  When the first packet successfully makes it to the far end, it recomputes the time neede
-\hich\af39\dbch\af31505\loch\f39 d\hich\af39\dbch\af31505\loch\f39  and gives extra time.
-\par \hich\af39\dbch\af31505\loch\f39 * Added context menu ping.  If an item is supposed to ping something, right-clicking adds the ping test to the menu.  Takes some of the guess-work out of things.
-\par \hich\af39\dbch\af31505\loch\f39 * Fixed minor issue with this change log.  Had two 1.0.11 versions & so\hich\af39\dbch\af31505\loch\f39 mehow was stating we were at version 10.x.x instead of 1.x.x (sigh)  
-\par \hich\af39\dbch\af31505\loch\f39 * Fixed the VPNify puzzle.  Had a goof in it.
+\par \hich\af39\dbch\af31505\loch\f39 * Fixed issue with things timing out before they completed.  If the network screen is too large, it makes\hich\af39\dbch\af31505\loch\f39 
+ it go just a tiny bit slower and various things would fail.  When the first packet successfully makes it to the far end, it recomputes the time needed and gives extra time.
+\par \hich\af39\dbch\af31505\loch\f39 * Added context menu ping.  If an item is supposed to ping something, right-clicki\hich\af39\dbch\af31505\loch\f39 ng adds the ping test to the menu.  Takes some of the guess-work out of things.
+\par \hich\af39\dbch\af31505\loch\f39 * Fixed minor issue with this change log.  Had two 1.0.11 versions & somehow was stating we were at version 10.x.x instead of 1.x.x (sigh)  
+\par \hich\af39\dbch\af31505\loch\f39 * Fixed the VPNify puzzle.  Had a g\hich\af39\dbch\af31505\loch\f39 oof in it.
 \par \hich\af39\dbch\af31505\loch\f39 * Made it so you cannot connect a link to a VPN.  A VPN should be a virtual connection, not a physical connection.
-\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.14  07/10/201\hich\af39\dbch\af31505\loch\f39 5}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296 
-
+\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.14  07/10/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296 
 \par \hich\af39\dbch\af31505\loch\f39 * When we finish a puzzle, allow us to auto-open the "next puzzle" box.
 \par \hich\af39\dbch\af31505\loch\f39 * Added lots more puzzles
-\par \hich\af39\dbch\af31505\loch\f39 * Added more help & documentation
+\par \hich\af39\dbch\af31505\loch\f39 * Add\hich\af39\dbch\af31505\loch\f39 ed more help & documentation
 \par \hich\af39\dbch\af31505\loch\f39 * Made it so test for local IP also checked to make sure the subnet-masks matched
-\par \hich\af39\dbch\af31505\loch\f39 * Made it so the test for a matching rou\hich\af39\dbch\af31505\loch\f39 te compared netmasks
+\par \hich\af39\dbch\af31505\loch\f39 * Made it so the test for a matching route compared netmasks
 \par \hich\af39\dbch\af31505\loch\f39 * Added a printer object
 \par \hich\af39\dbch\af31505\loch\f39 * Added a copier object
 \par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.13  06/21/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296 
-\par \hich\af39\dbch\af31505\loch\f39 * Fixed issues with arp - arp could go through routers.  Now works correctly
+\par \hich\af39\dbch\af31505\loch\f39 * Fixed \hich\af39\dbch\af31505\loch\f39 issues with arp - arp could go through routers.  Now works correctly
 \par \hich\af39\dbch\af31505\loch\f39 * Made it test for puzzle completion after adding devices
-\par \hich\af39\dbch\af31505\loch\f39 * Made it test for compl\hich\af39\dbch\af31505\loch\f39 etion after changing / deleting devices
-\par \hich\af39\dbch\af31505\loch\f39 * Let you delete / add NICs on PCs, primarily so we can solve the duplicate MAC puzzle
+\par \hich\af39\dbch\af31505\loch\f39 * Made it test for completion after changing / deleting devices
+\par \hich\af39\dbch\af31505\loch\f39 * Let you delete / add NICs on PCs, primarily so we can solve the\hich\af39\dbch\af31505\loch\f39  duplicate MAC puzzle
 \par \hich\af39\dbch\af31505\loch\f39 * Replaced the "Network Loop" puzzle with the correct one.
 \par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.12  06/20/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296 
 \par \hich\af39\dbch\af31505\loch\f39 * Added VPN and TUN nic types
-\par \hich\af39\dbch\af31505\loch\f39 * Fixed numer\hich\af39\dbch\af31505\loch\f39 ous small bugs
+\par \hich\af39\dbch\af31505\loch\f39 * Fixed numerous small bugs
 \par \hich\af39\dbch\af31505\loch\f39 * Fixed bug with early solution to failed ping test
 \par \hich\af39\dbch\af31505\loch\f39 * Added "ding" when a test is solved.
 \par \hich\af39\dbch\af31505\loch\f39 * Added a "firewall" network that has a firewall and vpns
 \par \hich\af39\dbch\af31505\loch\f39 * Added numerous firewall / vpn puzzles
 \par \hich\af39\dbch\af31505\loch\f39 * Fixed a DNS issue.  It now more intelligently finds the right IP address when you ping it
 \par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.11   06/14/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296 
-\par \hich\af39\dbch\af31505\loch\f39 * Added the ability to lock various important features to make puzzles better
+\par \hich\af39\dbch\af31505\loch\f39 * Added the ability to lock various im\hich\af39\dbch\af31505\loch\f39 portant features to make puzzles better
 \par \hich\af39\dbch\af31505\loch\f39 * Able to add interfaces (multiple IPs on a Network Card)
 \par \hich\af39\dbch\af31505\loch\f39 * Right-click context menu to add net-tests.  
 \par \hich\af39\dbch\af31505\loch\f39 * Del key now deletes the last item we had clicked on
 \par \hich\af39\dbch\af31505\loch\f39 * Can add NICs (on some devices)
 \par \hich\af39\dbch\af31505\loch\f39 * Can delete NICs
-\par \hich\af39\dbch\af31505\loch\f39 * Fixed minor bug with broadcast pinging solving ping test for individual computers
-\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.10   06/\hich\af39\dbch\af31505\loch\f39 13/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296 
-
+\par \hich\af39\dbch\af31505\loch\f39 * Fixe\hich\af39\dbch\af31505\loch\f39 d minor bug with broadcast pinging solving ping test for individual computers
+\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.10   06/13/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296 
 \par \hich\af39\dbch\af31505\loch\f39 * Renamed puzzles to manage them easier
 \par \hich\af39\dbch\af31505\loch\f39 * Deal with duplicate IPs, and what happens when a packet returns to a computer that did not send it.
-\par \hich\af39\dbch\af31505\loch\f39 * Change to the help window so you can keep the window open while working with the puzzle.
-\par \hich\af39\dbch\af31505\loch\f39 * Change to the\hich\af39\dbch\af31505\loch\f39  donation link.  Not that it will ever be used, but it makes me feel better having a few places for people to donate to if they wish.
-\par \hich\af39\dbch\af31505\loch\f39 * Minor change for how broadcast packets work, specifically dealing with duplicate IP addresses.
-\par \hich\af39\dbch\af31505\loch\f39 * Added a "firewall" devi\hich\af39\dbch\af31505\loch\f39 ce & WAN port with masquerade
+\par \hich\af39\dbch\af31505\loch\f39 * Change\hich\af39\dbch\af31505\loch\f39  to the help window so you can keep the window open while working with the puzzle.
+\par \hich\af39\dbch\af31505\loch\f39 * Change to the donation link.  Not that it will ever be used, but it makes me feel better having a few places for people to donate to if they wish.
+\par \hich\af39\dbch\af31505\loch\f39 * Minor change for how b\hich\af39\dbch\af31505\loch\f39 roadcast packets work, specifically dealing with duplicate IP addresses.
+\par \hich\af39\dbch\af31505\loch\f39 * Added a "firewall" device & WAN port with masquerade
 \par \hich\af39\dbch\af31505\loch\f39 * Added a FailedPing test so we can ping things that must fail (show the firewall works)
 \par \hich\af39\dbch\af31505\loch\f39 * added more to the help
-\par \hich\af39\dbch\af31505\loch\f39 * added more puzzles
+\par \hich\af39\dbch\af31505\loch\f39 * added more p\hich\af39\dbch\af31505\loch\f39 uzzles
 \par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.0.9   05/29/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296 
-\par \hich\af39\dbch\af31505\loch\f39 * Add a grid to the network map.  It makes things easier to st\hich\af39\dbch\af31505\loch\f39 raighten up
+\par \hich\af39\dbch\af31505\loch\f39 * Add a grid to the network map.  It makes things easier to straighten up
 \par \hich\af39\dbch\af31505\loch\f39 * Sorted and organized the puzzles
 \par \hich\af39\dbch\af31505\loch\f39 * Made a level for each puzzle.
 \par \hich\af39\dbch\af31505\loch\f39 * Tracked the puzzles which have been completed
-\par \hich\af39\dbch\af31505\loch\f39 * When we open the puzzle list, we now show the first level of puzzles that have an uncompleted puzzle.
-\par \hich\af39\dbch\af31505\loch\f39 * Added more "tests", vie\hich\af39\dbch\af31505\loch\f39 wing help, pinging, arp, and dhcp.
+\par \hich\af39\dbch\af31505\loch\f39 * When we open the puzzle list,\hich\af39\dbch\af31505\loch\f39  we now show the first level of puzzles that have an uncompleted puzzle.
+\par \hich\af39\dbch\af31505\loch\f39 * Added more "tests", viewing help, pinging, arp, and dhcp.
 \par \hich\af39\dbch\af31505\loch\f39 * Reset buttons when we load a new network.
 \par \hich\af39\dbch\af31505\loch\f39 * Added a bunch more puzzles
-\par \hich\af39\dbch\af31505\loch\f39 * Sometimes the remembered IP gets annoying when it remembers odd gateways and numbers we cannot change.  Fixed that in many cases.
+\par \hich\af39\dbch\af31505\loch\f39 * \hich\af39\dbch\af31505\loch\f39 Sometimes the remembered IP gets annoying when it remembers odd gateways and numbers we cannot change.  Fixed that in many cases.
 \par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.0.8   05/25/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296 
 \par \hich\af39\dbch\af31505\loch\f39 * Always Start with level0 puzzles for now
 \par \hich\af39\dbch\af31505\loch\f39 * Fixed the icon when program running
-\par \hich\af39\dbch\af31505\loch\f39 * Added an infrastructure for Puzzles (needs work)
+\par \hich\af39\dbch\af31505\loch\f39 * Added an infra\hich\af39\dbch\af31505\loch\f39 structure for Puzzles (needs work)
 \par \hich\af39\dbch\af31505\loch\f39 * Added a number of basic puzzles
-\par \hich\af39\dbch\af31505\loch\f39 * Fixed DHCP Leases.  Now it clears leases when you change th\hich\af39\dbch\af31505\loch\f39 e DHCP server range.
+\par \hich\af39\dbch\af31505\loch\f39 * Fixed DHCP Leases.  Now it clears leases when you change the DHCP server range.
 \par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.0.7   05/16/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296 
 \par \hich\af39\dbch\af31505\loch\f39 * Added file association so we can double-click an enbx file
-\par \hich\af39\dbch\af31505\loch\f39 * Fixed the icon so it looks right (removed left edge)
+\par \hich\af39\dbch\af31505\loch\f39 * Fixed the ico\hich\af39\dbch\af31505\loch\f39 n so it looks right (removed left edge)
 \par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.0.6    05/16/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296 
 \par \hich\af39\dbch\af31505\loch\f39 * Able to delete a route (right click route and delete it)
-\par \hich\af39\dbch\af31505\loch\f39 *\hich\af39\dbch\af31505\loch\f39  Add map title as something we can load/save
+\par \hich\af39\dbch\af31505\loch\f39 * Add map title as something we can load/save
 \par \hich\af39\dbch\af31505\loch\f39 * Add message as something we can load and save
-\par \hich\af39\dbch\af31505\loch\f39 * Changing size of items affects all items
+\par \hich\af39\dbch\af31505\loch\f39 * Changing size of items affects \hich\af39\dbch\af31505\loch\f39 all items
 \par \hich\af39\dbch\af31505\loch\f39 * Allow entering a hostname in the IP address field (ping / gateway)
 \par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.0.5   04/26/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296 
-\par \hich\af39\dbch\af31505\loch\f39 * Fixed ping from swit\hich\af39\dbch\af31505\loch\f39 ch
+\par \hich\af39\dbch\af31505\loch\f39 * Fixed ping from switch
 \par \hich\af39\dbch\af31505\loch\f39 * Fixed error message when pinging IP that does not exist
 \par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.0.4   04/26/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296 
 \par \hich\af39\dbch\af31505\loch\f39 * Fixed broadcast ping
-\par \hich\af39\dbch\af31505\loch\f39 *Fixed dhcp request error
+\par \hich\af39\dbch\af31505\loch\f39 *Fixed dhcp r\hich\af39\dbch\af31505\loch\f39 equest error
 \par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.0.3   04/15/2015
 \par }{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 * Added "file" -> "new" to erase and start a clean new network
-\par \hich\af39\dbch\af31505\loch\f39 * Fixed pc2 to have gatew\hich\af39\dbch\af31505\loch\f39 ay on "solved"->"Two Networks"
+\par \hich\af39\dbch\af31505\loch\f39 * Fixed pc2 to have gateway on "solved"->"Two Networks"
 \par \hich\af39\dbch\af31505\loch\f39 * Fixed - only machines capable of doing DHCP do dhcp request if we do DHCP request on all
 \par \hich\af39\dbch\af31505\loch\f39 * Changed - major overhaul to tcp-stack.
 \par \hich\af39\dbch\af31505\loch\f39 * Downgrade - Arp temporarily removed from system while tcp-stack overhaul completed
 \par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.0.2   4/19/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296 
 \par \hich\af39\dbch\af31505\loch\f39 * Added IP-Phone
-\par \hich\af39\dbch\af31505\loch\f39 * Packets terminate at the far end - this makes it easier to see packets go both directions
+\par \hich\af39\dbch\af31505\loch\f39 * Packets terminate at the far end - this makes it easier to see packets go both dire\hich\af39\dbch\af31505\loch\f39 ctions
 \par \hich\af39\dbch\af31505\loch\f39 * Packets are randomized in transit - Allows packets to arrive at slightly different times
 \par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.0.1   4/11/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296 
 \par \hich\af39\dbch\af31505\loch\f39 * DHCP selection on nics is not functioning correctly
 \par \hich\af39\dbch\af31505\loch\f39 * Various small bug-fixes
 \par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.0.0   4/10/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296 
-\par \hich\af39\dbch\af31505\loch\f39 This is the initial alpha build
+\par \hich\af39\dbch\af31505\loch\f39 This is the initial al\hich\af39\dbch\af31505\loch\f39 pha build
 \par \hich\af39\dbch\af31505\loch\f39 * basic pinging
 \par \hich\af39\dbch\af31505\loch\f39 * basic arp
 \par \hich\af39\dbch\af31505\loch\f39 * Routers
@@ -464,8 +463,8 @@ fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffff
 ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
 ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
 ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
-ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e5000000000000000000000000a079
-4f77d7e6d201feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000
+ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e5000000000000000000000000b02d
+2eb72ee9d201feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000
 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000
 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000105000000000000}}
\ No newline at end of file