<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;CEMFQH88fyp7ImA9WhNaFUs.&quot;"><id>tag:blogger.com,1999:blog-7503353345181123469</id><updated>2013-01-30T08:13:31.177-08:00</updated><title>Mike's Technology and Finance Blog</title><subtitle type="html">Mike's Technology and Finance Blog covers a number of different topics in finance and technology. Most technical posts provide architecture, development, implementation, troubleshooting techniques for different Enterprise IT systems that run on the Windows, UNIX, and Linux platforms. Some posts also include my personal opinions and rants.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://mikemstech.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://mikemstech.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Mike Burr</name><uri>https://plus.google.com/116509990792258039224</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>116</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/MikesTechnologyBlog" /><feedburner:info uri="mikestechnologyblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>MikesTechnologyBlog</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><entry gd:etag="W/&quot;CEMFQH8zeyp7ImA9WhNaFUs.&quot;"><id>tag:blogger.com,1999:blog-7503353345181123469.post-2492858892550098190</id><published>2013-01-25T13:38:00.001-08:00</published><updated>2013-01-30T08:13:31.183-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-01-30T08:13:31.183-08:00</app:edited><title>Simple Sorting in .Net With Comparison and IComparer</title><content type="html">Sorting is an important piece for just about any programmer's job.      The ability to effectively search and sort often has a significant      impact on the execution time of a batch job and on the user's      measure of "responsiveness" in a traditional GUI or web based      application. There are a number of people that go through and write      their own implementations of common sorting algorithms (insertion      sort, bubble sort, merge sort, etc.), but I prefer to use built in      library functions whenever possible.&lt;br&gt;      &lt;br&gt;      Many of the collection types in System.Collections implement a      Sort() method that can be used to sort data in a (mostly) arbitrary      way. I say mostly in this case because an inconsistent comparison      may lead to an ArgumentException.&lt;br&gt;      &lt;br&gt;      There are a few basic rules to remember. Given a Comparison or      IComparer that compares objects x (the first argument) and y (the      second argument), the following may happen:&lt;br&gt;      &lt;ul&gt;        &lt;li&gt;If the comparison returns -1 (or any value less than 0),          object x will be placed before y.&lt;/li&gt;        &lt;li&gt;If the comparison returns 0, object x and y will retain their          positions.&lt;/li&gt;        &lt;li&gt;If the comparison returns 1 (or any value greater than 0),          object y will be placed before object x. &lt;/li&gt;      &lt;/ul&gt;      To begin, let's look at a very simple example of an ascending (low      -&amp;gt; high) sort and a descending (high -&amp;gt; low) sort (note that      the examples given here are given as Visual Studio Unit Tests):&lt;br&gt;      &lt;br&gt;      &lt;meta http-equiv="Content-Type" content="text/html;        charset=ISO-8859-1"&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;          [&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:#2B91AF;background:white;mso-highlight:white"&gt;TestMethod&lt;/span&gt;&lt;span          style="font-size:9.5pt;font-family:          Consolas;color:black;background:white;mso-highlight:white"&gt;]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span          style="font-size:9.5pt;  font-family:Consolas;color:blue;background:white;mso-highlight:white"&gt;public&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt; &lt;/span&gt;&lt;span          style="font-size:9.5pt;font-family:Consolas;          color:blue;background:white;mso-highlight:white"&gt;void&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt; AscendingSort()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span          style="font-size:9.5pt;  font-family:Consolas;color:#2B91AF;background:white;mso-highlight:white"&gt;List&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt;&amp;lt;&lt;/span&gt;&lt;span          style="font-size:9.5pt;font-family:Consolas;          color:blue;background:white;mso-highlight:white"&gt;int&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt;&amp;gt; unsorted = &lt;/span&gt;&lt;span          style="font-size:9.5pt;  font-family:Consolas;color:blue;background:white;mso-highlight:white"&gt;new&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt; &lt;/span&gt;&lt;span          style="font-size:9.5pt;font-family:Consolas;          color:#2B91AF;background:white;mso-highlight:white"&gt;List&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt;&amp;lt;&lt;/span&gt;&lt;span          style="font-size:9.5pt;font-family:Consolas;          color:blue;background:white;mso-highlight:white"&gt;int&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt;&amp;gt;(&lt;/span&gt;&lt;span          style="font-size:9.5pt;font-family:Consolas;          color:blue;background:white;mso-highlight:white"&gt;new&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt; &lt;/span&gt;&lt;span          style="font-size:9.5pt;font-family:Consolas;          color:blue;background:white;mso-highlight:white"&gt;int&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt;[] { 2, 1, 3 });&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;unsorted.Sort((x,          y) =&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:blue;background:white;mso-highlight:white"&gt;int&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt; retval;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:blue;background:white;mso-highlight:white"&gt;if&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt; (x &amp;lt; y) { retval = -1; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:blue;background:white;mso-highlight:white"&gt;else&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt; &lt;/span&gt;&lt;span          style="font-size:9.5pt;font-family:Consolas;          color:blue;background:white;mso-highlight:white"&gt;if&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt; (x == y) { retval = 0; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:blue;background:white;mso-highlight:white"&gt;else&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt; { retval = 1; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:blue;background:white;mso-highlight:white"&gt;return&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt; retval;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;});&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span          style="font-size:9.5pt;  font-family:Consolas;color:#2B91AF;background:white;mso-highlight:white"&gt;Assert&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt;.AreEqual(1, unsorted[0]);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span          style="font-size:9.5pt;  font-family:Consolas;color:#2B91AF;background:white;mso-highlight:white"&gt;Assert&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt;.AreEqual(2, unsorted[1]);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span          style="font-size:9.5pt;  font-family:Consolas;color:#2B91AF;background:white;mso-highlight:white"&gt;Assert&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt;.AreEqual(3, unsorted[2]);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"&gt;&lt;span          style="font-size:9.5pt;line-height:115%;font-family:          Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;      &lt;meta name="ProgId" content="Word.Document"&gt;      &lt;meta name="Generator" content="Microsoft Word 14"&gt;      &lt;meta name="Originator" content="Microsoft Word 14"&gt;      &lt;link rel="File-List"  href="file:///C:%5CUsers%5CADMINI%7E1%5CAppData%5CLocal%5CTemp%5C2%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"&gt;      &lt;!--[if gte mso 9]&gt;&lt;xml&gt;   &lt;o:OfficeDocumentSettings&gt;    &lt;o:AllowPNG/&gt;   &lt;/o:OfficeDocumentSettings&gt;  &lt;/xml&gt;&lt;![endif]--&gt;      &lt;link rel="themeData"  href="file:///C:%5CUsers%5CADMINI%7E1%5CAppData%5CLocal%5CTemp%5C2%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx"&gt;      &lt;link rel="colorSchemeMapping"  href="file:///C:%5CUsers%5CADMINI%7E1%5CAppData%5CLocal%5CTemp%5C2%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml"&gt;      &lt;!--[if gte mso 9]&gt;&lt;xml&gt;   &lt;w:WordDocument&gt;    &lt;w:View&gt;Normal&lt;/w:View&gt;    &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;    &lt;w:TrackMoves/&gt;    &lt;w:TrackFormatting/&gt;    &lt;w:PunctuationKerning/&gt;    &lt;w:ValidateAgainstSchemas/&gt;    &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;    &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;    &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;    &lt;w:DoNotPromoteQF/&gt;    &lt;w:LidThemeOther&gt;EN-US&lt;/w:LidThemeOther&gt;    &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;    &lt;w:LidThemeComplexScript&gt;AR-SA&lt;/w:LidThemeComplexScript&gt;    &lt;w:Compatibility&gt;     &lt;w:BreakWrappedTables/&gt;     &lt;w:SnapToGridInCell/&gt;     &lt;w:WrapTextWithPunct/&gt;     &lt;w:UseAsianBreakRules/&gt;     &lt;w:DontGrowAutofit/&gt;     &lt;w:SplitPgBreakAndParaMark/&gt;     &lt;w:EnableOpenTypeKerning/&gt;     &lt;w:DontFlipMirrorIndents/&gt;     &lt;w:OverrideTableStyleHps/&gt;    &lt;/w:Compatibility&gt;    &lt;m:mathPr&gt;     &lt;m:mathFont m:val="Cambria Math"/&gt;     &lt;m:brkBin m:val="before"/&gt;     &lt;m:brkBinSub m:val="&amp;#45;-"/&gt;     &lt;m:smallFrac m:val="off"/&gt;     &lt;m:dispDef/&gt;     &lt;m:lMargin m:val="0"/&gt;     &lt;m:rMargin m:val="0"/&gt;     &lt;m:defJc m:val="centerGroup"/&gt;     &lt;m:wrapIndent m:val="1440"/&gt;     &lt;m:intLim m:val="subSup"/&gt;     &lt;m:naryLim m:val="undOvr"/&gt;    &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt;  &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;   &lt;w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"    DefSemiHidden="true" DefQFormat="false" DefPriority="99"    LatentStyleCount="267"&gt;    &lt;w:LsdException Locked="false" Priority="0" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Normal"/&gt;    &lt;w:LsdException Locked="false" Priority="9" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="heading 1"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 1"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 2"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 3"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 4"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 5"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 6"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 7"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 8"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 9"/&gt;    &lt;w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/&gt;    &lt;w:LsdException Locked="false" Priority="10" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Title"/&gt;    &lt;w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/&gt;    &lt;w:LsdException Locked="false" Priority="11" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/&gt;    &lt;w:LsdException Locked="false" Priority="22" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Strong"/&gt;    &lt;w:LsdException Locked="false" Priority="20" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/&gt;    &lt;w:LsdException Locked="false" Priority="59" SemiHidden="false"     UnhideWhenUsed="false" Name="Table Grid"/&gt;    &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/&gt;    &lt;w:LsdException Locked="false" Priority="1" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/&gt;    &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/&gt;    &lt;w:LsdException Locked="false" Priority="34" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/&gt;    &lt;w:LsdException Locked="false" Priority="29" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Quote"/&gt;    &lt;w:LsdException Locked="false" Priority="30" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="19" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/&gt;    &lt;w:LsdException Locked="false" Priority="21" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/&gt;    &lt;w:LsdException Locked="false" Priority="31" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/&gt;    &lt;w:LsdException Locked="false" Priority="32" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/&gt;    &lt;w:LsdException Locked="false" Priority="33" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Book Title"/&gt;    &lt;w:LsdException Locked="false" Priority="37" Name="Bibliography"/&gt;    &lt;w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/&gt;   &lt;/w:LatentStyles&gt;  &lt;/xml&gt;&lt;![endif]--&gt;      &lt;style&gt;  &lt;!--   /* Font Definitions */   @font-face  	{font-family:Calibri;  	panose-1:2 15 5 2 2 2 4 3 2 4;  	mso-font-charset:0;  	mso-generic-font-family:swiss;  	mso-font-pitch:variable;  	mso-font-signature:-536870145 1073786111 1 0 415 0;}  @font-face  	{font-family:Consolas;  	panose-1:2 11 6 9 2 2 4 3 2 4;  	mso-font-charset:0;  	mso-generic-font-family:modern;  	mso-font-pitch:fixed;  	mso-font-signature:-520092929 1073806591 9 0 415 0;}   /* Style Definitions */   p.MsoNormal, li.MsoNormal, div.MsoNormal  	{mso-style-unhide:no;  	mso-style-qformat:yes;  	mso-style-parent:"";  	margin-top:0in;  	margin-right:0in;  	margin-bottom:10.0pt;  	margin-left:0in;  	line-height:115%;  	mso-pagination:widow-orphan;  	font-size:11.0pt;  	font-family:"Calibri","sans-serif";  	mso-ascii-font-family:Calibri;  	mso-ascii-theme-font:minor-latin;  	mso-fareast-font-family:Calibri;  	mso-fareast-theme-font:minor-latin;  	mso-hansi-font-family:Calibri;  	mso-hansi-theme-font:minor-latin;  	mso-bidi-font-family:Arial;  	mso-bidi-theme-font:minor-bidi;}  .MsoChpDefault  	{mso-style-type:export-only;  	mso-default-props:yes;  	font-family:"Calibri","sans-serif";  	mso-ascii-font-family:Calibri;  	mso-ascii-theme-font:minor-latin;  	mso-fareast-font-family:Calibri;  	mso-fareast-theme-font:minor-latin;  	mso-hansi-font-family:Calibri;  	mso-hansi-theme-font:minor-latin;  	mso-bidi-font-family:Arial;  	mso-bidi-theme-font:minor-bidi;}  .MsoPapDefault  	{mso-style-type:export-only;  	margin-bottom:10.0pt;  	line-height:115%;}  @page WordSection1  	{size:8.5in 11.0in;  	margin:1.0in 1.0in 1.0in 1.0in;  	mso-header-margin:.5in;  	mso-footer-margin:.5in;  	mso-paper-source:0;}  div.WordSection1  	{page:WordSection1;}  --&gt;  &lt;/style&gt;&lt;!--[if gte mso 10]&gt;  &lt;style&gt;   /* Style Definitions */   table.MsoNormalTable  	{mso-style-name:"Table Normal";  	mso-tstyle-rowband-size:0;  	mso-tstyle-colband-size:0;  	mso-style-noshow:yes;  	mso-style-priority:99;  	mso-style-parent:"";  	mso-padding-alt:0in 5.4pt 0in 5.4pt;  	mso-para-margin-top:0in;  	mso-para-margin-right:0in;  	mso-para-margin-bottom:10.0pt;  	mso-para-margin-left:0in;  	line-height:115%;  	mso-pagination:widow-orphan;  	font-size:11.0pt;  	font-family:"Calibri","sans-serif";  	mso-ascii-font-family:Calibri;  	mso-ascii-theme-font:minor-latin;  	mso-hansi-font-family:Calibri;  	mso-hansi-theme-font:minor-latin;}  &lt;/style&gt;  &lt;![endif]--&gt;&lt;br&gt;      &lt;meta http-equiv="Content-Type" content="text/html;        charset=ISO-8859-1"&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;[&lt;/span&gt;&lt;span          style="font-size:9.5pt;  font-family:Consolas;color:#2B91AF;background:white;mso-highlight:white"&gt;TestMethod&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt;]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span          style="font-size:9.5pt;  font-family:Consolas;color:blue;background:white;mso-highlight:white"&gt;public&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt; &lt;/span&gt;&lt;span          style="font-size:9.5pt;font-family:Consolas;          color:blue;background:white;mso-highlight:white"&gt;void&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt; DescendingSort()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span          style="font-size:9.5pt;  font-family:Consolas;color:#2B91AF;background:white;mso-highlight:white"&gt;List&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt;&amp;lt;&lt;/span&gt;&lt;span          style="font-size:9.5pt;font-family:Consolas;          color:blue;background:white;mso-highlight:white"&gt;int&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt;&amp;gt; unsorted = &lt;/span&gt;&lt;span          style="font-size:9.5pt;  font-family:Consolas;color:blue;background:white;mso-highlight:white"&gt;new&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt; &lt;/span&gt;&lt;span          style="font-size:9.5pt;font-family:Consolas;          color:#2B91AF;background:white;mso-highlight:white"&gt;List&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt;&amp;lt;&lt;/span&gt;&lt;span          style="font-size:9.5pt;font-family:Consolas;          color:blue;background:white;mso-highlight:white"&gt;int&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt;&amp;gt;(&lt;/span&gt;&lt;span          style="font-size:9.5pt;font-family:Consolas;          color:blue;background:white;mso-highlight:white"&gt;new&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt; &lt;/span&gt;&lt;span          style="font-size:9.5pt;font-family:Consolas;          color:blue;background:white;mso-highlight:white"&gt;int&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt;[] { 2, 1, 3 });&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;unsorted.Sort((x,          y) =&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:blue;background:white;mso-highlight:white"&gt;int&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt; retval;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span          style="font-size:9.5pt;  font-family:Consolas;color:blue;background:white;mso-highlight:white"&gt;if&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt; (x &amp;lt; y) { retval = 1; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:blue;background:white;mso-highlight:white"&gt;else&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt; &lt;/span&gt;&lt;span          style="font-size:9.5pt;font-family:Consolas;          color:blue;background:white;mso-highlight:white"&gt;if&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt; (x == y) { retval = 0; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:blue;background:white;mso-highlight:white"&gt;else&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt; { retval = -1; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:blue;background:white;mso-highlight:white"&gt;return&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt; retval;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;});&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span          style="font-size:9.5pt;  font-family:Consolas;color:#2B91AF;background:white;mso-highlight:white"&gt;Assert&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt;.AreEqual(3, unsorted[0]);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span          style="font-size:9.5pt;  font-family:Consolas;color:#2B91AF;background:white;mso-highlight:white"&gt;Assert&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt;.AreEqual(2, unsorted[1]);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span          style="font-size:9.5pt;  font-family:Consolas;color:#2B91AF;background:white;mso-highlight:white"&gt;Assert&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt;.AreEqual(1, unsorted[2]);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;meta name="ProgId" content="Word.Document"&gt;      &lt;meta name="Generator" content="Microsoft Word 14"&gt;      &lt;meta name="Originator" content="Microsoft Word 14"&gt;      &lt;link rel="File-List"  href="file:///C:%5CUsers%5CADMINI%7E1%5CAppData%5CLocal%5CTemp%5C2%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"&gt;      &lt;!--[if gte mso 9]&gt;&lt;xml&gt;   &lt;o:OfficeDocumentSettings&gt;    &lt;o:AllowPNG/&gt;   &lt;/o:OfficeDocumentSettings&gt;  &lt;/xml&gt;&lt;![endif]--&gt;      &lt;link rel="themeData"  href="file:///C:%5CUsers%5CADMINI%7E1%5CAppData%5CLocal%5CTemp%5C2%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx"&gt;      &lt;link rel="colorSchemeMapping"  href="file:///C:%5CUsers%5CADMINI%7E1%5CAppData%5CLocal%5CTemp%5C2%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml"&gt;      &lt;!--[if gte mso 9]&gt;&lt;xml&gt;   &lt;w:WordDocument&gt;    &lt;w:View&gt;Normal&lt;/w:View&gt;    &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;    &lt;w:TrackMoves/&gt;    &lt;w:TrackFormatting/&gt;    &lt;w:PunctuationKerning/&gt;    &lt;w:ValidateAgainstSchemas/&gt;    &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;    &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;    &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;    &lt;w:DoNotPromoteQF/&gt;    &lt;w:LidThemeOther&gt;EN-US&lt;/w:LidThemeOther&gt;    &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;    &lt;w:LidThemeComplexScript&gt;AR-SA&lt;/w:LidThemeComplexScript&gt;    &lt;w:Compatibility&gt;     &lt;w:BreakWrappedTables/&gt;     &lt;w:SnapToGridInCell/&gt;     &lt;w:WrapTextWithPunct/&gt;     &lt;w:UseAsianBreakRules/&gt;     &lt;w:DontGrowAutofit/&gt;     &lt;w:SplitPgBreakAndParaMark/&gt;     &lt;w:EnableOpenTypeKerning/&gt;     &lt;w:DontFlipMirrorIndents/&gt;     &lt;w:OverrideTableStyleHps/&gt;    &lt;/w:Compatibility&gt;    &lt;m:mathPr&gt;     &lt;m:mathFont m:val="Cambria Math"/&gt;     &lt;m:brkBin m:val="before"/&gt;     &lt;m:brkBinSub m:val="&amp;#45;-"/&gt;     &lt;m:smallFrac m:val="off"/&gt;     &lt;m:dispDef/&gt;     &lt;m:lMargin m:val="0"/&gt;     &lt;m:rMargin m:val="0"/&gt;     &lt;m:defJc m:val="centerGroup"/&gt;     &lt;m:wrapIndent m:val="1440"/&gt;     &lt;m:intLim m:val="subSup"/&gt;     &lt;m:naryLim m:val="undOvr"/&gt;    &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt;  &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;   &lt;w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"    DefSemiHidden="true" DefQFormat="false" DefPriority="99"    LatentStyleCount="267"&gt;    &lt;w:LsdException Locked="false" Priority="0" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Normal"/&gt;    &lt;w:LsdException Locked="false" Priority="9" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="heading 1"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 1"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 2"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 3"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 4"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 5"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 6"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 7"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 8"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 9"/&gt;    &lt;w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/&gt;    &lt;w:LsdException Locked="false" Priority="10" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Title"/&gt;    &lt;w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/&gt;    &lt;w:LsdException Locked="false" Priority="11" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/&gt;    &lt;w:LsdException Locked="false" Priority="22" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Strong"/&gt;    &lt;w:LsdException Locked="false" Priority="20" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/&gt;    &lt;w:LsdException Locked="false" Priority="59" SemiHidden="false"     UnhideWhenUsed="false" Name="Table Grid"/&gt;    &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/&gt;    &lt;w:LsdException Locked="false" Priority="1" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/&gt;    &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/&gt;    &lt;w:LsdException Locked="false" Priority="34" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/&gt;    &lt;w:LsdException Locked="false" Priority="29" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Quote"/&gt;    &lt;w:LsdException Locked="false" Priority="30" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="19" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/&gt;    &lt;w:LsdException Locked="false" Priority="21" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/&gt;    &lt;w:LsdException Locked="false" Priority="31" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/&gt;    &lt;w:LsdException Locked="false" Priority="32" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/&gt;    &lt;w:LsdException Locked="false" Priority="33" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Book Title"/&gt;    &lt;w:LsdException Locked="false" Priority="37" Name="Bibliography"/&gt;    &lt;w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/&gt;   &lt;/w:LatentStyles&gt;  &lt;/xml&gt;&lt;![endif]--&gt;      &lt;style&gt;  &lt;!--   /* Font Definitions */   @font-face  	{font-family:Calibri;  	panose-1:2 15 5 2 2 2 4 3 2 4;  	mso-font-charset:0;  	mso-generic-font-family:swiss;  	mso-font-pitch:variable;  	mso-font-signature:-536870145 1073786111 1 0 415 0;}  @font-face  	{font-family:Consolas;  	panose-1:2 11 6 9 2 2 4 3 2 4;  	mso-font-charset:0;  	mso-generic-font-family:modern;  	mso-font-pitch:fixed;  	mso-font-signature:-520092929 1073806591 9 0 415 0;}   /* Style Definitions */   p.MsoNormal, li.MsoNormal, div.MsoNormal  	{mso-style-unhide:no;  	mso-style-qformat:yes;  	mso-style-parent:"";  	margin-top:0in;  	margin-right:0in;  	margin-bottom:10.0pt;  	margin-left:0in;  	line-height:115%;  	mso-pagination:widow-orphan;  	font-size:11.0pt;  	font-family:"Calibri","sans-serif";  	mso-ascii-font-family:Calibri;  	mso-ascii-theme-font:minor-latin;  	mso-fareast-font-family:Calibri;  	mso-fareast-theme-font:minor-latin;  	mso-hansi-font-family:Calibri;  	mso-hansi-theme-font:minor-latin;  	mso-bidi-font-family:Arial;  	mso-bidi-theme-font:minor-bidi;}  .MsoChpDefault  	{mso-style-type:export-only;  	mso-default-props:yes;  	font-family:"Calibri","sans-serif";  	mso-ascii-font-family:Calibri;  	mso-ascii-theme-font:minor-latin;  	mso-fareast-font-family:Calibri;  	mso-fareast-theme-font:minor-latin;  	mso-hansi-font-family:Calibri;  	mso-hansi-theme-font:minor-latin;  	mso-bidi-font-family:Arial;  	mso-bidi-theme-font:minor-bidi;}  .MsoPapDefault  	{mso-style-type:export-only;  	margin-bottom:10.0pt;  	line-height:115%;}  @page WordSection1  	{size:8.5in 11.0in;  	margin:1.0in 1.0in 1.0in 1.0in;  	mso-header-margin:.5in;  	mso-footer-margin:.5in;  	mso-paper-source:0;}  div.WordSection1  	{page:WordSection1;}  --&gt;  &lt;/style&gt;&lt;!--[if gte mso 10]&gt;  &lt;style&gt;   /* Style Definitions */   table.MsoNormalTable  	{mso-style-name:"Table Normal";  	mso-tstyle-rowband-size:0;  	mso-tstyle-colband-size:0;  	mso-style-noshow:yes;  	mso-style-priority:99;  	mso-style-parent:"";  	mso-padding-alt:0in 5.4pt 0in 5.4pt;  	mso-para-margin-top:0in;  	mso-para-margin-right:0in;  	mso-para-margin-bottom:10.0pt;  	mso-para-margin-left:0in;  	line-height:115%;  	mso-pagination:widow-orphan;  	font-size:11.0pt;  	font-family:"Calibri","sans-serif";  	mso-ascii-font-family:Calibri;  	mso-ascii-theme-font:minor-latin;  	mso-hansi-font-family:Calibri;  	mso-hansi-theme-font:minor-latin;}  &lt;/style&gt;  &lt;![endif]--&gt;&lt;br&gt;      &lt;br&gt;      Since the integer types implement the IComparable interface, these      examples can be written more compactly as:&lt;br&gt;      &lt;br&gt;      &lt;meta http-equiv="Content-Type" content="text/html;        charset=ISO-8859-1"&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;          [&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:#2B91AF;background:white;mso-highlight:white"&gt;TestMethod&lt;/span&gt;&lt;span          style="font-size:9.5pt;font-family:          Consolas;color:black;background:white;mso-highlight:white"&gt;]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span          style="font-size:9.5pt;  font-family:Consolas;color:blue;background:white;mso-highlight:white"&gt;public&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt; &lt;/span&gt;&lt;span          style="font-size:9.5pt;font-family:Consolas;          color:blue;background:white;mso-highlight:white"&gt;void&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt; AscendingSort()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span          style="font-size:9.5pt;  font-family:Consolas;color:#2B91AF;background:white;mso-highlight:white"&gt;List&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt;&amp;lt;&lt;/span&gt;&lt;span          style="font-size:9.5pt;font-family:Consolas;          color:blue;background:white;mso-highlight:white"&gt;int&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt;&amp;gt; unsorted = &lt;/span&gt;&lt;span          style="font-size:9.5pt;  font-family:Consolas;color:blue;background:white;mso-highlight:white"&gt;new&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt; &lt;/span&gt;&lt;span          style="font-size:9.5pt;font-family:Consolas;          color:#2B91AF;background:white;mso-highlight:white"&gt;List&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt;&amp;lt;&lt;/span&gt;&lt;span          style="font-size:9.5pt;font-family:Consolas;          color:blue;background:white;mso-highlight:white"&gt;int&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt;&amp;gt;(&lt;/span&gt;&lt;span          style="font-size:9.5pt;font-family:Consolas;          color:blue;background:white;mso-highlight:white"&gt;new&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt; &lt;/span&gt;&lt;span          style="font-size:9.5pt;font-family:Consolas;          color:blue;background:white;mso-highlight:white"&gt;int&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt; [] { 2, 1, 3});&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;unsorted.Sort((x,          y) =&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:blue;background:white;mso-highlight:white"&gt;return&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt; x.CompareTo(y);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;});&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span          style="font-size:9.5pt;  font-family:Consolas;color:#2B91AF;background:white;mso-highlight:white"&gt;Assert&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt;.AreEqual(1, unsorted[0]);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span          style="font-size:9.5pt;  font-family:Consolas;color:#2B91AF;background:white;mso-highlight:white"&gt;Assert&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt;.AreEqual(2, unsorted[1]);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span          style="font-size:9.5pt;  font-family:Consolas;color:#2B91AF;background:white;mso-highlight:white"&gt;Assert&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt;.AreEqual(3, unsorted[2]);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;[&lt;/span&gt;&lt;span          style="font-size:9.5pt;  font-family:Consolas;color:#2B91AF;background:white;mso-highlight:white"&gt;TestMethod&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt;]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span          style="font-size:9.5pt;  font-family:Consolas;color:blue;background:white;mso-highlight:white"&gt;public&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt; &lt;/span&gt;&lt;span          style="font-size:9.5pt;font-family:Consolas;          color:blue;background:white;mso-highlight:white"&gt;void&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt; DescendingSort()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span          style="font-size:9.5pt;  font-family:Consolas;color:#2B91AF;background:white;mso-highlight:white"&gt;List&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt;&amp;lt;&lt;/span&gt;&lt;span          style="font-size:9.5pt;font-family:Consolas;          color:blue;background:white;mso-highlight:white"&gt;int&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt;&amp;gt; unsorted = &lt;/span&gt;&lt;span          style="font-size:9.5pt;  font-family:Consolas;color:blue;background:white;mso-highlight:white"&gt;new&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt; &lt;/span&gt;&lt;span          style="font-size:9.5pt;font-family:Consolas;          color:#2B91AF;background:white;mso-highlight:white"&gt;List&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt;&amp;lt;&lt;/span&gt;&lt;span          style="font-size:9.5pt;font-family:Consolas;          color:blue;background:white;mso-highlight:white"&gt;int&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt;&amp;gt;(&lt;/span&gt;&lt;span          style="font-size:9.5pt;font-family:Consolas;          color:blue;background:white;mso-highlight:white"&gt;new&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt; &lt;/span&gt;&lt;span          style="font-size:9.5pt;font-family:Consolas;          color:blue;background:white;mso-highlight:white"&gt;int&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt;[] { 2, 1, 3 });&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;unsorted.Sort((x,          y) =&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;        &lt;meta http-equiv="Content-Type" content="text/html;          charset=ISO-8859-1"&gt;      &lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;        &lt;meta name="ProgId" content="Word.Document"&gt;        &lt;meta name="Generator" content="Microsoft Word 14"&gt;        &lt;meta name="Originator" content="Microsoft Word 14"&gt;        &lt;link rel="File-List"  href="file:///C:%5CUsers%5CADMINI%7E1%5CAppData%5CLocal%5CTemp%5C2%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"&gt;        &lt;!--[if gte mso 9]&gt;&lt;xml&gt;   &lt;o:OfficeDocumentSettings&gt;    &lt;o:AllowPNG/&gt;   &lt;/o:OfficeDocumentSettings&gt;  &lt;/xml&gt;&lt;![endif]--&gt;        &lt;link rel="themeData"  href="file:///C:%5CUsers%5CADMINI%7E1%5CAppData%5CLocal%5CTemp%5C2%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx"&gt;        &lt;link rel="colorSchemeMapping"  href="file:///C:%5CUsers%5CADMINI%7E1%5CAppData%5CLocal%5CTemp%5C2%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml"&gt;        &lt;!--[if gte mso 9]&gt;&lt;xml&gt;   &lt;w:WordDocument&gt;    &lt;w:View&gt;Normal&lt;/w:View&gt;    &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;    &lt;w:TrackMoves/&gt;    &lt;w:TrackFormatting/&gt;    &lt;w:PunctuationKerning/&gt;    &lt;w:ValidateAgainstSchemas/&gt;    &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;    &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;    &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;    &lt;w:DoNotPromoteQF/&gt;    &lt;w:LidThemeOther&gt;EN-US&lt;/w:LidThemeOther&gt;    &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;    &lt;w:LidThemeComplexScript&gt;AR-SA&lt;/w:LidThemeComplexScript&gt;    &lt;w:Compatibility&gt;     &lt;w:BreakWrappedTables/&gt;     &lt;w:SnapToGridInCell/&gt;     &lt;w:WrapTextWithPunct/&gt;     &lt;w:UseAsianBreakRules/&gt;     &lt;w:DontGrowAutofit/&gt;     &lt;w:SplitPgBreakAndParaMark/&gt;     &lt;w:EnableOpenTypeKerning/&gt;     &lt;w:DontFlipMirrorIndents/&gt;     &lt;w:OverrideTableStyleHps/&gt;    &lt;/w:Compatibility&gt;    &lt;m:mathPr&gt;     &lt;m:mathFont m:val="Cambria Math"/&gt;     &lt;m:brkBin m:val="before"/&gt;     &lt;m:brkBinSub m:val="&amp;#45;-"/&gt;     &lt;m:smallFrac m:val="off"/&gt;     &lt;m:dispDef/&gt;     &lt;m:lMargin m:val="0"/&gt;     &lt;m:rMargin m:val="0"/&gt;     &lt;m:defJc m:val="centerGroup"/&gt;     &lt;m:wrapIndent m:val="1440"/&gt;     &lt;m:intLim m:val="subSup"/&gt;     &lt;m:naryLim m:val="undOvr"/&gt;    &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt;  &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;   &lt;w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"    DefSemiHidden="true" DefQFormat="false" DefPriority="99"    LatentStyleCount="267"&gt;    &lt;w:LsdException Locked="false" Priority="0" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Normal"/&gt;    &lt;w:LsdException Locked="false" Priority="9" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="heading 1"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 1"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 2"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 3"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 4"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 5"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 6"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 7"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 8"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 9"/&gt;    &lt;w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/&gt;    &lt;w:LsdException Locked="false" Priority="10" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Title"/&gt;    &lt;w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/&gt;    &lt;w:LsdException Locked="false" Priority="11" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/&gt;    &lt;w:LsdException Locked="false" Priority="22" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Strong"/&gt;    &lt;w:LsdException Locked="false" Priority="20" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/&gt;    &lt;w:LsdException Locked="false" Priority="59" SemiHidden="false"     UnhideWhenUsed="false" Name="Table Grid"/&gt;    &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/&gt;    &lt;w:LsdException Locked="false" Priority="1" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/&gt;    &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/&gt;    &lt;w:LsdException Locked="false" Priority="34" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/&gt;    &lt;w:LsdException Locked="false" Priority="29" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Quote"/&gt;    &lt;w:LsdException Locked="false" Priority="30" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="19" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/&gt;    &lt;w:LsdException Locked="false" Priority="21" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/&gt;    &lt;w:LsdException Locked="false" Priority="31" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/&gt;    &lt;w:LsdException Locked="false" Priority="32" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/&gt;    &lt;w:LsdException Locked="false" Priority="33" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Book Title"/&gt;    &lt;w:LsdException Locked="false" Priority="37" Name="Bibliography"/&gt;    &lt;w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/&gt;   &lt;/w:LatentStyles&gt;  &lt;/xml&gt;&lt;![endif]--&gt;        &lt;style&gt;  &lt;!--   /* Font Definitions */   @font-face  	{font-family:Calibri;  	panose-1:2 15 5 2 2 2 4 3 2 4;  	mso-font-charset:0;  	mso-generic-font-family:swiss;  	mso-font-pitch:variable;  	mso-font-signature:-536870145 1073786111 1 0 415 0;}  @font-face  	{font-family:Consolas;  	panose-1:2 11 6 9 2 2 4 3 2 4;  	mso-font-charset:0;  	mso-generic-font-family:modern;  	mso-font-pitch:fixed;  	mso-font-signature:-520092929 1073806591 9 0 415 0;}   /* Style Definitions */   p.MsoNormal, li.MsoNormal, div.MsoNormal  	{mso-style-unhide:no;  	mso-style-qformat:yes;  	mso-style-parent:"";  	margin-top:0in;  	margin-right:0in;  	margin-bottom:10.0pt;  	margin-left:0in;  	line-height:115%;  	mso-pagination:widow-orphan;  	font-size:11.0pt;  	font-family:"Calibri","sans-serif";  	mso-ascii-font-family:Calibri;  	mso-ascii-theme-font:minor-latin;  	mso-fareast-font-family:Calibri;  	mso-fareast-theme-font:minor-latin;  	mso-hansi-font-family:Calibri;  	mso-hansi-theme-font:minor-latin;  	mso-bidi-font-family:Arial;  	mso-bidi-theme-font:minor-bidi;}  .MsoChpDefault  	{mso-style-type:export-only;  	mso-default-props:yes;  	font-family:"Calibri","sans-serif";  	mso-ascii-font-family:Calibri;  	mso-ascii-theme-font:minor-latin;  	mso-fareast-font-family:Calibri;  	mso-fareast-theme-font:minor-latin;  	mso-hansi-font-family:Calibri;  	mso-hansi-theme-font:minor-latin;  	mso-bidi-font-family:Arial;  	mso-bidi-theme-font:minor-bidi;}  .MsoPapDefault  	{mso-style-type:export-only;  	margin-bottom:10.0pt;  	line-height:115%;}  @page WordSection1  	{size:8.5in 11.0in;  	margin:1.0in 1.0in 1.0in 1.0in;  	mso-header-margin:.5in;  	mso-footer-margin:.5in;  	mso-paper-source:0;}  div.WordSection1  	{page:WordSection1;}  --&gt;  &lt;/style&gt;&lt;!--[if gte mso 10]&gt;  &lt;style&gt;   /* Style Definitions */   table.MsoNormalTable  	{mso-style-name:"Table Normal";  	mso-tstyle-rowband-size:0;  	mso-tstyle-colband-size:0;  	mso-style-noshow:yes;  	mso-style-priority:99;  	mso-style-parent:"";  	mso-padding-alt:0in 5.4pt 0in 5.4pt;  	mso-para-margin-top:0in;  	mso-para-margin-right:0in;  	mso-para-margin-bottom:10.0pt;  	mso-para-margin-left:0in;  	line-height:115%;  	mso-pagination:widow-orphan;  	font-size:11.0pt;  	font-family:"Calibri","sans-serif";  	mso-ascii-font-family:Calibri;  	mso-ascii-theme-font:minor-latin;  	mso-hansi-font-family:Calibri;  	mso-hansi-theme-font:minor-latin;}  &lt;/style&gt;  &lt;![endif]--&gt;        &lt;p class="MsoNormal"&gt;&lt;span            style="font-size:9.5pt;line-height:115%;font-family:            Consolas;color:green;background:white;mso-highlight:white"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;            //could also be            written as y.CompareTo(x)&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;span            style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span              style="mso-spacerun:yes"&gt;&lt;br&gt;              &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:  9.5pt;font-family:Consolas;color:blue;background:white;mso-highlight:white"&gt;return&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;            mso-highlight:white"&gt; -1 * x.CompareTo(y);&lt;br&gt;            &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;});&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span          style="font-size:9.5pt;  font-family:Consolas;color:#2B91AF;background:white;mso-highlight:white"&gt;Assert&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt;.AreEqual(3, unsorted[0]);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span          style="font-size:9.5pt;  font-family:Consolas;color:#2B91AF;background:white;mso-highlight:white"&gt;Assert&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt;.AreEqual(2, unsorted[1]);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span          style="font-size:9.5pt;  font-family:Consolas;color:#2B91AF;background:white;mso-highlight:white"&gt;Assert&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt;.AreEqual(1, unsorted[2]);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"&gt;&lt;span          style="font-size:9.5pt;line-height:115%;font-family:          Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;br&gt;        &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;      &lt;meta name="ProgId" content="Word.Document"&gt;      &lt;meta name="Generator" content="Microsoft Word 14"&gt;      &lt;meta name="Originator" content="Microsoft Word 14"&gt;      &lt;link rel="File-List"  href="file:///C:%5CUsers%5CADMINI%7E1%5CAppData%5CLocal%5CTemp%5C2%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"&gt;      &lt;!--[if gte mso 9]&gt;&lt;xml&gt;   &lt;o:OfficeDocumentSettings&gt;    &lt;o:AllowPNG/&gt;   &lt;/o:OfficeDocumentSettings&gt;  &lt;/xml&gt;&lt;![endif]--&gt;      &lt;link rel="themeData"  href="file:///C:%5CUsers%5CADMINI%7E1%5CAppData%5CLocal%5CTemp%5C2%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx"&gt;      &lt;link rel="colorSchemeMapping"  href="file:///C:%5CUsers%5CADMINI%7E1%5CAppData%5CLocal%5CTemp%5C2%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml"&gt;      &lt;!--[if gte mso 9]&gt;&lt;xml&gt;   &lt;w:WordDocument&gt;    &lt;w:View&gt;Normal&lt;/w:View&gt;    &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;    &lt;w:TrackMoves/&gt;    &lt;w:TrackFormatting/&gt;    &lt;w:PunctuationKerning/&gt;    &lt;w:ValidateAgainstSchemas/&gt;    &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;    &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;    &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;    &lt;w:DoNotPromoteQF/&gt;    &lt;w:LidThemeOther&gt;EN-US&lt;/w:LidThemeOther&gt;    &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;    &lt;w:LidThemeComplexScript&gt;AR-SA&lt;/w:LidThemeComplexScript&gt;    &lt;w:Compatibility&gt;     &lt;w:BreakWrappedTables/&gt;     &lt;w:SnapToGridInCell/&gt;     &lt;w:WrapTextWithPunct/&gt;     &lt;w:UseAsianBreakRules/&gt;     &lt;w:DontGrowAutofit/&gt;     &lt;w:SplitPgBreakAndParaMark/&gt;     &lt;w:EnableOpenTypeKerning/&gt;     &lt;w:DontFlipMirrorIndents/&gt;     &lt;w:OverrideTableStyleHps/&gt;    &lt;/w:Compatibility&gt;    &lt;m:mathPr&gt;     &lt;m:mathFont m:val="Cambria Math"/&gt;     &lt;m:brkBin m:val="before"/&gt;     &lt;m:brkBinSub m:val="&amp;#45;-"/&gt;     &lt;m:smallFrac m:val="off"/&gt;     &lt;m:dispDef/&gt;     &lt;m:lMargin m:val="0"/&gt;     &lt;m:rMargin m:val="0"/&gt;     &lt;m:defJc m:val="centerGroup"/&gt;     &lt;m:wrapIndent m:val="1440"/&gt;     &lt;m:intLim m:val="subSup"/&gt;     &lt;m:naryLim m:val="undOvr"/&gt;    &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt;  &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;   &lt;w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"    DefSemiHidden="true" DefQFormat="false" DefPriority="99"    LatentStyleCount="267"&gt;    &lt;w:LsdException Locked="false" Priority="0" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Normal"/&gt;    &lt;w:LsdException Locked="false" Priority="9" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="heading 1"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 1"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 2"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 3"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 4"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 5"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 6"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 7"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 8"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 9"/&gt;    &lt;w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/&gt;    &lt;w:LsdException Locked="false" Priority="10" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Title"/&gt;    &lt;w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/&gt;    &lt;w:LsdException Locked="false" Priority="11" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/&gt;    &lt;w:LsdException Locked="false" Priority="22" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Strong"/&gt;    &lt;w:LsdException Locked="false" Priority="20" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/&gt;    &lt;w:LsdException Locked="false" Priority="59" SemiHidden="false"     UnhideWhenUsed="false" Name="Table Grid"/&gt;    &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/&gt;    &lt;w:LsdException Locked="false" Priority="1" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/&gt;    &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/&gt;    &lt;w:LsdException Locked="false" Priority="34" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/&gt;    &lt;w:LsdException Locked="false" Priority="29" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Quote"/&gt;    &lt;w:LsdException Locked="false" Priority="30" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="19" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/&gt;    &lt;w:LsdException Locked="false" Priority="21" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/&gt;    &lt;w:LsdException Locked="false" Priority="31" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/&gt;    &lt;w:LsdException Locked="false" Priority="32" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/&gt;    &lt;w:LsdException Locked="false" Priority="33" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Book Title"/&gt;    &lt;w:LsdException Locked="false" Priority="37" Name="Bibliography"/&gt;    &lt;w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/&gt;   &lt;/w:LatentStyles&gt;  &lt;/xml&gt;&lt;![endif]--&gt;      &lt;style&gt;  &lt;!--   /* Font Definitions */   @font-face  	{font-family:Calibri;  	panose-1:2 15 5 2 2 2 4 3 2 4;  	mso-font-charset:0;  	mso-generic-font-family:swiss;  	mso-font-pitch:variable;  	mso-font-signature:-536870145 1073786111 1 0 415 0;}  @font-face  	{font-family:Consolas;  	panose-1:2 11 6 9 2 2 4 3 2 4;  	mso-font-charset:0;  	mso-generic-font-family:modern;  	mso-font-pitch:fixed;  	mso-font-signature:-520092929 1073806591 9 0 415 0;}   /* Style Definitions */   p.MsoNormal, li.MsoNormal, div.MsoNormal  	{mso-style-unhide:no;  	mso-style-qformat:yes;  	mso-style-parent:"";  	margin-top:0in;  	margin-right:0in;  	margin-bottom:10.0pt;  	margin-left:0in;  	line-height:115%;  	mso-pagination:widow-orphan;  	font-size:11.0pt;  	font-family:"Calibri","sans-serif";  	mso-ascii-font-family:Calibri;  	mso-ascii-theme-font:minor-latin;  	mso-fareast-font-family:Calibri;  	mso-fareast-theme-font:minor-latin;  	mso-hansi-font-family:Calibri;  	mso-hansi-theme-font:minor-latin;  	mso-bidi-font-family:Arial;  	mso-bidi-theme-font:minor-bidi;}  .MsoChpDefault  	{mso-style-type:export-only;  	mso-default-props:yes;  	font-family:"Calibri","sans-serif";  	mso-ascii-font-family:Calibri;  	mso-ascii-theme-font:minor-latin;  	mso-fareast-font-family:Calibri;  	mso-fareast-theme-font:minor-latin;  	mso-hansi-font-family:Calibri;  	mso-hansi-theme-font:minor-latin;  	mso-bidi-font-family:Arial;  	mso-bidi-theme-font:minor-bidi;}  .MsoPapDefault  	{mso-style-type:export-only;  	margin-bottom:10.0pt;  	line-height:115%;}  @page WordSection1  	{size:8.5in 11.0in;  	margin:1.0in 1.0in 1.0in 1.0in;  	mso-header-margin:.5in;  	mso-footer-margin:.5in;  	mso-paper-source:0;}  div.WordSection1  	{page:WordSection1;}  --&gt;  &lt;/style&gt;&lt;!--[if gte mso 10]&gt;  &lt;style&gt;   /* Style Definitions */   table.MsoNormalTable  	{mso-style-name:"Table Normal";  	mso-tstyle-rowband-size:0;  	mso-tstyle-colband-size:0;  	mso-style-noshow:yes;  	mso-style-priority:99;  	mso-style-parent:"";  	mso-padding-alt:0in 5.4pt 0in 5.4pt;  	mso-para-margin-top:0in;  	mso-para-margin-right:0in;  	mso-para-margin-bottom:10.0pt;  	mso-para-margin-left:0in;  	line-height:115%;  	mso-pagination:widow-orphan;  	font-size:11.0pt;  	font-family:"Calibri","sans-serif";  	mso-ascii-font-family:Calibri;  	mso-ascii-theme-font:minor-latin;  	mso-hansi-font-family:Calibri;  	mso-hansi-theme-font:minor-latin;}  &lt;/style&gt;  &lt;![endif]--&gt;&lt;br&gt;      It should be noted that if a collection contains objects that do not      implement IComparable, the Sort() method will throw an      InvalidOperationException unless a custom Comparison delegate or      implementation of IComparer is used. People often run into this with      List&amp;lt;T&amp;gt; and ArrayList&amp;lt;T&amp;gt;, among other specialized types.&lt;br&gt;      &lt;br&gt;      Up until now, I've demonstrated using a System.Comparison delegate      with the Sort() method. Here is an example of a class that      implements IComparer and its use in a corresponding Sort()      operation:&lt;br&gt;      &lt;br&gt;      &lt;meta http-equiv="Content-Type" content="text/html;        charset=ISO-8859-1"&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span          style="font-size:9.5pt;  font-family:Consolas;color:blue;background:white;mso-highlight:white"&gt;public&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt; &lt;/span&gt;&lt;span          style="font-size:9.5pt;font-family:Consolas;          color:blue;background:white;mso-highlight:white"&gt;class&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt; &lt;/span&gt;&lt;span          style="font-size:9.5pt;font-family:Consolas;          color:#2B91AF;background:white;mso-highlight:white"&gt;AscendingComparison&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt; : &lt;/span&gt;&lt;span          style="font-size:9.5pt;font-family:Consolas;          color:#2B91AF;background:white;mso-highlight:white"&gt;IComparer&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt;&amp;lt;&lt;/span&gt;&lt;span          style="font-size:9.5pt;font-family:Consolas;          color:blue;background:white;mso-highlight:white"&gt;int&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span          style="font-size:9.5pt;  font-family:Consolas;color:blue;background:white;mso-highlight:white"&gt;public&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt; &lt;/span&gt;&lt;span          style="font-size:9.5pt;font-family:Consolas;          color:blue;background:white;mso-highlight:white"&gt;int&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt; Compare(&lt;/span&gt;&lt;span          style="font-size:9.5pt;font-family:          Consolas;color:blue;background:white;mso-highlight:white"&gt;int&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt; x, &lt;/span&gt;&lt;span          style="font-size:9.5pt;font-family:Consolas;          color:blue;background:white;mso-highlight:white"&gt;int&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt; y)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span          style="font-size:9.5pt;  font-family:Consolas;color:blue;background:white;mso-highlight:white"&gt;return&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt; x &amp;lt; y ? -1 : x == y ? 0 : 1;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;span  style="font-size:9.5pt;line-height:115%;font-family:Consolas;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;color:black;background:white;  mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:EN-US;        mso-bidi-language:AR-SA"&gt;&lt;span style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;br&gt;        &lt;br&gt;      &lt;/span&gt;&lt;br&gt;      &lt;meta http-equiv="Content-Type" content="text/html;        charset=ISO-8859-1"&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;          [&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:#2B91AF;background:white;mso-highlight:white"&gt;TestMethod&lt;/span&gt;&lt;span          style="font-size:9.5pt;font-family:          Consolas;color:black;background:white;mso-highlight:white"&gt;]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span          style="font-size:9.5pt;  font-family:Consolas;color:blue;background:white;mso-highlight:white"&gt;public&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt; &lt;/span&gt;&lt;span          style="font-size:9.5pt;font-family:Consolas;          color:blue;background:white;mso-highlight:white"&gt;void&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt; AscendingSort()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span          style="font-size:9.5pt;  font-family:Consolas;color:#2B91AF;background:white;mso-highlight:white"&gt;List&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt;&amp;lt;&lt;/span&gt;&lt;span          style="font-size:9.5pt;font-family:Consolas;          color:blue;background:white;mso-highlight:white"&gt;int&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt;&amp;gt; unsorted = &lt;/span&gt;&lt;span          style="font-size:9.5pt;  font-family:Consolas;color:blue;background:white;mso-highlight:white"&gt;new&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt; &lt;/span&gt;&lt;span          style="font-size:9.5pt;font-family:Consolas;          color:#2B91AF;background:white;mso-highlight:white"&gt;List&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt;&amp;lt;&lt;/span&gt;&lt;span          style="font-size:9.5pt;font-family:Consolas;          color:blue;background:white;mso-highlight:white"&gt;int&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt;&amp;gt;(&lt;/span&gt;&lt;span          style="font-size:9.5pt;font-family:Consolas;          color:blue;background:white;mso-highlight:white"&gt;new&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt; &lt;/span&gt;&lt;span          style="font-size:9.5pt;font-family:Consolas;          color:blue;background:white;mso-highlight:white"&gt;int&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt; [] { 2, 1, 3});&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;unsorted.Sort(&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:blue;background:white;          mso-highlight:white"&gt;new&lt;/span&gt;&lt;span          style="font-size:9.5pt;font-family:Consolas;          color:black;background:white;mso-highlight:white"&gt; &lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:#2B91AF;background:white;          mso-highlight:white"&gt;AscendingComparison&lt;/span&gt;&lt;span          style="font-size:9.5pt;  font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;());&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span          style="font-size:9.5pt;  font-family:Consolas;color:#2B91AF;background:white;mso-highlight:white"&gt;Assert&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt;.AreEqual(1, unsorted[0]);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span          style="font-size:9.5pt;  font-family:Consolas;color:#2B91AF;background:white;mso-highlight:white"&gt;Assert&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt;.AreEqual(2, unsorted[1]);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"        style="margin-bottom:0in;margin-bottom:.0001pt;line-height:        normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span          style="font-size:  9.5pt;font-family:Consolas;color:black;background:white;mso-highlight:white"&gt;&lt;span            style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span          style="font-size:9.5pt;  font-family:Consolas;color:#2B91AF;background:white;mso-highlight:white"&gt;Assert&lt;/span&gt;&lt;span  style="font-size:9.5pt;font-family:Consolas;color:black;background:white;          mso-highlight:white"&gt;.AreEqual(3, unsorted[2]);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;span  style="font-size:9.5pt;line-height:115%;font-family:Consolas;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;color:black;background:white;  mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:EN-US;        mso-bidi-language:AR-SA"&gt;&lt;span style="mso-spacerun:yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;      &lt;meta name="ProgId" content="Word.Document"&gt;      &lt;meta name="Generator" content="Microsoft Word 14"&gt;      &lt;meta name="Originator" content="Microsoft Word 14"&gt;      &lt;link rel="File-List"  href="file:///C:%5CUsers%5CADMINI%7E1%5CAppData%5CLocal%5CTemp%5C2%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"&gt;      &lt;!--[if gte mso 9]&gt;&lt;xml&gt;   &lt;o:OfficeDocumentSettings&gt;    &lt;o:AllowPNG/&gt;   &lt;/o:OfficeDocumentSettings&gt;  &lt;/xml&gt;&lt;![endif]--&gt;      &lt;link rel="themeData"  href="file:///C:%5CUsers%5CADMINI%7E1%5CAppData%5CLocal%5CTemp%5C2%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx"&gt;      &lt;link rel="colorSchemeMapping"  href="file:///C:%5CUsers%5CADMINI%7E1%5CAppData%5CLocal%5CTemp%5C2%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml"&gt;      &lt;!--[if gte mso 9]&gt;&lt;xml&gt;   &lt;w:WordDocument&gt;    &lt;w:View&gt;Normal&lt;/w:View&gt;    &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;    &lt;w:TrackMoves/&gt;    &lt;w:TrackFormatting/&gt;    &lt;w:PunctuationKerning/&gt;    &lt;w:ValidateAgainstSchemas/&gt;    &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;    &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;    &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;    &lt;w:DoNotPromoteQF/&gt;    &lt;w:LidThemeOther&gt;EN-US&lt;/w:LidThemeOther&gt;    &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;    &lt;w:LidThemeComplexScript&gt;AR-SA&lt;/w:LidThemeComplexScript&gt;    &lt;w:Compatibility&gt;     &lt;w:BreakWrappedTables/&gt;     &lt;w:SnapToGridInCell/&gt;     &lt;w:WrapTextWithPunct/&gt;     &lt;w:UseAsianBreakRules/&gt;     &lt;w:DontGrowAutofit/&gt;     &lt;w:SplitPgBreakAndParaMark/&gt;     &lt;w:EnableOpenTypeKerning/&gt;     &lt;w:DontFlipMirrorIndents/&gt;     &lt;w:OverrideTableStyleHps/&gt;    &lt;/w:Compatibility&gt;    &lt;m:mathPr&gt;     &lt;m:mathFont m:val="Cambria Math"/&gt;     &lt;m:brkBin m:val="before"/&gt;     &lt;m:brkBinSub m:val="&amp;#45;-"/&gt;     &lt;m:smallFrac m:val="off"/&gt;     &lt;m:dispDef/&gt;     &lt;m:lMargin m:val="0"/&gt;     &lt;m:rMargin m:val="0"/&gt;     &lt;m:defJc m:val="centerGroup"/&gt;     &lt;m:wrapIndent m:val="1440"/&gt;     &lt;m:intLim m:val="subSup"/&gt;     &lt;m:naryLim m:val="undOvr"/&gt;    &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt;  &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;   &lt;w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"    DefSemiHidden="true" DefQFormat="false" DefPriority="99"    LatentStyleCount="267"&gt;    &lt;w:LsdException Locked="false" Priority="0" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Normal"/&gt;    &lt;w:LsdException Locked="false" Priority="9" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="heading 1"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 1"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 2"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 3"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 4"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 5"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 6"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 7"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 8"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 9"/&gt;    &lt;w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/&gt;    &lt;w:LsdException Locked="false" Priority="10" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Title"/&gt;    &lt;w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/&gt;    &lt;w:LsdException Locked="false" Priority="11" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/&gt;    &lt;w:LsdException Locked="false" Priority="22" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Strong"/&gt;    &lt;w:LsdException Locked="false" Priority="20" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/&gt;    &lt;w:LsdException Locked="false" Priority="59" SemiHidden="false"     UnhideWhenUsed="false" Name="Table Grid"/&gt;    &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/&gt;    &lt;w:LsdException Locked="false" Priority="1" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/&gt;    &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/&gt;    &lt;w:LsdException Locked="false" Priority="34" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/&gt;    &lt;w:LsdException Locked="false" Priority="29" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Quote"/&gt;    &lt;w:LsdException Locked="false" Priority="30" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="19" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/&gt;    &lt;w:LsdException Locked="false" Priority="21" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/&gt;    &lt;w:LsdException Locked="false" Priority="31" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/&gt;    &lt;w:LsdException Locked="false" Priority="32" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/&gt;    &lt;w:LsdException Locked="false" Priority="33" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Book Title"/&gt;    &lt;w:LsdException Locked="false" Priority="37" Name="Bibliography"/&gt;    &lt;w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/&gt;   &lt;/w:LatentStyles&gt;  &lt;/xml&gt;&lt;![endif]--&gt;      &lt;style&gt;  &lt;!--   /* Font Definitions */   @font-face  	{font-family:Calibri;  	panose-1:2 15 5 2 2 2 4 3 2 4;  	mso-font-charset:0;  	mso-generic-font-family:swiss;  	mso-font-pitch:variable;  	mso-font-signature:-536870145 1073786111 1 0 415 0;}  @font-face  	{font-family:Consolas;  	panose-1:2 11 6 9 2 2 4 3 2 4;  	mso-font-charset:0;  	mso-generic-font-family:modern;  	mso-font-pitch:fixed;  	mso-font-signature:-520092929 1073806591 9 0 415 0;}   /* Style Definitions */   p.MsoNormal, li.MsoNormal, div.MsoNormal  	{mso-style-unhide:no;  	mso-style-qformat:yes;  	mso-style-parent:"";  	margin-top:0in;  	margin-right:0in;  	margin-bottom:10.0pt;  	margin-left:0in;  	line-height:115%;  	mso-pagination:widow-orphan;  	font-size:11.0pt;  	font-family:"Calibri","sans-serif";  	mso-ascii-font-family:Calibri;  	mso-ascii-theme-font:minor-latin;  	mso-fareast-font-family:Calibri;  	mso-fareast-theme-font:minor-latin;  	mso-hansi-font-family:Calibri;  	mso-hansi-theme-font:minor-latin;  	mso-bidi-font-family:Arial;  	mso-bidi-theme-font:minor-bidi;}  .MsoChpDefault  	{mso-style-type:export-only;  	mso-default-props:yes;  	font-family:"Calibri","sans-serif";  	mso-ascii-font-family:Calibri;  	mso-ascii-theme-font:minor-latin;  	mso-fareast-font-family:Calibri;  	mso-fareast-theme-font:minor-latin;  	mso-hansi-font-family:Calibri;  	mso-hansi-theme-font:minor-latin;  	mso-bidi-font-family:Arial;  	mso-bidi-theme-font:minor-bidi;}  .MsoPapDefault  	{mso-style-type:export-only;  	margin-bottom:10.0pt;  	line-height:115%;}  @page WordSection1  	{size:8.5in 11.0in;  	margin:1.0in 1.0in 1.0in 1.0in;  	mso-header-margin:.5in;  	mso-footer-margin:.5in;  	mso-paper-source:0;}  div.WordSection1  	{page:WordSection1;}  --&gt;  &lt;/style&gt;&lt;!--[if gte mso 10]&gt;  &lt;style&gt;   /* Style Definitions */   table.MsoNormalTable  	{mso-style-name:"Table Normal";  	mso-tstyle-rowband-size:0;  	mso-tstyle-colband-size:0;  	mso-style-noshow:yes;  	mso-style-priority:99;  	mso-style-parent:"";  	mso-padding-alt:0in 5.4pt 0in 5.4pt;  	mso-para-margin-top:0in;  	mso-para-margin-right:0in;  	mso-para-margin-bottom:10.0pt;  	mso-para-margin-left:0in;  	line-height:115%;  	mso-pagination:widow-orphan;  	font-size:11.0pt;  	font-family:"Calibri","sans-serif";  	mso-ascii-font-family:Calibri;  	mso-ascii-theme-font:minor-latin;  	mso-hansi-font-family:Calibri;  	mso-hansi-theme-font:minor-latin;}  &lt;/style&gt;  &lt;![endif]--&gt;      &lt;meta name="ProgId" content="Word.Document"&gt;      &lt;meta name="Generator" content="Microsoft Word 14"&gt;      &lt;meta name="Originator" content="Microsoft Word 14"&gt;      &lt;link rel="File-List"  href="file:///C:%5CUsers%5CADMINI%7E1%5CAppData%5CLocal%5CTemp%5C2%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"&gt;      &lt;!--[if gte mso 9]&gt;&lt;xml&gt;   &lt;o:OfficeDocumentSettings&gt;    &lt;o:AllowPNG/&gt;   &lt;/o:OfficeDocumentSettings&gt;  &lt;/xml&gt;&lt;![endif]--&gt;      &lt;link rel="themeData"  href="file:///C:%5CUsers%5CADMINI%7E1%5CAppData%5CLocal%5CTemp%5C2%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx"&gt;      &lt;link rel="colorSchemeMapping"  href="file:///C:%5CUsers%5CADMINI%7E1%5CAppData%5CLocal%5CTemp%5C2%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml"&gt;      &lt;!--[if gte mso 9]&gt;&lt;xml&gt;   &lt;w:WordDocument&gt;    &lt;w:View&gt;Normal&lt;/w:View&gt;    &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;    &lt;w:TrackMoves/&gt;    &lt;w:TrackFormatting/&gt;    &lt;w:PunctuationKerning/&gt;    &lt;w:ValidateAgainstSchemas/&gt;    &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;    &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;    &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;    &lt;w:DoNotPromoteQF/&gt;    &lt;w:LidThemeOther&gt;EN-US&lt;/w:LidThemeOther&gt;    &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;    &lt;w:LidThemeComplexScript&gt;AR-SA&lt;/w:LidThemeComplexScript&gt;    &lt;w:Compatibility&gt;     &lt;w:BreakWrappedTables/&gt;     &lt;w:SnapToGridInCell/&gt;     &lt;w:WrapTextWithPunct/&gt;     &lt;w:UseAsianBreakRules/&gt;     &lt;w:DontGrowAutofit/&gt;     &lt;w:SplitPgBreakAndParaMark/&gt;     &lt;w:EnableOpenTypeKerning/&gt;     &lt;w:DontFlipMirrorIndents/&gt;     &lt;w:OverrideTableStyleHps/&gt;    &lt;/w:Compatibility&gt;    &lt;m:mathPr&gt;     &lt;m:mathFont m:val="Cambria Math"/&gt;     &lt;m:brkBin m:val="before"/&gt;     &lt;m:brkBinSub m:val="&amp;#45;-"/&gt;     &lt;m:smallFrac m:val="off"/&gt;     &lt;m:dispDef/&gt;     &lt;m:lMargin m:val="0"/&gt;     &lt;m:rMargin m:val="0"/&gt;     &lt;m:defJc m:val="centerGroup"/&gt;     &lt;m:wrapIndent m:val="1440"/&gt;     &lt;m:intLim m:val="subSup"/&gt;     &lt;m:naryLim m:val="undOvr"/&gt;    &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt;  &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;   &lt;w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"    DefSemiHidden="true" DefQFormat="false" DefPriority="99"    LatentStyleCount="267"&gt;    &lt;w:LsdException Locked="false" Priority="0" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Normal"/&gt;    &lt;w:LsdException Locked="false" Priority="9" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="heading 1"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 1"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 2"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 3"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 4"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 5"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 6"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 7"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 8"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 9"/&gt;    &lt;w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/&gt;    &lt;w:LsdException Locked="false" Priority="10" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Title"/&gt;    &lt;w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/&gt;    &lt;w:LsdException Locked="false" Priority="11" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/&gt;    &lt;w:LsdException Locked="false" Priority="22" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Strong"/&gt;    &lt;w:LsdException Locked="false" Priority="20" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/&gt;    &lt;w:LsdException Locked="false" Priority="59" SemiHidden="false"     UnhideWhenUsed="false" Name="Table Grid"/&gt;    &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/&gt;    &lt;w:LsdException Locked="false" Priority="1" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/&gt;    &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/&gt;    &lt;w:LsdException Locked="false" Priority="34" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/&gt;    &lt;w:LsdException Locked="false" Priority="29" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Quote"/&gt;    &lt;w:LsdException Locked="false" Priority="30" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="19" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/&gt;    &lt;w:LsdException Locked="false" Priority="21" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/&gt;    &lt;w:LsdException Locked="false" Priority="31" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/&gt;    &lt;w:LsdException Locked="false" Priority="32" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/&gt;    &lt;w:LsdException Locked="false" Priority="33" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Book Title"/&gt;    &lt;w:LsdException Locked="false" Priority="37" Name="Bibliography"/&gt;    &lt;w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/&gt;   &lt;/w:LatentStyles&gt;  &lt;/xml&gt;&lt;![endif]--&gt;      &lt;style&gt;  &lt;!--   /* Font Definitions */   @font-face  	{font-family:Calibri;  	panose-1:2 15 5 2 2 2 4 3 2 4;  	mso-font-charset:0;  	mso-generic-font-family:swiss;  	mso-font-pitch:variable;  	mso-font-signature:-536870145 1073786111 1 0 415 0;}  @font-face  	{font-family:Consolas;  	panose-1:2 11 6 9 2 2 4 3 2 4;  	mso-font-charset:0;  	mso-generic-font-family:modern;  	mso-font-pitch:fixed;  	mso-font-signature:-520092929 1073806591 9 0 415 0;}   /* Style Definitions */   p.MsoNormal, li.MsoNormal, div.MsoNormal  	{mso-style-unhide:no;  	mso-style-qformat:yes;  	mso-style-parent:"";  	margin-top:0in;  	margin-right:0in;  	margin-bottom:10.0pt;  	margin-left:0in;  	line-height:115%;  	mso-pagination:widow-orphan;  	font-size:11.0pt;  	font-family:"Calibri","sans-serif";  	mso-ascii-font-family:Calibri;  	mso-ascii-theme-font:minor-latin;  	mso-fareast-font-family:Calibri;  	mso-fareast-theme-font:minor-latin;  	mso-hansi-font-family:Calibri;  	mso-hansi-theme-font:minor-latin;  	mso-bidi-font-family:Arial;  	mso-bidi-theme-font:minor-bidi;}  .MsoChpDefault  	{mso-style-type:export-only;  	mso-default-props:yes;  	font-family:"Calibri","sans-serif";  	mso-ascii-font-family:Calibri;  	mso-ascii-theme-font:minor-latin;  	mso-fareast-font-family:Calibri;  	mso-fareast-theme-font:minor-latin;  	mso-hansi-font-family:Calibri;  	mso-hansi-theme-font:minor-latin;  	mso-bidi-font-family:Arial;  	mso-bidi-theme-font:minor-bidi;}  .MsoPapDefault  	{mso-style-type:export-only;  	margin-bottom:10.0pt;  	line-height:115%;}  @page WordSection1  	{size:8.5in 11.0in;  	margin:1.0in 1.0in 1.0in 1.0in;  	mso-header-margin:.5in;  	mso-footer-margin:.5in;  	mso-paper-source:0;}  div.WordSection1  	{page:WordSection1;}  --&gt;  &lt;/style&gt;&lt;!--[if gte mso 10]&gt;  &lt;style&gt;   /* Style Definitions */   table.MsoNormalTable  	{mso-style-name:"Table Normal";  	mso-tstyle-rowband-size:0;  	mso-tstyle-colband-size:0;  	mso-style-noshow:yes;  	mso-style-priority:99;  	mso-style-parent:"";  	mso-padding-alt:0in 5.4pt 0in 5.4pt;  	mso-para-margin-top:0in;  	mso-para-margin-right:0in;  	mso-para-margin-bottom:10.0pt;  	mso-para-margin-left:0in;  	line-height:115%;  	mso-pagination:widow-orphan;  	font-size:11.0pt;  	font-family:"Calibri","sans-serif";  	mso-ascii-font-family:Calibri;  	mso-ascii-theme-font:minor-latin;  	mso-hansi-font-family:Calibri;  	mso-hansi-theme-font:minor-latin;}  &lt;/style&gt;  &lt;![endif]--&gt;&lt;br&gt;      &lt;br&gt;      As a general pattern, the delegate form makes the most sense in      simple code that is not expected to be reused (potentially with the      transaction script pattern) because it is potentially difficult to      modify if it becomes spread across multiple locations. More complex      code (think object composition and more complex design patterns) or      code that requires the ability to define a sort at runtime should      implement IComparer in a different class that can be reused and      centrally modified as necessary. &lt;br&gt;      &lt;br&gt;      In the next set of examples, I'll look at more complex sorting      scenarios.&lt;br&gt;      &lt;br&gt;      &lt;br&gt;      &lt;br&gt;    &lt;img src="http://feeds.feedburner.com/~r/MikesTechnologyBlog/~4/rhilgAnSfIU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mikemstech.blogspot.com/feeds/2492858892550098190/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mikemstech.blogspot.com/2013/01/simple-sorting-in-net-with-comparison.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/2492858892550098190?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/2492858892550098190?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MikesTechnologyBlog/~3/rhilgAnSfIU/simple-sorting-in-net-with-comparison.html" title="Simple Sorting in .Net With Comparison and IComparer" /><author><name>Mike Burr</name><uri>https://plus.google.com/116509990792258039224</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://mikemstech.blogspot.com/2013/01/simple-sorting-in-net-with-comparison.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A04BRHkzeip7ImA9WhNaEUk.&quot;"><id>tag:blogger.com,1999:blog-7503353345181123469.post-6525398056217387248</id><published>2013-01-22T07:11:00.001-08:00</published><updated>2013-01-25T13:39:15.782-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-01-25T13:39:15.782-08:00</app:edited><title>Strange Amazon Ads</title><content type="html">I don't usually pay too much attention to ads on the Internet, but a      recent Amazon ad caught my eye and has caused me some confusion.      I've been studying a bit on facial expression, facial action (based      off of the work of Dr. Paul Ekman), microexpressions, and lie      detection and there are a number of emotions that have been found to      be universal. Before I go too much further, look at the following ad      and interpret the emotion shown in the top picture.&lt;br&gt;      &lt;br&gt;      &lt;a href="http://3.bp.blogspot.com/-qt56ctPBRfM/UP6sOwyX2kI/AAAAAAAAAyg/qwZ1HpyoNXc/s1600/bddjbeac-715097.png"&gt;&lt;img src="http://3.bp.blogspot.com/-qt56ctPBRfM/UP6sOwyX2kI/AAAAAAAAAyg/qwZ1HpyoNXc/s320/bddjbeac-715097.png"  border="0" alt="" id="BLOGGER_PHOTO_ID_5836291536733067842" /&gt;&lt;/a&gt;&lt;br&gt;      &lt;br&gt;      Before we go into what facial expression this is, let's start by      asking ourselves "If I had been propositioned for a cheap date, what      emotion would I feel?" In most circumstances, I'd probably say that      either an anger or disgust expression (or perhaps a blend of the      two) would be shown, but neither of those are present. Thinking      through the universal emotions (surprise, fear, anger, disgust,      happiness, and sadness), the 2 emotions that hit the bottom of the      list of the ones that I'd expect to see are happiness and fear      (because someone asked on a cheap date could simply say no).&lt;br&gt;      &lt;br&gt;      The expression has most of the signs of a fear expression, though      the brow is less raised (AU1 and AU2) than you might expect (you      would typically expect to see horizontal wrinkles on the forehead      that may or may not stretch all of the way across). &lt;br&gt;      &lt;br&gt;      The takeaway here is that the marketers at Amazon need to figure out      their own emotions, since the ones that they are showing in their      ads make no sense...&lt;br&gt;      &lt;br&gt;    &lt;img src="http://feeds.feedburner.com/~r/MikesTechnologyBlog/~4/jpno-AiiXjw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mikemstech.blogspot.com/feeds/6525398056217387248/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mikemstech.blogspot.com/2013/01/strange-amazon-ads.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/6525398056217387248?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/6525398056217387248?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MikesTechnologyBlog/~3/jpno-AiiXjw/strange-amazon-ads.html" title="Strange Amazon Ads" /><author><name>Mike Burr</name><uri>https://plus.google.com/116509990792258039224</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-qt56ctPBRfM/UP6sOwyX2kI/AAAAAAAAAyg/qwZ1HpyoNXc/s72-c/bddjbeac-715097.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://mikemstech.blogspot.com/2013/01/strange-amazon-ads.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0UNRH47eyp7ImA9WhNSFk8.&quot;"><id>tag:blogger.com,1999:blog-7503353345181123469.post-5707061424302793472</id><published>2012-10-30T13:34:00.000-07:00</published><updated>2012-10-30T13:34:55.003-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-10-30T13:34:55.003-07:00</app:edited><title>Unit Testing an Artificial Neural Network</title><content type="html">I am working on a Big Data experiment where I am using artificial      neural networks to classify different data sets into conforming and      non-conforming patterns and I needed a good artificial neural      network library in C#.Net. &lt;br /&gt;
&lt;br /&gt;
I surveyed a number of implementations and was dismayed that I could      not find a good one. I was even more dismayed by the number of&amp;nbsp; blog      posts and code articles that had deeply flawed implementations,      where someone couldn't expect to get these implementations to work      in test, much less production. &lt;br /&gt;
&lt;br /&gt;
So... because I couldn't find a good implementation, I built my own      library into my Big Data application. I am going to play the      implementation details close to the chest, but I wanted to share one      of my unit tests that I developed for the Backpropagation algorithm      since it was time consuming to work out an example in Microsoft      Excel. I could not find any other worked examples online, so I built      an example by hand in Microsoft Excel for the following network:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://4.bp.blogspot.com/-xFcmhgokQHY/UJA5rngrl2I/AAAAAAAAAx8/ROKba0VX-e4/s1600/bccifcee-729674.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5805203341183784802" src="http://4.bp.blogspot.com/-xFcmhgokQHY/UJA5rngrl2I/AAAAAAAAAx8/ROKba0VX-e4/s320/bccifcee-729674.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
I use both weights on the adjacencies and a threshold/bias factor      for each node and I used the hyperbolic tangent function for the      activation function. Below is the Visual Studio Unit Test showing      the worked example. For simplicity, I round everything to 6 decimal      points for test purposes.&lt;br /&gt;
&lt;br /&gt;
      &lt;br /&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;[&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;TestMethod&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: blue; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;public&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background: white; color: blue; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;void&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt; TestBackpropagationMultilayerUntrained()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: green; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;//Arrange&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;NeuralNetwork&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt; n = &lt;/span&gt;&lt;span style="background: white; color: blue; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;new&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;NeuralNetwork&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;(&lt;/span&gt;&lt;span style="background: white; color: #a31515; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;"BackProp3LayerTest"&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;, &lt;/span&gt;&lt;span style="background: white; color: #a31515; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;"Back          Propagation Test          for 2 Processing Layers"&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;, &lt;/span&gt;&lt;span style="background: white; color: blue; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;new&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;HyperbolicTangentActivationFunction&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;(), 3, 3, 2, 3);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;          &lt;/span&gt;n.layers[0].Adjacencies[0][0].Weight = .75D;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;          &lt;/span&gt;n.layers[0].Adjacencies[1][0].Weight = -.75D;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;          &lt;/span&gt;n.layers[0].Adjacencies[2][0].Weight = .75D;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;n.layers[0].Adjacencies[0][1].Weight  =          -.8D;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;          &lt;/span&gt;n.layers[0].Adjacencies[1][1].Weight = .8D;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;          &lt;/span&gt;n.layers[0].Adjacencies[2][1].Weight = -.9D;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;n.layers[1].Nodes[0].Threshold          =          .5D;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;n.layers[1].Nodes[1].Threshold          =          -.5D;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;          &lt;/span&gt;n.layers[1].Adjacencies[0][0].Weight = .4D;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;          &lt;/span&gt;n.layers[1].Adjacencies[0][1].Weight = -.5D;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;          &lt;/span&gt;n.layers[1].Adjacencies[0][2].Weight = .6D;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;          &lt;/span&gt;n.layers[1].Adjacencies[1][0].Weight = -.4D;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;n.layers[1].Adjacencies[1][1].Weight  =          .5D;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;          &lt;/span&gt;n.layers[1].Adjacencies[1][2].Weight = -.6D;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;n.layers[2].Nodes[0].Threshold          =          .1D;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;n.layers[2].Nodes[1].Threshold          =          -.1D;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;n.layers[2].Nodes[2].Threshold          =          0D;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;BackPropagationLearning&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt; l = &lt;/span&gt;&lt;span style="background: white; color: blue; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;new&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;BackPropagationLearning&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;(n);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: blue; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;double&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;[] input = { .5D, -.5D, .75D };&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: blue; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;double&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;[] output = { 1D, -1D, 1D };&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: blue; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;double&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt; error;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: green; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;//Act&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;error = l.Step(&lt;/span&gt;&lt;span style="background: white; color: blue; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;new&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;List&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="background: white; color: blue; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;double&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&amp;gt;(input),        &lt;/span&gt;&lt;span style="background: white; color: blue; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;new&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;List&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="background: white; color: blue; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;double&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&amp;gt;(output));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: green; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;//Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: green; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;//Total  error          E&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual(.085699D, &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Math&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.Round(error, 6));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: green; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;///////////////////////Verify          Deltas///////////////////////////&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: green; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;//Input  layer          (0)&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual( .018949D, &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Math&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.Round(l.deltas[0][0],6));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual(-.018949D, &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Math&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.Round(l.deltas[0][1], 6));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual( .019989D, &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Math&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.Round(l.deltas[0][2], 6));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: green; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;//Hidden  layer          (1)&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual( .014179D, &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Math&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.Round(l.deltas[1][0], 6));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual(-.010394D, &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Math&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.Round(l.deltas[1][1], 6));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: green; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;//Output  layer          (2)&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual( .154514D, &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Math&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.Round(l.deltas[2][0], 6));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual(-.083378D, &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Math&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.Round(l.deltas[2][1], 6));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual( .061175D, &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Math&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.Round(l.deltas[2][2], 6));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: green; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;///////////////////////Verify  Threshold          Updates/////////////////&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: green; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;//No  threshold          updates for input layer&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual(.0D, l.ThresholdUpdates[0][0]);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual(.0D, l.ThresholdUpdates[0][1]);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual(.0D, l.ThresholdUpdates[0][2]);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: green; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;//Hidden  Layer          (1)&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual( .001418D, &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Math&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.Round(l.ThresholdUpdates[1][0], 6));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual(-.001039D, &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Math&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.Round(l.ThresholdUpdates[1][1], 6));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: green; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;//Output  Layer          (2)&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual(.015451D, &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Math&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.Round(l.ThresholdUpdates[2][0], 6));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual(-.008338D, &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Math&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.Round(l.ThresholdUpdates[2][1], 6));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual(.006117D, &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Math&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.Round(l.ThresholdUpdates[2][2], 6));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: green; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;///////////////////////Verify  Weight          Updates/////////////////&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: green; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;//Input  layer          (0) - Hidden Layer (1)&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual(.000709D, &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Math&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.Round(l.WeightUpdates[0][0][0], 6));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual(-.000520D, &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Math&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.Round(l.WeightUpdates[0][0][1], 6));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual(-.000709D, &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Math&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.Round(l.WeightUpdates[0][1][0], 6));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual(.000520, &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Math&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.Round(l.WeightUpdates[0][1][1], 6));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual(.001063D, &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Math&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.Round(l.WeightUpdates[0][2][0], 6));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual(-.000780D, &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Math&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.Round(l.WeightUpdates[0][2][1], 6));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: green; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;//Hidden  Layer          (1) - Output Layer (2)&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual( .014649D, &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Math&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.Round(l.WeightUpdates[1][0][0], 6));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual(-.007905D, &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Math&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.Round(l.WeightUpdates[1][0][1], 6));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual( .005800D, &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Math&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.Round(l.WeightUpdates[1][0][2], 6));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual(-.014868D, &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Math&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.Round(l.WeightUpdates[1][1][0], 6));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual( .008023D, &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Math&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.Round(l.WeightUpdates[1][1][1], 6));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual(-.005886D, &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Math&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.Round(l.WeightUpdates[1][1][2], 6));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: green; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;///////////////////////Verify  Final          Weights and Thresholds/////////////////&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: green; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;//Input  layer          (0) - Hidden Layer (1)&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual(0.750709D, &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Math&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.Round(n.layers[0].Adjacencies[0][0].Weight,          6));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual(-0.800520D, &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Math&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.Round(n.layers[0].Adjacencies[0][1].Weight,          6));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual(-0.750709D, &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Math&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.Round(n.layers[0].Adjacencies[1][0].Weight,          6));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual(0.800520D, &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Math&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.Round(n.layers[0].Adjacencies[1][1].Weight,          6));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual(0.751063D, &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Math&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.Round(n.layers[0].Adjacencies[2][0].Weight,          6));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual(-0.900780D, &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Math&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.Round(n.layers[0].Adjacencies[2][1].Weight,          6));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: green; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;//Hidden  Layer          (1)&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual(0.501418D, &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Math&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.Round(n.layers[1].Nodes[0].Threshold, 6));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual(-0.501039D, &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Math&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.Round(n.layers[1].Nodes[1].Threshold, 6));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: green; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;//Hidden  Layer          (1) - Output layer (2)&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual(0.414649D, &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Math&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.Round(n.layers[1].Adjacencies[0][0].Weight,          6));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual(-0.507905D, &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Math&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.Round(n.layers[1].Adjacencies[0][1].Weight,          6));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual(0.605800D, &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Math&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.Round(n.layers[1].Adjacencies[0][2].Weight,          6));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual(-0.414868D, &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Math&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.Round(n.layers[1].Adjacencies[1][0].Weight,          6));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual(0.508023D, &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Math&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.Round(n.layers[1].Adjacencies[1][1].Weight,          6));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual(-0.605886D, &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Math&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.Round(n.layers[1].Adjacencies[1][2].Weight,          6));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: green; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;//Output  Layer          (2)&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual(0.115451D, &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Math&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.Round(n.layers[2].Nodes[0].Threshold, 6));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual(-0.108338D, &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Math&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.Round(n.layers[2].Nodes[1].Threshold, 6));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.AreEqual(0.006117D, &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Math&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.Round(n.layers[2].Nodes[2].Threshold, 6));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: green; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;///////////////////////Verify  Consistent          Movement/////////////////&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: blue; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;double&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt; lasterr = error;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: blue; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;for&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt; (&lt;/span&gt;&lt;span style="background: white; color: blue; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;int&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt; i = 0; i &amp;lt; 10; i++)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;lasterr = error;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;error = l.Step(&lt;/span&gt;&lt;span style="background: white; color: blue; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;new&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;List&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="background: white; color: blue; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;double&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&amp;gt;(input),        &lt;/span&gt;&lt;span style="background: white; color: blue; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;new&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt; &lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;List&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="background: white; color: blue; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;double&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&amp;gt;(output));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;Assert&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;.IsTrue(lasterr &amp;gt;= error);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="background: white; color: black; font-family: Consolas; font-size: 9.5pt; line-height: 115%; mso-highlight: white;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;}&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;link href="file:///C:%5CUsers%5CADMINI%7E1%5CAppData%5CLocal%5CTemp%5C2%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml" rel="File-List"&gt;&lt;/link&gt;      &lt;!--[if gte mso 9]&gt;&lt;xml&gt;   &lt;o:OfficeDocumentSettings&gt;    &lt;o:AllowPNG/&gt;   &lt;/o:OfficeDocumentSettings&gt;  &lt;/xml&gt;&lt;![endif]--&gt;      &lt;link href="file:///C:%5CUsers%5CADMINI%7E1%5CAppData%5CLocal%5CTemp%5C2%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx" rel="themeData"&gt;&lt;/link&gt;      &lt;link href="file:///C:%5CUsers%5CADMINI%7E1%5CAppData%5CLocal%5CTemp%5C2%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml" rel="colorSchemeMapping"&gt;&lt;/link&gt;      &lt;!--[if gte mso 9]&gt;&lt;xml&gt;   &lt;w:WordDocument&gt;    &lt;w:View&gt;Normal&lt;/w:View&gt;    &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;    &lt;w:TrackMoves/&gt;    &lt;w:TrackFormatting/&gt;    &lt;w:PunctuationKerning/&gt;    &lt;w:ValidateAgainstSchemas/&gt;    &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;    &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;    &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;    &lt;w:DoNotPromoteQF/&gt;    &lt;w:LidThemeOther&gt;EN-US&lt;/w:LidThemeOther&gt;    &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;    &lt;w:LidThemeComplexScript&gt;AR-SA&lt;/w:LidThemeComplexScript&gt;    &lt;w:Compatibility&gt;     &lt;w:BreakWrappedTables/&gt;     &lt;w:SnapToGridInCell/&gt;     &lt;w:WrapTextWithPunct/&gt;     &lt;w:UseAsianBreakRules/&gt;     &lt;w:DontGrowAutofit/&gt;     &lt;w:SplitPgBreakAndParaMark/&gt;     &lt;w:EnableOpenTypeKerning/&gt;     &lt;w:DontFlipMirrorIndents/&gt;     &lt;w:OverrideTableStyleHps/&gt;    &lt;/w:Compatibility&gt;    &lt;m:mathPr&gt;     &lt;m:mathFont m:val="Cambria Math"/&gt;     &lt;m:brkBin m:val="before"/&gt;     &lt;m:brkBinSub m:val="&amp;#45;-"/&gt;     &lt;m:smallFrac m:val="off"/&gt;     &lt;m:dispDef/&gt;     &lt;m:lMargin m:val="0"/&gt;     &lt;m:rMargin m:val="0"/&gt;     &lt;m:defJc m:val="centerGroup"/&gt;     &lt;m:wrapIndent m:val="1440"/&gt;     &lt;m:intLim m:val="subSup"/&gt;     &lt;m:naryLim m:val="undOvr"/&gt;    &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt;  &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;   &lt;w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"    DefSemiHidden="true" DefQFormat="false" DefPriority="99"    LatentStyleCount="267"&gt;    &lt;w:LsdException Locked="false" Priority="0" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Normal"/&gt;    &lt;w:LsdException Locked="false" Priority="9" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="heading 1"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/&gt;    &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 1"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 2"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 3"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 4"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 5"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 6"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 7"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 8"/&gt;    &lt;w:LsdException Locked="false" Priority="39" Name="toc 9"/&gt;    &lt;w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/&gt;    &lt;w:LsdException Locked="false" Priority="10" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Title"/&gt;    &lt;w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/&gt;    &lt;w:LsdException Locked="false" Priority="11" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/&gt;    &lt;w:LsdException Locked="false" Priority="22" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Strong"/&gt;    &lt;w:LsdException Locked="false" Priority="20" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/&gt;    &lt;w:LsdException Locked="false" Priority="59" SemiHidden="false"     UnhideWhenUsed="false" Name="Table Grid"/&gt;    &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/&gt;    &lt;w:LsdException Locked="false" Priority="1" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/&gt;    &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/&gt;    &lt;w:LsdException Locked="false" Priority="34" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/&gt;    &lt;w:LsdException Locked="false" Priority="29" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Quote"/&gt;    &lt;w:LsdException Locked="false" Priority="30" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/&gt;    &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Shading Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"     UnhideWhenUsed="false" Name="Light List Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"     UnhideWhenUsed="false" Name="Light Grid Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"     UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"     UnhideWhenUsed="false" Name="Dark List Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful List Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"     UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/&gt;    &lt;w:LsdException Locked="false" Priority="19" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/&gt;    &lt;w:LsdException Locked="false" Priority="21" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/&gt;    &lt;w:LsdException Locked="false" Priority="31" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/&gt;    &lt;w:LsdException Locked="false" Priority="32" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/&gt;    &lt;w:LsdException Locked="false" Priority="33" SemiHidden="false"     UnhideWhenUsed="false" QFormat="true" Name="Book Title"/&gt;    &lt;w:LsdException Locked="false" Priority="37" Name="Bibliography"/&gt;    &lt;w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/&gt;   &lt;/w:LatentStyles&gt;  &lt;/xml&gt;&lt;![endif]--&gt;      &lt;style&gt;  &lt;!--   /* Font Definitions */   @font-face   {font-family:Calibri;   panose-1:2 15 5 2 2 2 4 3 2 4;   mso-font-charset:0;   mso-generic-font-family:swiss;   mso-font-pitch:variable;   mso-font-signature:-520092929 1073786111 9 0 415 0;}  @font-face   {font-family:Consolas;   panose-1:2 11 6 9 2 2 4 3 2 4;   mso-font-charset:0;   mso-generic-font-family:modern;   mso-font-pitch:fixed;   mso-font-signature:-520092929 1073806591 9 0 415 0;}   /* Style Definitions */   p.MsoNormal, li.MsoNormal, div.MsoNormal   {mso-style-unhide:no;   mso-style-qformat:yes;   mso-style-parent:"";   margin-top:0in;   margin-right:0in;   margin-bottom:10.0pt;   margin-left:0in;   line-height:115%;   mso-pagination:widow-orphan;   font-size:11.0pt;   font-family:"Calibri","sans-serif";   mso-ascii-font-family:Calibri;   mso-ascii-theme-font:minor-latin;   mso-fareast-font-family:Calibri;   mso-fareast-theme-font:minor-latin;   mso-hansi-font-family:Calibri;   mso-hansi-theme-font:minor-latin;   mso-bidi-font-family:Arial;   mso-bidi-theme-font:minor-bidi;}  .MsoChpDefault   {mso-style-type:export-only;   mso-default-props:yes;   font-family:"Calibri","sans-serif";   mso-ascii-font-family:Calibri;   mso-ascii-theme-font:minor-latin;   mso-fareast-font-family:Calibri;   mso-fareast-theme-font:minor-latin;   mso-hansi-font-family:Calibri;   mso-hansi-theme-font:minor-latin;   mso-bidi-font-family:Arial;   mso-bidi-theme-font:minor-bidi;}  .MsoPapDefault   {mso-style-type:export-only;   margin-bottom:10.0pt;   line-height:115%;}  @page WordSection1   {size:8.5in 11.0in;   margin:1.0in 1.0in 1.0in 1.0in;   mso-header-margin:.5in;   mso-footer-margin:.5in;   mso-paper-source:0;}  div.WordSection1   {page:WordSection1;}  &lt;/style&gt;  --&amp;gt;&lt;!--[if gte mso 10]&gt;  &lt;style&gt;   /* Style Definitions */   table.MsoNormalTable   {mso-style-name:"Table Normal";   mso-tstyle-rowband-size:0;   mso-tstyle-colband-size:0;   mso-style-noshow:yes;   mso-style-priority:99;   mso-style-parent:"";   mso-padding-alt:0in 5.4pt 0in 5.4pt;   mso-para-margin-top:0in;   mso-para-margin-right:0in;   mso-para-margin-bottom:10.0pt;   mso-para-margin-left:0in;   line-height:115%;   mso-pagination:widow-orphan;   font-size:11.0pt;   font-family:"Calibri","sans-serif";   mso-ascii-font-family:Calibri;   mso-ascii-theme-font:minor-latin;   mso-hansi-font-family:Calibri;   mso-hansi-theme-font:minor-latin;   mso-bidi-font-family:Arial;   mso-bidi-theme-font:minor-bidi;}  &lt;/style&gt;  &lt;![endif]--&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;img src="http://feeds.feedburner.com/~r/MikesTechnologyBlog/~4/5m04S_aKKbc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mikemstech.blogspot.com/feeds/5707061424302793472/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mikemstech.blogspot.com/2012/10/unit-testing-artificial-neural-network.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/5707061424302793472?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/5707061424302793472?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MikesTechnologyBlog/~3/5m04S_aKKbc/unit-testing-artificial-neural-network.html" title="Unit Testing an Artificial Neural Network" /><author><name>Mike Burr</name><uri>https://plus.google.com/116509990792258039224</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-xFcmhgokQHY/UJA5rngrl2I/AAAAAAAAAx8/ROKba0VX-e4/s72-c/bccifcee-729674.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://mikemstech.blogspot.com/2012/10/unit-testing-artificial-neural-network.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEQERXw-eyp7ImA9WhJaFEo.&quot;"><id>tag:blogger.com,1999:blog-7503353345181123469.post-768322812559757368</id><published>2012-10-05T14:25:00.000-07:00</published><updated>2012-10-05T14:25:04.253-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-10-05T14:25:04.253-07:00</app:edited><title>Windows Symbolic Links and File Sharing</title><content type="html">Symbolic Links, Hard Links, and Junction Points are useful tools for      an experienced administrator to manipulate the file system to bring      things in different locations under a single logical tree. Symbolic      Links have been posssible to create since Windows 2000 (using the      linkd.exe, mountvol.exe, and delrp.exe utilities from the Windows      2000 Resource kit), but only in the most recent versions of Windows      (Windows Vista, Windows 7, Windows 8, Windows Server 2008, Windows      Server 2008 R2, and Windows Server 2012) has the mklink utility been      provided with the OS to create symbolic links. The original      functionality in Windows 2000 was called the NTFS reparse point,      which is basically just a file system object with extended      information. This functionality isn't particularly well known, but      it is useful in a wide variety of scenarios. &lt;br /&gt;
&lt;br /&gt;
By default, users in the local administrators group have the ability      to create symbolic links, but this permission can be granted by      modifying the "Create Symbolic Links" user right:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://1.bp.blogspot.com/-yTwNC-sP0B0/UG9Pp-0gy1I/AAAAAAAAAw8/7Hb55DFjzH4/s1600/dbjjgdhd-766660.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5795938828105599826" src="http://1.bp.blogspot.com/-yTwNC-sP0B0/UG9Pp-0gy1I/AAAAAAAAAw8/7Hb55DFjzH4/s320/dbjjgdhd-766660.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
There are a lot of potential uses for symbolic links, but some of      the ones that I've dealt with are:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;A static content directory in IIS needs to be available at          multiple points in the site/application tree so that pages do          not need to use absolute or relative references that point          outside of the current logical directory or a particular piece          of content needs to appear at multiple points in the site.&lt;br /&gt;        &lt;/li&gt;
&lt;li&gt;A user wants to double click a folder in the "My Documents"          folder and be able to access the root of the C: drive (note that          this is not a shortcut)&lt;/li&gt;
&lt;li&gt;A developer needs to create a separate tree that includes          files used for unit tests, but wants changes to the "primary"          source tree to be instantaneously propagated to the tree used          for unit testing (I've used this one myself during the          development of complex Latex/pdf documents that need to be          generated with ASP.Net)&lt;/li&gt;
&lt;li&gt;Scripts need to be developed that access other parts of the          filesystem from a single folder.&lt;/li&gt;
&lt;li&gt;The same file needs to be accessed by multiple names&lt;br /&gt;        &lt;/li&gt;
&lt;/ul&gt;
Now that we understand what they are and some of the use cases,      let's look at how to create/use them. The basic syntax of the      command is&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;c:\symlinktest&amp;gt;mklink&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;Creates a symbolic link.&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;MKLINK [[/D] | [/H] | [/J]] Link Target&lt;/pre&gt;
&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;&amp;nbsp;      &amp;nbsp;/D      Creates a directory symbolic link.  Default is a file&lt;/pre&gt;
&lt;pre&gt;&amp;nbsp;               symbolic link.&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;        /H      Creates a hard link instead of a symbolic link.&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;        /J      Creates a Directory Junction.&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;        Link    specifies the new symbolic link name.&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;        Target  specifies the path (relative or absolute) that the new link&lt;/pre&gt;
&lt;pre&gt;               &amp;nbsp;refers to.  &lt;/pre&gt;
&lt;h2&gt;
        Directory Hard Link&lt;/h2&gt;
Long story short, you can't make a directory hard link. The mklink      utility doesn't give a particular error, just "access is denied:"&lt;br /&gt;
&lt;br /&gt;
c:\symlinktest&amp;gt;&lt;b&gt;mklink /H test2 test&lt;/b&gt;&lt;br /&gt;
Access is denied.&lt;br /&gt;
&lt;br /&gt;
c:\symlinktest&amp;gt;&lt;b&gt;mklink /D /H test2 test&lt;/b&gt;&lt;br /&gt;
Access is denied.&lt;br /&gt;
&lt;br /&gt;
Why can't a directory hard link be created? Because each directory      has a pointer to its parent directory. In the case of a hard link,      there would be ambiguity as to what the parent directory actually is      because the hard link is actually another entry in the master file      table (MFT). Directory hard links would also create the possibility      of infinite recursion through the filesystem.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
File Hard Link&lt;/h2&gt;
&lt;br /&gt;
Hard links create an additional pointer in the master file table      (MFT) for a particular file, but with a different name. Hard links      can be deleted, but the file will not be deleted until all of the      hard links that reference the file are gone. When a hard link is      created, the target has to exist (because it points to an existing      file). Additionally, the file and the hard link have to exist on the      same volume (this is the same as the Linux/UNIX world since Windows      is POSIX compliant).&lt;br /&gt;
&lt;br /&gt;
In this example, I created a file (important.txt) that I want to      edit by another name (important2.txt),&lt;br /&gt;
&lt;br /&gt;
c:\symlinktest&amp;gt;&lt;b&gt;mklink /H important2.txt important.txt&lt;/b&gt;&lt;br /&gt;
Hardlink created for important2.txt &amp;lt;&amp;lt;===&amp;gt;&amp;gt;      important.txt&lt;br /&gt;
&lt;br /&gt;
Looking at the directory, the files look the same (and they are the      same). Permissions are set on the file object, so changing the      permissions on one hard link changes it on both of them.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;Directory of c:\symlinktest&lt;br /&gt;
&lt;br /&gt;
10/05/2012&amp;nbsp; 02:17 PM&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DIR&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .&lt;br /&gt;
10/05/2012&amp;nbsp; 02:17 PM&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DIR&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ..&lt;br /&gt;
&lt;b&gt;10/05/2012&amp;nbsp; 02:10 PM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 important.txt&lt;/b&gt;&lt;b&gt;&lt;br /&gt;      &lt;/b&gt;&lt;b&gt;10/05/2012&amp;nbsp; 02:10 PM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 important2.txt&lt;/b&gt;&lt;b&gt;&lt;br /&gt;      &lt;/b&gt;10/05/2012&amp;nbsp; 02:02 PM&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;SYMLINKD&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; system32      [c:\windows\system32]&lt;br /&gt;
10/05/2012&amp;nbsp; 01:57 PM&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DIR&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; test&lt;br /&gt;
10/05/2012&amp;nbsp; 01:58 PM&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;SYMLINKD&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; test2 [test]&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2 File(s)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 bytes&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5 Dir(s)&amp;nbsp; 694,212,771,840 bytes free&lt;br /&gt;
&lt;br /&gt;
From a file sharing perspective, a hard link can exist to a file      outside of the root of the share (but on the same storage volume on      the server) and be accessible to users who have share/NTFS      permissions to the file.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
File Symbolic Link&lt;/h2&gt;
&lt;br /&gt;
NTFS file symbolic links are filesystem objects that are different      from shortcuts (.lnk files), but point to either a relative or      absolute path of a file. These links are created without the /H      option with mklink,&lt;br /&gt;
&lt;br /&gt;
c:\symlinktest&amp;gt;&lt;b&gt;mklink important2.txt        ..\symlinktest\important.txt&lt;/b&gt;&lt;br /&gt;
symbolic link created for important2.txt &amp;lt;&amp;lt;===&amp;gt;&amp;gt;      ..\symlinktest\important.txt&lt;br /&gt;
&lt;br /&gt;
c:\symlinktest&amp;gt;&lt;b&gt;mklink important3.txt        c:\symlinktest\important.txt&lt;/b&gt;&lt;br /&gt;
symbolic link created for important3.txt &amp;lt;&amp;lt;===&amp;gt;&amp;gt;      c:\symlinktest\important.txt&lt;br /&gt;
&lt;br /&gt;
Looking at the links, &lt;br /&gt;
...&lt;br /&gt;
10/05/2012&amp;nbsp; 02:10 PM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 important.txt&lt;br /&gt;
10/05/2012&amp;nbsp; 02:33 PM&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;SYMLINK&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; important2.txt      [..\symlinktest\important.txt]&lt;br /&gt;
10/05/2012&amp;nbsp; 02:33 PM&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;SYMLINK&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; important3.txt      [c:\symlinktest\important.txt]&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
In Windows Explorer, these look like shortcuts, but aren't.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://4.bp.blogspot.com/-bv9Sl9sDw_g/UG9PqPI2G6I/AAAAAAAAAxI/IOy4kqiM2DY/s1600/bhcbcbch-768521.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5795938832485850018" src="http://4.bp.blogspot.com/-bv9Sl9sDw_g/UG9PqPI2G6I/AAAAAAAAAxI/IOy4kqiM2DY/s320/bhcbcbch-768521.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
The properties are greyed out and cannot be edited. Symbolic links      do not have to point to a target that exists and can point between      drive letters and volumes. From a file sharing perspective, a      symbolic link that points outside of the shared directory structure      is inaccessible (Errors like 'Operation not supported' and 'the      network path was not found' are common). Relative path symbolic      links that point to files within the same share structure are      accessible, as are symbolic links that point to UNC shares, but this      has a tendency to create a lot of complexity in a file sharing      environment. Additionally, remote-remote and remote-local symlinks      are disabled on clients by default. See below for more details.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Directory Symbolic Link&lt;/h2&gt;
&lt;br /&gt;
The Directory symbolic link is essentially the same as the file      symbolic link, but the target is a directory instead. Here is a      brief example:&lt;br /&gt;
&lt;br /&gt;
c:\symlinktest&amp;gt;mklink /D test2 test&lt;br /&gt;
symbolic link created for test2 &amp;lt;&amp;lt;===&amp;gt;&amp;gt; test&lt;br /&gt;
&lt;br /&gt;
Directory of c:\symlinktest&lt;br /&gt;
&lt;br /&gt;
10/05/2012&amp;nbsp; 02:17 PM&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DIR&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .&lt;br /&gt;
10/05/2012&amp;nbsp; 02:17 PM&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DIR&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ..&lt;br /&gt;
10/05/2012&amp;nbsp; 02:10 PM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 important.txt&lt;br /&gt;
10/05/2012&amp;nbsp; 02:10 PM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 important2.txt&lt;br /&gt;
10/05/2012&amp;nbsp; 01:57 PM&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DIR&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; test&lt;br /&gt;
&lt;b&gt;10/05/2012&amp;nbsp; 01:58 PM&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;SYMLINKD&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; test2 [test]&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2 File(s)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 bytes&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4 Dir(s)&amp;nbsp; 694,212,771,840 bytes free&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Directory Junction Point&lt;/h2&gt;
&lt;br /&gt;
Junction points act more like hard links than symbolic links and are      specifically for directories. They are created with the /J option of      mklink and they can be traversed just like a directory.      Remote-Remote symbolic links (see below) do not need to be enabled      because it is not technically a symbolic link, but rather a file      object that allows a directory to be linked at multiple points in      the filesystem.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
As an example, we will create a ZZZ folder that traverses to      c:\windows:&lt;br /&gt;
&lt;br /&gt;
c:\symlinktest&amp;gt;&lt;b&gt;mklink /J ZZZ c:\windows&lt;/b&gt;&lt;br /&gt;
Junction created for ZZZ &amp;lt;&amp;lt;===&amp;gt;&amp;gt; c:\windows&lt;br /&gt;
&lt;br /&gt;
c:\symlinktest&amp;gt;&lt;b&gt;dir&lt;/b&gt;&lt;br /&gt;
...&lt;br /&gt;
&lt;b&gt;10/05/2012&amp;nbsp; 03:10 PM&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;JUNCTION&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ZZZ [c:\windows]&lt;/b&gt;&lt;b&gt;&lt;br /&gt;      &lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4 File(s)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 19,577,576 bytes&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8 Dir(s)&amp;nbsp; 694,211,403,776 bytes free&lt;br /&gt;
&lt;br /&gt;
Accessing this junction from a share allows the server's c:\windows      directory to be traversed, even though only the c:\symlinktest      folder is shared. If the user has administrative permissions, then      they can change files remotely. &lt;br /&gt;
&lt;br /&gt;
If you make an error and create one for a file, it'll create, but      won't work:&lt;br /&gt;
&lt;br /&gt;
c:\symlinktest&amp;gt;&lt;b&gt;mklink /J test.exe&amp;nbsp; FEPInstall.exe&lt;/b&gt;&lt;br /&gt;
Junction created for test.exe &amp;lt;&amp;lt;===&amp;gt;&amp;gt; FEPInstall.exe&lt;br /&gt;
&lt;br /&gt;
Accessing the test.exe folder will fail with "The directory name is      invalid"&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://1.bp.blogspot.com/-q1k7W09pwbI/UG9Pqk_FBGI/AAAAAAAAAxU/2se7_ywKvAI/s1600/agcacdbh-770252.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5795938838350464098" src="http://1.bp.blogspot.com/-q1k7W09pwbI/UG9Pqk_FBGI/AAAAAAAAAxU/2se7_ywKvAI/s320/agcacdbh-770252.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h2&gt;
Deleting a Symbolic Link&lt;/h2&gt;
You can delete a symbolic link or junction point the same way that      any other file can be deleted (Remote-Item in PowerShell, del in      cmd, or right click -&amp;gt; delete in Windows explorer). &lt;br /&gt;
&lt;h2&gt;
Dealing with "The symbolic link cannot be followed because its        type is disabled"&lt;/h2&gt;
&lt;br /&gt;
As a security measure, symbolic links on file shares are not      followed. You can see what the current behavior is by running&amp;nbsp;      fsutil behavior query SymlinkEvaluation:&lt;br /&gt;
&lt;br /&gt;
Here is the default behavior for symlinks:&lt;br /&gt;
&lt;br /&gt;
c:\symlinktest&amp;gt;fsutil behavior query SymlinkEvaluation&lt;br /&gt;
Local to local symbolic links are enabled.&lt;br /&gt;
Local to remote symbolic links are enabled.&lt;br /&gt;
Remote to local symbolic links are disabled.&lt;br /&gt;
&lt;b&gt;Remote to remote symbolic links are disabled.&lt;/b&gt;&lt;b&gt;&lt;br /&gt;      &lt;/b&gt;&lt;br /&gt;
To enable remote-remote symlinks, run fsutil behavior set      SymlinkEvaluation R2R:1&lt;br /&gt;
&lt;br /&gt;
c:\symlinktest&amp;gt;&lt;b&gt;fsutil behavior set SymlinkEvaluation R2R:1&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
c:\symlinktest&amp;gt;&lt;b&gt;fsutil behavior query SymlinkEvaluation&lt;/b&gt;&lt;br /&gt;
Local to local symbolic links are enabled.&lt;br /&gt;
Local to remote symbolic links are enabled.&lt;br /&gt;
Remote to local symbolic links are disabled.&lt;br /&gt;
&lt;b&gt;Remote to remote symbolic links are enabled.&lt;/b&gt;&lt;b&gt;&lt;br /&gt;      &lt;/b&gt;&lt;br /&gt;
I wouldn't recommend enabling remote to local symlinks, but this is      also possible.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Dealing with "Location is Not Available"&lt;/h2&gt;
&lt;a href="http://1.bp.blogspot.com/-AaD6RHXv9Zo/UG9Pq1eQFtI/AAAAAAAAAxg/h6L4t8fMpYs/s1600/ihiifaca-771872.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5795938842776180434" src="http://1.bp.blogspot.com/-AaD6RHXv9Zo/UG9Pq1eQFtI/AAAAAAAAAxg/h6L4t8fMpYs/s320/ihiifaca-771872.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
"Location is not available: %s refers to a location that is      unavailable. It could be on a hard drive on this computer, or on a      network. Check to make sure that the disk is properly inserted, or      that you are connected to the Internet or your network, and then try      again. If it still cannot be located, the information might have      been moved to a different location"&lt;br /&gt;
&lt;br /&gt;
If you get this error, your link isn't pointing to the right place,      or the user has a different view (ex. mounting a share farther down      in the tree than he/she should be) than the link was put in place to      support. Look at the link and make sure it points to the right      place. Access the share as the user and see if the path that the      link references actually exists from the end user's perspective.&lt;img src="http://feeds.feedburner.com/~r/MikesTechnologyBlog/~4/0euFkud6gRk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mikemstech.blogspot.com/feeds/768322812559757368/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mikemstech.blogspot.com/2012/10/windows-symbolic-links-and-file-sharing.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/768322812559757368?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/768322812559757368?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MikesTechnologyBlog/~3/0euFkud6gRk/windows-symbolic-links-and-file-sharing.html" title="Windows Symbolic Links and File Sharing" /><author><name>Mike Burr</name><uri>https://plus.google.com/116509990792258039224</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-yTwNC-sP0B0/UG9Pp-0gy1I/AAAAAAAAAw8/7Hb55DFjzH4/s72-c/dbjjgdhd-766660.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://mikemstech.blogspot.com/2012/10/windows-symbolic-links-and-file-sharing.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkEGQ3Y7fSp7ImA9WhJaEkQ.&quot;"><id>tag:blogger.com,1999:blog-7503353345181123469.post-21481452833644463</id><published>2012-10-03T11:57:00.000-07:00</published><updated>2012-10-03T11:57:02.805-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-10-03T11:57:02.805-07:00</app:edited><title>How to Mount a DFS Share in Linux</title><content type="html">Microsoft Distributed File System (DFS) is a technology that allows      multiple servers to host a single file share (providing fault      tolerance and performance enhancement for multi-site Active      Directory topologies). It is typically used in conjunction with a      replication technology such as DFS-R (R is for Replication). Though      these features have similar names, you don't have to have DFS to use      DFS-R and vice versa (A typical use case might be the desire to      replicate folders between servers, but not share them, which is      accomplished via DFS-R without using a DFS namespace).&lt;br /&gt;
&lt;br /&gt;
Windows clients (Windows XP SP3, Windows Vista, Windows 7, and      Windows 8) and servers (Windows Server 2003 SP2, Windows Server      2008, Windows Server 2008 R2, and Windows Server 2012) mount shares      in a DFS namespace seamlessly, but the same isn't true for Mac OS      (earlier than Lion). Linux systems have the capability to mount DFS,      but they require some additional configuration above and beyond      issuing a 'mount' command. In the modern versions of Linux, Windows      file shares are mounted using the kernel Common Internet File System      (CIFS) driver.&lt;br /&gt;
&lt;br /&gt;
In order to mount a DFS volume, the following packages need to be      available (these may vary per platform, but are consistent on      RedHat/CentOS and SUSE):&lt;br /&gt;
&lt;br /&gt;
cifs-utils (specifically mount.cifs and cifs.upcall)&lt;br /&gt;
keyutils&lt;br /&gt;
&lt;br /&gt;
Based on testing in RedHat Enterprise Linux, samba is NOT required      to mount a CIFS share hosted in a DFS namespace. A small piece of      configuration is necessary to mount a DFS share on Linux. The      configuration needs to be added to the keyutils configuration file (&lt;b&gt;bolded&lt;/b&gt;      below in the list of files included with the package),&lt;br /&gt;
&lt;br /&gt;
/bin/keyctl&lt;br /&gt;
&lt;b&gt;/etc/request-key.conf&lt;/b&gt;&lt;br /&gt;
/etc/request-key.d&lt;br /&gt;
/sbin/request-key&lt;br /&gt;
/usr/share/doc/keyutils-1.4&lt;br /&gt;
/usr/share/doc/keyutils-1.4/LICENCE.GPL&lt;br /&gt;
/usr/share/doc/keyutils-1.4/README&lt;br /&gt;
/usr/share/keyutils&lt;br /&gt;
/usr/share/keyutils/request-key-debug.sh&lt;br /&gt;
/usr/share/man/man1/keyctl.1.gz&lt;br /&gt;
/usr/share/man/man5/request-key.conf.5.gz&lt;br /&gt;
/usr/share/man/man8/request-key.8.gz&lt;br /&gt;
&lt;br /&gt;
The following lines need to be added to the end of the      /etc/request-key.conf file:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;create cifs.spnego * * /usr/sbin/cifs.upcall -c %k&lt;/b&gt;&lt;b&gt;&lt;br /&gt;      &lt;/b&gt;&lt;b&gt;create dns_resolver * * /usr/sbin/cifs.upcall %k&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Note that if you have a newer version of cifs-utils, the -c above is      not necessary (and is actually a deprecated option). After adding      the lines to the request-key.conf file, you should now be able to      mount the share:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;b&gt;# mount -t cifs //mydfsdomain.lan/namespaceroot/sharedfolder        /mnt -o username=windowsuser&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
If all goes well, this asks for a password and mounts. Note that      mydfsdomain.lan should be your Active Directory name namespaceroot      should be the root that you create using DFS Management in MMC. Note      that all read/write/modify operations will be performed as the      "windowsuser" user in the example above.&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/MikesTechnologyBlog/~4/D6jvA6cPp8A" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mikemstech.blogspot.com/feeds/21481452833644463/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mikemstech.blogspot.com/2012/10/how-to-mount-dfs-share-in-linux.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/21481452833644463?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/21481452833644463?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MikesTechnologyBlog/~3/D6jvA6cPp8A/how-to-mount-dfs-share-in-linux.html" title="How to Mount a DFS Share in Linux" /><author><name>Mike Burr</name><uri>https://plus.google.com/116509990792258039224</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://mikemstech.blogspot.com/2012/10/how-to-mount-dfs-share-in-linux.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkEBRnk5eSp7ImA9WhJbGEg.&quot;"><id>tag:blogger.com,1999:blog-7503353345181123469.post-506041482211979098</id><published>2012-09-27T22:43:00.000-07:00</published><updated>2012-09-28T11:57:37.721-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-09-28T11:57:37.721-07:00</app:edited><title>How to Dual Boot Windows 8 and Windows 7</title><content type="html">Generally when a new operating system version is released, people      are timid about making the leap to upgrade to the new version. Many      people want to take some time to try the new version while retaining      access to their old files and folders on the older release. &lt;br /&gt;
&lt;br /&gt;
This post will cover how to dual boot Windows 8 RTM and Windows 7.      Before trying this procedure, be sure to back up your data in case      something goes wrong.&lt;br /&gt;
&lt;br /&gt;
To start out, I have a Windows 7 installation on a 120 GB disk. My      Windows 7 files and data are only taking 20 GB or so and I want to      create a partition to install Windows 8 using 50 GB (Note that the minimum recommended size is 20 GB, but I usually prefer 40-50GB). First, access      the disk manager using mmc or by typing the following&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Windows key + R to access the run prompt&lt;/li&gt;
&lt;li&gt;Enter "diskmgmt.msc" and press enter&lt;/li&gt;
&lt;/ol&gt;
You can also use the search bar in the start menu,&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://3.bp.blogspot.com/-_jY9qGytOnc/UGU4nZz-09I/AAAAAAAAAu0/u-NgeYkZ3R4/s1600/bjbahaid-709355.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5793098745276978130" src="http://3.bp.blogspot.com/-_jY9qGytOnc/UGU4nZz-09I/AAAAAAAAAu0/u-NgeYkZ3R4/s320/bjbahaid-709355.png" /&gt;&lt;/a&gt;&lt;br /&gt;
Once you are in disk manager, right click the partition that        belongs to Windows 7 and click "Shrink"&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://1.bp.blogspot.com/-Sgmis19xFL0/UGU4np6jU1I/AAAAAAAAAvA/tJ64qDNzk10/s1600/aifdhhed-710652.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5793098749599503186" src="http://1.bp.blogspot.com/-Sgmis19xFL0/UGU4np6jU1I/AAAAAAAAAvA/tJ64qDNzk10/s320/aifdhhed-710652.png" /&gt;&lt;/a&gt;&lt;br /&gt;
After you click shrink, specify 50 GB or whatever size you        actually want (20 GB is the recommended minimum). Note that 50 GB = 51200 MB.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://1.bp.blogspot.com/-6mqFtoYD9x8/UGU4oP0RXQI/AAAAAAAAAvM/NpU-0si3Lzc/s1600/jfccccje-712337.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5793098759773707522" src="http://1.bp.blogspot.com/-6mqFtoYD9x8/UGU4oP0RXQI/AAAAAAAAAvM/NpU-0si3Lzc/s320/jfccccje-712337.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Click Shrink to start the shrinkoperation on the volume&lt;br /&gt;
&lt;br /&gt;
Now that we have space for a 50 GB volume, restart and boot off        of the Windows 8 DVD or &lt;a href="http://mikemstech.blogspot.com/2012/09/how-to-create-bootable-usb-installation.html" target="_blank"&gt;Bootable          USB Media&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://3.bp.blogspot.com/-WoJrcdOpHbo/UGU4oUcqQuI/AAAAAAAAAvY/F6niIakytZA/s1600/fchehabg-713717.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5793098761016853218" src="http://3.bp.blogspot.com/-WoJrcdOpHbo/UGU4oUcqQuI/AAAAAAAAAvY/F6niIakytZA/s320/fchehabg-713717.png" /&gt;&lt;/a&gt;&lt;br /&gt;
We go through the installation procedure as follows. Select your        regional settings and click next,&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://3.bp.blogspot.com/-UObTN-1YUac/UGU4o5hsMjI/AAAAAAAAAvk/gMouPN84xRs/s1600/ifaaedfg-715781.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5793098770970063410" src="http://3.bp.blogspot.com/-UObTN-1YUac/UGU4o5hsMjI/AAAAAAAAAvk/gMouPN84xRs/s320/ifaaedfg-715781.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Then click "Install now"&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://4.bp.blogspot.com/-udIA_jemkw8/UGU4pX17x7I/AAAAAAAAAvw/b7Sg0x7iUNI/s1600/gfehdbad-717624.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5793098779108034482" src="http://4.bp.blogspot.com/-udIA_jemkw8/UGU4pX17x7I/AAAAAAAAAvw/b7Sg0x7iUNI/s320/gfehdbad-717624.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Accept the EULA and start a Custom Installation,&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://2.bp.blogspot.com/-nrwjM6tbhTI/UGU4p0TXfWI/AAAAAAAAAv8/VvZFbdLZYec/s1600/afjgjchb-719615.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5793098786747678050" src="http://2.bp.blogspot.com/-nrwjM6tbhTI/UGU4p0TXfWI/AAAAAAAAAv8/VvZFbdLZYec/s320/afjgjchb-719615.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Select the 50 GB of unallocated space that we created and click        next&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://2.bp.blogspot.com/-1BzrZoWonqg/UGU4qp8gwgI/AAAAAAAAAwM/Dg1CjoD4LbQ/s1600/eadiccjj-721952.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5793098801147331074" src="http://2.bp.blogspot.com/-1BzrZoWonqg/UGU4qp8gwgI/AAAAAAAAAwM/Dg1CjoD4LbQ/s320/eadiccjj-721952.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Wait for the install to complete (or grab a cup of coffee or a        donut)...&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://4.bp.blogspot.com/-6Ew40xu2BnI/UGU4rTnPvxI/AAAAAAAAAwU/o_Uc_ae4d9s/s1600/aaeeeeid-725127.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5793098812332424978" src="http://4.bp.blogspot.com/-6Ew40xu2BnI/UGU4rTnPvxI/AAAAAAAAAwU/o_Uc_ae4d9s/s320/aaeeeeid-725127.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
After the reboot, the boot loader should show the older Windows        release and the new Windows 8 option that we just installed.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://4.bp.blogspot.com/-jHzKWP5WS1c/UGU4rppCuzI/AAAAAAAAAwg/RBB9K28cG5c/s1600/ihacihjh-726408.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5793098818245540658" src="http://4.bp.blogspot.com/-jHzKWP5WS1c/UGU4rppCuzI/AAAAAAAAAwg/RBB9K28cG5c/s320/ihacihjh-726408.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
You might also like&lt;br /&gt;
&lt;a href="http://mikemstech.blogspot.com/2012/09/navigating-windows-8-user-interface.html" target="_blank"&gt;Navigating          the Windows 8 User Interface&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://mikemstech.blogspot.com/2012/09/how-to-create-bootable-usb-installation.html" target="_blank"&gt;How          to Create USB Windows 8 Installation Media (also works for          Windows Server 2012, Windows 7, Windows Server 2008 R2)&lt;/a&gt;&lt;img src="http://feeds.feedburner.com/~r/MikesTechnologyBlog/~4/g-90-Wqm_1g" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mikemstech.blogspot.com/feeds/506041482211979098/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mikemstech.blogspot.com/2012/09/how-to-dual-boot-windows-8-and-windows-7.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/506041482211979098?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/506041482211979098?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MikesTechnologyBlog/~3/g-90-Wqm_1g/how-to-dual-boot-windows-8-and-windows-7.html" title="How to Dual Boot Windows 8 and Windows 7" /><author><name>Mike Burr</name><uri>https://plus.google.com/116509990792258039224</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-_jY9qGytOnc/UGU4nZz-09I/AAAAAAAAAu0/u-NgeYkZ3R4/s72-c/bjbahaid-709355.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://mikemstech.blogspot.com/2012/09/how-to-dual-boot-windows-8-and-windows-7.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C08EQXo9fSp7ImA9WhJbGEw.&quot;"><id>tag:blogger.com,1999:blog-7503353345181123469.post-6341575862064065620</id><published>2012-09-27T22:24:00.000-07:00</published><updated>2012-09-27T22:56:40.465-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-09-27T22:56:40.465-07:00</app:edited><title>How to Create Bootable USB Installation Media for Windows 8 and Windows Server 2012</title><content type="html">There are a number of reasons to install Windows off of USB Media      instead of using a DVD. Some of them include&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Installing from USB Media is usually faster than an optical          drive&lt;/li&gt;
&lt;li&gt;Some newer PCs (like an Ultrabook that I just bought) do not          have optical drives of any kind&lt;/li&gt;
&lt;li&gt;Perhaps you ran out of blank DVDs and the store is closed...&lt;/li&gt;
&lt;/ul&gt;
Since this procedure involves formatting a flash drive, the        reader is cautioned to back up all of the data on the system        (you'll see why later) and to make sure that anything that needs        to be kept is backed up off of the flash drive. To perform this process, you will need access to Windows 8 media (either in ISO format or DVD) and you will also need a flash drive (&amp;gt; 6 GB).&lt;br /&gt;
&lt;br /&gt;
&lt;iframe bordercolor="#000000" frameborder="0" height="150" hspace="0" marginheight="0" marginwidth="0" scrolling="no" src="http://ad.doubleclick.net/adi/N7433.148119.BLOGGEREN/B6535994.1281;sz=180x150;ord=[timestamp]?;lid=41000000005217789;pid=21223980;usg=AFHzDLvrw19NBm70AFhDY_xYHWupwV6b7g;adurl=http%253A%252F%252Fwww.officemax.com%252Ftechnology%252Fdrives-memory-storage%252Fhard-drives-usb-drives%252Fusb-flash-drives%252Fproduct-ARS23842%253Fcm_mmc%253DPerformics-_-Technology-_-Drives%252C%252520Memory%252520and%252520Storage-_-Hard%252520Drives%252520and%252520USB%252520Drives%2526ci_src%253D14110944%2526ci_sku%253D21223980;pubid=581092;price=%246.98;title=Verbatim+Store%27N%27Go+8G...;merc=OfficeMax;imgsrc=http%3A%2F%2Fwww.officemax.com%2Fcatalog%2Fimages%2F397x353%2F21223980i_01.jpg;width=95;height=85" vspace="0" width="180"&gt;&lt;/iframe&gt;.&lt;br /&gt;
&lt;br /&gt;
To start the process, open a command prompt with an        administrative authentication token,&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://3.bp.blogspot.com/-1Y6Q7DsCJrQ/UGUwXXCa-RI/AAAAAAAAAsw/jO9YrkYk4-E/s1600/icdhicff-797041.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5793089673561307410" src="http://3.bp.blogspot.com/-1Y6Q7DsCJrQ/UGUwXXCa-RI/AAAAAAAAAsw/jO9YrkYk4-E/s320/icdhicff-797041.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
If your command prompt is not pinned to the start menu, simply        type cmd into the search bar, then right click the command prompt        that appears and select "run as administrator." Then type diskpart        and press enter. You should be here at this point,&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://1.bp.blogspot.com/-HNAJqE7_YNg/UGUwX-pGquI/AAAAAAAAAs8/N9sDUKfn4Dw/s1600/chdfgbje-799620.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5793089684192537314" src="http://1.bp.blogspot.com/-HNAJqE7_YNg/UGUwX-pGquI/AAAAAAAAAs8/N9sDUKfn4Dw/s320/chdfgbje-799620.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Enter "list disk" and hit enter. It should be pretty clear form        the sizes which disk is the flash drive. For me, it is Disk 3. Be        sure to select the right disk, or you will destroy all of the data        on one of the other system disks (this would be very bad for most        people). For me, it is Disk 3 because I am using an 8 GB flash        drive&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://4.bp.blogspot.com/-xadwPRQPX2E/UGUwYecLvsI/AAAAAAAAAtI/1G5lw6U54XY/s1600/ddijcibb-701166.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5793089692728278722" src="http://4.bp.blogspot.com/-xadwPRQPX2E/UGUwYecLvsI/AAAAAAAAAtI/1G5lw6U54XY/s320/ddijcibb-701166.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Next, type "select disk 3" while substituting 3 for the right        disk number on your system.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://1.bp.blogspot.com/-H-SCLIYyfzQ/UGUwYmRfRII/AAAAAAAAAtU/aflTiWwYXBY/s1600/gjbaieba-702673.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5793089694830904450" src="http://1.bp.blogspot.com/-H-SCLIYyfzQ/UGUwYmRfRII/AAAAAAAAAtU/aflTiWwYXBY/s320/gjbaieba-702673.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Now type "Clean" and hit enter. At this point all of the data        will be gone from the disk (though it could still be recovered by        a forensic analyst/data recovery company)&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://3.bp.blogspot.com/-osaQ8aFP2j4/UGUwZNIzbFI/AAAAAAAAAtg/YZM_QE3eXFI/s1600/cjabjjge-704008.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5793089705263459410" src="http://3.bp.blogspot.com/-osaQ8aFP2j4/UGUwZNIzbFI/AAAAAAAAAtg/YZM_QE3eXFI/s320/cjabjjge-704008.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
If you selected the wrong disk, you have a big problem now... If        you selected the right disk, you can create a new partition by        typing "create partition primary" and hit enter&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://1.bp.blogspot.com/-cwdU9W9_TaE/UGUwZc6gndI/AAAAAAAAAts/luXOeTxOXMw/s1600/fghhbibg-705257.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5793089709498473938" src="http://1.bp.blogspot.com/-cwdU9W9_TaE/UGUwZc6gndI/AAAAAAAAAts/luXOeTxOXMw/s320/fghhbibg-705257.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
This should be partition 1, but type "list partition" to be sure.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://2.bp.blogspot.com/-omRLpoh6V9Q/UGUwZi6gVBI/AAAAAAAAAt4/RJFd12TS98M/s1600/abhafcha-706422.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5793089711109067794" src="http://2.bp.blogspot.com/-omRLpoh6V9Q/UGUwZi6gVBI/AAAAAAAAAt4/RJFd12TS98M/s320/abhafcha-706422.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Now select partition 1 and format the partition as a FAT        partition.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://1.bp.blogspot.com/-hXIlFHaOYi4/UGUwaMXRF8I/AAAAAAAAAuE/kqZ2JQxfNLE/s1600/diahficf-708414.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5793089722235557826" src="http://1.bp.blogspot.com/-hXIlFHaOYi4/UGUwaMXRF8I/AAAAAAAAAuE/kqZ2JQxfNLE/s320/diahficf-708414.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Mark the partition as active and we are ready to copy files over,&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://2.bp.blogspot.com/-a57FuPxrJbY/UGUwaTm1mdI/AAAAAAAAAuQ/3Ofgl7R6T_0/s1600/difhfigc-709729.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5793089724179913170" src="http://2.bp.blogspot.com/-a57FuPxrJbY/UGUwaTm1mdI/AAAAAAAAAuQ/3Ofgl7R6T_0/s320/difhfigc-709729.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Mount the Windows 8 or Windows Server 2012 ISO and copy all of        the files on the ISO to the newly created/formatted volume.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://2.bp.blogspot.com/-KUrdVN06NSg/UGUwazfbLlI/AAAAAAAAAuc/AMjiDIbNqmg/s1600/cideghaf-711366.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5793089732738756178" src="http://2.bp.blogspot.com/-KUrdVN06NSg/UGUwazfbLlI/AAAAAAAAAuc/AMjiDIbNqmg/s320/cideghaf-711366.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At this point, you now have bootable Windows 8 or Windows Server        2012 USB media.&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/MikesTechnologyBlog/~4/XHVIS3xlCdE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mikemstech.blogspot.com/feeds/6341575862064065620/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mikemstech.blogspot.com/2012/09/how-to-create-bootable-usb-installation.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/6341575862064065620?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/6341575862064065620?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MikesTechnologyBlog/~3/XHVIS3xlCdE/how-to-create-bootable-usb-installation.html" title="How to Create Bootable USB Installation Media for Windows 8 and Windows Server 2012" /><author><name>Mike Burr</name><uri>https://plus.google.com/116509990792258039224</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-1Y6Q7DsCJrQ/UGUwXXCa-RI/AAAAAAAAAsw/jO9YrkYk4-E/s72-c/icdhicff-797041.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://mikemstech.blogspot.com/2012/09/how-to-create-bootable-usb-installation.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D08AQns5cCp7ImA9WhJbFkU.&quot;"><id>tag:blogger.com,1999:blog-7503353345181123469.post-9144967117017083446</id><published>2012-09-26T11:57:00.001-07:00</published><updated>2012-09-26T11:57:23.528-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-09-26T11:57:23.528-07:00</app:edited><title>Adding Multiple Mail Accounts in Microsoft Mail for Windows 8</title><content type="html">The mail application in the release preview versions of Windows did      not support adding mail accounts for IMAP/POP accounts. In the      Windows 8 RTM release, the Mail App supports adding e-mail accounts      for Hotmail, Live, MSN, Exchange, Office365, and Outlook.com,      Google/Gmail, Yahoo, and a custom account type that allows IMAP/POP      accounts to be added. To add an account, access the settings by      pointing your mouse or tapping the top right or bottom right corners      of the App&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://2.bp.blogspot.com/-GKIY1sQXRAM/UGNP-6gRNPI/AAAAAAAAAr0/Vfich85KSmw/s1600/acehjiib-718046.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5792561488003675378" src="http://2.bp.blogspot.com/-GKIY1sQXRAM/UGNP-6gRNPI/AAAAAAAAAr0/Vfich85KSmw/s320/acehjiib-718046.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Note that you have to be in the Mail app to see the right settings.      Then click Accounts&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://2.bp.blogspot.com/--Fr5-dlrIls/UGNP_MKUaRI/AAAAAAAAAsA/GNvAl-guehM/s1600/fceifhci-720422.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5792561492743448850" src="http://2.bp.blogspot.com/--Fr5-dlrIls/UGNP_MKUaRI/AAAAAAAAAsA/GNvAl-guehM/s320/fceifhci-720422.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From here, you can select the right type of account to add&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://2.bp.blogspot.com/-aCUkA-8Auj8/UGNP_uim3wI/AAAAAAAAAsM/Er9W4MqnvxQ/s1600/djjghcib-721764.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5792561501972127490" src="http://2.bp.blogspot.com/-aCUkA-8Auj8/UGNP_uim3wI/AAAAAAAAAsM/Er9W4MqnvxQ/s320/djjghcib-721764.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
If you are adding an IMAP/POP account to Windows Mail in Windows 8,      you can either enter your e-mail/password and have the app try to      find the right settings, or you can view more details and specify      server names/ports and SSL/TLS settings. &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://2.bp.blogspot.com/-AmDh821meB0/UGNQABgwvDI/AAAAAAAAAsY/fGH975BlUSQ/s1600/bhfhjbdh-723965.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5792561507064658994" src="http://2.bp.blogspot.com/-AmDh821meB0/UGNQABgwvDI/AAAAAAAAAsY/fGH975BlUSQ/s320/bhfhjbdh-723965.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
That's all there is to it.&lt;br /&gt;
&lt;br /&gt;
You might also like:&lt;br /&gt;
&lt;a href="http://mikemstech.blogspot.com/2012/09/navigating-windows-8-user-interface.html" target="_blank"&gt;Navigating        the Windows 8 User Interface&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/MikesTechnologyBlog/~4/HWPa_3vHJZA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mikemstech.blogspot.com/feeds/9144967117017083446/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mikemstech.blogspot.com/2012/09/adding-multiple-mail-accounts-in.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/9144967117017083446?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/9144967117017083446?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MikesTechnologyBlog/~3/HWPa_3vHJZA/adding-multiple-mail-accounts-in.html" title="Adding Multiple Mail Accounts in Microsoft Mail for Windows 8" /><author><name>Mike Burr</name><uri>https://plus.google.com/116509990792258039224</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-GKIY1sQXRAM/UGNP-6gRNPI/AAAAAAAAAr0/Vfich85KSmw/s72-c/acehjiib-718046.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://mikemstech.blogspot.com/2012/09/adding-multiple-mail-accounts-in.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEcMQH89cCp7ImA9WhJbFEk.&quot;"><id>tag:blogger.com,1999:blog-7503353345181123469.post-4404141523035436177</id><published>2012-09-23T16:14:00.002-07:00</published><updated>2012-09-23T16:14:41.168-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-09-23T16:14:41.168-07:00</app:edited><title>How To Set Up A New Active Directory 2012 Domain</title><content type="html">Establishing a new Active Directory domain in Windows Server 2012      involves planning along the following areas:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Choice of forest/root domain names&lt;br /&gt;        &lt;/li&gt;
&lt;li&gt;Number, type, location, and sizing of domain controllers&lt;/li&gt;
&lt;li&gt;Special administrative issues that may require multiple          domains/forests&lt;/li&gt;
&lt;li&gt;Administration model/OU structure&lt;br /&gt;        &lt;/li&gt;
&lt;li&gt;Planning sites/subnets/replication&lt;br /&gt;        &lt;/li&gt;
&lt;/ul&gt;
These are all issues that needed to be planned in previous Active      Directory versions, but new with Windows Server 2012 is the ability      to install the Active Directory Domain Services role without      installing the DNS Server role. This is useful because some      organizations use a different platform for DNS (such as ISC's Bind).      There is also a possibility that there are more need for Active      Directory/LDAP processing than DNS services and having the DNS      server role installed/running takes significant system resources      that might be better used for other processing.&lt;br /&gt;
&lt;br /&gt;
Like Windows Server 2008 and Windows Server 2008 R2, installation is      a two step process:&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Install the Active Directory Domain Services (ADDS) Role&lt;/li&gt;
&lt;li&gt;Promote the first DC in the forest&lt;/li&gt;
&lt;/ol&gt;
The first step in the process is determining what we are doing. In      this case, we want to create a new forest and a new root domain (as      opposed to adding a DC to another domain or adding a new subdomain).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://1.bp.blogspot.com/-5g70nQC9ZCo/UF-Xmaym1BI/AAAAAAAAAqI/CuY_vTDOP8o/s1600/bgjfchhf-709701.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5791514332104152082" src="http://1.bp.blogspot.com/-5g70nQC9ZCo/UF-Xmaym1BI/AAAAAAAAAqI/CuY_vTDOP8o/s320/bgjfchhf-709701.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Next determine the domain and forest functional level for the new      Active Directory Forest/Domain. A rule of thumb is to not choose a      level that is greater than the oldest OS version expected to be used      for the domain controller (i.e. don;t pick 2008 or 2008 R2 if you      plan to promote a 2003 domain controller). Note that this setting      has no implications for the types of clients/non DC servers that can      be joined to the domain. This step also allows you to decide whether      to install the DNS role and create AD-integrated zones for the new      forest/domain. Most native Windows environments will need at least 1      DNS server (and preferably more to not create a single point of      failure). The first DC promoted in the forest has to be a global      catalog server and cannot be a read-only domain controller (RODC).      Finally, the directory services restore mode password should be      documented in the event that the directory needs to be restored from      backup.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://3.bp.blogspot.com/-mTNeLuPrdpI/UF-Xm5vepHI/AAAAAAAAAqU/zuBXSeOwUbI/s1600/efjaiijh-710980.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5791514340412531826" src="http://3.bp.blogspot.com/-mTNeLuPrdpI/UF-Xm5vepHI/AAAAAAAAAqU/zuBXSeOwUbI/s320/efjaiijh-710980.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
If you choose to install the DNS role, you may have the option to      create a delegation for the server to host the piece of the DNS      namespace that is covered by the forest/domain. Most companies that      invent a top-level domain will not have the ability to do this.      Organizations that use a subdomain of their existing DNS namespace      or use a real registered domain may have the ability to create the      delegation.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://3.bp.blogspot.com/-Rl14-9JpBzs/UF-XnOTRUXI/AAAAAAAAAqg/rbN1-Bh-KsA/s1600/behgigdd-712700.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5791514345931362674" src="http://3.bp.blogspot.com/-Rl14-9JpBzs/UF-XnOTRUXI/AAAAAAAAAqg/rbN1-Bh-KsA/s320/behgigdd-712700.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Next, choose a NetBIOS domain name to correspond with the new      forest/domain. This is a single label that is typically the first      component of the domain name (ex ad.microsoft.com -&amp;gt; AD,      mikesblog.lan -&amp;gt; MIKESBLOG).&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://2.bp.blogspot.com/-MpKv4gn1c4w/UF-XnpfSDmI/AAAAAAAAAqs/iRB6a8QCfaY/s1600/cahgjice-714295.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5791514353229500002" src="http://2.bp.blogspot.com/-MpKv4gn1c4w/UF-XnpfSDmI/AAAAAAAAAqs/iRB6a8QCfaY/s320/cahgjice-714295.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Finally, configure the storage location for the Active Directory      database and transaction logs. For domains expecting heavy DC use,      it may be advantageous to place the database and log files on      separate high speed volumes. The SYSVOL folder should be placed in a      location with adequate space to store group policies, logon scripts,      and anything else that the domain admins want to replicate to all of      the DCs. This may need to be moved to external storage if the      organization heavily utilizes group policy software installation.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://4.bp.blogspot.com/-3Xv2x39x0Og/UF-Xn0Tf7KI/AAAAAAAAAq4/-EeYV5jsXc8/s1600/afgdghhb-715527.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5791514356132867234" src="http://4.bp.blogspot.com/-3Xv2x39x0Og/UF-Xn0Tf7KI/AAAAAAAAAq4/-EeYV5jsXc8/s320/afgdghhb-715527.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Finally, you can review the options and generate a script for      deploying DCs with the same configuration.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://4.bp.blogspot.com/-ulOCkpi6U2U/UF-XofyRRZI/AAAAAAAAArE/gJ_oIJKNJDQ/s1600/igefcbad-716974.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5791514367804654994" src="http://4.bp.blogspot.com/-ulOCkpi6U2U/UF-XofyRRZI/AAAAAAAAArE/gJ_oIJKNJDQ/s320/igefcbad-716974.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Below is an example of the script generated to create a new forest      using the Install-ADDSForest cmdlet.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://3.bp.blogspot.com/-38PTM6nwfns/UF-Xoj1_e7I/AAAAAAAAArQ/2Awr9TCtS8c/s1600/acffaiai-718645.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5791514368894008242" src="http://3.bp.blogspot.com/-38PTM6nwfns/UF-Xoj1_e7I/AAAAAAAAArQ/2Awr9TCtS8c/s320/acffaiai-718645.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://3.bp.blogspot.com/-SkrX_r0_dc0/UF-XpB2RXgI/AAAAAAAAArc/FBOc9AwyUds/s1600/gfacaejg-720476.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5791514376948243970" src="http://3.bp.blogspot.com/-SkrX_r0_dc0/UF-XpB2RXgI/AAAAAAAAArc/FBOc9AwyUds/s320/gfacaejg-720476.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After that, your new domain is set up, but the domain controller that you just created is a single point of failure. You should probably install a second one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/MikesTechnologyBlog/~4/BJf6WiZUrMY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mikemstech.blogspot.com/feeds/4404141523035436177/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mikemstech.blogspot.com/2012/09/how-to-set-up-new-active-directory-2012.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/4404141523035436177?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/4404141523035436177?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MikesTechnologyBlog/~3/BJf6WiZUrMY/how-to-set-up-new-active-directory-2012.html" title="How To Set Up A New Active Directory 2012 Domain" /><author><name>Mike Burr</name><uri>https://plus.google.com/116509990792258039224</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-5g70nQC9ZCo/UF-Xmaym1BI/AAAAAAAAAqI/CuY_vTDOP8o/s72-c/bgjfchhf-709701.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://mikemstech.blogspot.com/2012/09/how-to-set-up-new-active-directory-2012.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D04GQng6eCp7ImA9WhJbFkU.&quot;"><id>tag:blogger.com,1999:blog-7503353345181123469.post-2436847445882806591</id><published>2012-09-18T09:18:00.000-07:00</published><updated>2012-09-26T11:58:43.610-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-09-26T11:58:43.610-07:00</app:edited><title>Navigating the Windows 8 User Interface</title><content type="html">During the beta/release candidate phases of Windows 8 development, I      couldn't help thinking "Is Microsoft insane? The new user interface      totally sucks..." Since I installed the Windows 8 Enterprise RTM and      have used it for a few weeks, I've reversed my position on how I      felt about the user interface. &lt;br /&gt;
&lt;br /&gt;
I dare say that Microsoft has created one of the cleanest and easy      to use interfaces I've seen in any version of Windows (or any other      operating system, including Apple's iOS). Using the Windows 8      interface comes down to managing the learning curve because there      are a number of radical changes from the traditional Windows OS.      I'll cover a few of the biggest changes and how to adjust to the new      user interface.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Where did my start menu go? &lt;/h2&gt;
&lt;br /&gt;
The start menu is radically different in Windows 8, but you still      access the start menu in almost the same way that it is accessed in      Windows 7. Instead of having a "start orb", you simply move the      mouse to the lower left corner of the screen:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://2.bp.blogspot.com/-uoiWb6oSyck/UFiejP-vXyI/AAAAAAAAAo0/kW9owL_EPVI/s1600/gafchibe-736097.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5789551649407065890" src="http://2.bp.blogspot.com/-uoiWb6oSyck/UFiejP-vXyI/AAAAAAAAAo0/kW9owL_EPVI/s320/gafchibe-736097.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
The start menu looks a lot different too, pinned tiles are placed on      the start menu for commonly used applications ("apps" nowadays).&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://4.bp.blogspot.com/-amXQC7hK4f8/UFiejXiwmkI/AAAAAAAAApA/DXfSPZjAjI0/s1600/ifjhffeg-737308.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5789551651437189698" src="http://4.bp.blogspot.com/-amXQC7hK4f8/UFiejXiwmkI/AAAAAAAAApA/DXfSPZjAjI0/s320/ifjhffeg-737308.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Should you want to see everything on the start menu, right click and      select "All Apps."&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://4.bp.blogspot.com/-x4Kltg7cH2A/UFiej1ESyNI/AAAAAAAAApM/sZe0gnl9pyk/s1600/febgcjaa-739169.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5789551659362470098" src="http://4.bp.blogspot.com/-x4Kltg7cH2A/UFiej1ESyNI/AAAAAAAAApM/sZe0gnl9pyk/s320/febgcjaa-739169.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
I've found that I almost never do this anymore. Instead, I use the      new "Search" feature of the menu that pops up when you move your      mouse to either the top-right or bottom-right corner.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://2.bp.blogspot.com/-Jh-4z_2r4Po/UFiekcGy99I/AAAAAAAAApY/jhVEF2Ey3IE/s1600/idfjijgj-741158.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5789551669841950674" src="http://2.bp.blogspot.com/-Jh-4z_2r4Po/UFiekcGy99I/AAAAAAAAApY/jhVEF2Ey3IE/s320/idfjijgj-741158.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
With the search feature, a few characters of the application's name      (or the full name of anything within the %PATH% variable) can be      found. &lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
What about metro apps?&lt;/h2&gt;
&lt;br /&gt;
Metro style apps are the new paradigm for Windows development. They      are different from traditional Windowed applications because they&amp;nbsp;      provide a full-screen, always-on, immersive, user experience.      Windows Phone users will see a striking similarity between Windows      Phone 7 and Windows 8. &lt;br /&gt;
&lt;br /&gt;
Despite the advertising hype, these apps do continue to consume      resources in the background (though their resources are minimized      using a few tricks with the Windows kernel) and the biggest pain      point that I had was learning how to close a "metro" style app. The      easiest way is to move the mouse to the top middle of the screen (so      that the cursor becomes a hand), then drag the top of the app to the      bottom of the screen.&lt;br /&gt;
&lt;br /&gt;
Open Apps can be switched using alt+tab or by moving the mouse to      the top-left corner.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
How do I shut down/restart/put my computer to sleep?&lt;/h2&gt;
It is easy to hut down, restart, or sleep the computer by        accessing the settings using the top-right or bottom-right corners        of the screen,&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://4.bp.blogspot.com/-GDq3k86sPFI/UFiekn3DB9I/AAAAAAAAApk/g0mJjMSHlOo/s1600/fahbhfji-742461.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5789551672997119954" src="http://4.bp.blogspot.com/-GDq3k86sPFI/UFiekn3DB9I/AAAAAAAAApk/g0mJjMSHlOo/s320/fahbhfji-742461.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://4.bp.blogspot.com/-vXb5nhigfF4/UFielPG1kII/AAAAAAAAApw/nQ9YGhBl6eg/s1600/bhfdcife-744178.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5789551683532329090" src="http://4.bp.blogspot.com/-vXb5nhigfF4/UFielPG1kII/AAAAAAAAApw/nQ9YGhBl6eg/s320/bhfdcife-744178.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
The bottom line...&lt;/h2&gt;
Like it or hate it, the new user interface is here to stay. It        takes some getting used to, but it is a significant improvement on        the old start menu paradigm and the new user interface provides a        decent experience on both the PC and tablet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You might also like:&lt;br /&gt;
&lt;a href="http://mikemstech.blogspot.com/2012/09/adding-multiple-mail-accounts-in.html" target="_blank"&gt;Adding Multiple Mail Accounts in Microsoft Mail for Windows 8&lt;/a&gt; &lt;img src="http://feeds.feedburner.com/~r/MikesTechnologyBlog/~4/wyS5l9DvcYA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mikemstech.blogspot.com/feeds/2436847445882806591/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mikemstech.blogspot.com/2012/09/navigating-windows-8-user-interface.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/2436847445882806591?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/2436847445882806591?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MikesTechnologyBlog/~3/wyS5l9DvcYA/navigating-windows-8-user-interface.html" title="Navigating the Windows 8 User Interface" /><author><name>Mike Burr</name><uri>https://plus.google.com/116509990792258039224</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-uoiWb6oSyck/UFiejP-vXyI/AAAAAAAAAo0/kW9owL_EPVI/s72-c/gafchibe-736097.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://mikemstech.blogspot.com/2012/09/navigating-windows-8-user-interface.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE8GRnk8cCp7ImA9WhJUFkk.&quot;"><id>tag:blogger.com,1999:blog-7503353345181123469.post-3382290298662733454</id><published>2012-09-14T11:20:00.000-07:00</published><updated>2012-09-14T11:20:27.778-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-09-14T11:20:27.778-07:00</app:edited><title>Get HyperTerminal in Windows 8 and Windows Server 2012</title><content type="html">Who needs HyperTerminal nowadays?&lt;br /&gt;
&lt;br /&gt;
If you run any of the myriad of devices that use any form of serial      connection (ex. RS-232) or an application that is built against the      HyperTerminal library, you likely need a console emulator like      HyperTerminal or an alternative. A lot of devices that still use      serial cables include networking devices (routers, switches, load      balancers, etc), CRAC (Computer Room Air Coonditioner) units, Power      distribution panels, bank vaults, and many others.&lt;br /&gt;
&lt;br /&gt;
HyperTerminal is the classic serial console communication tool that      was provided with Windows up until Windows XP and Windows Server      2003. In windows Vista and Windows 7, Hyperterminal still works, but      you have to copy it from a Windows XP or Windows Server 2003 machine      (it is easy to just build a VM for this purpose and destroy it      later). These two files need to be taken from the Windows XP/Server      2003 installation:&lt;br /&gt;
&lt;br /&gt;
c:\Program Files\Windows NT\Hypertrm.exe &lt;br /&gt;
c:\Windows\System32\hypertrm.dll&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://3.bp.blogspot.com/-syRfmBMdjhk/UFN1KN_J1bI/AAAAAAAAAoQ/Swevwjz4Tfc/s1600/dciiiehf-759817.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5788098764514907570" src="http://3.bp.blogspot.com/-syRfmBMdjhk/UFN1KN_J1bI/AAAAAAAAAoQ/Swevwjz4Tfc/s320/dciiiehf-759817.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
As long as the hypertrm.exe executable can find the hypertrm.dll      library, you can install this anywhere on a new Windows 8 system,      though it might be logical to place the files in c:\program files      (x86)\HyperTerminal\ and create shortcuts or place them in      c:\Windows\System32 (this is part of the default system path, so you      can simply run hypertrm from the run command or the search menu).&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://3.bp.blogspot.com/-Xta6emHVx-U/UFN1Kbb4rYI/AAAAAAAAAoY/5zBeWBPzASI/s1600/debbhhja-761525.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5788098768125078914" src="http://3.bp.blogspot.com/-Xta6emHVx-U/UFN1Kbb4rYI/AAAAAAAAAoY/5zBeWBPzASI/s320/debbhhja-761525.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
If you don't have access to a Windows XP or Server 2003      installation, don't worry, there are a number of alternative serial      emulators for Windows 8 and Windows Server 2012.&lt;img src="http://feeds.feedburner.com/~r/MikesTechnologyBlog/~4/W2bkAymJRYI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mikemstech.blogspot.com/feeds/3382290298662733454/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mikemstech.blogspot.com/2012/09/get-hyperterminal-in-windows-8-and.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/3382290298662733454?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/3382290298662733454?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MikesTechnologyBlog/~3/W2bkAymJRYI/get-hyperterminal-in-windows-8-and.html" title="Get HyperTerminal in Windows 8 and Windows Server 2012" /><author><name>Mike Burr</name><uri>https://plus.google.com/116509990792258039224</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-syRfmBMdjhk/UFN1KN_J1bI/AAAAAAAAAoQ/Swevwjz4Tfc/s72-c/dciiiehf-759817.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://mikemstech.blogspot.com/2012/09/get-hyperterminal-in-windows-8-and.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk4MQno7eyp7ImA9WhJUFkk.&quot;"><id>tag:blogger.com,1999:blog-7503353345181123469.post-8823350850780457178</id><published>2012-09-14T10:49:00.000-07:00</published><updated>2012-09-14T10:49:43.403-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-09-14T10:49:43.403-07:00</app:edited><title>Mounting an ISO Image in Windows 8</title><content type="html">There are a number of things that have been relatively standard in      the open source world and have left Windows users to ask the "why      can't windows do this yet?" Even through the service packs for      Windows 7 and Windows Server 2008 R2, it was impossible to      mount/extract an ISO image without a tool like Virtual CloneDrive or      Daemon Tools. In Windows Server 2008 R2, you could mount an ISO for      a Hyper-V guest using the Hyper-V management tools, but not for the      host OS. &lt;br /&gt;
&lt;br /&gt;
Microsoft made this feature really easy in Windows 8 and Windows      Server 2012. Simply navigate to the folder with the downloaded ISO      image, right click the image, and click "Mount"&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://4.bp.blogspot.com/-X7aMvScMd_E/UFNuCTVd_fI/AAAAAAAAAnk/8NlPdByDu8Q/s1600/chjjjcaj-736693.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5788090931930332658" src="http://4.bp.blogspot.com/-X7aMvScMd_E/UFNuCTVd_fI/AAAAAAAAAnk/8NlPdByDu8Q/s320/chjjjcaj-736693.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Windows automatically assigns a drive letter and drops you into the      drive root in Explorer:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://1.bp.blogspot.com/-jXza4hY5eic/UFNuCpIxGqI/AAAAAAAAAnw/jAq5ZCZs0DE/s1600/bhhfbicc-738383.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5788090937782639266" src="http://1.bp.blogspot.com/-jXza4hY5eic/UFNuCpIxGqI/AAAAAAAAAnw/jAq5ZCZs0DE/s320/bhhfbicc-738383.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
If you are done with the ISO and are ready to unmount it, simply      eject the drive by right clicking the appropriate drive letter and      selecting "Eject."&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://3.bp.blogspot.com/-F2NMeqYeqtw/UFNuDFrN4II/AAAAAAAAAn8/dmUAYzGAFUU/s1600/ajdhejec-740111.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5788090945443324034" src="http://3.bp.blogspot.com/-F2NMeqYeqtw/UFNuDFrN4II/AAAAAAAAAn8/dmUAYzGAFUU/s320/ajdhejec-740111.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
That's all there is to it. Microsoft did a good job in Windows 8      making this a clean process... It's about time...&lt;img src="http://feeds.feedburner.com/~r/MikesTechnologyBlog/~4/6x34oNboe8c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mikemstech.blogspot.com/feeds/8823350850780457178/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mikemstech.blogspot.com/2012/09/mounting-iso-image-in-windows-8.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/8823350850780457178?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/8823350850780457178?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MikesTechnologyBlog/~3/6x34oNboe8c/mounting-iso-image-in-windows-8.html" title="Mounting an ISO Image in Windows 8" /><author><name>Mike Burr</name><uri>https://plus.google.com/116509990792258039224</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-X7aMvScMd_E/UFNuCTVd_fI/AAAAAAAAAnk/8NlPdByDu8Q/s72-c/chjjjcaj-736693.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://mikemstech.blogspot.com/2012/09/mounting-iso-image-in-windows-8.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0QBRXg9eCp7ImA9WhJUE00.&quot;"><id>tag:blogger.com,1999:blog-7503353345181123469.post-5979468212411476453</id><published>2012-09-10T12:28:00.000-07:00</published><updated>2012-09-10T12:29:14.660-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-09-10T12:29:14.660-07:00</app:edited><title>awk Script To Combine Lines Of A File or Output</title><content type="html">I ran into a unique problem where I needed to combine 3 lines of      numbers into a single line separated by spaces (ironically again, to      use awk to generate C# code that does something interesting). I      found posts that gave me an idea for how to accomplish the task;      however the examples that I found don't cover what to do if there      are no indications of the next "record" to parse (i.e. some sort of      starting delimiter):&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #274e13;"&gt;&lt;span style="font-size: x-small;"&gt;BEGIN {&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #274e13;"&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp; i=0 &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #274e13;"&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp; l="" &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #274e13;"&gt;&lt;span style="font-size: x-small;"&gt;} &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #274e13;"&gt;&lt;span style="font-size: x-small;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #274e13;"&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp; if (i == 3) {&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #274e13;"&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i=1&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #274e13;"&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print l&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #274e13;"&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; l=$0&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #274e13;"&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #274e13;"&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp; else {&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #274e13;"&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (i == 0) {&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #274e13;"&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; l=$0&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #274e13;"&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #274e13;"&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else {&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #274e13;"&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; l=l" "$0&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #274e13;"&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #274e13;"&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i=i+1&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #274e13;"&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #274e13;"&gt;&lt;span style="font-size: x-small;"&gt;} &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #274e13;"&gt;&lt;span style="font-size: x-small;"&gt;END {print l}&lt;/span&gt;&lt;/span&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;This script can be generalized to combine N lines of output by replacing the line:  &lt;/pre&gt;
&lt;span style="color: #274e13;"&gt;&lt;span style="font-size: x-small;"&gt;if (i == 3) { &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
with &lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #274e13;"&gt;&lt;span style="font-size: x-small;"&gt;if (i == N) {&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
where N is a variable or the desired number of lines to combine.      This can eliminate a tedious job like deleting newlines from a file      (particularly when copying some PDF tables into a text editor like      notepad, emacs, or vi) and make a task part of a larger and more      automated process.&amp;nbsp; Replacing $0 with $1..$n will only concatenate      the nth field. This is easy to run on UNIX/Linux (since awk is      included with most distributions), but on Windows it requires Cygwin      (which I use) or a native port of the GNU awk utility (check out the      GNUWin32 project on SourceForge).&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/MikesTechnologyBlog/~4/rAcojeNTJkw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mikemstech.blogspot.com/feeds/5979468212411476453/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mikemstech.blogspot.com/2012/09/awk-script-to-combine-lines-of-file-or.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/5979468212411476453?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/5979468212411476453?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MikesTechnologyBlog/~3/rAcojeNTJkw/awk-script-to-combine-lines-of-file-or.html" title="awk Script To Combine Lines Of A File or Output" /><author><name>Mike Burr</name><uri>https://plus.google.com/116509990792258039224</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://mikemstech.blogspot.com/2012/09/awk-script-to-combine-lines-of-file-or.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUMNSXc9eyp7ImA9WhJUE00.&quot;"><id>tag:blogger.com,1999:blog-7503353345181123469.post-8435723822316742494</id><published>2012-09-10T11:58:00.001-07:00</published><updated>2012-09-10T11:58:18.963-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-09-10T11:58:18.963-07:00</app:edited><title>How to Determine Installed Sharepoint 2010 SKU</title><content type="html">I had an issue arise where I had to determine whether a SharePoint      2010 server was installed with SharePoint 2010 Foundation or one of      the SharePoint Server products (Standard/Enterprise). After a lot of      searching, I found an MSDN article that shows how to perform the      task in .Net, but this seemed fairly useless because I didn't want      to have to compile an application in C# just to determine the      version. Below is a PowerShell port of the application demonstrated      on MSDN:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #274e13;"&gt;&lt;span style="font-size: x-small;"&gt;# SharePoint 2010 SKU List Script&lt;br /&gt;# Developed/Copyright September 2012 by Mike Burr&lt;br /&gt;# Provided AS-IS With No warranty&lt;br /&gt;# Based loosely on http://msdn.microsoft.com/en-us/library/ff721969.aspx&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;$featureindex = @{}&lt;br /&gt;$featureindex["BEED1F75-C398-4447-AEF1-E66E1F0DF91E"] = "SharePoint Foundation 2010"&lt;br /&gt;$featureindex["1328E89E-7EC8-4F7E-809E-7E945796E511"] = "Search Server Express 2010"&lt;br /&gt;&lt;br /&gt;$featureindex["B2C0B444-3914-4ACB-A0B8-7CF50A8F7AA0"] = "SharePoint Server 2010 Standard Trial"&lt;br /&gt;$featureindex["3FDFBCC8-B3E4-4482-91FA-122C6432805C"] = "SharePoint Server 2010 Standard"&lt;br /&gt;$featureindex["88BED06D-8C6B-4E62-AB01-546D6005FE97"] = "SharePoint Server 2010 Enterprise Trial"&lt;br /&gt;$featureindex["D5595F62-449B-4061-B0B2-0CBAD410BB51"] = "SharePoint Server 2010 Enterprise"&lt;br /&gt;&lt;br /&gt;$featureindex["BC4C1C97-9013-4033-A0DD-9DC9E6D6C887"] = "Search Server 2010 Trial"&lt;br /&gt;$featureindex["08460AA2-A176-442C-BDCA-26928704D80B"] = "Search Server 2010"&lt;br /&gt;&lt;br /&gt;$featureindex["84902853-59F6-4B20-BC7C-DE4F419FEFAD"] = "Project Server 2010 Trial"&lt;br /&gt;$featureindex["ED21638F-97FF-4A65-AD9B-6889B93065E2"] = "Project Server 2010"&lt;br /&gt;&lt;br /&gt;$featureindex["926E4E17-087B-47D1-8BD7-91A394BC6196"] = "Office Web Companions 2010"&lt;br /&gt;&lt;br /&gt;#Clean method for getting all of the registry value names in a particular key&lt;br /&gt;$path = "HKLM:\SOFTWARE\microsoft\Shared Tools\Web Server Extensions\14.0\WSS\InstalledProducts"&lt;br /&gt;&lt;br /&gt;$regvalues = Get-Item $path | select -ExpandProperty property &lt;br /&gt;&lt;br /&gt;# Cycle through all of the registry values&lt;br /&gt;&lt;br /&gt;foreach ($i in $regvalues) {&lt;br /&gt;&amp;nbsp;&amp;nbsp; Write-Debug ("i: " + $i)&lt;br /&gt;&amp;nbsp;&amp;nbsp; $value = (Get-ItemProperty -Path $path).$i&lt;br /&gt;&amp;nbsp;&amp;nbsp; Write-Debug ("Value: " + $value)&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; #For each value that we look at, are any of the corresponding SharePoint SKU GUIDs represented?&lt;br /&gt;&amp;nbsp;&amp;nbsp; foreach ($feature in $featureindex.Keys) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #If these are equal, then we have a particular SKU installed&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; write-Debug ($value + " == " + $feature + " ?")&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ($value -eq $feature) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; write-output ($feature + " --&amp;gt; " + $featureindex[$feature] + " is installed")&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;
There are third interesting pieces to the script. One is the easy      way to iterate through the registry values contained in a particular      key. The second is how to get the actual value (once you have the      name). The third is that you can determine which SKUs are installed      by using the InstalledProducts registry key created when SharePoint      2010 is installed.&lt;br /&gt;
&lt;br /&gt;
To run the script, all that is needed is read access to the appropriate registry key and its values.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/MikesTechnologyBlog/~4/wBS-mGBM3TI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mikemstech.blogspot.com/feeds/8435723822316742494/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mikemstech.blogspot.com/2012/09/how-to-determine-installed-sharepoint.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/8435723822316742494?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/8435723822316742494?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MikesTechnologyBlog/~3/wBS-mGBM3TI/how-to-determine-installed-sharepoint.html" title="How to Determine Installed Sharepoint 2010 SKU" /><author><name>Mike Burr</name><uri>https://plus.google.com/116509990792258039224</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://mikemstech.blogspot.com/2012/09/how-to-determine-installed-sharepoint.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkYHSHY5eyp7ImA9WhVUF0k.&quot;"><id>tag:blogger.com,1999:blog-7503353345181123469.post-8014998394546860032</id><published>2012-05-22T20:35:00.002-07:00</published><updated>2012-05-22T20:35:39.823-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-05-22T20:35:39.823-07:00</app:edited><title>Facebook is a Bad Investment</title><content type="html">Nasdaq is receiving a lot of bad press regarding the Facebook IPO      and problems with their trading platform. Some of this is justified      because the IPO was interrupted and trades were not executed or      cancelled successfully, but ultimately it is not the cause of      Facebook's meltdown in the open market. The bottom line is that      Facebook is a bad investment and it was never worth the initial      valuation of $100 billion. At the time of this writing, FB has lost      more than 20% of its value since the IPO started.&lt;br /&gt;
&lt;br /&gt;
There are a lot of people in the world that like Facebook as a      social media platform. It has an immense customer base including      individuals, governments, and organizations. Many companies      regularly use Facebook in their marketing and work to socially      connect their companies with customers. Facebook also develops a lot      of ad impressions and has taken steps to build a platform that      developers can use to make money. Many pages have a "like"button or      functionality to share something on Facebook. For all that it      provides, Facebook fails the test of both long term and short term      ability to serve shareholders (both from a growth and income      standpoint).&lt;br /&gt;
&lt;br /&gt;
Facebook launched its IPO in both a declining profit and declining      revenue scenario. Facebook, as a product, is in its decline stage      (and it reached a peak a couple of years ago). Although people will      continue to use it, it will become easier for competitors to chip      away at Facebook's regular user base. Coupled with Facebook's      horrific ad performance and their lack of partnership with other      organizations with regard to its demographic data, this spells a      long term underperforming stock and an almost permanent sell (or      short sell) rating.&lt;br /&gt;
&lt;br /&gt;
When you look at Facebook compared to other technology giants (like      Apple, Google, and Microsoft), ask "What is Facebook actually      selling?" Right now, they are selling underperforming ad space and a      couple of digital products with limited marketability. They have no      real long term product offerings and their sources of revenue are      difficult to imagine without Facebook compromising customer privacy.&lt;br /&gt;
&lt;br /&gt;
Ultimately, individuals and organizations need to communicate with      their financial professionals to determine the suitability of any      investment for their portfolio. My opinion of Facebook is that they      are a strong sell (and a never buy), but we'll see if the market      proves me wrong.&lt;img src="http://feeds.feedburner.com/~r/MikesTechnologyBlog/~4/nGQgcdr-vGQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mikemstech.blogspot.com/feeds/8014998394546860032/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mikemstech.blogspot.com/2012/05/facebook-is-bad-investment.html#comment-form" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/8014998394546860032?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/8014998394546860032?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MikesTechnologyBlog/~3/nGQgcdr-vGQ/facebook-is-bad-investment.html" title="Facebook is a Bad Investment" /><author><name>Mike Burr</name><uri>https://plus.google.com/116509990792258039224</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>4</thr:total><feedburner:origLink>http://mikemstech.blogspot.com/2012/05/facebook-is-bad-investment.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkcHQXs5eip7ImA9WhVUEk0.&quot;"><id>tag:blogger.com,1999:blog-7503353345181123469.post-1331168345146860369</id><published>2012-05-16T14:33:00.003-07:00</published><updated>2012-05-16T14:33:50.522-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-05-16T14:33:50.522-07:00</app:edited><title>Frame Relay Switching Lab Using Multiple Switches (Tunnels)</title><content type="html">Frame Relay is an important exam topic in the CCNA (mostly ICND2      exam), CCNP, and CCIE certifications for the routing and switching      track. This post builds on the frame relay switching post that      showed configuration of &lt;a href="http://mikemstech.blogspot.com/2012/03/cisco-frame-relay-switching-lab.html" target="_blank"&gt;partially        meshed&lt;/a&gt; and &lt;a href="http://mikemstech.blogspot.com/2012/03/cisco-frame-relay-switching-lab-fully.html" target="_blank"&gt;fully        meshed&lt;/a&gt; permanent virtual circuits (PVCs). There are a lot of      examples that show how to configure a single router as a frame-relay      switch, but very few that show how to configure multiple provider      devices to enable an end-to-end frame relay network. This lab, built      in GNS3/Dynamips, demonstrates 2 customers being connected using a      provider network with an IP backbone and frame-relay switching on      the edge devices. Configurations shown are Cisco 3725 routers      running&amp;nbsp; Cisco IOS 12.4(15)T7.&lt;br /&gt;
&lt;br /&gt;
The topology below shows the entire network as it has been      configured. PE1 and PE2 perform frame-relay switching for Customer 1      (Cust1) and Customer 2 (Cust2). The connections between PE1, P, and      PE2 utilize HDLC (Cisco's default for serial interfaces) and IP. The      internal provider (P) router has no knowledge of any of the frame      relay configuration on the provider edge routers (PE1 and PE2). The      provider network runs OSPF to maintain internal IP connectivity. A      GRE-IP tunnel is configured between PE1 and PE2 to encapsulate the      frame-relay packets as they cross the frame relay cloud.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://2.bp.blogspot.com/-Z0zrqDZgrg0/T7Qc-WrmL3I/AAAAAAAAAm4/JTYEq9NPhLU/s1600/dhedafje-760734.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5743247282370129778" src="http://2.bp.blogspot.com/-Z0zrqDZgrg0/T7Qc-WrmL3I/AAAAAAAAAm4/JTYEq9NPhLU/s320/dhedafje-760734.png" /&gt;&lt;/a&gt;&lt;br /&gt;
The main interesting points of configuration exist on the provider      network routers: PE1, P, and PE2. The simplest configuration is on      the P router where the IP addresses and routing protocol (OSPF in      this case) are configured:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;interface Serial0/0&lt;br /&gt;        &amp;nbsp;ip address 172.16.1.2 255.255.255.252&lt;br /&gt;        !&lt;br /&gt;        interface Serial0/1&lt;br /&gt;        &amp;nbsp;ip address 172.16.2.2 255.255.255.252&lt;br /&gt;        !&lt;br /&gt;        router ospf 1&lt;br /&gt;        &amp;nbsp;log-adjacency-changes&lt;br /&gt;        &amp;nbsp;network 172.16.0.0 0.0.255.255 area 0&lt;br /&gt;        !&lt;br /&gt;      &lt;/i&gt;&lt;br /&gt;
On router PE1, we perform some frame-relay configuration for the      customer interfaces and specify that the frame-relay encapsulated      frames should be tunneled. Customer 1 and 2 have a single      point-to-point PVC defined between the customer edge routers      connecting to PE1 and PE2:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;! &lt;br /&gt;        frame-relay switching&lt;br /&gt;        !&lt;br /&gt;        interface Serial0/1&lt;br /&gt;        &amp;nbsp;no ip address&lt;br /&gt;        &amp;nbsp;encapsulation frame-relay&lt;br /&gt;        &amp;nbsp;clock rate 2000000&lt;br /&gt;        &amp;nbsp;frame-relay intf-type dce&lt;br /&gt;        &amp;nbsp;frame-relay route 100 interface Tunnel0 200&lt;br /&gt;        !&lt;br /&gt;        interface Serial0/2&lt;br /&gt;        &amp;nbsp;no ip address&lt;br /&gt;        &amp;nbsp;encapsulation frame-relay&lt;br /&gt;        &amp;nbsp;clock rate 2000000&lt;br /&gt;        &amp;nbsp;frame-relay intf-type dce&lt;br /&gt;        &amp;nbsp;frame-relay route 150 interface Tunnel0 300&lt;br /&gt;        !&lt;br /&gt;      &lt;/i&gt;&lt;br /&gt;
We also configure one side of the GRE-IP tunnel:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;interface Tunnel0&lt;br /&gt;        &amp;nbsp;no ip address&lt;br /&gt;        &amp;nbsp;tunnel source 172.16.1.1&lt;br /&gt;        &amp;nbsp;tunnel destination 172.16.2.1&lt;br /&gt;        !&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Note that since GRE-IP is the default tunnel mode, the &lt;b&gt;tunnel        mode gre ip&lt;/b&gt; command is not necessary. Finally, the internal      provider connection and the routing protocol are configured. If      multiple paths existed between PE1 and PE2, a tunnel source using a      loopback interface would be appropriate, but this case does not      require loopback interfaces. Additionally, with the different tunnel      choices, GRE over IP or GRE over IPv6 are the main tunnel types that      will work for encapsulating frame relay over IP.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;PE1(config-if)#tunnel mode ?&lt;br /&gt;        &amp;nbsp; aurp&amp;nbsp;&amp;nbsp;&amp;nbsp; AURP TunnelTalk AppleTalk encapsulation&lt;br /&gt;        &amp;nbsp; cayman&amp;nbsp; Cayman TunnelTalk AppleTalk encapsulation&lt;br /&gt;        &amp;nbsp; dvmrp&amp;nbsp;&amp;nbsp; DVMRP multicast tunnel&lt;br /&gt;        &amp;nbsp; eon&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EON compatible CLNS tunnel&lt;br /&gt;        &amp;nbsp; gre&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; generic route encapsulation protocol&lt;br /&gt;        &amp;nbsp; ipip&amp;nbsp;&amp;nbsp;&amp;nbsp; IP over IP encapsulation&lt;br /&gt;        &amp;nbsp; ipsec&amp;nbsp;&amp;nbsp; IPSec tunnel encapsulation&lt;br /&gt;        &amp;nbsp; iptalk&amp;nbsp; Apple IPTalk encapsulation&lt;br /&gt;        &amp;nbsp; ipv6&amp;nbsp;&amp;nbsp;&amp;nbsp; Generic packet tunneling in IPv6&lt;br /&gt;        &amp;nbsp; ipv6ip&amp;nbsp; IPv6 over IP encapsulation&lt;br /&gt;        &amp;nbsp; mpls&amp;nbsp;&amp;nbsp;&amp;nbsp; MPLS encapsulations&lt;br /&gt;        &amp;nbsp; nos&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IP over IP encapsulation (KA9Q/NOS compatible)&lt;br /&gt;        &amp;nbsp; rbscp&amp;nbsp;&amp;nbsp; RBSCP in IP tunnel&lt;br /&gt;      &lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Here we can finish the discussion of PE1's configuration with its      connection into the provider cloud and its routing protocol      configuration:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;!&lt;br /&gt;        interface Serial0/0&lt;br /&gt;        &amp;nbsp;ip address 172.16.1.1 255.255.255.252&lt;br /&gt;        !&lt;br /&gt;        router ospf 1&lt;br /&gt;        &amp;nbsp;log-adjacency-changes&lt;br /&gt;        &amp;nbsp;network 172.16.0.0 0.0.255.255 area 0&lt;br /&gt;        !&lt;br /&gt;      &lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
The configuration is very similar on PE2. From the customer's      perspective we are using global DLCI addressing:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;!&lt;br /&gt;        frame-relay switching&lt;br /&gt;        !&lt;br /&gt;        interface Tunnel0&lt;br /&gt;        &amp;nbsp;no ip address&lt;br /&gt;        &amp;nbsp;tunnel source 172.16.2.1&lt;br /&gt;        &amp;nbsp;tunnel destination 172.16.1.1&lt;br /&gt;        !&lt;br /&gt;        interface Serial0/0&lt;br /&gt;        &amp;nbsp;ip address 172.16.2.1 255.255.255.252&lt;br /&gt;        ! &lt;br /&gt;        interface Serial0/1&lt;br /&gt;        &amp;nbsp;no ip address&lt;br /&gt;        &amp;nbsp;encapsulation frame-relay&lt;br /&gt;        &amp;nbsp;clock rate 2000000&lt;br /&gt;        &amp;nbsp;frame-relay intf-type dce&lt;br /&gt;        &amp;nbsp;frame-relay route 150 interface Tunnel0 300&lt;br /&gt;        !&lt;br /&gt;        interface Serial0/2&lt;br /&gt;        &amp;nbsp;no ip address&lt;br /&gt;        &amp;nbsp;encapsulation frame-relay&lt;br /&gt;        &amp;nbsp;clock rate 2000000&lt;br /&gt;        &amp;nbsp;frame-relay intf-type dce&lt;br /&gt;        &amp;nbsp;frame-relay route 100 interface Tunnel0 200&lt;br /&gt;        !&lt;br /&gt;        router ospf 1&lt;br /&gt;        &amp;nbsp;log-adjacency-changes&lt;br /&gt;        &amp;nbsp;network 172.16.0.0 0.0.255.255 area 0&lt;br /&gt;        !&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Verification of the setup from the customer side is easy, if traffic      flows, then the PVC is working:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Cust1_CE1(config-subif)#&lt;b&gt;do ping 192.168.0.2&lt;/b&gt;&lt;br /&gt;        &lt;br /&gt;        Type escape sequence to abort.&lt;br /&gt;        Sending 5, 100-byte ICMP Echos to 192.168.0.2, timeout is 2        seconds:&lt;br /&gt;        !!!!!&lt;br /&gt;        Success rate is 100 percent (5/5), round-trip min/avg/max =        4/37/112 ms&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
We can also see that the PVC is active and assigned:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Cust1_CE1(config-subif)#&lt;b&gt;do show frame-relay pvc&lt;/b&gt;&lt;br /&gt;        &lt;br /&gt;        PVC Statistics for interface Serial0/0 (Frame Relay DTE)&lt;br /&gt;        &lt;br /&gt;        &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Active&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Inactive&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Deleted&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Static&lt;br /&gt;        &amp;nbsp; Local&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;br /&gt;        &amp;nbsp; Switched&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;br /&gt;        &amp;nbsp; Unused&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;br /&gt;        &lt;br /&gt;        DLCI = 100, DLCI USAGE = LOCAL, PVC STATUS = ACTIVE, INTERFACE =        Serial0/0.100&lt;br /&gt;        &lt;br /&gt;        &amp;nbsp; input pkts 104&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output pkts 106&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; in bytes 31197&lt;br /&gt;        &amp;nbsp; out bytes 31863&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dropped pkts 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; in pkts        dropped 0&lt;br /&gt;        &amp;nbsp; out pkts dropped 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out bytes dropped 0&lt;br /&gt;        &amp;nbsp; in FECN pkts 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; in BECN pkts 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out FECN pkts        0&lt;br /&gt;        &amp;nbsp; out BECN pkts 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; in DE pkts 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out DE pkts 0&lt;br /&gt;        &amp;nbsp; out bcast pkts 91&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out bcast bytes 30303&lt;br /&gt;        &amp;nbsp; 5 minute input rate 0 bits/sec, 0 packets/sec&lt;br /&gt;        &amp;nbsp; 5 minute output rate 0 bits/sec, 0 packets/sec&lt;br /&gt;        &amp;nbsp; pvc create time 01:32:24, last time pvc status changed 01:31:54&lt;br /&gt;      &lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
On the provider routers, verification involves examining the status      of the tunnel to make sure it is up/up (using the &lt;b&gt;show interface        tunnel 0 command&lt;/b&gt;) and the PVC (&lt;b&gt;show frame-relay pvc&lt;/b&gt;).      If there is a problem, the PVC will show as Inactive (where a PVC      should show Active if it is working correctly).&lt;br /&gt;
&lt;br /&gt;
See Also,&lt;br /&gt;
&lt;a href="http://mikemstech.blogspot.com/2012/03/road-to-ccie.html" target="_blank"&gt;The        Road to the CCIE&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/MikesTechnologyBlog/~4/K2_lh02sOO8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mikemstech.blogspot.com/feeds/1331168345146860369/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mikemstech.blogspot.com/2012/05/frame-relay-switching-lab-using.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/1331168345146860369?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/1331168345146860369?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MikesTechnologyBlog/~3/K2_lh02sOO8/frame-relay-switching-lab-using.html" title="Frame Relay Switching Lab Using Multiple Switches (Tunnels)" /><author><name>Mike Burr</name><uri>https://plus.google.com/116509990792258039224</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-Z0zrqDZgrg0/T7Qc-WrmL3I/AAAAAAAAAm4/JTYEq9NPhLU/s72-c/dhedafje-760734.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://mikemstech.blogspot.com/2012/05/frame-relay-switching-lab-using.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0ACQ3Yyfyp7ImA9WhVVGEs.&quot;"><id>tag:blogger.com,1999:blog-7503353345181123469.post-6589304753838097388</id><published>2012-05-12T17:42:00.001-07:00</published><updated>2012-05-12T17:42:42.897-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-05-12T17:42:42.897-07:00</app:edited><title>Setting Up a CCIE Switching Lab</title><content type="html">Layer 2 Ethernet switching is a very important part of a network      engineer's job and is a critical component to successfully passing      the CCIE written and practical exams. Setting up a switching lab is      different from setting up a routing lab because switches cannot be      effectively emulated in GNS3/Dynamips. In order to work with a      switch IOS, the physical hardware is required because of the      specialized ASICs involved. &lt;a href="http://mikemstech.blogspot.com/2011/12/emulating-managed-switch-with.html" target="_blank"&gt;Some        switch features can be configured on the Ethernet switching        modules available on specific platforms&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
The CCIE Routing and Switching exam uses Cisco 3560 switches running      a 12.2 IP Services IOS release. In lieu of having access to one or      more 3560s, Catalyst 3750 switches are a reasonable substitute and      support many of the same features in a similar way. The Cisco 2960      platform is unsuitable for CCIE preparation because the universal      image that is used does not support routing. Chassis based switches      (4500 and 6500) can also be used, but in many cases the features      supported are different from the standalone models.&lt;br /&gt;
&lt;br /&gt;
So, now that we know more about the models that are suitable for      preparation, two questions arise: "How many?" and "How should I      connect them?" The answer lies in one of the subtleties of the CCIE      exam. The goal of the exam is to develop an "internetwork model"      according to a set of specifications. The goal of an internetwork      model is to develop a scaled-down representation of a complex      enterprise network. This gives rise to a lot of the patterns      presented in Cisco's Service Oriented Network Architecture (SONA)      and the traditional "core-distribution-access" approach. When      dealing with these models, there are a couple of useful reference      topologies, what I call the "3-switch topology," "core-distribution      topology," and "distribution-access topology."&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://1.bp.blogspot.com/-h3Sixj-e42k/T617bCdNfnI/AAAAAAAAAmQ/7WEszQlv8fQ/s1600/Simple%2B3-Switch%2BTopology-787436.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5741380804413324914" src="http://1.bp.blogspot.com/-h3Sixj-e42k/T617bCdNfnI/AAAAAAAAAmQ/7WEszQlv8fQ/s320/Simple%2B3-Switch%2BTopology-787436.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The simple 3-switch topology is a good starting pattern for learning      spanning-tree protocol (STP) concepts and how the different forms of      STP (STP, Multiple STP [MSTP], and Rapid STP [RSTP]) work together.      Generalizing from a 3 switch model to a more complex topology is      extremely simple once an individual understands the port roles and      transitions that can occur in each type of STP. Utilizing multiple      connections between the switches can also demonstrate port      aggregation and link-level fault tolerance concepts. &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://4.bp.blogspot.com/-YImRFUb-_bs/T617bdEDMuI/AAAAAAAAAmc/9DJ229kiYnw/s1600/Simple%2BD-A%2BTopology-789355.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5741380811555549922" src="http://4.bp.blogspot.com/-YImRFUb-_bs/T617bdEDMuI/AAAAAAAAAmc/9DJ229kiYnw/s320/Simple%2BD-A%2BTopology-789355.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
The distribution-access topology provides a fault tolerant layout      for many access scenarios. Each of the access layer switches      (located at the bottom of the topology) have redundant connections      to the distribution layer switches (the top two), a lot of scenarios      involving access-layer routing and first-hop redundancy protocols      (FHRP) can be demonstrated. Effective demonstrations of the PortFast      and UplinkFast features are also possible using this topology.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://4.bp.blogspot.com/-GpbRaZPn06Q/T617bmR-txI/AAAAAAAAAmo/SWkn9aZLiP4/s1600/Simple%2BC-D%2BTopology-790341.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5741380814029895442" src="http://4.bp.blogspot.com/-GpbRaZPn06Q/T617bmR-txI/AAAAAAAAAmo/SWkn9aZLiP4/s320/Simple%2BC-D%2BTopology-790341.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
The distribution-core topology can be used to work with a 4 switch      core or redundant connections between the distribution and core      layers of an area of the network. This topology can be configured to      effectively demonstrate the UplinkFast and BackboneFast features of      the switch IOS.&lt;br /&gt;
&lt;br /&gt;
Additional topologies can be created to show activity in specific      scenarios, but variations on the above topologies are all that is      needed to demonstrate the configuration and behavior of most of the      IOS switch features tested on the Cisco certification exams (CCNA,      CCNP, and CCIE).&lt;br /&gt;
&lt;br /&gt;
See Also,&lt;br /&gt;
&lt;a href="http://mikemstech.blogspot.com/2012/03/road-to-ccie.html" target="_blank"&gt;The        Road to the CCIE&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/MikesTechnologyBlog/~4/aaml2Wn-ZNU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mikemstech.blogspot.com/feeds/6589304753838097388/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mikemstech.blogspot.com/2012/05/setting-up-ccie-switching-lab.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/6589304753838097388?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/6589304753838097388?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MikesTechnologyBlog/~3/aaml2Wn-ZNU/setting-up-ccie-switching-lab.html" title="Setting Up a CCIE Switching Lab" /><author><name>Mike Burr</name><uri>https://plus.google.com/116509990792258039224</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-h3Sixj-e42k/T617bCdNfnI/AAAAAAAAAmQ/7WEszQlv8fQ/s72-c/Simple%2B3-Switch%2BTopology-787436.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://mikemstech.blogspot.com/2012/05/setting-up-ccie-switching-lab.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0UNRH87fyp7ImA9WhVVE0Q.&quot;"><id>tag:blogger.com,1999:blog-7503353345181123469.post-569692976264007375</id><published>2012-05-04T12:39:00.002-07:00</published><updated>2012-05-07T07:01:35.107-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-05-07T07:01:35.107-07:00</app:edited><title>Why Should a CCIE Read Standards?</title><content type="html">The stud/maintenance process for the CCIE exams is a long and      difficult process. It takes an incredible amount of determination      and self discipline to successfully understand everything that needs      to be understood by a CCIE to effectively manage, evolve, and      troubleshoot a complex Enterprise network. Cisco develops exam      objectives loosely using Bloom's taxonomy. In the case of the CCIE      Routing and Switching exam, all of the topics start with the word      "Implement," "Evaluate," "Determine," and "Suggest."&lt;br /&gt;
&lt;br /&gt;
There is probably a large potential debate about what the word      "Implement" actually means, but I'll give my definition of what I      think it means:&lt;br /&gt;
&lt;br /&gt;
In the CCIE exam objectives, the combination of terms above around a      given technology likely result int he following skills:&lt;br /&gt;
- Understand all of the concepts with a given technology and be able      to unambiguously explain key terms and recall key facts&lt;br /&gt;
- Explain differences between the standard and the vendor-specific      implementation&lt;br /&gt;
- Determine where a technology fits in a given network architecture&lt;br /&gt;
- Successfully design and optimize using the given      feature/technology&lt;br /&gt;
- Evaluate a proposed design and develop positive and negative      aspects and counter the proposal with design improvements&lt;br /&gt;
- Understand and code all of the related technology parameters and      configuration options&lt;br /&gt;
- Explain how a technology works with technologies in higher, equal,      and lower layers of the OSI model&lt;br /&gt;
- Evaluate the steps from start to finish to implement a change&lt;br /&gt;
- Explain the business impacts of making a specific change&lt;br /&gt;
&lt;br /&gt;
Basically, in a one sentence summary: Effective operation at the      CCIE level requires critical thinking, evaluation, and      implementation using any feature/technology that exists in the      networking industry regardless of whether Cisco implements it in a      specific product or line of products. &lt;br /&gt;
&lt;br /&gt;
This provides an insight into the title for this post. The level of      knowledge required for the CCIE cannot be attained through      memorization alone (in fact, memorization without context will      likely hurt the CCIE candidate's chances for passing the exams on      the first or second try). Simply, too much needs to be understood to      be memorized. So why read standards?&lt;br /&gt;
&lt;br /&gt;
Standards offer the CCIE candidate a complete, unabridged coverage      of a technology or topic. Whether it is a set of RFCs released by      the Internet Engineering Task Force or the authoritative electrical      and mechanical specifications published by the IEEE, a topic can be      comprehensively understood and applied by understanding the      standards. Starting fromt he beginning, a CCIE can understand how a      technology evolved and predict the future direction of a      feature/technology.&lt;br /&gt;
&lt;br /&gt;
Reading anything besides an authoritative standard is a      paraphrase/summary of the standard. Depending on the source, a      summary might be incorrect or provide an incomplete/misleading      picture of what a technology/feature achieves. If a candidate uses      the Cisco Press books to achieve the CCNA/CCNP, then they have      gained a simplified understanding of the main technologies used in      enterprise networks and may know the main features of technologies      like Ethernet, Frame Relay, IP, TCP/UDP, but their level is likely      at the "memorizing" level of understanding. This is not to say that      the CCNA and CCNP aren't important, rather they help build some of      the summary understanding required to successfully read/interpret a      difficult IEEE standard or RFC.&lt;br /&gt;
&lt;br /&gt;
Reading standards takes a candidate beyond memorization to a      comprehensive end-to-end understanding of a protocol or technology.      To achieve "Expert" status, this is really what is required. It's      not easy, takes a lot of time and patience, but ultimately ends up      in a level of knowledge where memorization is neither helpful nor      required. Instead of memorizing the fields of an Ethernet frame, a      candidate can break down why each field is present, where it      originated, and can build an Ethernet frame without actually      memorizing any fields. I structure my post on Ethernet basics in      this way, by taking a bottom up approach from the 802.3 CSMA/CD      fields to 802.2 LLC fields to RFC 1042 SNAP fields. By having read      the majority of each of the standards, I know everything that needs      to be known to create a layer 2 frame using Ethernet.&lt;br /&gt;
&lt;br /&gt;
Would-be CCIEs who don't want to read standards and build a complete      understanding are probably better off pursuing a different      certification or staying at the CCNA/CCNP level. It simply takes too      much time and too much effort for most people to gain the required      level of understanding. Those who manage to magically pass the CCIE      based on memorization alone give every other CCIE a bad reputation      because they lack the knowledge that is required to be effective in      an advanced network engineering role. This is why Cisco has made      every effort to make the CCIE differentiate the top 1% of the      networking world.&lt;br /&gt;
&lt;br /&gt;
For those studying for the CCIE, understand that it is a long and      difficult process. Most people can't complete the required study in      6 months and many can't complete the required study within a year.      For many, it takes years to develop the required mastery of      networking. If you measure the CCIE in pages of reading, you are      easily into the tens of thousands...&lt;br /&gt;
&lt;br /&gt;
Best of luck to those of you who are working towards this      certification. &lt;br /&gt;
&lt;br /&gt;
Below is a list of standards that I've found helpful in      understanding the topics required for the CCIE (though, not a      complete reading list and also not complete at this point):&lt;br /&gt;
&lt;br /&gt;
Institute for Electrical and Electronics Engineers:&lt;br /&gt;
IEEE 802-2001: IEEE Standard for Local and Metropolitan Area Networks: Overview and Architecture&lt;br /&gt;
IEEE 802.1d-2004: Media Access Control (MAC) Bridges&lt;br /&gt;
IEEE 802.1q-2011:&amp;nbsp; Media Access Control (MAC) Bridges and Virtual      Bridged Local Area Networks&lt;br /&gt;
IEEE 802.3-2008: Carrier sense multiple access with Collision      Detection (CSMA/CD) Access Method and Physical Layer Specifications&lt;br /&gt;
IEEE 802.2-1985: Logical Link Control&lt;br /&gt;
&lt;br /&gt;
Internet Engineering Task Force (IETF):&lt;br /&gt;
RFC 1042: A Standard for the Transmission of IP Datagrams over IEEE      802 Networks&lt;br /&gt;
&lt;br /&gt;
The Broadband Forum (formerly the Frame Relay Forum)&lt;br /&gt;
&lt;br /&gt;
See Also,&lt;br /&gt;
&lt;a href="http://mikemstech.blogspot.com/2012/03/road-to-ccie.html" target="_blank"&gt;The        Road to the CCIE&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/MikesTechnologyBlog/~4/NYSocCgDTQY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mikemstech.blogspot.com/feeds/569692976264007375/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mikemstech.blogspot.com/2012/05/why-should-ccie-read-standards.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/569692976264007375?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/569692976264007375?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MikesTechnologyBlog/~3/NYSocCgDTQY/why-should-ccie-read-standards.html" title="Why Should a CCIE Read Standards?" /><author><name>Mike Burr</name><uri>https://plus.google.com/116509990792258039224</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://mikemstech.blogspot.com/2012/05/why-should-ccie-read-standards.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0UFSXkycCp7ImA9WhVWE0o.&quot;"><id>tag:blogger.com,1999:blog-7503353345181123469.post-4177807197608318018</id><published>2012-04-25T09:26:00.003-07:00</published><updated>2012-04-25T09:26:58.798-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-04-25T09:26:58.798-07:00</app:edited><title>Notes on Cisco IOS Interface Order of Operations</title><content type="html">Part of being a good network engineer is having the ability to      effectively troubleshoot problems and answer questions without      ambiguity. For the entry level networking technician (CCENT/CCNA),      the implementation and troubleshooting tasks may not be involved      enough to require detailed knowledge of how a router handles packets      from ingress to egress. For intermediate network engineers (those at      the CCNP level), this knowledge is important and as an individual      transitions from the intermediate level to the advanced level      (CCIE), this type of knowledge is extremely important to quickly      isolate, identify, and solve issues in an enterprise network.&lt;br /&gt;
&lt;br /&gt;
There are a lot of different manipulations that can happen with a      router, including manipulations like tunneling/IPSec encryption,      network address translation (NAT), policy routing, and Quality of      Service (QoS) manipulation. Understanding the order that these      happen is important for designing and troubleshooting different      flows through a network. Cisco has published a couple of Technology      Notes on the order of operations involving NAT and QoS and these      same steps are in the CCNP TSHOOT study guides.&lt;br /&gt;
&lt;br /&gt;
Here are the order of operations for interfaces involved with NAT&lt;br /&gt;
&lt;br /&gt;
&lt;table border="1" cellpadding="2" cellspacing="2"&gt;        &lt;tbody&gt;
&lt;tr&gt;            &lt;td valign="top"&gt;Inside to Outside&lt;/td&gt;            &lt;td valign="top"&gt;&amp;nbsp;Outside to Inside&lt;/td&gt;          &lt;/tr&gt;
&lt;tr&gt;            &lt;td valign="top"&gt;Input Access Control List (ACL) for Encrypted              Packet&lt;/td&gt;            &lt;td valign="top"&gt;same&lt;/td&gt;          &lt;/tr&gt;
&lt;tr&gt;            &lt;td valign="top"&gt;IPSec Decryption&lt;/td&gt;            &lt;td valign="top"&gt;same&lt;/td&gt;          &lt;/tr&gt;
&lt;tr&gt;            &lt;td valign="top"&gt;Input ACL for Decrypted Packet&lt;/td&gt;            &lt;td valign="top"&gt;same&lt;/td&gt;          &lt;/tr&gt;
&lt;tr&gt;            &lt;td valign="top"&gt;Input QoS&lt;/td&gt;            &lt;td valign="top"&gt;same&lt;/td&gt;          &lt;/tr&gt;
&lt;tr&gt;            &lt;td valign="top"&gt;Input Accounting&lt;/td&gt;            &lt;td valign="top"&gt;same&lt;/td&gt;          &lt;/tr&gt;
&lt;tr&gt;            &lt;td valign="top"&gt;Web Cache Redirection&lt;/td&gt;            &lt;td valign="top"&gt;same&lt;/td&gt;          &lt;/tr&gt;
&lt;tr&gt;            &lt;td valign="top"&gt;Policy Routing&lt;/td&gt;            &lt;td valign="top"&gt;NAT inside global to inside local translation&lt;/td&gt;          &lt;/tr&gt;
&lt;tr&gt;            &lt;td valign="top"&gt;Routing&lt;/td&gt;            &lt;td valign="top"&gt;Policy Routing&lt;/td&gt;          &lt;/tr&gt;
&lt;tr&gt;            &lt;td valign="top"&gt;NAT inside local to inside global translation&lt;/td&gt;            &lt;td valign="top"&gt;Routing&lt;/td&gt;          &lt;/tr&gt;
&lt;tr&gt;            &lt;td valign="top"&gt;Crypto Map (mark for encryption)&lt;/td&gt;            &lt;td valign="top"&gt;same&lt;/td&gt;          &lt;/tr&gt;
&lt;tr&gt;            &lt;td valign="top"&gt;Output ACL&lt;/td&gt;            &lt;td valign="top"&gt;same&lt;/td&gt;          &lt;/tr&gt;
&lt;tr&gt;            &lt;td valign="top"&gt;IP Inspection (a.k.a Context Based Access              Control [CBAC], Stateful IOS firewall)&amp;nbsp; &lt;/td&gt;            &lt;td valign="top"&gt;same&lt;/td&gt;          &lt;/tr&gt;
&lt;tr&gt;            &lt;td valign="top"&gt;TCP Intercept&lt;/td&gt;            &lt;td valign="top"&gt;same&lt;/td&gt;          &lt;/tr&gt;
&lt;tr&gt;            &lt;td valign="top"&gt;IPSec Encryption&lt;/td&gt;            &lt;td valign="top"&gt;same&lt;/td&gt;          &lt;/tr&gt;
&lt;tr&gt;            &lt;td valign="top"&gt;Output QoS and Queuing&lt;/td&gt;            &lt;td valign="top"&gt;same&lt;/td&gt;          &lt;/tr&gt;
&lt;/tbody&gt;      &lt;/table&gt;
&lt;br /&gt;
The logic is fairly simple for NAT, it is impossible to make a      forwarding decision without performing an inside global to inside      local address translation. Without NAT, the NAT step above simply      disappears and the order of operations are the same. Additionally,      any features that are not configured drop out of the steps above. In      the simplest case, the only action is routing.&lt;br /&gt;
&lt;br /&gt;
I was working through a CCIE lab exam study guide and it posed an      interesting question that got me thinking more about order of      operations. The question asked to set different QoS markings (DSCP      values) based on packet length. With regular class based marking      this is not possible, but it is possible to match length using a      route map. I was curious to see which would take precedence, DSCP      set using a route map or a DSCP set using an egress policy map. I      set up a really simple lab below in Dynamips/GNS3 using Cisco c3725      routers:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://1.bp.blogspot.com/-Yx-kNnVGI5E/T5glrV_R_JI/AAAAAAAAAmA/6NccVZGqiSw/s1600/bjbfeije-781098.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5735375552023493778" src="http://1.bp.blogspot.com/-Yx-kNnVGI5E/T5glrV_R_JI/AAAAAAAAAmA/6NccVZGqiSw/s320/bjbfeije-781098.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
The idea is that I want to change the DSCP for ICMP traffic that is      being NAT'd from 10.0.0.1 to 192.168.0.3. I configured a policy map      on the NAT router that set the DSCP to AF21 on egress via fa0/0. I      set up a route-map that set the appropriate IP precedence      (3/immediate) and TOS (2/max-reliability) to support a combined DSCP      of AF31. Important configuration pieces on the NAT router are below      (MQC commands are in green and policy routing related commands are      in blue):&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;!&lt;br /&gt;        &lt;b&gt;&lt;span style="color: #003300;"&gt;class-map match-all match-echo&lt;br /&gt;            &amp;nbsp;match protocol icmp&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;        !&lt;br /&gt;        !&lt;br /&gt;        &lt;b&gt;&lt;span style="color: #003300;"&gt;policy-map set-icmp&lt;br /&gt;            &amp;nbsp;class match-echo&lt;br /&gt;            &amp;nbsp; set ip dscp af21&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;        !&lt;br /&gt;        !&lt;br /&gt;        interface FastEthernet0/0&lt;br /&gt;        &amp;nbsp;ip address 192.168.0.2 255.255.255.0&lt;br /&gt;        &amp;nbsp;ip nat outside&lt;br /&gt;        &amp;nbsp;ip virtual-reassembly&lt;br /&gt;        &lt;b&gt;&amp;nbsp;&lt;span style="color: #000099;"&gt;ip policy route-map set-icmp-dscp&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;        &amp;nbsp;duplex auto&lt;br /&gt;        &amp;nbsp;speed auto&lt;br /&gt;        &lt;span style="color: #003300;"&gt;&amp;nbsp;&lt;b&gt;service-policy output set-icmp&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;        !&lt;br /&gt;        !&lt;br /&gt;        &lt;b&gt;&lt;span style="color: #000099;"&gt;access-list 101 permit icmp any any&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;        !&lt;br /&gt;        !&lt;br /&gt;        !&lt;br /&gt;        &lt;b&gt;&lt;span style="color: #000099;"&gt;route-map set-icmp-dscp permit 10&lt;br /&gt;            &amp;nbsp;match ip address 101&lt;br /&gt;            &amp;nbsp;set ip precedence immediate&lt;br /&gt;            &amp;nbsp;set ip tos max-reliability&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;        !&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
The final question that we really have to look at on the outside      router is what DSCP values are received for the ICMP traffic (ping      in this case)? This can be found by setting an extended access list      that matches one or more DSCP values and the correct      source/destination addresses:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;access-list 101 permit ip any host 192.168.0.1 dscp af21&lt;br /&gt;      &lt;/i&gt;&lt;br /&gt;
And then we watch for packets that match that ACL:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;debup ip packet 101&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Performing a ping to the outside router indicates that the traffic      is received with DSCP AF21. This indicates that the egress marking      takes precedence over marking that happens due to policy routing.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Outside(config)#&lt;b&gt;do debug ip packet 101&lt;/b&gt;&lt;br /&gt;        IP packet debugging is on for access list 101&lt;br /&gt;        *Mar&amp;nbsp; 1 00:25:06.879: IP: tableid=0, s=192.168.0.3        (FastEthernet0/0), d=192.168.0.1 (FastEthernet0/0), routed via RIB&lt;br /&gt;        *Mar&amp;nbsp; 1 00:25:06.883: IP: s=192.168.0.3 (FastEthernet0/0),        d=192.168.0.1 (FastEthernet0/0), len 100, rcvd 3&lt;br /&gt;        *Mar&amp;nbsp; 1 00:25:06.959: IP: tableid=0, s=192.168.0.3        (FastEthernet0/0), d=192.168.0.1 (FastEthernet0/0), routed via RIB&lt;br /&gt;        *Mar&amp;nbsp; 1 00:25:06.959: IP: s=192.168.0.3 (FastEthernet0/0),        d=192.168.0.1 (FastEthernet0/0), len 100, rcvd 3&lt;br /&gt;        *Mar&amp;nbsp; 1 00:25:07.003: IP: tableid=0, s=192.168.0.3        (FastEthernet0/0), d=192.168.0.1 (FastEthernet0/0), routed via RIB&lt;br /&gt;        *Mar&amp;nbsp; 1 00:25:07.003: IP: s=192.168.0.3 (FastEthernet0/0),        d=192.168.0.1 (FastEthernet0/0), len 100, rcvd 3&lt;br /&gt;        *Mar&amp;nbsp; 1 00:25:07.043: IP: tableid=0, s=192.168.0.3        (FastEthernet0/0), d=192.168.0.1 (FastEthernet0/0), routed via RIB&lt;br /&gt;        *Mar&amp;nbsp; 1 00:25:07.043: IP: s=192.168.0.3 (FastEthernet0/0),        d=192.168.0.1 (FastEthernet0/0), len 100, rcvd 3&lt;br /&gt;        *Mar&amp;nbsp; 1 00:25:07.087: IP: tableid=0, s=192.168.0.3        (FastEthernet0/0), d=192.168.0.1 (FastEthernet0/0), routed via RIB&lt;br /&gt;        *Mar&amp;nbsp; 1 00:25:07.087: IP: s=192.168.0.3 (FastEthernet0/0),        d=192.168.0.1 (FastEthernet0/0), len 100, rcvd 3&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
If there was no marking occurring on egress, then the policy routing      marking would take precedence.&lt;br /&gt;
&lt;br /&gt;
See Also,&lt;br /&gt;
&lt;a href="http://mikemstech.blogspot.com/2012/03/road-to-ccie.html" target="_blank"&gt;The        Road to the CCIE&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/MikesTechnologyBlog/~4/xoujKu_U_rk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mikemstech.blogspot.com/feeds/4177807197608318018/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mikemstech.blogspot.com/2012/04/notes-on-cisco-ios-interface-order-of.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/4177807197608318018?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/4177807197608318018?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MikesTechnologyBlog/~3/xoujKu_U_rk/notes-on-cisco-ios-interface-order-of.html" title="Notes on Cisco IOS Interface Order of Operations" /><author><name>Mike Burr</name><uri>https://plus.google.com/116509990792258039224</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-Yx-kNnVGI5E/T5glrV_R_JI/AAAAAAAAAmA/6NccVZGqiSw/s72-c/bjbfeije-781098.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://mikemstech.blogspot.com/2012/04/notes-on-cisco-ios-interface-order-of.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0IFR3o8cCp7ImA9WhVXFUQ.&quot;"><id>tag:blogger.com,1999:blog-7503353345181123469.post-6060431420310646408</id><published>2012-04-16T11:05:00.000-07:00</published><updated>2012-04-16T11:05:16.478-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-04-16T11:05:16.478-07:00</app:edited><title>Configuring Cisco On-Demand Routing (ODR)</title><content type="html">One of the goals at the CCIE level is to gain a mastery of the     configuration of most of the features on the Cisco IOS platform. On     Demand Routing (ODR) is not often used and not often tested and     covered superficially on lower level certifications like the CCNP     and CCNA. &lt;br /&gt;
&lt;br /&gt;
ODR is primarily applicable in a hub and spoke network where CDP can     be used and it is not desirable to add the overhead of a routing     protocol like RIP, EIGRP, or OSPF. The main idea is that the     prefixes can be exchanged from the spoke routers (also known as stub     routers) to the hub router and the hub router can advertise a     default route to the spoke routers. Prefixes learned via ODR can be     redistributed into another routing protocol to enure full end-to-end     connectivity with other parts f the network. &lt;br /&gt;
&lt;br /&gt;
ODR relies on Cisco Discovery Protocol (CDP), so only networks that     support CDP can be part of an ODR configuration. This immediately     eliminates Frame Relay with point-to-multipoint subinterfaces     interfaces and other non-broadcast topologies.&lt;br /&gt;
&lt;br /&gt;
The following topologies show demonstrations of ODR using IPv4. IPv6     is not currently supported in ODR. This lab is built on     Dynamips/GNS3 using Cisco c7200 routers running the Advanced     Enterprise Services release of 15.0(1)M4.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://3.bp.blogspot.com/-zcMoQ5SorJk/T4xfRwl1o0I/AAAAAAAAAl0/Zp766B0ydCI/s1600/idcaecaj-794960.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5732061184441819970" src="http://3.bp.blogspot.com/-zcMoQ5SorJk/T4xfRwl1o0I/AAAAAAAAAl0/Zp766B0ydCI/s320/idcaecaj-794960.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
ODR is only enabled on the hub router with the &lt;b&gt;router odr&lt;/b&gt;     command. On ASBR_HUB, we configure ODR and redistribution into OSPF:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;b&gt;router odr&lt;/b&gt;&lt;br /&gt;       !&lt;br /&gt;       router ospf 1&lt;br /&gt;       &amp;nbsp;log-adjacency-changes&lt;br /&gt;       &amp;nbsp;redistribute odr subnets&lt;br /&gt;       &amp;nbsp;network 10.0.0.0 0.0.0.255 area 0&lt;br /&gt;       !&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
After the network converges and routes are communicated via CDP, we     can see the default route advertised via ODR on any spoke router:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Stub2#&lt;b&gt;show ip route&lt;/b&gt;&lt;br /&gt;       &lt;span style="color: silver;"&gt;Codes: L - local, C - connected, S - static,         R - RIP, M - mobile, B - BGP&lt;br /&gt;         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter         area&lt;br /&gt;         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external         type 2&lt;br /&gt;         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; E1 - OSPF external type 1, E2 - OSPF external type 2&lt;br /&gt;         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 -         IS-IS level-2&lt;br /&gt;         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ia - IS-IS inter area, &lt;span style="color: black;"&gt;* -           candidate default&lt;/span&gt;, U - per-user static route&lt;/span&gt;&lt;br /&gt;       &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; o - ODR&lt;span style="color: silver;"&gt;, P - periodic downloaded         static route, + - replicated route&lt;br /&gt;         &lt;br /&gt;         Gateway of last resort is 10.0.2.1 to network 0.0.0.0&lt;br /&gt;       &lt;/span&gt;&lt;br /&gt;       o*&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.0.0.0/0 [160/1] via 10.0.2.1, 00:00:56, FastEthernet0/0&lt;br /&gt;       &lt;span style="color: silver;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.0.0.0/8 is variably subnetted, 2         subnets, 2 masks&lt;br /&gt;         C&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.0.2.0/30 is directly connected, FastEthernet0/0&lt;br /&gt;         L&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.0.2.2/32 is directly connected, FastEthernet0/0&lt;br /&gt;         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.0/32 is subnetted, 1 subnets&lt;br /&gt;         C&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.1 is directly connected, Loopback0&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On the hub router, we see the networks connected to the spoke     routers advertised via CDP and included in the routing table as ODR     routes:&lt;br /&gt;
&lt;br /&gt;
ASBR_HUB#&lt;b&gt;show ip route odr&lt;/b&gt;&lt;br /&gt;
&lt;span style="color: #cccccc;"&gt;Codes: L - local, C - connected, S - static, R       - RIP, M - mobile, B - BGP&lt;br /&gt;       &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter       area&lt;br /&gt;       &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external       type 2&lt;br /&gt;       &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; E1 - OSPF external type 1, E2 - OSPF external type 2&lt;br /&gt;       &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 -       IS-IS level-2&lt;br /&gt;       &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ia - IS-IS inter area, * - candidate default, U - per-user       static route&lt;br /&gt;       &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: black;"&gt;o - ODR&lt;/span&gt;, P - periodic       downloaded static route, + - replicated route&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Gateway of last resort is not set&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.0.0/32 is subnetted, 1 subnets&lt;br /&gt;
o&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.0.1 [160/1] via 10.0.1.2, 00:00:59, FastEthernet0/1&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.0/32 is subnetted, 1 subnets&lt;br /&gt;
o&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.1 [160/1] via 10.0.2.2, 00:00:39, FastEthernet1/0&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.0/32 is subnetted, 1 subnets&lt;br /&gt;
o&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.1 [160/1] via 10.0.3.2, 00:00:59, FastEthernet1/1&lt;br /&gt;
&lt;br /&gt;
With the redistribution into OSPF, we can confirm end-to-end     connectivity from the OSPF router and from one of the spoke routers:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Area0#&lt;b&gt;ping 192.168.1.1 source lo0&lt;/b&gt;&lt;br /&gt;       &lt;br /&gt;       Type escape sequence to abort.&lt;br /&gt;       Sending 5, 100-byte ICMP Echos to 192.168.1.1, timeout is 2       seconds:&lt;br /&gt;       Packet sent with a source address of 172.16.1.1&lt;br /&gt;       !!!!!&lt;br /&gt;       Success rate is 100 percent (5/5), round-trip min/avg/max =       60/74/92 ms&lt;br /&gt;       &lt;br /&gt;       Stub2#&lt;b&gt;ping 172.16.1.1 source lo0&lt;/b&gt;&lt;br /&gt;       &lt;br /&gt;       Type escape sequence to abort.&lt;br /&gt;       Sending 5, 100-byte ICMP Echos to 172.16.1.1, timeout is 2       seconds:&lt;br /&gt;       Packet sent with a source address of 192.168.1.1&lt;br /&gt;       !!!!!&lt;br /&gt;       Success rate is 100 percent (5/5), round-trip min/avg/max =       48/57/76 ms&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Troubleshooting ODR isn't very complicated compared to other     protocols because there is not a lot of complexity. 90% of     troubleshooting ODR is making sure CDP is functioning properly and     ensuring that it is not disabled globally or on the interfaces that     are propagating routes.&lt;br /&gt;
&lt;br /&gt;
Most often, people don;t know which router(s) to configure the &lt;b&gt;router       odr&lt;/b&gt; command on (since it is only enabled on the hub router).     Using the &lt;b&gt;debug cdp ip&lt;/b&gt; command helps to identify possible     issues if the routing tables are not being populated.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;ASBR_HUB#&lt;b&gt;debug cdp ip&lt;/b&gt;&lt;br /&gt;       CDP IP info debugging is on&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;*Apr 16 11:54:29.915: CDP-IP: IP TLV length (4) invalid for IP       prefixes.&lt;br /&gt;       &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Expecting IP prefix from stub router&lt;br /&gt;     &lt;/i&gt;&lt;br /&gt;
The message above indicates that more than one hub has been     configured. Removing the router odr command from the misconfigured     spoke router should resolve this issue. Proper operation shows the     hub router writing default routes to the spoke routers and updating     routes from spoke-connected networks:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;*Apr 16 11:57:29.703: CDP-IP: Writing default route 10.0.1.1 for       FastEthernet0/1&lt;br /&gt;       *Apr 16 11:57:29.703: CDP-IP: Writing default route 10.0.2.1 for       FastEthernet1/0&lt;br /&gt;       *Apr 16 11:57:29.707: CDP-IP: Writing default route 10.0.3.1 for       FastEthernet1/1&lt;br /&gt;       ASBR_HUB#&lt;br /&gt;       *Apr 16 11:57:30.651: CDP-IP: Writing default route 10.0.0.2 for       FastEthernet0/0&lt;br /&gt;       ASBR_HUB#&lt;br /&gt;       *Apr 16 11:57:34.951: CDP-IP: Aging routes&lt;br /&gt;       ASBR_HUB#&lt;br /&gt;       *Apr 16 11:57:38.511: CDP-IP: Reading prefix 192.168.1.1/32 source       10.0.2.2 via FastEthernet1/0&lt;br /&gt;       *Apr 16 11:57:38.511: CDP-IP: Updating prefix 192.168.1.1/32 in       routing table&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Routing updates can be controlled using distribute lists and timers     can be configured using the timers router command. By default, ODR     sends updates every 60 seconds. If updates are not received in 180     seconds, routes are marked as invalid and flushed after 240 seconds.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://mikemstech.blogspot.com/2012/03/road-to-ccie.html" target="_blank"&gt;The       Road to the CCIE&lt;/a&gt;&lt;img src="http://feeds.feedburner.com/~r/MikesTechnologyBlog/~4/hPzXrfo2z1o" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mikemstech.blogspot.com/feeds/6060431420310646408/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mikemstech.blogspot.com/2012/04/configuring-cisco-on-demand-routing-odr.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/6060431420310646408?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/6060431420310646408?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MikesTechnologyBlog/~3/hPzXrfo2z1o/configuring-cisco-on-demand-routing-odr.html" title="Configuring Cisco On-Demand Routing (ODR)" /><author><name>Mike Burr</name><uri>https://plus.google.com/116509990792258039224</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-zcMoQ5SorJk/T4xfRwl1o0I/AAAAAAAAAl0/Zp766B0ydCI/s72-c/idcaecaj-794960.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://mikemstech.blogspot.com/2012/04/configuring-cisco-on-demand-routing-odr.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0EFQH46eCp7ImA9WhVXEUs.&quot;"><id>tag:blogger.com,1999:blog-7503353345181123469.post-7961592728678693177</id><published>2012-04-11T11:40:00.001-07:00</published><updated>2012-04-11T11:40:11.010-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-04-11T11:40:11.010-07:00</app:edited><title>OSPF Virtual Links</title><content type="html">The Open Shortest Path First routing protocol is a critical piece of     knowledge for any networking professional working in an enterprise     environment. Most major networking certifications covering routing     and switching including the Cisco Certified Network Associate     (CCNA), Cisco Certified Network Professional (CCNP), and Cisco     Certified Internetwork Expert (CCIE) extensively test OSPF knowledge     and skills. OSPF is the most popular dynamic routing protocol used     in complex enterprise networks. This example will demonstrate the     concepts and configuration involved with setting up OSPF virtual     links to support a non-contiguous backbone area. This lab is built     using Dynamips/GNS3 utilizing Cisco c3725 routers.&lt;br /&gt;
&lt;br /&gt;
Virtual links are designed to allow the backbone area (area 0) to be     noncontiguous. They can also be used for non-backbone areas to     protect against loss of end-to-end connectivity if an area is     partitioned. In this example, the parts of the backbone area have no     direct connection, OSPF brings up a virtual interface to allow the     two separated routers in area 0 to share a common link and transmit     LSAs. The following topology shows how virtual links are applied:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://1.bp.blogspot.com/-URBI16waAdg/T4XPzW4Y5-I/AAAAAAAAAlo/vvpLctOnO-w/s1600/bfigjbhg-749338.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5730214582121195490" src="http://1.bp.blogspot.com/-URBI16waAdg/T4XPzW4Y5-I/AAAAAAAAAlo/vvpLctOnO-w/s320/bfigjbhg-749338.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
In order to ensure continuity in area 0, type 1 and type 2 LSAs are     transmitted between routers 2.2.2.2 and 4.4.4.4. to allow all of the     routers in area 0 to have a complete topology view. Type 3 (network     summary) LSAs are transferred into area 0 at the two ABRs.&lt;br /&gt;
&lt;br /&gt;
Virtual links can only be created over regular areas, when an area     containing a virtual link is changed to a stub area or NSSA, the     change fails with the following:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;ABR_1_0(config-router)#area 1 nssa&lt;br /&gt;       % OSPF: Area cannot be nssa as it contains a virtual link&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;ABR_1_0(config-router)#area 1 stub&lt;br /&gt;       % OSPF: Area cannot be a stub as it contains a virtual link&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Attempting to create a virtual link through a stub area fails&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;ABR_0_1(config-router)#area 1 virtual-link 4.4.4.4&lt;br /&gt;       % OSPF: Area 1 is a stub or nssa so virtual links are not allowed&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Configuration is fairly straightforward. The &lt;b&gt;area virtual-link       router-id&lt;/b&gt; is used on the ABRs. The transit area specified is     the area that divides the area involved with the virtual link     (typically area 0, but other areas are also possible) and the router     ID is the router ID of the ABR on the other side of the virtual     link. In this example the transit area is area 1 and the virtual     links are between routers 4.4.4.4 and 2.2.2.2 On the ABRs:&lt;br /&gt;
&lt;br /&gt;
On ABR_0_1:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;router ospf 1&lt;br /&gt;       &amp;nbsp;router-id 2.2.2.2&lt;br /&gt;       &amp;nbsp;log-adjacency-changes&lt;br /&gt;       &lt;b&gt;&amp;nbsp;area 1 virtual-link 4.4.4.4&lt;br /&gt;       &lt;/b&gt;&amp;nbsp;network 10.0.0.0 0.0.0.3 area 0&lt;br /&gt;       &amp;nbsp;network 10.0.1.0 0.0.0.3 area 1&lt;br /&gt;       !&lt;br /&gt;     &lt;/i&gt;&lt;br /&gt;
On ABR_1_0:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;router ospf 1&lt;br /&gt;       &amp;nbsp;router-id 4.4.4.4&lt;br /&gt;       &amp;nbsp;log-adjacency-changes&lt;br /&gt;       &lt;b&gt;&amp;nbsp;area 1 virtual-link 2.2.2.2&lt;br /&gt;       &lt;/b&gt;&amp;nbsp;network 10.0.2.0 0.0.0.3 area 1&lt;br /&gt;       &amp;nbsp;network 10.0.3.0 0.0.0.3 area 0&lt;br /&gt;       !&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
OSPF hello packets are not sent periodically over virtual links and     all of the received LSAs are marked with the DNA (do not age) bit.     In a stable network, this is not a problem, but LSAs marked with the     do not age bit are not refreshed every 30 minutes and they are not     automatically timed out and deleted. Here is an example of the OSPF     database for area 0 on ABR_1_0:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;ABR_1_0#&lt;b&gt;show ip ospf database&lt;/b&gt;&lt;br /&gt;       &lt;br /&gt;       &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OSPF Router with ID (4.4.4.4) (Process ID 1)&lt;br /&gt;       &lt;br /&gt;       &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Router Link States (Area 0)&lt;br /&gt;       &lt;br /&gt;       Link ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ADV Router&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Age&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Seq#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Checksum       Link count&lt;br /&gt;       &lt;span style="color: #663366;"&gt;1.1.1.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.1.1.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 27&amp;nbsp;&amp;nbsp;&amp;nbsp; (DNA)         0x8000001F 0x00D21B 1&lt;br /&gt;         2.2.2.2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2.2.2.2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (DNA) 0x8000002A 0x00C9CD         2&lt;/span&gt;&lt;br /&gt;       4.4.4.4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4.4.4.4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x80000025 0x00CBC0 2&lt;br /&gt;       5.5.5.5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5.5.5.5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 634&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x8000001E 0x00FDC8 1&lt;br /&gt;       &lt;br /&gt;       &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Net Link States (Area 0)&lt;br /&gt;       &lt;br /&gt;       Link ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ADV Router&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Age&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Seq#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Checksum&lt;br /&gt;       &lt;span style="color: #663366;"&gt;10.0.0.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.1.1.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 27&amp;nbsp;&amp;nbsp;&amp;nbsp; (DNA)         0x80000001 0x0069B8&lt;/span&gt;&lt;br /&gt;       10.0.3.2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5.5.5.5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 634&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x8000001C 0x007C5E&lt;br /&gt;       &lt;br /&gt;       &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Summary Net Link States (Area 0)&lt;br /&gt;       &lt;br /&gt;       Link ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ADV Router&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Age&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Seq#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Checksum&lt;br /&gt;       &lt;span style="color: #663366;"&gt;10.0.1.0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2.2.2.2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 39&amp;nbsp;&amp;nbsp;&amp;nbsp; (DNA)         0x80000003 0x000E13&lt;/span&gt;&lt;br /&gt;       10.0.1.0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4.4.4.4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 372&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x8000001A 0x0008EF&lt;br /&gt;       &lt;span style="color: #663366;"&gt;10.0.2.0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2.2.2.2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (DNA)         0x80000001 0x006BAC&lt;/span&gt;&lt;br /&gt;       10.0.2.0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4.4.4.4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 119&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x8000001C 0x00946A&lt;br /&gt;       &lt;br /&gt;       ...&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
None of the area 0 type-1 or type2 LSAs show up in Area 1. Instead,     the database shows type-3 network summary LSAs originating from area     0:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Area1#&lt;b&gt;show ip ospf database&lt;/b&gt;&lt;br /&gt;       &lt;br /&gt;       &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OSPF Router with ID (10.0.2.1) (Process ID 1)&lt;br /&gt;       &lt;br /&gt;       &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Router Link States (Area 1)&lt;br /&gt;       &lt;br /&gt;       Link ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ADV Router&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Age&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Seq#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Checksum       Link count&lt;br /&gt;       2.2.2.2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2.2.2.2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 184&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x80000022 0x00AF2B 1&lt;br /&gt;       4.4.4.4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4.4.4.4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 184&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x8000002B 0x001FA0 1&lt;br /&gt;       10.0.2.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.0.2.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 199&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x80000029 0x00DBBE 2&lt;br /&gt;       &lt;br /&gt;       &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Net Link States (Area 1)&lt;br /&gt;       &lt;br /&gt;       Link ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ADV Router&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Age&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Seq#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Checksum&lt;br /&gt;       10.0.1.2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.0.2.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 194&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x80000003 0x0040CB&lt;br /&gt;       10.0.2.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.0.2.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1133&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x8000001A 0x007577&lt;br /&gt;       &lt;br /&gt;       &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Summary Net Link States (Area 1)&lt;br /&gt;       &lt;br /&gt;       Link ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ADV Router&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Age&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Seq#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Checksum&lt;br /&gt;       10.0.0.0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2.2.2.2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 200&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x8000001B 0x00E821&lt;br /&gt;       10.0.3.0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4.4.4.4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 550&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x8000001E 0x008576&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the ABR attached to the virtual link fails, it's LSAs will     continue to exist on the other area routers; however the routes will     eventually disappear from the routing table. Looking that the     database, OSPF picks up that the advertising router is not reachable     and removes the route from the routing table, but the LSA remains in     the database, Here is an example of a type-1 (router) LSA in the unreachable part of the backbone area after the     virtual link goes down:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;ABR_1_0#&lt;b&gt;show ip ospf database router 1.1.1.1&lt;/b&gt;&lt;br /&gt;       &lt;br /&gt;       &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OSPF Router with ID (4.4.4.4) (Process ID 1)&lt;br /&gt;       &lt;br /&gt;       &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Router Link States (Area 0)&lt;br /&gt;       &lt;br /&gt;       &amp;nbsp; &lt;b&gt;Adv Router is not-reachable&lt;/b&gt;&lt;br /&gt;       &amp;nbsp; LS age: 27 (DoNotAge)&lt;br /&gt;       &amp;nbsp; Options: (No TOS-capability, DC)&lt;br /&gt;       &amp;nbsp; LS Type: Router Links&lt;br /&gt;       &amp;nbsp; Link State ID: 1.1.1.1&lt;br /&gt;       &amp;nbsp; Advertising Router: 1.1.1.1&lt;br /&gt;       &amp;nbsp; LS Seq Number: 8000001F&lt;br /&gt;       &amp;nbsp; Checksum: 0xD21B&lt;br /&gt;       &amp;nbsp; Length: 36&lt;br /&gt;       &amp;nbsp; Number of Links: 1&lt;br /&gt;       &lt;br /&gt;       &amp;nbsp;&amp;nbsp;&amp;nbsp; Link connected to: a Transit Network&lt;br /&gt;       &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (Link ID) Designated Router address: 10.0.0.1&lt;br /&gt;       &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (Link Data) Router Interface address: 10.0.0.1&lt;br /&gt;       &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Number of TOS metrics: 0&lt;br /&gt;       &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TOS 0 Metrics: 10&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Virtual links shouldn't exist in well designed OSPF networks. The     main applications for using virtual links are to prevent     connectivity loss for partitioned areas and utilizing a physically     separated backbone area. For using a physically separated backbone     area, this most often occurs during a merger/acquisition and the     decision has been made to use a single OSPF routing domain instead     of redistribution. &lt;br /&gt;
&lt;br /&gt;
See Also:&lt;br /&gt;
&lt;a href="http://mikemstech.blogspot.com/2012/03/road-to-ccie.html" target="_blank"&gt;The       Road to the CCIE&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/MikesTechnologyBlog/~4/pL1zuvkx1ds" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mikemstech.blogspot.com/feeds/7961592728678693177/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mikemstech.blogspot.com/2012/04/ospf-virtual-links.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/7961592728678693177?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/7961592728678693177?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MikesTechnologyBlog/~3/pL1zuvkx1ds/ospf-virtual-links.html" title="OSPF Virtual Links" /><author><name>Mike Burr</name><uri>https://plus.google.com/116509990792258039224</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-URBI16waAdg/T4XPzW4Y5-I/AAAAAAAAAlo/vvpLctOnO-w/s72-c/bfigjbhg-749338.png" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://mikemstech.blogspot.com/2012/04/ospf-virtual-links.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkIERXY6fip7ImA9WhVXEEs.&quot;"><id>tag:blogger.com,1999:blog-7503353345181123469.post-6391272064731265189</id><published>2012-04-10T07:35:00.000-07:00</published><updated>2012-04-10T07:35:04.816-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-04-10T07:35:04.816-07:00</app:edited><title>The OSPF Totally Not-So-Stubby-Area (NSSA)</title><content type="html">The Open Shortest Path First routing protocol is a critical piece of     knowledge for any networking professional working in an enterprise     environment. Most major networking certifications covering routing     and switching including the Cisco Certified Network Associate     (CCNA), Cisco Certified Network Professional (CCNP), and Cisco     Certified Internetwork Expert (CCIE) extensively test OSPF knowledge     and skills. OSPF is the most popular dynamic routing protocol used     in complex enterprise networks. This example will demonstrate the     concepts and configuration involved with setting up a totally NSSA     OSPF area. This lab is built using Dynamips/GNS3 utilizing Cisco     c3725 routers.&lt;br /&gt;
&lt;br /&gt;
The OSPF implementation in Cisco IOS recognizes 5 main     classifications of areas:     &lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://mikemstech.blogspot.com/2012/03/singe-area-ospf-routing-example.html" target="_blank"&gt;Regular (non-stub) area&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://mikemstech.blogspot.com/2012/04/ospf-stub-area.html" target="_blank"&gt;Stub            area&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://mikemstech.blogspot.com/2012/04/ospf-totally-stubby-area.html" target="_blank"&gt;Totally           stubby area&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://mikemstech.blogspot.com/2012/04/ospf-not-so-stubby-area-nssa.html" target="_blank"&gt;Not-so-stubby           area (NSSA)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Totally stub not-so-stubby area (totally NSSA)&lt;/li&gt;
&lt;/ul&gt;
Similar to the totally stubby area, the totally NSSA is not a     standard area defined in the RFC specifications for OSPF. Vendors     including Microsoft, Cisco, Juniper, and others have implemented     these areas as their own custom extensions to the OSPF protocol.&lt;br /&gt;
&lt;br /&gt;
The design principles around totally NSSAs are similar to totally     stubby areas, with the exception that the underlying assumptions are     relaxed to indicate that the routers that are internal to the     totally NSSAs need to have no knowledge of subnets outside of the     area (with the exception of the routes injected by the NSSA ASBRs).&lt;br /&gt;
&lt;br /&gt;
The following topology provides everything necessary to examine the     mechanics of the totally NSSA:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://1.bp.blogspot.com/-SPsgLxaTUyE/T4REyyHXDMI/AAAAAAAAAlc/dpLP-GpDoUY/s1600/ihjhbeha-726867.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5729780265158905026" src="http://1.bp.blogspot.com/-SPsgLxaTUyE/T4REyyHXDMI/AAAAAAAAAlc/dpLP-GpDoUY/s320/ihjhbeha-726867.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Here we have E1 and E2 routes created by the ASBR in area 0 and N1     and N2 routes created by the ASBR in area 1 (the totally NSSA). The     configuration of the ASBR and NSSA_ASBR routers follows a similar     configuration to the &lt;a href="http://mikemstech.blogspot.com/2012/04/ospf-not-so-stubby-area-nssa.html"&gt;NSSA       example&lt;/a&gt;.&lt;br /&gt;
On ASBR:&lt;br /&gt;     &lt;br /&gt;
&lt;i&gt;router ospf 1&lt;br /&gt;         &amp;nbsp;log-adjacency-changes&lt;br /&gt;         &amp;nbsp;redistribute connected subnets route-map &lt;span style="color: #990000;"&gt;redist-lo-into-ospf&lt;/span&gt;&lt;br /&gt;         &amp;nbsp;network 10.0.0.0 0.0.0.255 area 0&lt;br /&gt;         !&lt;br /&gt;         ip prefix-list &lt;span style="color: #3333ff;"&gt;lo-into-ospf-e1&lt;/span&gt; seq         5 permit 172.16.1.0/24&lt;br /&gt;         !&lt;br /&gt;         ip prefix-list &lt;span style="color: #6600cc;"&gt;lo-into-ospf-e2&lt;/span&gt; seq         5 permit 172.16.2.0/24&lt;br /&gt;         !&lt;br /&gt;         ! **Make 172.16.1.0/24 an E1 route**&lt;br /&gt;         !&lt;br /&gt;         route-map &lt;span style="color: #990000;"&gt;redist-lo-into-ospf&lt;/span&gt;         permit 10&lt;br /&gt;         &amp;nbsp;match ip address prefix-list &lt;span style="color: #3333ff;"&gt;lo-into-ospf-e1&lt;/span&gt;&lt;br /&gt;         &amp;nbsp;set metric-type type-1&lt;br /&gt;         !&lt;br /&gt;         ! **Make 172.16.2.0/24 an E2 route**&lt;br /&gt;         !&lt;br /&gt;         route-map &lt;span style="color: #990000;"&gt;redist-lo-into-ospf&lt;/span&gt;         permit 20&lt;br /&gt;         &amp;nbsp;match ip address prefix-list &lt;span style="color: #6600cc;"&gt;lo-into-ospf-e2&lt;/span&gt;&lt;br /&gt;         &amp;nbsp;set metric-type type-2&lt;br /&gt;         !&lt;/i&gt;&lt;br /&gt;     &lt;br /&gt;
On NSSA_ASBR:&lt;br /&gt;     &lt;br /&gt;
&lt;i&gt;router ospf 1&lt;br /&gt;       &amp;nbsp;log-adjacency-changes&lt;br /&gt;       &amp;nbsp;&lt;b&gt;area 1 nssa no-summary&lt;/b&gt;&lt;br /&gt;       &amp;nbsp;redistribute connected subnets route-map &lt;span style="color: #990000;"&gt;lo-to-ospf&lt;/span&gt;&lt;br /&gt;       &amp;nbsp;network 192.168.1.0 0.0.0.255 area 1&lt;br /&gt;       !&lt;br /&gt;       ip prefix-list &lt;span style="color: #000099;"&gt;lo-to-ospf-t1&lt;/span&gt; seq 5       permit 192.168.100.0/24&lt;br /&gt;       !&lt;br /&gt;       ip prefix-list &lt;span style="color: #663366;"&gt;lo-to-ospf-t2&lt;/span&gt; seq 5       permit 192.168.200.0/24&lt;br /&gt;       !&lt;br /&gt;       route-map &lt;span style="color: #990000;"&gt;lo-to-ospf&lt;/span&gt; permit 10&lt;br /&gt;       &amp;nbsp;match ip address prefix-list &lt;span style="color: #000099;"&gt;lo-to-ospf-t1&lt;/span&gt;&lt;br /&gt;       &amp;nbsp;set metric-type type-1&lt;br /&gt;       !&lt;br /&gt;       route-map &lt;span style="color: #990000;"&gt;lo-to-ospf&lt;/span&gt; permit 20&lt;br /&gt;       &amp;nbsp;match ip address prefix-list &lt;span style="color: #663366;"&gt;lo-to-ospf-t2&lt;/span&gt;&lt;br /&gt;       &amp;nbsp;set metric-type type-2&lt;br /&gt;       !&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
For ABRs that have interfaces in area 1, the &lt;b&gt;area nssa       no-summary&lt;/b&gt; command is required to identify the area as a     totally NSSA. The no-summary option instructs the ABRs not to     propagate type-3 LSAs into the totally NSSAs. The no-summary option     is also only required on ABRs, as there are no other sources of type     3 LSAs. Type-5 LSAs are not propagated into stub or NSSA areas.&lt;br /&gt;
&lt;br /&gt;
The area 1 ABRs still create type-3 summary LSAs and type 5 external     LSAs (from the type-7 NSSA external LSAs) and propagate these into     the backbone area and other type-5 capable areas. &lt;br /&gt;
&lt;br /&gt;
Let's examine the routing table and OSPF database on the internal     area 1 router and the internal area 0 router. Since area 1 is     totally NSSA, we would only expect to find networks advertised in     area 1 and the external routes from NSSA_ASBR:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Area1#&lt;b&gt;show ip route&lt;/b&gt;&lt;br /&gt;       &lt;span style="color: #cccccc;"&gt;Codes: C - connected, S - static, R - RIP, M         - mobile, B - BGP&lt;br /&gt;         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter         area&lt;br /&gt;         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external         type 2&lt;br /&gt;         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; E1 - OSPF external type 1, E2 - OSPF external type 2&lt;br /&gt;         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 -         IS-IS level-2&lt;br /&gt;         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ia - IS-IS inter area, * - candidate default, U -         per-user static route&lt;br /&gt;         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; o - ODR, P - periodic downloaded static route&lt;/span&gt;&lt;br /&gt;       &lt;br /&gt;       Gateway of last resort is 192.168.0.1 to network 0.0.0.0&lt;br /&gt;       &lt;br /&gt;       O N2 192.168.200.0/24 [110/20] via 192.168.1.2, 20:17:53,       Serial0/1&lt;br /&gt;       C&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.0.0/24 is directly connected, Serial0/0&lt;br /&gt;       C&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.0/24 is directly connected, Serial0/1&lt;br /&gt;       O N1 192.168.100.0/24 [110/84] via 192.168.1.2, 20:17:53,       Serial0/1&lt;br /&gt;       O*IA 0.0.0.0/0 [110/65] via 192.168.0.1, 10:06:39, Serial0/0&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Similar to the stub and totally stubby areas, the default route is     propagated as a type-3 LSA originating from the ABR and there are no     other LSAs advertising routes/networks from outside of area 1:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Area1#&lt;b&gt;show ip ospf database&lt;/b&gt;&lt;br /&gt;       &lt;br /&gt;       &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OSPF Router with ID (192.168.1.1) (Process ID 1)&lt;br /&gt;       &lt;br /&gt;       &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Router Link States (Area 1)&lt;br /&gt;       &lt;br /&gt;       Link ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ADV Router&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Age&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Seq#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Checksum       Link count&lt;br /&gt;       192.168.0.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.0.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1434&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x8000002B 0x002A33 2&lt;br /&gt;       192.168.1.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1046&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x80000029 0x009A1E 4&lt;br /&gt;       192.168.200.1&amp;nbsp;&amp;nbsp; 192.168.200.1&amp;nbsp;&amp;nbsp; 656&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x80000027 0x00418C 2&lt;br /&gt;       &lt;br /&gt;       &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Summary Net Link States (Area 1)&lt;br /&gt;       &lt;br /&gt;       Link ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ADV Router&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Age&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Seq#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Checksum&lt;br /&gt;       0.0.0.0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.0.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 661&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x80000013 0x0003B6&lt;br /&gt;       &lt;br /&gt;       &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Type-7 AS External Link States (Area 1)&lt;br /&gt;       &lt;br /&gt;       Link ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ADV Router&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Age&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Seq#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Checksum       Tag&lt;br /&gt;       192.168.100.0&amp;nbsp;&amp;nbsp; 192.168.200.1&amp;nbsp;&amp;nbsp; 656&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x80000025 0x004F36 0&lt;br /&gt;       192.168.200.0&amp;nbsp;&amp;nbsp; 192.168.200.1&amp;nbsp;&amp;nbsp; 656&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x80000025 0x00821E 0&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
In the backbone area, the routing table shows all of the networks     that are advertised into OSPF (either through redistribution or OSPF     configuration):&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Area0#&lt;b&gt;show ip route&lt;/b&gt;&lt;br /&gt;       &lt;span style="color: #cccccc;"&gt;Codes: C - connected, S - static, R - RIP, M         - mobile, B - BGP&lt;br /&gt;         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter         area&lt;br /&gt;         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external         type 2&lt;br /&gt;         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; E1 - OSPF external type 1, E2 - OSPF external type 2&lt;br /&gt;         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 -         IS-IS level-2&lt;br /&gt;         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ia - IS-IS inter area, * - candidate default, U -         per-user static route&lt;br /&gt;         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; o - ODR, P - periodic downloaded static route&lt;br /&gt;       &lt;/span&gt;&lt;br /&gt;       Gateway of last resort is not set&lt;br /&gt;       &lt;br /&gt;       &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 172.16.0.0/24 is subnetted, 2 subnets&lt;br /&gt;       &lt;span style="color: #006600;"&gt;O E1&amp;nbsp;&amp;nbsp;&amp;nbsp; 172.16.1.0 [110/84] via 10.0.0.1,         16:28:13, Serial0/0&lt;br /&gt;         O E2&amp;nbsp;&amp;nbsp;&amp;nbsp; 172.16.2.0 [110/20] via 10.0.0.1, 16:28:13, Serial0/0&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: #000099;"&gt;O E2 192.168.200.0/24 [110/20] via 10.0.1.2,         16:28:33, Serial0/1&lt;/span&gt;&lt;br /&gt;       &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.0.0.0/24 is subnetted, 2 subnets&lt;br /&gt;       &lt;span style="color: #006600;"&gt;C&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.0.0.0 is directly connected,         Serial0/0&lt;br /&gt;         C&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.0.1.0 is directly connected, Serial0/1&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: #000099;"&gt;O IA 192.168.0.0/24 [110/128] via 10.0.1.2,         16:32:30, Serial0/1&lt;br /&gt;         O IA 192.168.1.0/24 [110/192] via 10.0.1.2, 16:32:30, Serial0/1&lt;br /&gt;         O E1 192.168.100.0/24 [110/212] via 10.0.1.2, 16:28:34,         Serial0/1&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Looking at Area 0, we see type 5 LSAs for the external routes     advertised by NSSA_ASBR and we see type 3 LSAs for the networks that     are internal to area 1:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Area0#&lt;b&gt;show ip ospf database&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OSPF Router with ID (10.0.1.1) (Process ID 1)&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Router Link States (Area 0)&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;Link ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ADV Router&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Age&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Seq#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Checksum Link     count&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style="color: #006600;"&gt;10.0.1.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.0.1.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 933&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;       0x8000004F 0x0074D3 4&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #006600;"&gt;172.16.2.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 172.16.2.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;       1063&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x8000004E 0x00F9BA 2&lt;br /&gt;       192.168.0.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.0.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1748&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x8000002A 0x00F38B 2&lt;br /&gt;     &lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Summary Net Link States (Area 0)&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;Link ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ADV Router&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Age&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Seq#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Checksum&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style="color: #000099;"&gt;192.168.0.0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.0.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1748&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;       0x80000025 0x00FF05&lt;br /&gt;       192.168.1.0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.0.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1748&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x80000025 0x00774C&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Type-5 AS External Link States&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;Link ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ADV Router&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Age&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Seq#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Checksum Tag&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style="color: #006600;"&gt;172.16.1.0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 172.16.2.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1305&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;       0x8000004A 0x009ABF 0&lt;br /&gt;       172.16.2.0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 172.16.2.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1316&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x8000004A 0x0013C5 0&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;span style="color: #000099;"&gt;&lt;i&gt;192.168.100.0&amp;nbsp;&amp;nbsp; 192.168.0.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1759&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;       0x80000025 0x0061F6 0&lt;br /&gt;       192.168.200.0&amp;nbsp;&amp;nbsp; 192.168.0.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1759&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x80000025 0x0094DE 0&lt;/i&gt;&lt;br /&gt;     &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
See Also,&lt;br /&gt;
&lt;a href="http://mikemstech.blogspot.com/2012/03/road-to-ccie.html" target="_blank"&gt;The       Road to the CCIE&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/MikesTechnologyBlog/~4/-Qr8C0p0K4Y" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mikemstech.blogspot.com/feeds/6391272064731265189/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mikemstech.blogspot.com/2012/04/ospf-totally-not-so-stubby-area-nssa.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/6391272064731265189?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/6391272064731265189?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MikesTechnologyBlog/~3/-Qr8C0p0K4Y/ospf-totally-not-so-stubby-area-nssa.html" title="The OSPF Totally Not-So-Stubby-Area (NSSA)" /><author><name>Mike Burr</name><uri>https://plus.google.com/116509990792258039224</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-SPsgLxaTUyE/T4REyyHXDMI/AAAAAAAAAlc/dpLP-GpDoUY/s72-c/ihjhbeha-726867.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://mikemstech.blogspot.com/2012/04/ospf-totally-not-so-stubby-area-nssa.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUYGQHg9eyp7ImA9WhVXEEs.&quot;"><id>tag:blogger.com,1999:blog-7503353345181123469.post-4918164305966963230</id><published>2012-04-10T07:12:00.000-07:00</published><updated>2012-04-10T07:12:01.663-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-04-10T07:12:01.663-07:00</app:edited><title>Are Cloud Services Highly Available?</title><content type="html">Businesses, governments, an non-profit organizations are relying     more and more on the use of externally hosted cloud services for     email, web hosting, applications, and more. From a business unit     perspective, these services require little more than an internet     connection and a client software installation (in some cases). Some     companies are even reducing or eliminating their datacenter space in     favor of emerging cloud technologies like virtual private server     hosting (VPS). Unfortunately, the correct pieces of the IT     department might not be involved until after a contract is signed     and critical damage is done to the organization's high availability     strategy.&lt;br /&gt;
&lt;br /&gt;
Cloud services are hosted by all kinds of people and organizations     nowadays. Some organizations offer very highly available systems     that could withstand the failure of an entire part of the country     while others are offered out of a person's basement (really... an     old boss of mine hosted a "cloud" service out of his basement). Some     providers even cater to niche markets like the eco-friendly market     by offering green cloud services, green virtual private server     hosting, and green web hosting. Although good for marketing, niche     factors don't determine what a "good" cloud provider really offers.&lt;br /&gt;
&lt;br /&gt;
Utilizing cloud services is a form of outsourcing, so the primary     business drivers are reducing total cost of ownership and not     negatively impacting the quality of the IT service delivered. For     the most part, organizations are most successful with outsourcing     business support processes while keeping the IT infrastructure and     applications for core business services maintained internally.&lt;br /&gt;
&lt;br /&gt;
When evaluating competing cloud services, it is important to look at     what the hosting organization provides in terms of the service     offered and the availability/performance guarantee. If the hosting     company stores your organization's data in a single datacenter at a     single site, then this creates a risk of loss in the event of a     catastrophic failure or natural disaster at the service provider's     datacenter. Perhaps the provider has multiple sites, but relies on     tape backup and restore in the event of a failure at the primary     site. &lt;br /&gt;
&lt;br /&gt;
Other factors around availability, performance, and overall service     quality need to be considered before signing a contract with a cloud     provider. When you trust your data to a cloud provider, you are only     as highly available as they are. Furthermore, in the event of a     disaster affecting a service provider, their internal DR plan will     probably be to restore the biggest and highest paying company's data     first, so smaller organizations could be at a bigger disadvantage.&lt;br /&gt;
&lt;br /&gt;
The business case for cloud services exists because an organization     can manage their IT costs as operational expenses rather than     capital expenses and the total cost of ownership (TCO) goes down in     some instances (though not as often as you might think).     Unfortunately, the use of some cloud technologies can cause an     organization's IT service to be less highly available than if it     were offered internally by the organization's IT staff.&lt;br /&gt;
&lt;br /&gt;
See Also,&lt;br /&gt;
&lt;a href="http://mikemstech.blogspot.com/2012/02/high-availability-business-continuity.html" target="_blank"&gt;High       Availability, Business Continuity Planning, and Disaster Recovery&lt;/a&gt;&lt;img src="http://feeds.feedburner.com/~r/MikesTechnologyBlog/~4/2_4YO5R-FYM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mikemstech.blogspot.com/feeds/4918164305966963230/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mikemstech.blogspot.com/2012/04/are-cloud-services-highly-available.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/4918164305966963230?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/4918164305966963230?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MikesTechnologyBlog/~3/2_4YO5R-FYM/are-cloud-services-highly-available.html" title="Are Cloud Services Highly Available?" /><author><name>Mike Burr</name><uri>https://plus.google.com/116509990792258039224</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://mikemstech.blogspot.com/2012/04/are-cloud-services-highly-available.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkIGQng6eSp7ImA9WhVXEEs.&quot;"><id>tag:blogger.com,1999:blog-7503353345181123469.post-8183779230820318693</id><published>2012-04-09T14:58:00.001-07:00</published><updated>2012-04-10T07:35:23.611-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-04-10T07:35:23.611-07:00</app:edited><title>The OSPF Not-So-Stubby Area (NSSA)</title><content type="html">The Open Shortest Path First routing protocol is a critical piece of     knowledge for any networking professional working in an enterprise     environment. Most major networking certifications covering routing     and switching including the Cisco Certified Network Associate     (CCNA), Cisco Certified Network Professional (CCNP), and Cisco     Certified Internetwork Expert (CCIE) extensively test OSPF knowledge     and skills. OSPF is the most popular dynamic routing protocol used     in complex enterprise networks. This example will demonstrate the     concepts and configuration involved with setting up a totally stubby     OSPF area. This lab is built using Dynamips/GNS3 utilizing Cisco     c3725 routers.&lt;br /&gt;
&lt;br /&gt;
The OSPF implementation in Cisco IOS recognizes 5 main     classifications of areas:     &lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://mikemstech.blogspot.com/2012/03/singe-area-ospf-routing-example.html" target="_blank"&gt;Regular (non-stub) area&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://mikemstech.blogspot.com/2012/04/ospf-stub-area.html" target="_blank"&gt;Stub            area&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://mikemstech.blogspot.com/2012/04/ospf-totally-stubby-area.html" target="_blank"&gt;Totally           stubby area&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Not-so-stubby area (NSSA)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://mikemstech.blogspot.com/2012/04/ospf-totally-not-so-stubby-area-nssa.html" target="_blank"&gt;Totally stub not-so-stubby area (totally NSSA)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
The NSSA Option for OSPF areas is defined in RFC 1587. The NSSA       option partially undoes a portion of what the stub area is       designed to do. The OSPF stub area eliminates the propagation of       external routes in an area by creating a default route that is       propagated into the NSSA by the ABR. The NSSA standard creates a       new type of LSA, the type 7 (NSSA External) LSA, and floods that       through the NSSA. ABRs for the NSSA translate type 7 LSAs and       propagate them to the backbone area and other type-5-LSA capable       areas as type 5 (external) LSAs. ASBRs in the NSSA are not       actually advertised into the backbone area as type 4 (ASBR       summary) LSAs. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From a network design standpoint, NSSAs have a limited       application to large enterprise networks and service providers       using OSPF as an interior gateway protocol. The idea centers on       the assumption that there are non-transit networks that are       candidates to be connected to a stub area, but are not part of the       OSPF routing domain. In a way, these external networks and the       OSPF area that they are connected to can be considered a leaf in       the larger spanning tree developed by the other OSPF areas. &lt;br /&gt;
&lt;br /&gt;
The following topology shows everything that we will need to       explore the not-so-stubby area in Cisco's OSPF implementation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://3.bp.blogspot.com/-x2RhK93MoIk/T4Na-Nw1NEI/AAAAAAAAAlQ/sU4-zB4kKyY/s1600/ahceabji-767424.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5729523175838266434" src="http://3.bp.blogspot.com/-x2RhK93MoIk/T4Na-Nw1NEI/AAAAAAAAAlQ/sU4-zB4kKyY/s320/ahceabji-767424.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ASBRs create both E1 (N1) and E2 (N2) routes. Remember that       paths to E2/N2 routes are evaluated only on the external cost.       E1/N1 costs are determined by a combination of the external and       internal (to the OSPF routing domain) costs to reach a subnet.       E2/N2 networks are considered higher cost than E1/N1 networks,       regardless of whether the E2/N2 metric is actually lower than the       E1/N1 metric.&lt;br /&gt;
&lt;br /&gt;
The configuration of the ASBR and NSSA_ASBR redistribution is       most easily accomplished using a route map that matches prefix       lists for the routes:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On ASBR:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;router ospf 1&lt;br /&gt;         &amp;nbsp;log-adjacency-changes&lt;br /&gt;         &amp;nbsp;redistribute connected subnets route-map &lt;span style="color: #990000;"&gt;redist-lo-into-ospf&lt;/span&gt;&lt;br /&gt;         &amp;nbsp;network 10.0.0.0 0.0.0.255 area 0&lt;br /&gt;         !&lt;br /&gt;         ip prefix-list &lt;span style="color: #3333ff;"&gt;lo-into-ospf-e1&lt;/span&gt; seq         5 permit 172.16.1.0/24&lt;br /&gt;         !&lt;br /&gt;         ip prefix-list &lt;span style="color: #6600cc;"&gt;lo-into-ospf-e2&lt;/span&gt; seq         5 permit 172.16.2.0/24&lt;br /&gt;         !&lt;br /&gt;         ! **Make 172.16.1.0/24 an E1 route**&lt;br /&gt;         !&lt;br /&gt;         route-map &lt;span style="color: #990000;"&gt;redist-lo-into-ospf&lt;/span&gt;         permit 10&lt;br /&gt;         &amp;nbsp;match ip address prefix-list &lt;span style="color: #3333ff;"&gt;lo-into-ospf-e1&lt;/span&gt;&lt;br /&gt;         &amp;nbsp;set metric-type type-1&lt;br /&gt;         !&lt;br /&gt;         ! **Make 172.16.2.0/24 an E2 route**&lt;br /&gt;         !&lt;br /&gt;         route-map &lt;span style="color: #990000;"&gt;redist-lo-into-ospf&lt;/span&gt;         permit 20&lt;br /&gt;         &amp;nbsp;match ip address prefix-list &lt;span style="color: #6600cc;"&gt;lo-into-ospf-e2&lt;/span&gt;&lt;br /&gt;         &amp;nbsp;set metric-type type-2&lt;br /&gt;         !&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On NSSA_ASBR:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;router ospf 1&lt;br /&gt;         &amp;nbsp;log-adjacency-changes&lt;br /&gt;         &amp;nbsp;&lt;b&gt;area 1 nssa default-information-originate&lt;/b&gt;&lt;br /&gt;         &amp;nbsp;redistribute connected subnets route-map &lt;span style="color: #990000;"&gt;lo-to-ospf&lt;/span&gt;&lt;br /&gt;         &amp;nbsp;network 192.168.1.0 0.0.0.255 area 1&lt;br /&gt;         !&lt;br /&gt;         ip prefix-list &lt;span style="color: #000099;"&gt;lo-to-ospf-t1&lt;/span&gt; seq 5         permit 192.168.100.0/24&lt;br /&gt;         !&lt;br /&gt;         ip prefix-list &lt;span style="color: #663366;"&gt;lo-to-ospf-t2&lt;/span&gt; seq 5         permit 192.168.200.0/24&lt;br /&gt;         !&lt;br /&gt;         route-map &lt;span style="color: #990000;"&gt;lo-to-ospf&lt;/span&gt; permit 10&lt;br /&gt;         &amp;nbsp;match ip address prefix-list &lt;span style="color: #000099;"&gt;lo-to-ospf-t1&lt;/span&gt;&lt;br /&gt;         &amp;nbsp;set metric-type type-1&lt;br /&gt;         !&lt;br /&gt;         route-map &lt;span style="color: #990000;"&gt;lo-to-ospf&lt;/span&gt; permit 20&lt;br /&gt;         &amp;nbsp;match ip address prefix-list &lt;span style="color: #663366;"&gt;lo-to-ospf-t2&lt;/span&gt;&lt;br /&gt;         &amp;nbsp;set metric-type type-2&lt;br /&gt;         !&lt;br /&gt;       &lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
For routers attached to the NSSA, the &lt;b&gt;area nssa&lt;/b&gt; router       configuration command is required to set the correct flag in the       OSPF hello packet. All routers in the area have to agree that the       particular area is an NSSA area, otherwise they will not be able       to form adjacencies. A special issue for NSSAs is also that the       ABR does not generate a default route unless the &lt;b&gt;default-information-originate&lt;/b&gt;       option is used. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We know from previous examples that the ABRs have full databases       for all of the areas that they are connected to, so let's look at       the routing tables and OSPF databases on Area0 and Area1. Area1 is       an internal router for area 1, meaning that all of it's       OSPF-enabled interfaces are in area 1, the NSSA. In this case, we       see the two external routes for the networks advertised by       NSSA_ASBR and&amp;nbsp; the default route advertised by the ABR (unlike a       stub area, this is originated by the ABR as a type 7 LSA):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Area1#&lt;b&gt;show ip route&lt;/b&gt;&lt;br /&gt;         &lt;span style="color: #cccccc;"&gt;Codes: C - connected, S - static, R - RIP,           M - mobile, B - BGP&lt;br /&gt;           &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF           inter area&lt;br /&gt;           &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external           type 2&lt;br /&gt;           &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; E1 - OSPF external type 1, E2 - OSPF external type 2&lt;br /&gt;           &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 -           IS-IS level-2&lt;br /&gt;           &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ia - IS-IS inter area, * - candidate default, U -           per-user static route&lt;br /&gt;           &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; o - ODR, P - periodic downloaded static route&lt;/span&gt;&lt;br /&gt;         &lt;br /&gt;         Gateway of last resort is 192.168.0.1 to network 0.0.0.0&lt;br /&gt;         &lt;br /&gt;         &lt;span style="color: #000099;"&gt;O N2 192.168.200.0/24 [110/20] via           192.168.1.2, 03:24:47, Serial0/1&lt;/span&gt;&lt;br /&gt;         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.0.0.0/24 is subnetted, 2 subnets&lt;br /&gt;         &lt;span style="color: #006600;"&gt;O IA&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.0.0.0 [110/192] via           192.168.0.1, 03:28:20, Serial0/0&lt;br /&gt;           O IA&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.0.1.0 [110/128] via 192.168.0.1, 03:28:20,           Serial0/0&lt;/span&gt;&lt;br /&gt;         &lt;span style="color: #000099;"&gt;C&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.0.0/24 is directly connected,           Serial0/0&lt;br /&gt;           C&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.0/24 is directly connected, Serial0/1&lt;br /&gt;           O N1 192.168.100.0/24 [110/84] via 192.168.1.2, 03:24:47,           Serial0/1&lt;/span&gt;&lt;br /&gt;         &lt;span style="color: #663366;"&gt;O*N2 0.0.0.0/0 [110/1] via 192.168.0.1,           00:02:47, Serial0/0&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The OSPF database from Area1 is shown below, LSAs for networks       originating from area 0 are &lt;span style="color: #006600;"&gt;green&lt;/span&gt;       and LSAs for networks originating in area 1 are &lt;span style="color: #000099;"&gt;blue&lt;/span&gt;. The special type-7 LSA for the       default route is &lt;span style="color: #663366;"&gt;purple&lt;/span&gt;.:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Area1#&lt;b&gt;show ip ospf database&lt;/b&gt;&lt;br /&gt;         &lt;br /&gt;         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OSPF Router with ID (192.168.1.1) (Process ID 1)&lt;br /&gt;         &lt;br /&gt;         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Router Link States (Area 1)&lt;br /&gt;         &lt;br /&gt;         Link ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ADV Router&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Age&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Seq#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Checksum         Link count&lt;br /&gt;         &lt;span style="color: #000099;"&gt;192.168.0.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.0.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;           785&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x8000000D 0x006615 2&lt;br /&gt;           192.168.1.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 589&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x8000000B           0x00D6FF 4&lt;br /&gt;           192.168.200.1&amp;nbsp;&amp;nbsp; 192.168.200.1&amp;nbsp;&amp;nbsp; 390&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x80000009           0x007D6E 2&lt;/span&gt;&lt;br /&gt;         &lt;br /&gt;         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Summary Net Link States (Area 1)&lt;br /&gt;         &lt;br /&gt;         Link ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ADV Router&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Age&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Seq#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Checksum&lt;br /&gt;         &lt;span style="color: #006600;"&gt;10.0.0.0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.0.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;           785&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x80000007 0x0093A8&lt;br /&gt;           10.0.1.0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.0.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 785&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x80000007           0x000675&lt;/span&gt;&lt;br /&gt;         &lt;br /&gt;         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Type-7 AS External Link States (Area 1)&lt;br /&gt;         &lt;br /&gt;         Link ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ADV Router&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Age&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Seq#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Checksum         Tag&lt;br /&gt;         &lt;span style="color: #663366;"&gt;0.0.0.0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.0.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;           359&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x80000001 0x00FA4C 0&lt;/span&gt;&lt;br /&gt;         &lt;span style="color: #000099;"&gt;192.168.100.0&amp;nbsp;&amp;nbsp; 192.168.200.1&amp;nbsp;&amp;nbsp;           390&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x80000007 0x008B18 0&lt;br /&gt;           192.168.200.0&amp;nbsp;&amp;nbsp; 192.168.200.1&amp;nbsp;&amp;nbsp; 390&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x80000007           0x00BEFF 0&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Area0 is an internal router for the backbone area. In this case,       the LSAs originating in area 1 for the external 192.168.100.0 and       192.168.200.0 networks are converted to type-5 LSAs for any other       areas in the OSPF routing domain that are type-5 capable. The       routing table shows that the N1 routes have been converted to E1       and the N2 routes have nbeen converted to E2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Area0#&lt;b&gt;show ip route&lt;/b&gt;&lt;br /&gt;         &lt;span style="color: #cccccc;"&gt;Codes: C - connected, S - static, R - RIP,           M - mobile, B - BGP&lt;br /&gt;           &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF           inter area&lt;br /&gt;           &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external           type 2&lt;br /&gt;           &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; E1 - OSPF external type 1, E2 - OSPF external type 2&lt;br /&gt;           &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 -           IS-IS level-2&lt;br /&gt;           &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ia - IS-IS inter area, * - candidate default, U -           per-user static route&lt;br /&gt;           &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; o - ODR, P - periodic downloaded static route&lt;/span&gt;&lt;br /&gt;         &lt;br /&gt;         Gateway of last resort is not set&lt;br /&gt;         &lt;br /&gt;         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 172.16.0.0/24 is subnetted, 2 subnets&lt;br /&gt;         &lt;span style="color: #006600;"&gt;O E1&amp;nbsp;&amp;nbsp;&amp;nbsp; 172.16.1.0 [110/84] via 10.0.0.1,           1d00h, Serial0/0&lt;br /&gt;           O E2&amp;nbsp;&amp;nbsp;&amp;nbsp; 172.16.2.0 [110/20] via 10.0.0.1, 1d00h, Serial0/0&lt;/span&gt;&lt;br /&gt;         &lt;span style="color: #000099;"&gt;O E2 192.168.200.0/24 [110/20] via           10.0.1.2, 03:37:32, Serial0/1&lt;/span&gt;&lt;br /&gt;         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.0.0.0/24 is subnetted, 2 subnets&lt;br /&gt;         &lt;span style="color: #006600;"&gt;C&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.0.0.0 is directly connected,           Serial0/0&lt;br /&gt;           C&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.0.1.0 is directly connected, Serial0/1&lt;/span&gt;&lt;br /&gt;         &lt;span style="color: #000099;"&gt;O IA 192.168.0.0/24 [110/128] via           10.0.1.2, 03:41:43, Serial0/1&lt;br /&gt;           O IA 192.168.1.0/24 [110/192] via 10.0.1.2, 03:40:23,           Serial0/1&lt;/span&gt;&lt;br /&gt;         &lt;span style="color: #000099;"&gt;O E1 192.168.100.0/24 [110/212] via           10.0.1.2, 03:37:34, Serial0/1&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the OSPF database, we also see that there are no type 7 LSAs       and the LSAs advertising the 192.168.100 and 192.168.200 external       networks are now type 5 LSAs. The same coloring scheme is used       here as the example above,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Area0#&lt;b&gt;show ip ospf database&lt;/b&gt;&lt;br /&gt;         &lt;br /&gt;         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OSPF Router with ID (10.0.1.1) (Process ID 1)&lt;br /&gt;         &lt;br /&gt;         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Router Link States (Area 0)&lt;br /&gt;         &lt;br /&gt;         Link ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ADV Router&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Age&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Seq#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Checksum         Link count&lt;br /&gt;         &lt;span style="color: #006600;"&gt;10.0.1.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.0.1.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;           1748&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x8000002E 0x009ECA 4&lt;br /&gt;           172.16.2.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 172.16.2.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 898&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x8000002F           0x00389B 2&lt;/span&gt;&lt;br /&gt;         &lt;span style="color: #000099;"&gt;192.168.0.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.0.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;           1573&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x8000000C 0x00306D 2&lt;/span&gt;&lt;br /&gt;         &lt;br /&gt;         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Summary Net Link States (Area 0)&lt;br /&gt;         &lt;br /&gt;         Link ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ADV Router&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Age&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Seq#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Checksum&lt;br /&gt;         &lt;span style="color: #000099;"&gt;192.168.0.0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.0.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;           1573&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x80000007 0x003CE6&lt;br /&gt;           192.168.1.0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.0.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1330&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x80000007           0x00B32E&lt;/span&gt;&lt;br /&gt;         &lt;br /&gt;         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Type-5 AS External Link States&lt;br /&gt;         &lt;br /&gt;         Link ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ADV Router&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Age&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Seq#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Checksum         Tag&lt;br /&gt;         &lt;span style="color: #006600;"&gt;172.16.1.0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 172.16.2.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;           898&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x8000002C 0x00D6A1 0&lt;br /&gt;           172.16.2.0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 172.16.2.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 898&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x8000002C           0x004FA7 0&lt;/span&gt;&lt;br /&gt;         &lt;span style="color: #000099;"&gt;192.168.100.0&amp;nbsp;&amp;nbsp; 192.168.0.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;           1330&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x80000007 0x009DD8 0&lt;br /&gt;           192.168.200.0&amp;nbsp;&amp;nbsp; 192.168.0.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1330&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x80000007           0x00D0C0 0&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This post showed basic configuration and mechanics of a NSSA in       Cisco's OSPF implementation.&lt;br /&gt;
&lt;br /&gt;
See Also,&lt;br /&gt;
&lt;a href="http://mikemstech.blogspot.com/2012/03/road-to-ccie.html" target="_blank"&gt;The         Road to the CCIE&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/MikesTechnologyBlog/~4/m14uGgF7R24" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mikemstech.blogspot.com/feeds/8183779230820318693/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mikemstech.blogspot.com/2012/04/ospf-not-so-stubby-area-nssa.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/8183779230820318693?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/8183779230820318693?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MikesTechnologyBlog/~3/m14uGgF7R24/ospf-not-so-stubby-area-nssa.html" title="The OSPF Not-So-Stubby Area (NSSA)" /><author><name>Mike Burr</name><uri>https://plus.google.com/116509990792258039224</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-x2RhK93MoIk/T4Na-Nw1NEI/AAAAAAAAAlQ/sU4-zB4kKyY/s72-c/ahceabji-767424.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://mikemstech.blogspot.com/2012/04/ospf-not-so-stubby-area-nssa.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak4DSXo9cSp7ImA9WhVQGEg.&quot;"><id>tag:blogger.com,1999:blog-7503353345181123469.post-432773374246660455</id><published>2012-04-05T22:45:00.000-07:00</published><updated>2012-04-07T21:22:58.469-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-04-07T21:22:58.469-07:00</app:edited><title>Overclocking is a Bad Idea</title><content type="html">I see a lot of forums issues related to problems that are ultimately     traced back to overclocking on systems. Overclocking is probably the     single worst thing you can do for the lifespan of your PC and the     instability caused by overclocking far outweighs any possible     performance gains. Professional systems engineers don't overclock     systems, and home users shouldn't either for a vast number of     reasons. I'll go through a few of them in this post.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;

What is overclocking?&lt;/h2&gt;
&lt;br /&gt;
Overclocking refers to modifying a computer system component in a     way that it is operating at a higher frequency/clock rate, voltage,     or other measure of performance. Most overclocking is done by people     who are conducting experiments with hardware to determine the     maximum stress point that a motherboard, processor (CPU), system     bus, graphics processing unit (GPU), system memory (RAM), or hard     drive can handle before reaching a failure point. &lt;br /&gt;
&lt;br /&gt;
Some misguided individuals overclock their systems and use the     overclocked state for their standard configuration. These     individuals typically feel the pain shortly after overclocking and     they tend to go running to the various hardware forums on the     Internet to say that their system is acting up.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;

Why is overclocking good?&lt;/h2&gt;
&lt;br /&gt;
To show the other side of the story, overclocked systems typically     have a higher level of performance than their non-overclocked     counterparts. These systems typically process numeric calculations,     graphics operations, and other system functions at higher rates and     appear more responsive to the end user. This comes at a major cost     to the system's stability and &lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;

Why is overclocking bad?&lt;/h2&gt;
&lt;br /&gt;
It immediately voids your warranty for most components. Hardware     vendors don't support running system components above their default     thresholds. They set these limits after doing numerous tests to     determine the right mix between component longevity, performance,     and failure rate. Most vendors can detect if a component was     overclocked when it failed, and if it happens, it typically voids an     RMA request or a warranty repair and the component has to be     repurchased by the end user.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Think about it in the context of how a car operates. Overclocking     runs a component at or above the "redline" RPM level for an extended     period of time. Even with appropriate cooling, this substantially     increases component wear and exponentially increases the probability     of component failure. For a car running above the "redline" level,     the engine will seize after a short&amp;nbsp; period of time, even with     appropriate cooling and lubrication. &lt;br /&gt;
&lt;br /&gt;
Overclocking throws off the system timing, increasing the     probability of memory, hard drive, and processor cache/instruction     corruption. The system is designed to have the processor and bus     communicate with the other components at a specified rate,     increasing the rate of operation can potentially overrun other     system components and cause corruptions in calculations performed by     the system and sent to/from other components.&lt;br /&gt;
&lt;br /&gt;
Some components cannot be overclocked effectively. An example is a     graphics processing unit. Although AMD (ATI) and Nvidia have     developed experimental applications for overclocking a GPU, this     causes increased stress on a system that does not have adequate     dedicated cooling to begin with. Additionally, GPUs have a poor     track record of enhancing system stability and adding nonstandard     timings/voltage creates another variable that can contribute to     increased timeout detection and recovery (TDR) activity/failures in     Windows and general GPU related hangs and system failures in     Linux/UNIX. &lt;br /&gt;
&lt;br /&gt;
The bottom line is simple... don't overclock your system. The risks     outweigh the benefits and overclocking often creates more problems     than it solves. If you do overclock and break something, then don't     go crying to anyone else because you ultimately did something stupid     and received a fair reward. Don't ask the manufacturer for help,     because they will find out that you overclocked and that your     warranty/support agreement is void. &lt;br /&gt;
&lt;br /&gt;
For end users... don't buy an overclocked system. This is a     dangerous scenario if you are storing important documents and     potentially irreplaceable data like family pictures on the system.     Some unscrupulous computer people will sell these "gaming" systems     to you, but if you want faster hardware, then buy faster hardware     instead of overclocking cheaper and error-prone hardware. The cost     difference typically pays itself back when it is compared to the     downtime that overclocking typically causes.&lt;br /&gt;
&lt;br /&gt;
Real computing professionals don't overclock systems. They know the     risks and know that the risks outweigh the rewards. Those who do     overclock typically have a spare system that they use for     experiments, but don't store any real data on because of the     increased risk of failure. Overclocked systems are mainly used to answer "what if" type questions and if you really need to have an extra system and willingness to lose this system (or parts of it) to answer these questions.&lt;br /&gt;
&lt;br /&gt;
See Also,&lt;br /&gt;
&lt;a href="http://mikemstech.blogspot.com/2011/12/how-to-rescue-files-from-damaged-system.html" target="_blank"&gt;How to Rescue Files From a Damaged Account&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://mikemstech.blogspot.com/2011/11/windows-crash-dump-analysis.html" target="_blank"&gt;Windows Crash Dump Analysis&lt;/a&gt; &lt;br /&gt;
&lt;a href="http://mikemstech.blogspot.com/2010/07/windbgkd-debugging-processor-cache.html" target="_blank"&gt;0x124 WHEA_UNCORRECTABLE_ERROR&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://mikemstech.blogspot.com/2012/01/troubleshooting-0x9c.html" target="_blank"&gt;0x9C MACHINE_CHECK_EXCEPTION.&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://mikemstech.blogspot.com/2011/11/troubleshooting-memory-errors.html" target="_blank"&gt;Troubleshooting Memory Errors&lt;/a&gt; &lt;br /&gt;
&lt;a href="http://mikemstech.blogspot.com/2011/12/how-to-detect-failing-hard-drive.html" target="_blank"&gt;How to Detect a Failing Hard Drive&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://mikemstech.blogspot.com/2011/11/stress-testing-cpu-to-detect-hardware.html" target="_blank"&gt;Stress Testing a CPU to Detect Hardware Failure&lt;/a&gt; &lt;br /&gt;
&lt;a href="http://mikemstech.blogspot.com/2011/12/stress-testing-video-card.html" target="_blank"&gt;Stress Testing a Video Card&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/MikesTechnologyBlog/~4/8aQqP5BSUXQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mikemstech.blogspot.com/feeds/432773374246660455/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://mikemstech.blogspot.com/2012/04/overclocking-is-bad-idea.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/432773374246660455?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7503353345181123469/posts/default/432773374246660455?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MikesTechnologyBlog/~3/8aQqP5BSUXQ/overclocking-is-bad-idea.html" title="Overclocking is a Bad Idea" /><author><name>Mike Burr</name><uri>https://plus.google.com/116509990792258039224</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://mikemstech.blogspot.com/2012/04/overclocking-is-bad-idea.html</feedburner:origLink></entry></feed>
