<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Clarion Edge &#187; 3rd Party</title>
	<atom:link href="http://www.clarionedge.com/category/clarion/3rd-party/feed" rel="self" type="application/rss+xml" />
	<link>http://www.clarionedge.com</link>
	<description>Get an Edge with Clarion!</description>
	<lastBuildDate>Thu, 29 Jul 2010 21:13:55 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Problems with J-Blowfish</title>
		<link>http://www.clarionedge.com/clarion/problems-with-j-blowfish.html</link>
		<comments>http://www.clarionedge.com/clarion/problems-with-j-blowfish.html#comments</comments>
		<pubDate>Thu, 22 Apr 2010 09:46:00 +0000</pubDate>
		<dc:creator>brahn</dc:creator>
				<category><![CDATA[3rd Party]]></category>
		<category><![CDATA[Clarion]]></category>

		<guid isPermaLink="false">http://www.clarionedge.com/?p=326</guid>
		<description><![CDATA[From http://www.strategyonline.co.za/accessories/jblowfish/
J-Blowfish is a Clarion wrapper (pure Clarion source, no black boxes) for the Blowfish  encryption algorithm. Most of this code was written by Andy Ireland  – we have added a helper class, examples, templates, [...]]]></description>
			<content:encoded><![CDATA[<p>From <a title="http://www.strategyonline.co.za/accessories/jblowfish/" href="http://www.strategyonline.co.za/accessories/jblowfish/">http://www.strategyonline.co.za/accessories/jblowfish/</a></p>
<blockquote><p>J-Blowfish is a Clarion wrapper (pure Clarion source, no black boxes) for the Blowfish  encryption algorithm. Most of this code was written by Andy Ireland  – we have added a helper class, examples, templates, etc.</p></blockquote>
<p>I learnt a lot looking into this code a few years ago (wow, it was 2006 looking at my notes!). At the time we needed an implementation of the Blowfish Encryption Algorithm to share encrypted data between a Clarion and Java application. J-Blowfish seemed like a great fit but unfortunately we found that it was not producing standard encrypted data and was also unable to decrypt anything produced by another implementation.</p>
<p>The solution at the time was to use a C DLL instead. This worked fine but seemed a bit ugly, I would have much preferred a pure clarion solution. Also, the code in  jblowfish.clw intrigued me.</p>
<p><strong>NOTE: This is just me poking around in things to learn something new. Don’t blame me if following anything in this blog sinks your submarine or whatever <img src='http://www.clarionedge.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </strong></p>
<h2>Here is what I found…</h2>
<p><em>(It is simpler to deal with hex output so that is the only section I have looked at but the results impact all encrypt/decrypt functions.) </em></p>
<h3>1st, Implementation problem:</h3>
<p><em>(In the &#8220;Main&#8221; procedure of BlowDemo.app) </em></p>
<p>In the demo supplied with J-Blowfish the local variable holding the key is not clipped. This means the actual key used for the Encryption is inclusive of the trailing spaces in the STRING.</p>
<p>Additionally, the blowfish <a href="http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation" target="_blank">encryption mode</a> implemented in J-Blowfish (which I believe is ECB) requires your data to be a multiple of 8 bytes. The original implementation will pad an <strong><em>extra</em></strong> 8 bytes if the data is already a multiple of 8.</p>
<p>Original:</p>

<div class="wp_syntax"><div class="code"><pre class="clarion" style="font-family:monospace;">RtnEncryptHex  <span style="color: #000080;">routine</span>
&nbsp;
  <span style="color: #008000;">! Set some properties</span>
  MyBlowfish.Key32 = loc:<span style="color: #000080;">Key</span>
  MyBlowfish.<span style="color: #000080;">Size</span> = <span style="color: #000080;">Len</span>(<span style="color: #000080;">Clip</span>(loc:<span style="color: #000080;">Text</span>)) + (8-(<span style="color: #000080;">Len</span>(<span style="color: #000080;">Clip</span>(loc:<span style="color: #000080;">Text</span>))%8))</pre></div></div>

<p>Suggested improvements:</p>

<div class="wp_syntax"><div class="code"><pre class="clarion" style="font-family:monospace;">RtnEncryptHex  <span style="color: #000080;">routine</span>
&nbsp;
  <span style="color: #008000;">! Set some properties</span>
  MyBlowfish.Key32 = <span style="color: #000080;">Clip</span>(loc:<span style="color: #000080;">Key</span>) <span style="color: #008000;">! Because loc:Key is a string not cstring without the Clip() your key is including spaces</span>
&nbsp;
  <span style="color: #000080;">IF</span> <span style="color: #000080;">Len</span>(<span style="color: #000080;">Clip</span>(loc:<span style="color: #000080;">Text</span>))%8 &gt; 0
    <span style="color: #008000;">! Pad the data to the nearest 8 character block</span>
    MyBlowfish.<span style="color: #000080;">Size</span> = <span style="color: #000080;">len</span>(<span style="color: #000080;">clip</span>(loc:<span style="color: #000080;">Text</span>)) + (8-(<span style="color: #000080;">len</span>(<span style="color: #000080;">clip</span>(loc:<span style="color: #000080;">Text</span>))%8))
  <span style="color: #000080;">ELSE</span>
    <span style="color: #008000;">! If the data length is exactly a multiple of 8 then there is no need to pad another 8.</span>
    MyBlowfish.<span style="color: #000080;">Size</span> = <span style="color: #000080;">len</span>(<span style="color: #000080;">clip</span>(loc:<span style="color: #000080;">Text</span>))
  <span style="color: #000080;">END</span></pre></div></div>

<h3>2nd, Encryption problem (jblowfish.clw)</h3>
<p>The &#8220;BlowFish._Encrypt&#8221; method seems to be the culprit in the encryption errors I experienced.</p>
<p>In my testing I was using this data:</p>
<p><strong>key:</strong> &#8220;abc&#8221;</p>
<p><strong>plain text:</strong> &#8220;abcdefgh&#8221;</p>
<p><strong>encrypted result (other tools):</strong> &#8220;94c559d64e1251fb&#8221;</p>
<p>I discovered that if in the BlowDemo.exe I used this data, &#8220;dcbahgfe&#8221; I would get the correct result (almost&#8230; the result was also backwards &#8220;d659c594 fb51124e&#8221;)</p>
<p>So it came down to a problem with the way the data was being passed to the &#8220;self.BF_Encrypt(pWork, pWork2)&#8221; part of this method.</p>
<p>(note: the BF_Encrypt method is used successfully in the BlowFish.Initialise method, I checked the values being generated and they are all correct)</p>
<p>Basically I believe this is because the <a href="http://en.wikipedia.org/wiki/Endianness" target="_blank">Endianness</a> of clarion longs is different to whatever assumption is made in the algorithm J-.Blowfish is based upon.</p>
<p>This is what I came up with:</p>

<div class="wp_syntax"><div class="code"><pre class="clarion" style="font-family:monospace;">BlowFish._Encrypt <span style="color: #000080;">procedure</span>(<span style="color: #000080;">long</span> pData, <span style="color: #000080;">long</span> dwBytes)
&nbsp;
nBlocks                 <span style="color: #000080;">long</span>,<span style="color: #000080;">auto</span>
i                       <span style="color: #000080;">long</span>,<span style="color: #000080;">auto</span>
pWork                   <span style="color: #000080;">long</span>,<span style="color: #000080;">auto</span>
pWork2                  <span style="color: #000080;">long</span>,<span style="color: #000080;">auto</span>
bchar                   &amp;byte
block                   <span style="color: #000080;">string</span>(8)
block2                  <span style="color: #000080;">string</span>(8)
&nbsp;
  <span style="color: #000080;">code</span>
    <span style="color: #000080;">if</span> dwBytes % 8
      <span style="color: #000080;">return</span> false.
&nbsp;
    nBlocks = <span style="color: #000080;">bshift</span>(dwBytes, -3)
    pWork = pData
&nbsp;
    <span style="color: #000080;">loop</span> i = 1 <span style="color: #000080;">to</span> nBlocks
      pWork2 = pWork + 4
&nbsp;
      <span style="color: #008000;">! Reverse the order of the first 4 bytes </span>
      bchar &amp;= (pWork + 3)
      block[1] = <span style="color: #000080;">Chr</span>(bchar)
      bchar &amp;= (pWork + 2)
      block[2] = <span style="color: #000080;">Chr</span>(bchar)
      bchar &amp;= (pWork + 1)
      block[3] = <span style="color: #000080;">Chr</span>(bchar)
      bchar &amp;= (pWork + 0)
      block[4] = <span style="color: #000080;">Chr</span>(bchar)
      <span style="color: #008000;">! Reverse the order of the next 4 bytes </span>
      bchar &amp;= (pWork + 7)
      block[5] = <span style="color: #000080;">Chr</span>(bchar)
      bchar &amp;= (pWork + 6)
      block[6] = <span style="color: #000080;">Chr</span>(bchar)
      bchar &amp;= (pWork + 5)
      block[7] = <span style="color: #000080;">Chr</span>(bchar)
      bchar &amp;= (pWork + 4)
      block[8] = <span style="color: #000080;">Chr</span>(bchar)
&nbsp;
      <span style="color: #008000;">!self.BF_Encrypt(pWork, pWork2) ! &lt;-- doesnt work</span>
      self.BF_Encrypt(<span style="color: #000080;">Address</span>(block), <span style="color: #000080;">Address</span>(block)+4)
&nbsp;
      <span style="color: #008000;">! Now swap them back again</span>
      block2[1] = block[4]
      block2[2] = block[3]
      block2[3] = block[2]
      block2[4] = block[1]
      block2[5] = block[8]
      block2[6] = block[7]
      block2[7] = block[6]
      block2[8] = block[5]
      <span style="color: #008000;">! And replace the data in &quot;BinData&quot; with the encrypted values</span>
      <span style="color: #000080;">Poke</span>(pWork, block2)
&nbsp;
      pWork += 8
    <span style="color: #000080;">end</span>
    <span style="color: #000080;">return</span> true</pre></div></div>

<h3>Other considerations:</h3>
<ul>
<li><strong>This only takes care of the Encryption phase something similar will need to happen in the Decrypt method.</strong></li>
<li>There may be better ways (band, bshift, bxor, whatever) to do this but it was late and this way is at least descriptive <img src='http://www.clarionedge.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </li>
<li>I passed a few of the standard test vectors through the changed version and it seems to work correctly now. Most implementations have in them somewhere a self test method that uses these test vectors to prove they are running correctly:
<p><a href="http://www.schneier.com/blowfish.html">http://www.schneier.com/blowfish.html</a></p>
<p><a href="http://www.schneier.com/code/vectors.txt">http://www.schneier.com/code/vectors.txt</a></li>
<li>One thing I learned (amongst many!) whilst doing all this. It seems you can safely do a search replace in jpwbfish.inc and jpwbfish.clw to replace all ULONG&#8217;s with LONG&#8217;s. This may even result in some speed improvements as supposedly longs are faster then ulongs. Reason for this is that longs are 32 bit and that is sufficient for blowfish as it works in 32 bit words. It seemed weired to me at first, its like when you do this:</li>
</ul>

<div class="wp_syntax"><div class="code"><pre class="clarion" style="font-family:monospace;">SomeProcedure <span style="color: #000080;">PROCEDURE</span>()
x <span style="color: #000080;">LONG</span>
  <span style="color: #000080;">CODE</span>
&nbsp;
  x = 2147483647 <span style="color: #008000;">! The highest value a long can take</span>
  <span style="color: #000080;">Message</span>(x) <span style="color: #008000;">! It will show &quot;2147483647&quot;</span>
  x += 1
  <span style="color: #000080;">Message</span>(x) <span style="color: #008000;">! It will show &quot;-2,147,483,648&quot;</span></pre></div></div>

<p>But blowfish doesn&#8217;t care about the +/- part as it is working directly on the bytes in the long, thus a LONG is sufficient.</p>
<p>(This explanation may be off on a few technical points but you get the drift?)</p>
<p><strong><em>I hope all the above makes (some) sense! </em></strong></p>
<p>-brahn</p>
]]></content:encoded>
			<wfw:commentRss>http://www.clarionedge.com/clarion/problems-with-j-blowfish.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Clarion7 3rdParty Addin!</title>
		<link>http://www.clarionedge.com/clarion/clarion7-3rdparty-addin.html</link>
		<comments>http://www.clarionedge.com/clarion/clarion7-3rdparty-addin.html#comments</comments>
		<pubDate>Wed, 20 May 2009 12:30:47 +0000</pubDate>
		<dc:creator>brahn</dc:creator>
				<category><![CDATA[3rd Party]]></category>
		<category><![CDATA[Clarion]]></category>

		<guid isPermaLink="false">http://www.clarionedge.com/?p=236</guid>
		<description><![CDATA[This is a very simple example of using the new Clarion7 IDE addin system to put a new item into the help menu.

Download the addin file &#8211; Clarion3rdParty.sdaddin
Start the Clarion 7 IDE:

Go to the Tools [...]]]></description>
			<content:encoded><![CDATA[<p>This is a very simple example of using the new Clarion7 IDE addin system to put a new item into the help menu.</p>
<ol>
<li>Download the addin file &#8211; <a rel="nofollow" title="Download version 0.1 of Clarion3rdParty.sdaddin" href="http://www.clarionedge.com/downloads/3rdParty/Clarion3rdParty.sdaddin">Clarion3rdParty.sdaddin</a></li>
<li>Start the Clarion 7 IDE:<br />
<a href="http://www.clarionedge.com/wp-content/uploads/startide.png"><img class="alignnone size-medium wp-image-237" title="Start IDE" src="http://www.clarionedge.com/wp-content/uploads/startide-246x184.png" alt="Start IDE" width="246" height="184" /></a></li>
<li>Go to the Tools menu and select the Addin Manager:<br />
<a href="http://www.clarionedge.com/wp-content/uploads/addinmanager.png"><img class="alignnone size-medium wp-image-238" title="addinmanager" src="http://www.clarionedge.com/wp-content/uploads/addinmanager-246x173.png" alt="addinmanager" width="246" height="173" /></a></li>
<li>Click the Install Addin button:<br />
<a href="http://www.clarionedge.com/wp-content/uploads/installaddin.png"><img class="alignnone size-medium wp-image-239" title="installaddin" src="http://www.clarionedge.com/wp-content/uploads/installaddin-246x218.png" alt="installaddin" width="246" height="218" /></a></li>
<li>Find the Addin file you downloaded in Step 1<br />
<a href="http://www.clarionedge.com/wp-content/uploads/findaddinfile.png"><img class="alignnone size-medium wp-image-240" title="findaddinfile" src="http://www.clarionedge.com/wp-content/uploads/findaddinfile-246x186.png" alt="findaddinfile" width="246" height="186" /></a></li>
<li>You should now see the new addin listed in the Addin Manager, restart the IDE to see what it does!<br />
<a href="http://www.clarionedge.com/wp-content/uploads/restartide.png"><img class="alignnone size-medium wp-image-241" title="restartide" src="http://www.clarionedge.com/wp-content/uploads/restartide-246x218.png" alt="restartide" width="246" height="218" /></a></li>
<li>And there you have it, a new menu item under Help&#8211;&gt;Web !<br />
<a href="http://www.clarionedge.com/wp-content/uploads/success.png"><img class="alignnone size-medium wp-image-242" title="success" src="http://www.clarionedge.com/wp-content/uploads/success-246x50.png" alt="success" width="246" height="50" /></a></li>
</ol>
<p>Simply adding a menu item is very easy with the new Clarion 7 IDE. I suppose the hardest part is finding the correct names for everything and getting them in the right place. The Clarion3rdParty.sdaddin file you downloaded at the beginning is just a zip file containing one XML formatted &#8220;addin&#8221; file. This XML simply tells the IDE what you want to do and where to do it.</p>
<p>This is the XML used in the Clarion3rdParty addin:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;AddIn</span> name    = <span style="color: #ff0000;">&quot;Clarion3rdPartyAddin&quot;</span></span>
<span style="color: #009900;">   author      = <span style="color: #ff0000;">&quot;Brahn Partridge&quot;</span></span>
<span style="color: #009900;">   url         = <span style="color: #ff0000;">&quot;&quot;</span></span>
<span style="color: #009900;">   copyright   = <span style="color: #ff0000;">&quot;&quot;</span></span>
<span style="color: #009900;">   description = <span style="color: #ff0000;">&quot;TODO: Put description here&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
&nbsp;
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Manifest<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Identity</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;ClarionEdge.Clarion3rdPartyAddin&quot;</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;0.1&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Dependency</span> addin = <span style="color: #ff0000;">&quot;SharpDevelop&quot;</span> version = <span style="color: #ff0000;">&quot;2.1&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Manifest<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Path</span> name = <span style="color: #ff0000;">&quot;/SharpDevelop/Workbench/MainMenu/Help/Web&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MenuItem</span> id = <span style="color: #ff0000;">&quot;Clarion3rdParty&quot;</span> label = <span style="color: #ff0000;">&quot;Clarion 3rd Party&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;Menu&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MenuItem</span> id = <span style="color: #ff0000;">&quot;ClarionEdge&quot;</span></span>
<span style="color: #009900;">					  label = <span style="color: #ff0000;">&quot;www.clarionedge.com&quot;</span></span>
<span style="color: #009900;">					  icon = <span style="color: #ff0000;">&quot;Icons.16x16.WebSearchIcon&quot;</span></span>
<span style="color: #009900;">					  link = <span style="color: #ff0000;">&quot;http://www.clarionedge.com/&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/MenuItem<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Path<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/AddIn<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>And the download again in case you missed it:</p>
<div class="download">
<table border="0">
<tbody>
<tr>
<th>Download:</th>
<td><a rel="nofollow" title="Download version 0.1 of Clarion3rdParty.sdaddin" href="http://www.clarionedge.com/downloads/3rdParty/Clarion3rdParty.sdaddin"><img src="http://www.clarionedge.com/wp-content/plugins/drain-hole/images/download.png" alt="download" width="128" height="128"/></a> <a rel="nofollow" title="Download version 0.1 of Clarion3rdParty.sdaddin" href="http://www.clarionedge.com/downloads/3rdParty/Clarion3rdParty.sdaddin">Clarion3rdParty.sdaddin</a></td>
</tr>
<tr>
<th>Version:</th>
<td>0.1</td>
</tr>
<tr>
<th>Updated:</th>
<td>May 20, 2009</td>
</tr>
<tr>
<th>Size:</th>
<td>471 bytes</td>
</tr>
<tr>
<th>Downloads:</th>
<td>197</td>
</tr>
</tbody>
</table>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.clarionedge.com/clarion/clarion7-3rdparty-addin.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CWPlus Icon Set</title>
		<link>http://www.clarionedge.com/clarion/3rd-party/cwplus-icon-set.html</link>
		<comments>http://www.clarionedge.com/clarion/3rd-party/cwplus-icon-set.html#comments</comments>
		<pubDate>Wed, 18 Jun 2008 18:22:37 +0000</pubDate>
		<dc:creator>brahn</dc:creator>
				<category><![CDATA[3rd Party]]></category>

		<guid isPermaLink="false">http://www.clarionedge.com/?p=23</guid>
		<description><![CDATA[A slightly fancier set of icons for use with CWPlus .  I have included new icons for all the buttons on the main clarion window and a couple of updates for the window/report formatter [...]]]></description>
			<content:encoded><![CDATA[<p>A slightly fancier set of icons for use with <a href="http://www.ingasoftplus.com/" target="_blank">CWPlus</a> .  I have included new icons for all the buttons on the main clarion window and a couple of updates for the window/report formatter and embeditor.</p>
<table style="width: 90%;" border="0" cellpadding="20" align="center">
<tbody>
<tr>
<td>
<p><div id="attachment_34" class="wp-caption alignnone" style="width: 119px"><a title="Original Clarion Version" href="http://www.clarionedge.com/wp-content/uploads/cwplus_original.png"><img class="size-thumbnail wp-image-34" title="cwplus_original" src="http://www.clarionedge.com/wp-content/uploads/cwplus_original-109x109.png" alt="cwplus_original" width="109" height="109" /></a><p class="wp-caption-text">Original Clarion</p></div></td>
<td>
<p><div id="attachment_48" class="wp-caption alignnone" style="width: 119px"><a title="Default CWPlus Version" href="http://www.clarionedge.com/wp-content/uploads/cwplus_standard1.png"><img class="size-thumbnail wp-image-48" title="cwplus_standard1" src="http://www.clarionedge.com/wp-content/uploads/cwplus_standard1-109x109.png" alt="cwplus_standard1" width="109" height="109" /></a><p class="wp-caption-text">Default CWPlus</p></div></td>
<td>
<p><div id="attachment_37" class="wp-caption alignnone" style="width: 119px"><a title="ClarionEdge Set!" href="http://www.clarionedge.com/wp-content/uploads/cwplus_new.png"><img class="size-thumbnail wp-image-37" title="cwplus_new" src="http://www.clarionedge.com/wp-content/uploads/cwplus_new-109x109.png" alt="cwplus_new" width="109" height="109" /></a><p class="wp-caption-text">ClarionEdge Set</p></div></td>
</tr>
</tbody>
</table>
<div class="download">
<table border="0">
<tbody>
<tr>
<th>Download:</th>
<td><a rel="nofollow" title="Download version 0.1 of CWPlusIcons.exe" href="http://www.clarionedge.com/downloads/3rdParty/CWPlusIcons.exe"><img src="http://www.clarionedge.com/wp-content/plugins/drain-hole/images/download.png" alt="download" width="128" height="128"/></a> <a rel="nofollow" title="Download version 0.1 of CWPlusIcons.exe" href="http://www.clarionedge.com/downloads/3rdParty/CWPlusIcons.exe">CWPlusIcons.exe</a></td>
</tr>
<tr>
<th>Version:</th>
<td>0.1</td>
</tr>
<tr>
<th>Updated:</th>
<td>January 26, 2009</td>
</tr>
<tr>
<th>Size:</th>
<td>237.9 KB</td>
</tr>
<tr>
<th>Downloads:</th>
<td>155</td>
</tr>
</tbody>
</table>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.clarionedge.com/clarion/3rd-party/cwplus-icon-set.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
