<?xml version="1.0"?>
<rss version="2.0">
<channel>
<title>Ayllu</title>
<link>http://www.reyesaguayo.com/osp/</link>
<description>Python+Java applications development by Alfonso Reyes (Petroleum Engineer)</description>
<language>en-us</language>
<copyright>Copyright 2009 AlfonsoReyes</copyright>
<pubDate>Tue, 11 Aug 2009 21:57:54 GMT</pubDate>
<lastBuildDate>Tue, 11 Aug 2009 21:57:54 GMT</lastBuildDate>
<docs>http://blogs.law.harvard.edu/tech/rss</docs>
<generator>TiddlyWiki 2.3.0</generator>
<item>
<title>UploadLog</title>
<description>&lt;table class=&quot;twtable&quot;&gt;&lt;tbody&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;th align=&quot;center&quot;&gt;date&lt;/th&gt;&lt;th align=&quot;center&quot;&gt;user&lt;/th&gt;&lt;th align=&quot;center&quot;&gt;location&lt;/th&gt;&lt;th align=&quot;center&quot;&gt;storeUrl&lt;/th&gt;&lt;th align=&quot;center&quot;&gt;uploadDir&lt;/th&gt;&lt;th align=&quot;center&quot;&gt;toFilename&lt;/th&gt;&lt;th align=&quot;center&quot;&gt;backupdir&lt;/th&gt;&lt;th align=&quot;center&quot;&gt;origin&lt;/th&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td align=&quot;center&quot;&gt;13/02/2009 23:17:10&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a tiddlylink=&quot;AlfonsoReyes&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/#AlfonsoReyes&quot; href=&quot;http://www.reyesaguayo.com/osp/#AlfonsoReyes&quot; class=&quot;externalLink&quot;&gt;AlfonsoReyes&lt;/a&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to file:///C:/Documents%20and%20Settings/All%20Users.WINX64/Documents/reyesaguayo.osp.index.html&quot; href=&quot;file:///C:/Documents%20and%20Settings/All%20Users.WINX64/Documents/reyesaguayo.osp.index.html&quot; class=&quot;externalLink&quot;&gt;reyesaguayo.osp.index.html&lt;/a&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://reyesaguayo.com/osp/store.php&quot; href=&quot;http://reyesaguayo.com/osp/store.php&quot; class=&quot;externalLink&quot;&gt;store.php&lt;/a&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;.&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to  http://reyesaguayo.com/osp/index.html&quot; href=&quot;%20http://reyesaguayo.com/osp/index.html&quot; class=&quot;externalLink&quot;&gt;index.html &lt;/a&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;backup&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;ok&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td align=&quot;center&quot;&gt;13/02/2009 23:39:26&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a tiddlylink=&quot;AlfonsoReyes&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/#AlfonsoReyes&quot; href=&quot;http://www.reyesaguayo.com/osp/#AlfonsoReyes&quot; class=&quot;externalLink&quot;&gt;AlfonsoReyes&lt;/a&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to file:///C:/Documents%20and%20Settings/All%20Users.WINX64/Documents/reyesaguayo.osp.index.html&quot; href=&quot;file:///C:/Documents%20and%20Settings/All%20Users.WINX64/Documents/reyesaguayo.osp.index.html&quot; class=&quot;externalLink&quot;&gt;reyesaguayo.osp.index.html&lt;/a&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://reyesaguayo.com/osp/store.php&quot; href=&quot;http://reyesaguayo.com/osp/store.php&quot; class=&quot;externalLink&quot;&gt;store.php&lt;/a&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;.&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to  http://reyesaguayo.com/osp/index.html&quot; href=&quot;%20http://reyesaguayo.com/osp/index.html&quot; class=&quot;externalLink&quot;&gt;index.html &lt;/a&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;backup&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;ok&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td align=&quot;center&quot;&gt;21/03/2009 21:13:30&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a tiddlylink=&quot;YourName&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/#YourName&quot; href=&quot;http://www.reyesaguayo.com/osp/#YourName&quot; class=&quot;externalLink&quot;&gt;YourName&lt;/a&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to file:///mnt/ntfs1/Documents%20and%20Settings/All%20Users.WINX64/Documents/reyesaguayo.osp.index.html&quot; href=&quot;file:///mnt/ntfs1/Documents%20and%20Settings/All%20Users.WINX64/Documents/reyesaguayo.osp.index.html&quot; class=&quot;externalLink&quot;&gt;reyesaguayo.osp.index.html&lt;/a&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://reyesaguayo.com/osp/store.php&quot; href=&quot;http://reyesaguayo.com/osp/store.php&quot; class=&quot;externalLink&quot;&gt;store.php&lt;/a&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;.&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to  http://reyesaguayo.com/osp/index.html&quot; href=&quot;%20http://reyesaguayo.com/osp/index.html&quot; class=&quot;externalLink&quot;&gt;index.html &lt;/a&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;backup&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td align=&quot;center&quot;&gt;21/03/2009 21:14:06&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a tiddlylink=&quot;YourName&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/#YourName&quot; href=&quot;http://www.reyesaguayo.com/osp/#YourName&quot; class=&quot;externalLink&quot;&gt;YourName&lt;/a&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to file:///mnt/ntfs1/Documents%20and%20Settings/All%20Users.WINX64/Documents/reyesaguayo.osp.index.html&quot; href=&quot;file:///mnt/ntfs1/Documents%20and%20Settings/All%20Users.WINX64/Documents/reyesaguayo.osp.index.html&quot; class=&quot;externalLink&quot;&gt;reyesaguayo.osp.index.html&lt;/a&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://reyesaguayo.com/osp/store.php&quot; href=&quot;http://reyesaguayo.com/osp/store.php&quot; class=&quot;externalLink&quot;&gt;store.php&lt;/a&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;.&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to  http://reyesaguayo.com/osp/index.html&quot; href=&quot;%20http://reyesaguayo.com/osp/index.html&quot; class=&quot;externalLink&quot;&gt;index.html &lt;/a&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;backup&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td align=&quot;center&quot;&gt;21/03/2009 21:14:50&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a tiddlylink=&quot;AlfonsoReyes&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/#AlfonsoReyes&quot; href=&quot;http://www.reyesaguayo.com/osp/#AlfonsoReyes&quot; class=&quot;externalLink&quot;&gt;AlfonsoReyes&lt;/a&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to file:///mnt/ntfs1/Documents%20and%20Settings/All%20Users.WINX64/Documents/reyesaguayo.osp.index.html&quot; href=&quot;file:///mnt/ntfs1/Documents%20and%20Settings/All%20Users.WINX64/Documents/reyesaguayo.osp.index.html&quot; class=&quot;externalLink&quot;&gt;reyesaguayo.osp.index.html&lt;/a&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://reyesaguayo.com/osp/store.php&quot; href=&quot;http://reyesaguayo.com/osp/store.php&quot; class=&quot;externalLink&quot;&gt;store.php&lt;/a&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;.&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to  http://reyesaguayo.com/osp/index.html&quot; href=&quot;%20http://reyesaguayo.com/osp/index.html&quot; class=&quot;externalLink&quot;&gt;index.html &lt;/a&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;backup&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;ok&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td align=&quot;center&quot;&gt;27/03/2009 09:53:35&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a tiddlylink=&quot;AlfonsoReyes&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/#AlfonsoReyes&quot; href=&quot;http://www.reyesaguayo.com/osp/#AlfonsoReyes&quot; class=&quot;externalLink&quot;&gt;AlfonsoReyes&lt;/a&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to file:///mnt/ntfs1/Documents%20and%20Settings/All%20Users.WINX64/Documents/reyesaguayo.osp.index.html&quot; href=&quot;file:///mnt/ntfs1/Documents%20and%20Settings/All%20Users.WINX64/Documents/reyesaguayo.osp.index.html&quot; class=&quot;externalLink&quot;&gt;reyesaguayo.osp.index.html&lt;/a&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://reyesaguayo.com/osp/store.php&quot; href=&quot;http://reyesaguayo.com/osp/store.php&quot; class=&quot;externalLink&quot;&gt;store.php&lt;/a&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;.&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to  http://reyesaguayo.com/osp/index.html&quot; href=&quot;%20http://reyesaguayo.com/osp/index.html&quot; class=&quot;externalLink&quot;&gt;index.html &lt;/a&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;backup&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;ok&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td align=&quot;center&quot;&gt;27/03/2009 10:05:43&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a tiddlylink=&quot;AlfonsoReyes&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/#AlfonsoReyes&quot; href=&quot;http://www.reyesaguayo.com/osp/#AlfonsoReyes&quot; class=&quot;externalLink&quot;&gt;AlfonsoReyes&lt;/a&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to file:///mnt/ntfs1/Documents%20and%20Settings/All%20Users.WINX64/Documents/reyesaguayo.osp.index.html&quot; href=&quot;file:///mnt/ntfs1/Documents%20and%20Settings/All%20Users.WINX64/Documents/reyesaguayo.osp.index.html&quot; class=&quot;externalLink&quot;&gt;reyesaguayo.osp.index.html&lt;/a&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://reyesaguayo.com/osp/store.php&quot; href=&quot;http://reyesaguayo.com/osp/store.php&quot; class=&quot;externalLink&quot;&gt;store.php&lt;/a&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;.&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to  http://reyesaguayo.com/osp/index.html&quot; href=&quot;%20http://reyesaguayo.com/osp/index.html&quot; class=&quot;externalLink&quot;&gt;index.html &lt;/a&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;backup&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;ok&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td align=&quot;center&quot;&gt;11/08/2009 16:52:44&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a tiddlylink=&quot;YourName&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/#YourName&quot; href=&quot;http://www.reyesaguayo.com/osp/#YourName&quot; class=&quot;externalLink&quot;&gt;YourName&lt;/a&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to file:///home/shared/Databases/TiddlyWiki/ayllu.html&quot; href=&quot;file:///home/shared/Databases/TiddlyWiki/ayllu.html&quot; class=&quot;externalLink&quot;&gt;ayllu.html&lt;/a&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://reyesaguayo.com/osp/store.php&quot; href=&quot;http://reyesaguayo.com/osp/store.php&quot; class=&quot;externalLink&quot;&gt;store.php&lt;/a&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;.&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to  http://reyesaguayo.com/osp/index.html&quot; href=&quot;%20http://reyesaguayo.com/osp/index.html&quot; class=&quot;externalLink&quot;&gt;index.html &lt;/a&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;backup&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td align=&quot;center&quot;&gt;11/08/2009 16:53:37&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a tiddlylink=&quot;AlfonsoReyes&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/#AlfonsoReyes&quot; href=&quot;http://www.reyesaguayo.com/osp/#AlfonsoReyes&quot; class=&quot;externalLink&quot;&gt;AlfonsoReyes&lt;/a&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to file:///home/shared/Databases/TiddlyWiki/ayllu.html&quot; href=&quot;file:///home/shared/Databases/TiddlyWiki/ayllu.html&quot; class=&quot;externalLink&quot;&gt;ayllu.html&lt;/a&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://reyesaguayo.com/osp/store.php&quot; href=&quot;http://reyesaguayo.com/osp/store.php&quot; class=&quot;externalLink&quot;&gt;store.php&lt;/a&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;.&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to  http://reyesaguayo.com/osp/index.html&quot; href=&quot;%20http://reyesaguayo.com/osp/index.html&quot; class=&quot;externalLink&quot;&gt;index.html &lt;/a&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;backup&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;ok&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td align=&quot;center&quot;&gt;11/08/2009 16:57:54&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a tiddlylink=&quot;AlfonsoReyes&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/#AlfonsoReyes&quot; href=&quot;http://www.reyesaguayo.com/osp/#AlfonsoReyes&quot; class=&quot;externalLink&quot;&gt;AlfonsoReyes&lt;/a&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to file:///home/shared/Databases/TiddlyWiki/ayllu.html&quot; href=&quot;file:///home/shared/Databases/TiddlyWiki/ayllu.html&quot; class=&quot;externalLink&quot;&gt;ayllu.html&lt;/a&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://reyesaguayo.com/osp/store.php&quot; href=&quot;http://reyesaguayo.com/osp/store.php&quot; class=&quot;externalLink&quot;&gt;store.php&lt;/a&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;.&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to  http://reyesaguayo.com/osp/index.html&quot; href=&quot;%20http://reyesaguayo.com/osp/index.html&quot; class=&quot;externalLink&quot;&gt;index.html &lt;/a&gt;&lt;/td&gt;&lt;td align=&quot;center&quot;&gt;backup&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</description>
<category>systemTiddlers</category>
<link>http://www.reyesaguayo.com/osp/#UploadLog</link>
<pubDate>Tue, 11 Aug 2009 21:57:54 GMT</pubDate>
</item>
<item>
<title>centralApp</title>
<description>&lt;h2&gt;&lt;a tiddlylink=&quot;centralApp&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/#centralApp&quot; href=&quot;http://www.reyesaguayo.com/osp/#centralApp&quot; class=&quot;externalLink&quot;&gt;centralApp&lt;/a&gt;&lt;/h2&gt;&lt;blockquote&gt;This is an application that uses Ordinary Differential Equations to find a solution to a body under a central force.&lt;br&gt;&lt;br&gt;&lt;span class=&quot;marked&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/jws/centralApp.jnlp&quot; href=&quot;http://www.reyesaguayo.com/osp/jws/centralApp.jnlp&quot; class=&quot;externalLink&quot;&gt;Launch centralApp&lt;/a&gt;&lt;/span&gt;&lt;br&gt;&lt;span tiddler=&quot;centralApp.jpg&quot; refresh=&quot;content&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://reyesaguayo.com/osp/images/centralApp.jpg&quot; href=&quot;http://reyesaguayo.com/osp/images/centralApp.jpg&quot; class=&quot;externalLink imageLink&quot;&gt;&lt;img src=&quot;http://reyesaguayo.com/osp/images/centralApp.jpg&quot; title=&quot;centralApp&quot; style=&quot;width: 34%; height: auto;&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;a tiddlylink=&quot;centralApp.jpg&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/#centralApp.jpg&quot; href=&quot;http://www.reyesaguayo.com/osp/#centralApp.jpg&quot; class=&quot;externalLink&quot;&gt;centralApp.jpg&lt;/a&gt;&lt;br&gt;&lt;/blockquote&gt;&lt;h3&gt; Features&lt;/h3&gt;&lt;ul&gt;&lt;li&gt; Initializes and uses the class at main to resize and locate panel:&lt;/li&gt;&lt;li&gt; Uses a subclass to resolve the ODE&lt;/li&gt;&lt;li&gt; Uses &lt;a tiddlylink=&quot;RK4&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/#RK4&quot; href=&quot;http://www.reyesaguayo.com/osp/#RK4&quot; class=&quot;externalLink&quot;&gt;RK4&lt;/a&gt; (Runge Kutta) method for the ODE&lt;/li&gt;&lt;li&gt; The subclass uses values from the master class&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt; Java vs. Jython learnings&lt;/h3&gt;&lt;h4&gt; Pay attention to the &lt;span class=&quot;marked&quot;&gt;import&lt;/span&gt; sintax&lt;/h4&gt;&lt;blockquote&gt;&lt;div class=&quot;dp-highlighter&quot;&gt;&lt;div class=&quot;bar&quot;&gt;&lt;div class=&quot;tools&quot;&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('ViewSource',this);return false;&quot;&gt;view plain&lt;/a&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('CopyToClipboard',this);return false;&quot;&gt;copy to clipboard&lt;/a&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('PrintSource',this);return false;&quot;&gt;print&lt;/a&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('About',this);return false;&quot;&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;ol class=&quot;dp-py&quot; start=&quot;1&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;from&lt;/span&gt;&lt;span&gt;&amp;nbsp;org.opensourcephysics.display.axes&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;import&lt;/span&gt;&lt;span&gt;&amp;nbsp;PolarType1&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;pre style=&quot;display: none;&quot;&gt;from org.opensourcephysics.display.axes import PolarType1
&lt;/pre&gt;in Java was: &lt;br&gt;&lt;div class=&quot;dp-highlighter&quot;&gt;&lt;div class=&quot;bar&quot;&gt;&lt;div class=&quot;tools&quot;&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('ViewSource',this);return false;&quot;&gt;view plain&lt;/a&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('CopyToClipboard',this);return false;&quot;&gt;copy to clipboard&lt;/a&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('PrintSource',this);return false;&quot;&gt;print&lt;/a&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('About',this);return false;&quot;&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;ol class=&quot;dp-j&quot; start=&quot;1&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;import&lt;/span&gt;&lt;span&gt;&amp;nbsp;org.opensourcephysics.display.axes.PolarType1;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;pre style=&quot;display: none;&quot;&gt;import org.opensourcephysics.display.axes.PolarType1;
&lt;/pre&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;h4&gt; While in Java is not necessary, the &lt;span class=&quot;marked&quot;&gt;Math&lt;/span&gt; import has to be explicitly declared in Jython&lt;/h4&gt;&lt;blockquote&gt;&lt;div class=&quot;dp-highlighter&quot;&gt;&lt;div class=&quot;bar&quot;&gt;&lt;div class=&quot;tools&quot;&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('ViewSource',this);return false;&quot;&gt;view plain&lt;/a&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('CopyToClipboard',this);return false;&quot;&gt;copy to clipboard&lt;/a&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('PrintSource',this);return false;&quot;&gt;print&lt;/a&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('About',this);return false;&quot;&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;ol class=&quot;dp-py&quot; start=&quot;1&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;from&lt;/span&gt;&lt;span&gt;&amp;nbsp;java.lang&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;import&lt;/span&gt;&lt;span&gt;&amp;nbsp;Math&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;#&amp;nbsp;for&amp;nbsp;math&amp;nbsp;functions&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;pre style=&quot;display: none;&quot;&gt;from java.lang import Math  # for math functions
&lt;/pre&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;h4&gt; For arrays in Jython is better to use the Java arrays&lt;/h4&gt;&lt;blockquote&gt;&lt;div class=&quot;dp-highlighter&quot;&gt;&lt;div class=&quot;bar&quot;&gt;&lt;div class=&quot;tools&quot;&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('ViewSource',this);return false;&quot;&gt;view plain&lt;/a&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('CopyToClipboard',this);return false;&quot;&gt;copy to clipboard&lt;/a&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('PrintSource',this);return false;&quot;&gt;print&lt;/a&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('About',this);return false;&quot;&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;ol class=&quot;dp-py&quot; start=&quot;1&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;import&lt;/span&gt;&lt;span&gt;&amp;nbsp;java.lang.reflect.Array&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;#&amp;nbsp;for&amp;nbsp;Java&amp;nbsp;arrays&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;pre style=&quot;display: none;&quot;&gt;import java.lang.reflect.Array # for Java arrays
&lt;/pre&gt;it is easier to use than Jarray&lt;br&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;h4&gt; Use of subclasses &lt;/h4&gt;&lt;blockquote&gt;We defined a class for ODE work. It is important to have the master class as a passing parameter if we want later to manipulate its fields.&lt;br&gt;&lt;div class=&quot;dp-highlighter&quot;&gt;&lt;div class=&quot;bar&quot;&gt;&lt;div class=&quot;tools&quot;&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('ViewSource',this);return false;&quot;&gt;view plain&lt;/a&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('CopyToClipboard',this);return false;&quot;&gt;copy to clipboard&lt;/a&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('PrintSource',this);return false;&quot;&gt;print&lt;/a&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('About',this);return false;&quot;&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;ol class=&quot;dp-py&quot; start=&quot;1&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;class&lt;/span&gt;&lt;span&gt;&amp;nbsp;central_der(ODE):&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;def&lt;/span&gt;&lt;span&gt;&amp;nbsp;__init__(&lt;/span&gt;&lt;span class=&quot;special&quot;&gt;self&lt;/span&gt;&lt;span&gt;,&amp;nbsp;central):&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;string&quot;&gt;''&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;'''&amp;nbsp;this&amp;nbsp;will&amp;nbsp;allow&amp;nbsp;us&amp;nbsp;to&amp;nbsp;manipulate&amp;nbsp;parent&amp;nbsp;class&amp;nbsp;fields&amp;nbsp;and&amp;nbsp;methods&amp;nbsp;'''&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;special&quot;&gt;self&lt;/span&gt;&lt;span&gt;.central&amp;nbsp;=&amp;nbsp;central&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;return&lt;/span&gt;&lt;span&gt;&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;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;def&lt;/span&gt;&lt;span&gt;&amp;nbsp;getState(&lt;/span&gt;&lt;span class=&quot;special&quot;&gt;self&lt;/span&gt;&lt;span&gt;):&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;return&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;special&quot;&gt;self&lt;/span&gt;&lt;span&gt;.central.state;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;def&lt;/span&gt;&lt;span&gt;&amp;nbsp;getRate(&lt;/span&gt;&lt;span class=&quot;special&quot;&gt;self&lt;/span&gt;&lt;span&gt;,&amp;nbsp;state,&amp;nbsp;rate):&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;#&amp;nbsp;getRate(double[]&amp;nbsp;state,&amp;nbsp;double[]&amp;nbsp;rate)&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;comment&quot;&gt;#&amp;nbsp;this&amp;nbsp;is&amp;nbsp;better&amp;nbsp;than&amp;nbsp;writing&amp;nbsp;a&amp;nbsp;bunch&amp;nbsp;of&amp;nbsp;self.central&amp;nbsp;in&amp;nbsp;the&amp;nbsp;equations&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;a=&lt;span class=&quot;special&quot;&gt;self&lt;/span&gt;&lt;span&gt;.central.a;&amp;nbsp;m=&lt;/span&gt;&lt;span class=&quot;special&quot;&gt;self&lt;/span&gt;&lt;span&gt;.central.m;&amp;nbsp;L=&lt;/span&gt;&lt;span class=&quot;special&quot;&gt;self&lt;/span&gt;&lt;span&gt;.central.L;&amp;nbsp;p=&lt;/span&gt;&lt;span class=&quot;special&quot;&gt;self&lt;/span&gt;&lt;span&gt;.central.p&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rate[&lt;span class=&quot;number&quot;&gt;0&lt;/span&gt;&lt;span&gt;]=state[&lt;/span&gt;&lt;span class=&quot;number&quot;&gt;1&lt;/span&gt;&lt;span&gt;];&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;print&lt;/span&gt;&lt;span&gt;&amp;nbsp;rate[&lt;/span&gt;&lt;span class=&quot;number&quot;&gt;0&lt;/span&gt;&lt;span&gt;],&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;special&quot;&gt;self&lt;/span&gt;&lt;span&gt;.central.a,&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;special&quot;&gt;self&lt;/span&gt;&lt;span&gt;.central.m,&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;special&quot;&gt;self&lt;/span&gt;&lt;span&gt;.central.L&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rate[&lt;span class=&quot;number&quot;&gt;1&lt;/span&gt;&lt;span&gt;]=-(a/m)*Math.pow(state[&lt;/span&gt;&lt;span class=&quot;number&quot;&gt;0&lt;/span&gt;&lt;span&gt;],p)+L*L/m/m/Math.pow(state[&lt;/span&gt;&lt;span class=&quot;number&quot;&gt;0&lt;/span&gt;&lt;span&gt;],&lt;/span&gt;&lt;span class=&quot;number&quot;&gt;3&lt;/span&gt;&lt;span&gt;)&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rate[&lt;span class=&quot;number&quot;&gt;2&lt;/span&gt;&lt;span&gt;]=L/m/state[&lt;/span&gt;&lt;span class=&quot;number&quot;&gt;0&lt;/span&gt;&lt;span&gt;]/state[&lt;/span&gt;&lt;span class=&quot;number&quot;&gt;0&lt;/span&gt;&lt;span&gt;]&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rate[&lt;span class=&quot;number&quot;&gt;3&lt;/span&gt;&lt;span&gt;]=&lt;/span&gt;&lt;span class=&quot;number&quot;&gt;1&lt;/span&gt;&lt;span&gt;;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;#&amp;nbsp;dt/dt=1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;pre style=&quot;display: none;&quot;&gt;    class central_der(ODE):
        def __init__(self, central):
            ''' this will allow us to manipulate parent class fields and methods '''
            self.central = central
            return        

        def getState(self):
            return self.central.state;

        def getRate(self, state, rate):         # getRate(double[] state, double[] rate)
            # this is better than writing a bunch of self.central in the equations 
            a=self.central.a; m=self.central.m; L=self.central.L; p=self.central.p
            rate[0]=state[1];
            print rate[0], self.central.a, self.central.m, self.central.L
            rate[1]=-(a/m)*Math.pow(state[0],p)+L*L/m/m/Math.pow(state[0],3)
            rate[2]=L/m/state[0]/state[0]
            rate[3]=1; # dt/dt=1        

&lt;/pre&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;h4&gt; Initializing the &lt;a tiddlylink=&quot;CalculationControl&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/#CalculationControl&quot; href=&quot;http://www.reyesaguayo.com/osp/#CalculationControl&quot; class=&quot;externalLink&quot;&gt;CalculationControl&lt;/a&gt; class in the main method&lt;/h4&gt;&lt;blockquote&gt;&lt;div class=&quot;dp-highlighter&quot;&gt;&lt;div class=&quot;bar&quot;&gt;&lt;div class=&quot;tools&quot;&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('ViewSource',this);return false;&quot;&gt;view plain&lt;/a&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('CopyToClipboard',this);return false;&quot;&gt;copy to clipboard&lt;/a&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('PrintSource',this);return false;&quot;&gt;print&lt;/a&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('About',this);return false;&quot;&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;ol class=&quot;dp-py&quot; start=&quot;1&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt;&lt;span&gt;&amp;nbsp;__name__&amp;nbsp;==&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;'__main__'&lt;/span&gt;&lt;span&gt;:&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;model&amp;nbsp;=&amp;nbsp;centralApp()&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;myControl&amp;nbsp;=&amp;nbsp;CalculationControl&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;myControl&amp;nbsp;=&amp;nbsp;CalculationControl(model)&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;print&lt;/span&gt;&lt;span&gt;&amp;nbsp;dir(myControl)&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;myControl.setLocation(&lt;span class=&quot;number&quot;&gt;520&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;number&quot;&gt;5&lt;/span&gt;&lt;span&gt;)&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;myControl.setSize(&lt;span class=&quot;number&quot;&gt;275&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span class=&quot;number&quot;&gt;505&lt;/span&gt;&lt;span&gt;)&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;myControl.setDividerLocation(&lt;span class=&quot;number&quot;&gt;250&lt;/span&gt;&lt;span&gt;)&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;model.setControl(myControl)&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;pre style=&quot;display: none;&quot;&gt;if __name__ == '__main__':
    model = centralApp()
    myControl = CalculationControl
    myControl = CalculationControl(model)
    print dir(myControl)
    myControl.setLocation(520, 5)
    myControl.setSize(275,505)
    myControl.setDividerLocation(250)
    model.setControl(myControl) 
&lt;/pre&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;h3&gt;Location&lt;/h3&gt;This application is located in the Hasbun Mechanics collection.&lt;br&gt;&lt;span tiddler=&quot;centralApp.location.jpg&quot; refresh=&quot;content&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://reyesaguayo.com/osp/images/centralApp.location.jpg&quot; href=&quot;http://reyesaguayo.com/osp/images/centralApp.location.jpg&quot; class=&quot;externalLink imageLink&quot;&gt;&lt;img src=&quot;http://reyesaguayo.com/osp/images/centralApp.location.jpg&quot; title=&quot;centralApp&quot; style=&quot;width: 50%; height: auto;&quot;&gt;&lt;/a&gt;&lt;br&gt;&lt;/span&gt;</description>
<category>Jython Applications for OSP</category>
<link>http://www.reyesaguayo.com/osp/#centralApp</link>
<pubDate>Tue, 11 Aug 2009 21:57:00 GMT</pubDate>
</item>
<item>
<title>Remote Ayllu</title>
<description>&lt;a target=&quot;_blank&quot; title=&quot;External link to http://reyesaguayo.com/osp/index.html&quot; href=&quot;http://reyesaguayo.com/osp/index.html&quot; class=&quot;externalLink&quot;&gt;http://reyesaguayo.com/osp/index.html&lt;/a&gt;</description>
<link>http://www.reyesaguayo.com/osp/#%5B%5BRemote%20Ayllu%5D%5D</link>
<pubDate>Tue, 11 Aug 2009 21:56:00 GMT</pubDate>
</item>
<item>
<title>MatrixRotationApp.Summary</title>
<description>&lt;h1&gt;&lt;a tiddlylink=&quot;MatrixRotationApp&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/#MatrixRotationApp&quot; href=&quot;http://www.reyesaguayo.com/osp/#MatrixRotationApp&quot; class=&quot;externalLink&quot;&gt;MatrixRotationApp&lt;/a&gt;&lt;/h1&gt;&lt;div class=&quot;borderlessL&quot;&gt;&lt;table class=&quot;twtable&quot;&gt;&lt;tbody&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://reyesaguayo.com/osp/images/MatrixRotationApp.jpg&quot; href=&quot;http://reyesaguayo.com/osp/images/MatrixRotationApp.jpg&quot; class=&quot;externalLink imageLink&quot;&gt;&lt;img src=&quot;http://reyesaguayo.com/osp/images/MatrixRotationApp.jpg&quot; title=&quot;MatrixRotationApp&quot; style=&quot;width: 50%; height: auto;&quot;&gt;&lt;/a&gt;&lt;br&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 0, 102);&quot;&gt;&lt;span tiddler=&quot;./execute&quot; refresh=&quot;content&quot;&gt;&lt;span class=&quot;marked&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/jws/MatrixRotationApp.jnlp&quot; href=&quot;http://www.reyesaguayo.com/osp/jws/MatrixRotationApp.jnlp&quot; class=&quot;externalLink&quot;&gt;Launch MatrixRotationApp JWS application&lt;/a&gt;&lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align: top; width: 30em;&quot;&gt;&lt;span tiddler=&quot;MatrixRotationApp/description&quot; refresh=&quot;content&quot;&gt;This is 3D application showing the rotation of an ellipsoid in real time. The ellipsoid is created and animated using threading.&lt;br&gt;&lt;/span&gt; &lt;span tiddler=&quot;./javacode&quot; refresh=&quot;content&quot;&gt;&lt;h4&gt;Java Code&lt;/h4&gt;&lt;a tiddlylink=&quot;MatrixRotationApp.java&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;MatrixRotationApp.java - AlfonsoReyes, Fri 21 Nov 2008 08:59:00 PM CST&quot; href=&quot;javascript:;&quot;&gt;MatrixRotationApp.java&lt;/a&gt;&lt;br&gt;&lt;/span&gt; &lt;span tiddler=&quot;./jythoncode&quot; refresh=&quot;content&quot;&gt;&lt;h4&gt;Jython Code&lt;/h4&gt;&lt;a tiddlylink=&quot;MatrixRotationApp.py&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;MatrixRotationApp.py - AlfonsoReyes, Fri 21 Nov 2008 09:04:00 PM CST&quot; href=&quot;javascript:;&quot;&gt;MatrixRotationApp.py&lt;/a&gt;&lt;br&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br&gt;</description>
<link>http://www.reyesaguayo.com/osp/#MatrixRotationApp.Summary</link>
<pubDate>Tue, 11 Aug 2009 21:49:00 GMT</pubDate>
</item>
<item>
<title>SurfaceArrayApp.Summary</title>
<description>&lt;h1&gt;&lt;a tiddlylink=&quot;SurfaceArrayApp&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/#SurfaceArrayApp&quot; href=&quot;http://www.reyesaguayo.com/osp/#SurfaceArrayApp&quot; class=&quot;externalLink&quot;&gt;SurfaceArrayApp&lt;/a&gt;&lt;/h1&gt;&lt;div class=&quot;borderlessL&quot;&gt;&lt;table class=&quot;twtable&quot;&gt;&lt;tbody&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://reyesaguayo.com/osp/images/SurfaceArrayApp.jpg&quot; href=&quot;http://reyesaguayo.com/osp/images/SurfaceArrayApp.jpg&quot; class=&quot;externalLink imageLink&quot;&gt;&lt;img src=&quot;http://reyesaguayo.com/osp/images/SurfaceArrayApp.jpg&quot; title=&quot;SurfaceArrayApp&quot; style=&quot;width: 55%; height: auto;&quot;&gt;&lt;/a&gt;&lt;br&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 0, 102);&quot;&gt;&lt;span tiddler=&quot;./execute&quot; refresh=&quot;content&quot;&gt;&lt;span class=&quot;marked&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/jws/SurfaceArrayApp.jnlp&quot; href=&quot;http://www.reyesaguayo.com/osp/jws/SurfaceArrayApp.jnlp&quot; class=&quot;externalLink&quot;&gt;Launch SurfaceArrayApp JWS application&lt;/a&gt;&lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align: top; width: 30em;&quot;&gt;&lt;span tiddler=&quot;./description&quot; refresh=&quot;content&quot;&gt;&lt;h4&gt;Description&lt;/h4&gt;&lt;span tiddler=&quot;SurfaceArrayApp/description&quot; refresh=&quot;content&quot;&gt;Creates a surface plot from an array.&lt;/span&gt;&lt;br&gt;&lt;/span&gt; &lt;span tiddler=&quot;./javacode&quot; refresh=&quot;content&quot;&gt;&lt;h4&gt;Java Code&lt;/h4&gt;&lt;a tiddlylink=&quot;SurfaceArrayApp.java&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;SurfaceArrayApp.java - AlfonsoReyes, Fri 14 Nov 2008 06:40:00 AM CST&quot; href=&quot;javascript:;&quot;&gt;SurfaceArrayApp.java&lt;/a&gt;&lt;br&gt;&lt;/span&gt; &lt;span tiddler=&quot;./jythoncode&quot; refresh=&quot;content&quot;&gt;&lt;h4&gt;Jython Code&lt;/h4&gt;&lt;a tiddlylink=&quot;SurfaceArrayApp.py&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;SurfaceArrayApp.py - AlfonsoReyes, Fri 14 Nov 2008 07:20:00 AM CST&quot; href=&quot;javascript:;&quot;&gt;SurfaceArrayApp.py&lt;/a&gt;&lt;br&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br&gt;</description>
<link>http://www.reyesaguayo.com/osp/#SurfaceArrayApp.Summary</link>
<pubDate>Tue, 11 Aug 2009 21:48:00 GMT</pubDate>
</item>
<item>
<title>List of Applications in Jython</title>
<description>&lt;span tiddler=&quot;ReactionApp.Summary&quot; refresh=&quot;content&quot;&gt;&lt;h1&gt;&lt;a tiddlylink=&quot;ReactionApp&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;ReactionApp - YourName, Tue 11 Aug 2009 04:37:00 PM CST&quot; href=&quot;javascript:;&quot;&gt;ReactionApp&lt;/a&gt;&lt;/h1&gt;&lt;div class=&quot;borderlessL&quot;&gt;&lt;table class=&quot;twtable&quot;&gt;&lt;tbody&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://reyesaguayo.com/osp/images/ReactionApp.jpg&quot; href=&quot;http://reyesaguayo.com/osp/images/ReactionApp.jpg&quot; class=&quot;externalLink imageLink&quot;&gt;&lt;img src=&quot;http://reyesaguayo.com/osp/images/ReactionApp.jpg&quot; title=&quot;ReactionApp&quot; style=&quot;width: 100%; height: auto;&quot;&gt;&lt;/a&gt;&lt;br&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 0, 102);&quot;&gt;&lt;span tiddler=&quot;./execute&quot; refresh=&quot;content&quot;&gt;&lt;span class=&quot;marked&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/jws/ReactionApp.jnlp&quot; href=&quot;http://www.reyesaguayo.com/osp/jws/ReactionApp.jnlp&quot; class=&quot;externalLink&quot;&gt;Launch ReactionApp JWS application&lt;/a&gt;&lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align: top; width: 30em;&quot;&gt;&lt;span tiddler=&quot;./description&quot; refresh=&quot;content&quot;&gt;&lt;h4&gt;Description&lt;/h4&gt;&lt;span tiddler=&quot;ReactionApp/description&quot; refresh=&quot;content&quot;&gt; This application solves an autocatalytic oscillating chemical reaction (Brusselator model) using a fouth-order &lt;a tiddlylink=&quot;Runge-Kutta&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkNonExisting&quot; title=&quot;The tiddler 'Runge-Kutta' doesn't yet exist&quot; href=&quot;javascript:;&quot;&gt;Runge-Kutta&lt;/a&gt; algorithm.&lt;/span&gt;&lt;br&gt;&lt;/span&gt; &lt;span tiddler=&quot;./javacode&quot; refresh=&quot;content&quot;&gt;&lt;h4&gt;Java Code&lt;/h4&gt;&lt;a tiddlylink=&quot;Reaction.java&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;Reaction.java - YourName, Tue 11 Aug 2009 02:48:00 PM CST&quot; href=&quot;javascript:;&quot;&gt;Reaction.java&lt;/a&gt; &lt;a tiddlylink=&quot;ReactionApp.java&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;ReactionApp.java - YourName, Tue 11 Aug 2009 02:48:00 PM CST&quot; href=&quot;javascript:;&quot;&gt;ReactionApp.java&lt;/a&gt;&lt;br&gt;&lt;/span&gt; &lt;span tiddler=&quot;./jythoncode&quot; refresh=&quot;content&quot;&gt;&lt;h4&gt;Jython Code&lt;/h4&gt;&lt;a tiddlylink=&quot;Reaction.py&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;Reaction.py - AlfonsoReyes, Wed 12 Nov 2008 12:27:00 PM CST&quot; href=&quot;javascript:;&quot;&gt;Reaction.py&lt;/a&gt; &lt;a tiddlylink=&quot;ReactionApp.py&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;ReactionApp.py - AlfonsoReyes, Wed 12 Nov 2008 12:27:00 PM CST&quot; href=&quot;javascript:;&quot;&gt;ReactionApp.py&lt;/a&gt;&lt;br&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;br&gt;&lt;span tiddler=&quot;centralApp.Summary&quot; refresh=&quot;content&quot;&gt;&lt;h1&gt;&lt;a tiddlylink=&quot;centralApp&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;centralApp - AlfonsoReyes, Tue 11 Aug 2009 04:57:00 PM CST&quot; href=&quot;javascript:;&quot;&gt;centralApp&lt;/a&gt;&lt;/h1&gt;&lt;div class=&quot;borderlessL&quot;&gt;&lt;table class=&quot;twtable&quot;&gt;&lt;tbody&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://reyesaguayo.com/osp/images/centralApp.jpg&quot; href=&quot;http://reyesaguayo.com/osp/images/centralApp.jpg&quot; class=&quot;externalLink imageLink&quot;&gt;&lt;img src=&quot;http://reyesaguayo.com/osp/images/centralApp.jpg&quot; title=&quot;ReactionApp&quot; style=&quot;width: 100%; height: auto;&quot;&gt;&lt;/a&gt;&lt;br&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 0, 102);&quot;&gt;&lt;span tiddler=&quot;./execute&quot; refresh=&quot;content&quot;&gt;&lt;span class=&quot;marked&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/jws/centralApp.jnlp&quot; href=&quot;http://www.reyesaguayo.com/osp/jws/centralApp.jnlp&quot; class=&quot;externalLink&quot;&gt;Launch centralApp JWS application&lt;/a&gt;&lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align: top; width: 30em;&quot;&gt;&lt;span tiddler=&quot;centralApp/description&quot; refresh=&quot;content&quot;&gt;This is an application that uses Ordinary Differential Equations to find a solution to a body under a central force.&lt;br&gt;&lt;/span&gt; &lt;span tiddler=&quot;./javacode&quot; refresh=&quot;content&quot;&gt;&lt;h4&gt;Java Code&lt;/h4&gt;&lt;a tiddlylink=&quot;centralApp.java&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;centralApp.java - AlfonsoReyes, Sat 22 Nov 2008 09:37:00 AM CST&quot; href=&quot;javascript:;&quot;&gt;centralApp.java&lt;/a&gt;&lt;br&gt;&lt;/span&gt; &lt;span tiddler=&quot;./jythoncode&quot; refresh=&quot;content&quot;&gt;&lt;h4&gt;Jython Code&lt;/h4&gt;&lt;a tiddlylink=&quot;centralApp.py&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;centralApp.py - AlfonsoReyes, Sat 22 Nov 2008 09:36:00 AM CST&quot; href=&quot;javascript:;&quot;&gt;centralApp.py&lt;/a&gt;&lt;br&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br&gt;&lt;/span&gt;&lt;br&gt;&lt;span tiddler=&quot;ProjectileApp.Summary&quot; refresh=&quot;content&quot;&gt;&lt;h1&gt;&lt;a tiddlylink=&quot;ProjectileApp&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;ProjectileApp - YourName, Tue 11 Aug 2009 04:28:00 PM CST&quot; href=&quot;javascript:;&quot;&gt;ProjectileApp&lt;/a&gt;&lt;/h1&gt;&lt;div class=&quot;borderlessL&quot;&gt;&lt;table class=&quot;twtable&quot;&gt;&lt;tbody&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://reyesaguayo.com/osp/images/ProjectileApp.jpg&quot; href=&quot;http://reyesaguayo.com/osp/images/ProjectileApp.jpg&quot; class=&quot;externalLink imageLink&quot;&gt;&lt;img src=&quot;http://reyesaguayo.com/osp/images/ProjectileApp.jpg&quot; title=&quot;ProjectileApp&quot; style=&quot;width: 100%; height: auto;&quot;&gt;&lt;/a&gt;&lt;br&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 0, 102);&quot;&gt;&lt;span tiddler=&quot;./execute&quot; refresh=&quot;content&quot;&gt;&lt;span class=&quot;marked&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/jws/ProjectileApp.jnlp&quot; href=&quot;http://www.reyesaguayo.com/osp/jws/ProjectileApp.jnlp&quot; class=&quot;externalLink&quot;&gt;Launch ProjectileApp JWS application&lt;/a&gt;&lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align: top; width: 30em;&quot;&gt;&lt;span tiddler=&quot;./description&quot; refresh=&quot;content&quot;&gt;&lt;h4&gt;Description&lt;/h4&gt;&lt;span tiddler=&quot;ProjectileApp/description&quot; refresh=&quot;content&quot;&gt;This is the classic projectile application showing a 2D animated trajectory. Angle and velocity can be changed from the parameters window. &lt;br&gt;&lt;/span&gt;&lt;br&gt;&lt;/span&gt; &lt;span tiddler=&quot;./javacode&quot; refresh=&quot;content&quot;&gt;&lt;h4&gt;Java Code&lt;/h4&gt;&lt;a tiddlylink=&quot;Projectile.java&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;Projectile.java - AlfonsoReyes, Wed 12 Nov 2008 12:24:00 PM CST&quot; href=&quot;javascript:;&quot;&gt;Projectile.java&lt;/a&gt; &lt;a tiddlylink=&quot;ProjectileApp.java&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;ProjectileApp.java - AlfonsoReyes, Fri 14 Nov 2008 06:37:00 AM CST&quot; href=&quot;javascript:;&quot;&gt;ProjectileApp.java&lt;/a&gt;&lt;br&gt;&lt;/span&gt; &lt;span tiddler=&quot;./jythoncode&quot; refresh=&quot;content&quot;&gt;&lt;h4&gt;Jython Code&lt;/h4&gt;&lt;a tiddlylink=&quot;Projectile.py&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;Projectile.py - AlfonsoReyes, Wed 12 Nov 2008 12:25:00 PM CST&quot; href=&quot;javascript:;&quot;&gt;Projectile.py&lt;/a&gt; &lt;a tiddlylink=&quot;ProjectileApp.py&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;ProjectileApp.py - AlfonsoReyes, Fri 14 Nov 2008 07:21:00 AM CST&quot; href=&quot;javascript:;&quot;&gt;ProjectileApp.py&lt;/a&gt;&lt;br&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;br&gt;&lt;span tiddler=&quot;MatrixRotationApp.Summary&quot; refresh=&quot;content&quot;&gt;&lt;h1&gt;&lt;a tiddlylink=&quot;MatrixRotationApp&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;MatrixRotationApp - YourName, Tue 11 Aug 2009 04:24:00 PM CST&quot; href=&quot;javascript:;&quot;&gt;MatrixRotationApp&lt;/a&gt;&lt;/h1&gt;&lt;div class=&quot;borderlessL&quot;&gt;&lt;table class=&quot;twtable&quot;&gt;&lt;tbody&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://reyesaguayo.com/osp/images/MatrixRotationApp.jpg&quot; href=&quot;http://reyesaguayo.com/osp/images/MatrixRotationApp.jpg&quot; class=&quot;externalLink imageLink&quot;&gt;&lt;img src=&quot;http://reyesaguayo.com/osp/images/MatrixRotationApp.jpg&quot; title=&quot;MatrixRotationApp&quot; style=&quot;width: 50%; height: auto;&quot;&gt;&lt;/a&gt;&lt;br&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 0, 102);&quot;&gt;&lt;span tiddler=&quot;./execute&quot; refresh=&quot;content&quot;&gt;&lt;span class=&quot;marked&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/jws/MatrixRotationApp.jnlp&quot; href=&quot;http://www.reyesaguayo.com/osp/jws/MatrixRotationApp.jnlp&quot; class=&quot;externalLink&quot;&gt;Launch MatrixRotationApp JWS application&lt;/a&gt;&lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align: top; width: 30em;&quot;&gt;&lt;span tiddler=&quot;MatrixRotationApp/description&quot; refresh=&quot;content&quot;&gt;This is 3D application showing the rotation of an ellipsoid in real time. The ellipsoid is created and animated using threading.&lt;br&gt;&lt;/span&gt; &lt;span tiddler=&quot;./javacode&quot; refresh=&quot;content&quot;&gt;&lt;h4&gt;Java Code&lt;/h4&gt;&lt;a tiddlylink=&quot;MatrixRotationApp.java&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;MatrixRotationApp.java - AlfonsoReyes, Fri 21 Nov 2008 08:59:00 PM CST&quot; href=&quot;javascript:;&quot;&gt;MatrixRotationApp.java&lt;/a&gt;&lt;br&gt;&lt;/span&gt; &lt;span tiddler=&quot;./jythoncode&quot; refresh=&quot;content&quot;&gt;&lt;h4&gt;Jython Code&lt;/h4&gt;&lt;a tiddlylink=&quot;MatrixRotationApp.py&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;MatrixRotationApp.py - AlfonsoReyes, Fri 21 Nov 2008 09:04:00 PM CST&quot; href=&quot;javascript:;&quot;&gt;MatrixRotationApp.py&lt;/a&gt;&lt;br&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br&gt;&lt;/span&gt;&lt;br&gt;&lt;span tiddler=&quot;SurfaceArrayApp.Summary&quot; refresh=&quot;content&quot;&gt;&lt;h1&gt;&lt;a tiddlylink=&quot;SurfaceArrayApp&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;SurfaceArrayApp - YourName, Tue 11 Aug 2009 04:42:00 PM CST&quot; href=&quot;javascript:;&quot;&gt;SurfaceArrayApp&lt;/a&gt;&lt;/h1&gt;&lt;div class=&quot;borderlessL&quot;&gt;&lt;table class=&quot;twtable&quot;&gt;&lt;tbody&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://reyesaguayo.com/osp/images/SurfaceArrayApp.jpg&quot; href=&quot;http://reyesaguayo.com/osp/images/SurfaceArrayApp.jpg&quot; class=&quot;externalLink imageLink&quot;&gt;&lt;img src=&quot;http://reyesaguayo.com/osp/images/SurfaceArrayApp.jpg&quot; title=&quot;SurfaceArrayApp&quot; style=&quot;width: 55%; height: auto;&quot;&gt;&lt;/a&gt;&lt;br&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 0, 102);&quot;&gt;&lt;span tiddler=&quot;./execute&quot; refresh=&quot;content&quot;&gt;&lt;span class=&quot;marked&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/jws/SurfaceArrayApp.jnlp&quot; href=&quot;http://www.reyesaguayo.com/osp/jws/SurfaceArrayApp.jnlp&quot; class=&quot;externalLink&quot;&gt;Launch SurfaceArrayApp JWS application&lt;/a&gt;&lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align: top; width: 30em;&quot;&gt;&lt;span tiddler=&quot;./description&quot; refresh=&quot;content&quot;&gt;&lt;h4&gt;Description&lt;/h4&gt;&lt;span tiddler=&quot;SurfaceArrayApp/description&quot; refresh=&quot;content&quot;&gt;Creates a surface plot from an array.&lt;/span&gt;&lt;br&gt;&lt;/span&gt; &lt;span tiddler=&quot;./javacode&quot; refresh=&quot;content&quot;&gt;&lt;h4&gt;Java Code&lt;/h4&gt;&lt;a tiddlylink=&quot;SurfaceArrayApp.java&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;SurfaceArrayApp.java - AlfonsoReyes, Fri 14 Nov 2008 06:40:00 AM CST&quot; href=&quot;javascript:;&quot;&gt;SurfaceArrayApp.java&lt;/a&gt;&lt;br&gt;&lt;/span&gt; &lt;span tiddler=&quot;./jythoncode&quot; refresh=&quot;content&quot;&gt;&lt;h4&gt;Jython Code&lt;/h4&gt;&lt;a tiddlylink=&quot;SurfaceArrayApp.py&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;SurfaceArrayApp.py - AlfonsoReyes, Fri 14 Nov 2008 07:20:00 AM CST&quot; href=&quot;javascript:;&quot;&gt;SurfaceArrayApp.py&lt;/a&gt;&lt;br&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br&gt;&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
<category>publish</category>
<link>http://www.reyesaguayo.com/osp/#%5B%5BList%20of%20Applications%20in%20Jython%5D%5D</link>
<pubDate>Tue, 11 Aug 2009 21:47:00 GMT</pubDate>
</item>
<item>
<title>ReactionApp.Summary</title>
<description>&lt;h1&gt;&lt;a tiddlylink=&quot;ReactionApp&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/#ReactionApp&quot; href=&quot;http://www.reyesaguayo.com/osp/#ReactionApp&quot; class=&quot;externalLink&quot;&gt;ReactionApp&lt;/a&gt;&lt;/h1&gt;&lt;div class=&quot;borderlessL&quot;&gt;&lt;table class=&quot;twtable&quot;&gt;&lt;tbody&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://reyesaguayo.com/osp/images/ReactionApp.jpg&quot; href=&quot;http://reyesaguayo.com/osp/images/ReactionApp.jpg&quot; class=&quot;externalLink imageLink&quot;&gt;&lt;img src=&quot;http://reyesaguayo.com/osp/images/ReactionApp.jpg&quot; title=&quot;ReactionApp&quot; style=&quot;width: 100%; height: auto;&quot;&gt;&lt;/a&gt;&lt;br&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 0, 102);&quot;&gt;&lt;span tiddler=&quot;./execute&quot; refresh=&quot;content&quot;&gt;&lt;span class=&quot;marked&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/jws/ReactionApp.jnlp&quot; href=&quot;http://www.reyesaguayo.com/osp/jws/ReactionApp.jnlp&quot; class=&quot;externalLink&quot;&gt;Launch ReactionApp JWS application&lt;/a&gt;&lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align: top; width: 30em;&quot;&gt;&lt;span tiddler=&quot;./description&quot; refresh=&quot;content&quot;&gt;&lt;h4&gt;Description&lt;/h4&gt;&lt;span tiddler=&quot;ReactionApp/description&quot; refresh=&quot;content&quot;&gt; This application solves an autocatalytic oscillating chemical reaction (Brusselator model) using a fouth-order &lt;a tiddlylink=&quot;Runge-Kutta&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkNonExisting&quot; title=&quot;The tiddler 'Runge-Kutta' doesn't yet exist&quot; href=&quot;javascript:;&quot;&gt;Runge-Kutta&lt;/a&gt; algorithm.&lt;/span&gt;&lt;br&gt;&lt;/span&gt; &lt;span tiddler=&quot;./javacode&quot; refresh=&quot;content&quot;&gt;&lt;h4&gt;Java Code&lt;/h4&gt;&lt;a tiddlylink=&quot;Reaction.java&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;Reaction.java - YourName, Tue 11 Aug 2009 02:48:00 PM CST&quot; href=&quot;javascript:;&quot;&gt;Reaction.java&lt;/a&gt; &lt;a tiddlylink=&quot;ReactionApp.java&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;ReactionApp.java - YourName, Tue 11 Aug 2009 02:48:00 PM CST&quot; href=&quot;javascript:;&quot;&gt;ReactionApp.java&lt;/a&gt;&lt;br&gt;&lt;/span&gt; &lt;span tiddler=&quot;./jythoncode&quot; refresh=&quot;content&quot;&gt;&lt;h4&gt;Jython Code&lt;/h4&gt;&lt;a tiddlylink=&quot;Reaction.py&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;Reaction.py - AlfonsoReyes, Wed 12 Nov 2008 12:27:00 PM CST&quot; href=&quot;javascript:;&quot;&gt;Reaction.py&lt;/a&gt; &lt;a tiddlylink=&quot;ReactionApp.py&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;ReactionApp.py - AlfonsoReyes, Wed 12 Nov 2008 12:27:00 PM CST&quot; href=&quot;javascript:;&quot;&gt;ReactionApp.py&lt;/a&gt;&lt;br&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
<link>http://www.reyesaguayo.com/osp/#ReactionApp.Summary</link>
<pubDate>Tue, 11 Aug 2009 21:47:00 GMT</pubDate>
</item>
<item>
<title>DefaultTiddlers</title>
<description>&lt;a tiddlylink=&quot;List of Applications in Jython&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/#List of Applications in Jython&quot; href=&quot;http://www.reyesaguayo.com/osp/#List%20of%20Applications%20in%20Jython&quot; class=&quot;externalLink&quot;&gt;List of Applications in Jython&lt;/a&gt;</description>
<category>Help</category>
<category>systemTiddlers</category>
<link>http://www.reyesaguayo.com/osp/#DefaultTiddlers</link>
<pubDate>Tue, 11 Aug 2009 21:43:00 GMT</pubDate>
</item>
<item>
<title>SurfaceArrayApp</title>
<description>&lt;h2&gt;&lt;a tiddlylink=&quot;SurfaceArrayApp&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/#SurfaceArrayApp&quot; href=&quot;http://www.reyesaguayo.com/osp/#SurfaceArrayApp&quot; class=&quot;externalLink&quot;&gt;SurfaceArrayApp&lt;/a&gt;&lt;/h2&gt;&lt;blockquote&gt;Creates a surface plot from an array.&lt;blockquote&gt;&lt;span class=&quot;marked&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/jws/SurfaceArrayApp.jnlp&quot; href=&quot;http://www.reyesaguayo.com/osp/jws/SurfaceArrayApp.jnlp&quot; class=&quot;externalLink&quot;&gt;Launch SurfaceArrayApp&lt;/a&gt;&lt;/span&gt;&lt;br&gt;&lt;span tiddler=&quot;SurfaceArrayApp.jpg&quot; refresh=&quot;content&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://reyesaguayo.com/osp/images/SurfaceArrayApp.jpg&quot; href=&quot;http://reyesaguayo.com/osp/images/SurfaceArrayApp.jpg&quot; class=&quot;externalLink imageLink&quot;&gt;&lt;img src=&quot;http://reyesaguayo.com/osp/images/SurfaceArrayApp.jpg&quot; title=&quot;SurfaceArrayApp&quot; style=&quot;width: 20%; height: auto;&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;br&gt;&lt;/blockquote&gt;&lt;h3&gt; Features&lt;/h3&gt;&lt;ul&gt;&lt;li&gt; 3D view&lt;/li&gt;&lt;li&gt; Can obtain diferent 3D views and rotate if you press and drag the mouse cursor&lt;/li&gt;&lt;li&gt; Multidimensional arrays&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt; Java vs. Jython Learnings&lt;/h3&gt;&lt;h4&gt; Use of arraydata to create a multidimensional array.&lt;/h4&gt;&amp;lt;&lt;br&gt;&lt;/blockquote&gt;In Java:&lt;br&gt;&lt;div class=&quot;dp-highlighter&quot;&gt;&lt;div class=&quot;bar&quot;&gt;&lt;div class=&quot;tools&quot;&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('ViewSource',this);return false;&quot;&gt;view plain&lt;/a&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('CopyToClipboard',this);return false;&quot;&gt;copy to clipboard&lt;/a&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('PrintSource',this);return false;&quot;&gt;print&lt;/a&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('About',this);return false;&quot;&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;ol class=&quot;dp-j&quot; start=&quot;1&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span&gt;ArrayData&amp;nbsp;arraydata&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;new&lt;/span&gt;&lt;span&gt;&amp;nbsp;ArrayData(&lt;/span&gt;&lt;span class=&quot;number&quot;&gt;32&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;number&quot;&gt;32&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;number&quot;&gt;1&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;pre style=&quot;display: none;&quot;&gt;ArrayData arraydata = new ArrayData(32, 32, 1);
&lt;/pre&gt;In Jython:&lt;br&gt;&lt;div class=&quot;dp-highlighter&quot;&gt;&lt;div class=&quot;bar&quot;&gt;&lt;div class=&quot;tools&quot;&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('ViewSource',this);return false;&quot;&gt;view plain&lt;/a&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('CopyToClipboard',this);return false;&quot;&gt;copy to clipboard&lt;/a&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('PrintSource',this);return false;&quot;&gt;print&lt;/a&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('About',this);return false;&quot;&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;ol class=&quot;dp-py&quot; start=&quot;1&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span&gt;arraydata&amp;nbsp;=&amp;nbsp;ArrayData(&lt;/span&gt;&lt;span class=&quot;number&quot;&gt;32&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;number&quot;&gt;32&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;number&quot;&gt;1&lt;/span&gt;&lt;span&gt;)&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;pre style=&quot;display: none;&quot;&gt;arraydata = ArrayData(32, 32, 1)
&lt;/pre&gt;&lt;blockquote&gt;&lt;h4&gt; Explicit declaration in Jython of &lt;a tiddlylink=&quot;JFrame&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/#JFrame&quot; href=&quot;http://www.reyesaguayo.com/osp/#JFrame&quot; class=&quot;externalLink&quot;&gt;JFrame&lt;/a&gt; while in Java is not necessary&lt;/h4&gt;&lt;/blockquote&gt;&lt;div class=&quot;dp-highlighter&quot;&gt;&lt;div class=&quot;bar&quot;&gt;&lt;div class=&quot;tools&quot;&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('ViewSource',this);return false;&quot;&gt;view plain&lt;/a&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('CopyToClipboard',this);return false;&quot;&gt;copy to clipboard&lt;/a&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('PrintSource',this);return false;&quot;&gt;print&lt;/a&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('About',this);return false;&quot;&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;ol class=&quot;dp-py&quot; start=&quot;1&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;import&lt;/span&gt;&lt;span&gt;&amp;nbsp;javax.swing.JFrame;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;pre style=&quot;display: none;&quot;&gt;import javax.swing.JFrame; 
&lt;/pre&gt;&amp;lt;</description>
<category>systemTiddlers</category>
<category>Jython Applications for OSP</category>
<link>http://www.reyesaguayo.com/osp/#SurfaceArrayApp</link>
<pubDate>Tue, 11 Aug 2009 21:42:00 GMT</pubDate>
</item>
<item>
<title>ReactionApp</title>
<description>&lt;h2&gt;&lt;a tiddlylink=&quot;ReactionApp&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/#ReactionApp&quot; href=&quot;http://www.reyesaguayo.com/osp/#ReactionApp&quot; class=&quot;externalLink&quot;&gt;ReactionApp&lt;/a&gt;&lt;/h2&gt;&lt;blockquote&gt;   This application solves an autocatalytic oscillating chemical reaction (Brusselator model) using a fouth-order &lt;a tiddlylink=&quot;Runge-Kutta&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/#Runge-Kutta&quot; href=&quot;http://www.reyesaguayo.com/osp/#Runge-Kutta&quot; class=&quot;externalLink&quot;&gt;Runge-Kutta&lt;/a&gt; algorithm.&lt;br&gt;&lt;br&gt;&lt;span class=&quot;marked&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/jws/ReactionApp.jnlp&quot; href=&quot;http://www.reyesaguayo.com/osp/jws/ReactionApp.jnlp&quot; class=&quot;externalLink&quot;&gt;Launch ReactionApp&lt;/a&gt;&lt;/span&gt;&lt;br&gt;&lt;span tiddler=&quot;ReactionApp.jpg&quot; refresh=&quot;content&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://reyesaguayo.com/osp/images/ReactionApp.jpg&quot; href=&quot;http://reyesaguayo.com/osp/images/ReactionApp.jpg&quot; class=&quot;externalLink imageLink&quot;&gt;&lt;img src=&quot;http://reyesaguayo.com/osp/images/ReactionApp.jpg&quot; title=&quot;tooltip&quot; style=&quot;width: 34%; height: auto;&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;br&gt;&lt;/blockquote&gt;</description>
<category>Jython Applications for OSP</category>
<link>http://www.reyesaguayo.com/osp/#ReactionApp</link>
<pubDate>Tue, 11 Aug 2009 21:37:00 GMT</pubDate>
</item>
<item>
<title>centralApp.Summary</title>
<description>&lt;h1&gt;&lt;a tiddlylink=&quot;centralApp&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/#centralApp&quot; href=&quot;http://www.reyesaguayo.com/osp/#centralApp&quot; class=&quot;externalLink&quot;&gt;centralApp&lt;/a&gt;&lt;/h1&gt;&lt;div class=&quot;borderlessL&quot;&gt;&lt;table class=&quot;twtable&quot;&gt;&lt;tbody&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://reyesaguayo.com/osp/images/centralApp.jpg&quot; href=&quot;http://reyesaguayo.com/osp/images/centralApp.jpg&quot; class=&quot;externalLink imageLink&quot;&gt;&lt;img src=&quot;http://reyesaguayo.com/osp/images/centralApp.jpg&quot; title=&quot;ReactionApp&quot; style=&quot;width: 100%; height: auto;&quot;&gt;&lt;/a&gt;&lt;br&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 0, 102);&quot;&gt;&lt;span tiddler=&quot;./execute&quot; refresh=&quot;content&quot;&gt;&lt;span class=&quot;marked&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/jws/centralApp.jnlp&quot; href=&quot;http://www.reyesaguayo.com/osp/jws/centralApp.jnlp&quot; class=&quot;externalLink&quot;&gt;Launch centralApp JWS application&lt;/a&gt;&lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align: top; width: 30em;&quot;&gt;&lt;span tiddler=&quot;centralApp/description&quot; refresh=&quot;content&quot;&gt;This is an application that uses Ordinary Differential Equations to find a solution to a body under a central force.&lt;br&gt;&lt;/span&gt; &lt;span tiddler=&quot;./javacode&quot; refresh=&quot;content&quot;&gt;&lt;h4&gt;Java Code&lt;/h4&gt;&lt;a tiddlylink=&quot;centralApp.java&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;centralApp.java - AlfonsoReyes, Sat 22 Nov 2008 09:37:00 AM CST&quot; href=&quot;javascript:;&quot;&gt;centralApp.java&lt;/a&gt;&lt;br&gt;&lt;/span&gt; &lt;span tiddler=&quot;./jythoncode&quot; refresh=&quot;content&quot;&gt;&lt;h4&gt;Jython Code&lt;/h4&gt;&lt;a tiddlylink=&quot;centralApp.py&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;centralApp.py - AlfonsoReyes, Sat 22 Nov 2008 09:36:00 AM CST&quot; href=&quot;javascript:;&quot;&gt;centralApp.py&lt;/a&gt;&lt;br&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br&gt;</description>
<link>http://www.reyesaguayo.com/osp/#centralApp.Summary</link>
<pubDate>Tue, 11 Aug 2009 21:33:00 GMT</pubDate>
</item>
<item>
<title>ProjectileApp.Summary</title>
<description>&lt;h1&gt;&lt;a tiddlylink=&quot;ProjectileApp&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/#ProjectileApp&quot; href=&quot;http://www.reyesaguayo.com/osp/#ProjectileApp&quot; class=&quot;externalLink&quot;&gt;ProjectileApp&lt;/a&gt;&lt;/h1&gt;&lt;div class=&quot;borderlessL&quot;&gt;&lt;table class=&quot;twtable&quot;&gt;&lt;tbody&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://reyesaguayo.com/osp/images/ProjectileApp.jpg&quot; href=&quot;http://reyesaguayo.com/osp/images/ProjectileApp.jpg&quot; class=&quot;externalLink imageLink&quot;&gt;&lt;img src=&quot;http://reyesaguayo.com/osp/images/ProjectileApp.jpg&quot; title=&quot;ProjectileApp&quot; style=&quot;width: 100%; height: auto;&quot;&gt;&lt;/a&gt;&lt;br&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 0, 102);&quot;&gt;&lt;span tiddler=&quot;./execute&quot; refresh=&quot;content&quot;&gt;&lt;span class=&quot;marked&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/jws/ProjectileApp.jnlp&quot; href=&quot;http://www.reyesaguayo.com/osp/jws/ProjectileApp.jnlp&quot; class=&quot;externalLink&quot;&gt;Launch ProjectileApp JWS application&lt;/a&gt;&lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align: top; width: 30em;&quot;&gt;&lt;span tiddler=&quot;./description&quot; refresh=&quot;content&quot;&gt;&lt;h4&gt;Description&lt;/h4&gt;&lt;span tiddler=&quot;ProjectileApp/description&quot; refresh=&quot;content&quot;&gt;This is the classic projectile application showing a 2D animated trajectory. Angle and velocity can be changed from the parameters window. &lt;br&gt;&lt;/span&gt;&lt;br&gt;&lt;/span&gt; &lt;span tiddler=&quot;./javacode&quot; refresh=&quot;content&quot;&gt;&lt;h4&gt;Java Code&lt;/h4&gt;&lt;a tiddlylink=&quot;Projectile.java&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;Projectile.java - AlfonsoReyes, Wed 12 Nov 2008 12:24:00 PM CST&quot; href=&quot;javascript:;&quot;&gt;Projectile.java&lt;/a&gt; &lt;a tiddlylink=&quot;ProjectileApp.java&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;ProjectileApp.java - AlfonsoReyes, Fri 14 Nov 2008 06:37:00 AM CST&quot; href=&quot;javascript:;&quot;&gt;ProjectileApp.java&lt;/a&gt;&lt;br&gt;&lt;/span&gt; &lt;span tiddler=&quot;./jythoncode&quot; refresh=&quot;content&quot;&gt;&lt;h4&gt;Jython Code&lt;/h4&gt;&lt;a tiddlylink=&quot;Projectile.py&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;Projectile.py - AlfonsoReyes, Wed 12 Nov 2008 12:25:00 PM CST&quot; href=&quot;javascript:;&quot;&gt;Projectile.py&lt;/a&gt; &lt;a tiddlylink=&quot;ProjectileApp.py&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;ProjectileApp.py - AlfonsoReyes, Fri 14 Nov 2008 07:21:00 AM CST&quot; href=&quot;javascript:;&quot;&gt;ProjectileApp.py&lt;/a&gt;&lt;br&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;</description>
<link>http://www.reyesaguayo.com/osp/#ProjectileApp.Summary</link>
<pubDate>Tue, 11 Aug 2009 21:29:00 GMT</pubDate>
</item>
<item>
<title>ProjectileApp</title>
<description>&lt;h2&gt;&lt;a tiddlylink=&quot;ProjectileApp&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/#ProjectileApp&quot; href=&quot;http://www.reyesaguayo.com/osp/#ProjectileApp&quot; class=&quot;externalLink&quot;&gt;ProjectileApp&lt;/a&gt;&lt;/h2&gt;This is the classic projectile application showing a 2D animated trajectory. Angle and velocity can be changed from the parameters window. &lt;br&gt;&lt;blockquote&gt;&lt;span class=&quot;marked&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/jws/ProjectileApp.jnlp&quot; href=&quot;http://www.reyesaguayo.com/osp/jws/ProjectileApp.jnlp&quot; class=&quot;externalLink&quot;&gt;Launch ProjectileApp&lt;/a&gt;&lt;/span&gt;&lt;br&gt;&lt;span tiddler=&quot;ProjectileApp.jpg&quot; refresh=&quot;content&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://reyesaguayo.com/osp/images/ProjectileApp.jpg&quot; href=&quot;http://reyesaguayo.com/osp/images/ProjectileApp.jpg&quot; class=&quot;externalLink imageLink&quot;&gt;&lt;img src=&quot;http://reyesaguayo.com/osp/images/ProjectileApp.jpg&quot; title=&quot;ProjectileApp&quot; style=&quot;width: 34%; height: auto;&quot;&gt;&lt;/a&gt;&lt;br&gt;&lt;/span&gt;&lt;br&gt;&lt;/blockquote&gt;&lt;h3&gt;Features&lt;/h3&gt;&lt;ul&gt;&lt;li&gt; Can change projectile launch from control box&lt;/li&gt;&lt;li&gt; Animated trajectory&lt;/li&gt;&lt;li&gt; Plot for horizontal position versus height&lt;/li&gt;&lt;li&gt; Plot for x,y position vs. time&lt;/li&gt;&lt;/ul&gt;</description>
<category>Jython Applications for OSP</category>
<link>http://www.reyesaguayo.com/osp/#ProjectileApp</link>
<pubDate>Tue, 11 Aug 2009 21:28:00 GMT</pubDate>
</item>
<item>
<title>MatrixRotationApp</title>
<description>&lt;h2&gt;&lt;a tiddlylink=&quot;MatrixRotationApp&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/#MatrixRotationApp&quot; href=&quot;http://www.reyesaguayo.com/osp/#MatrixRotationApp&quot; class=&quot;externalLink&quot;&gt;MatrixRotationApp&lt;/a&gt;&lt;/h2&gt;This is 3D application showing the rotation of an ellipsoid in real time. The ellipsoid is created and animated using threading.&lt;br&gt;&lt;br&gt;&lt;span class=&quot;marked&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/jws/MatrixRotationApp.jnlp&quot; href=&quot;http://www.reyesaguayo.com/osp/jws/MatrixRotationApp.jnlp&quot; class=&quot;externalLink&quot;&gt;Launch MatrixRotationApp&lt;/a&gt;&lt;/span&gt;&lt;br&gt;&lt;span tiddler=&quot;MatrixRotationApp.jpg&quot; refresh=&quot;content&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://reyesaguayo.com/osp/images/MatrixRotationApp.jpg&quot; href=&quot;http://reyesaguayo.com/osp/images/MatrixRotationApp.jpg&quot; class=&quot;externalLink imageLink&quot;&gt;&lt;img src=&quot;http://reyesaguayo.com/osp/images/MatrixRotationApp.jpg&quot; title=&quot;MatrixRotationApp&quot; style=&quot;width: 35%; height: auto;&quot;&gt;&lt;/a&gt;&lt;br&gt;&lt;/span&gt;&lt;br&gt;&lt;h3&gt;Features&lt;/h3&gt;&lt;ul&gt;&lt;li&gt; Rotates in real time&lt;/li&gt;&lt;li&gt; Can obtain diferent 3D views and rotate if you press and drag the mouse cursor&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Java vs. Jython learnings&lt;/h3&gt;&lt;h4&gt; Have to declare explicitly some modules in Jython&lt;/h4&gt;&lt;blockquote&gt;&lt;div class=&quot;dp-highlighter&quot;&gt;&lt;div class=&quot;bar&quot;&gt;&lt;div class=&quot;tools&quot;&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('ViewSource',this);return false;&quot;&gt;view plain&lt;/a&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('CopyToClipboard',this);return false;&quot;&gt;copy to clipboard&lt;/a&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('PrintSource',this);return false;&quot;&gt;print&lt;/a&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('About',this);return false;&quot;&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;ol class=&quot;dp-py&quot; start=&quot;1&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;#These&amp;nbsp;four&amp;nbsp;modules&amp;nbsp;not&amp;nbsp;explicitly&amp;nbsp;declared&amp;nbsp;in&amp;nbsp;Java&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;import&lt;/span&gt;&lt;span&gt;&amp;nbsp;javax.swing.JFrame&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;from&lt;/span&gt;&lt;span&gt;&amp;nbsp;java.lang&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;import&lt;/span&gt;&lt;span&gt;&amp;nbsp;Exception&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;from&lt;/span&gt;&lt;span&gt;&amp;nbsp;java.lang&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;import&lt;/span&gt;&lt;span&gt;&amp;nbsp;Thread&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;from&lt;/span&gt;&lt;span&gt;&amp;nbsp;java.lang&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;import&lt;/span&gt;&lt;span&gt;&amp;nbsp;Math&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;pre style=&quot;display: none;&quot;&gt;#These four modules not explicitly declared in Java
import javax.swing.JFrame
from java.lang import Exception
from java.lang import Thread
from java.lang import Math
&lt;/pre&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;h4&gt; &lt;strong&gt;Try&lt;/strong&gt; and &lt;strong&gt;except&lt;/strong&gt; differ a little bit from Java cousin&lt;/h4&gt;&lt;blockquote&gt;&lt;div class=&quot;dp-highlighter&quot;&gt;&lt;div class=&quot;bar&quot;&gt;&lt;div class=&quot;tools&quot;&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('ViewSource',this);return false;&quot;&gt;view plain&lt;/a&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('CopyToClipboard',this);return false;&quot;&gt;copy to clipboard&lt;/a&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('PrintSource',this);return false;&quot;&gt;print&lt;/a&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('About',this);return false;&quot;&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;ol class=&quot;dp-py&quot; start=&quot;1&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;while&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span class=&quot;special&quot;&gt;True&lt;/span&gt;&lt;span&gt;):&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;#&amp;nbsp;animate&amp;nbsp;until&amp;nbsp;the&amp;nbsp;program&amp;nbsp;exits&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;try&lt;/span&gt;&lt;span&gt;:&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Thread.sleep(&lt;span class=&quot;number&quot;&gt;100&lt;/span&gt;&lt;span&gt;)&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;except&lt;/span&gt;&lt;span&gt;&amp;nbsp;InterruptedException,&amp;nbsp;e:&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;print&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&quot;this&amp;nbsp;exception&quot;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;e&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;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;theta&amp;nbsp;+=&amp;nbsp;Math.PI/&lt;span class=&quot;number&quot;&gt;40&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;pre style=&quot;display: none;&quot;&gt;    while(True):    # animate until the program exits
        try:
            Thread.sleep(100)
        except InterruptedException, e:
            print &quot;this exception&quot;, e         
        theta += Math.PI/40
&lt;/pre&gt;while in Java is:&lt;br&gt;&lt;div class=&quot;dp-highlighter&quot;&gt;&lt;div class=&quot;bar&quot;&gt;&lt;div class=&quot;tools&quot;&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('ViewSource',this);return false;&quot;&gt;view plain&lt;/a&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('CopyToClipboard',this);return false;&quot;&gt;copy to clipboard&lt;/a&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('PrintSource',this);return false;&quot;&gt;print&lt;/a&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('About',this);return false;&quot;&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;ol class=&quot;dp-j&quot; start=&quot;1&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;while&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;true&lt;/span&gt;&lt;span&gt;)&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;animate&amp;nbsp;until&amp;nbsp;the&amp;nbsp;program&amp;nbsp;exits&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;try&lt;/span&gt;&lt;span&gt;&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Thread.sleep(&lt;span class=&quot;number&quot;&gt;100&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;catch&lt;/span&gt;&lt;span&gt;(InterruptedException&amp;nbsp;ex)&amp;nbsp;{}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;theta&amp;nbsp;+=&amp;nbsp;Math.PI/&lt;span class=&quot;number&quot;&gt;40&lt;/span&gt;&lt;span&gt;;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;pre style=&quot;display: none;&quot;&gt;    while(true) { // animate until the program exits
      try {
        Thread.sleep(100);
      } catch(InterruptedException ex) {}
      theta += Math.PI/40;
&lt;/pre&gt;&lt;/blockquote&gt;</description>
<category>Jython Applications for OSP</category>
<link>http://www.reyesaguayo.com/osp/#MatrixRotationApp</link>
<pubDate>Tue, 11 Aug 2009 21:24:00 GMT</pubDate>
</item>
<item>
<title>ReactionApp - OSP Images in tables - 2 columns - Using Parted</title>
<description>&lt;h1&gt;&lt;a tiddlylink=&quot;ReactionApp&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/#ReactionApp&quot; href=&quot;http://www.reyesaguayo.com/osp/#ReactionApp&quot; class=&quot;externalLink&quot;&gt;ReactionApp&lt;/a&gt;&lt;/h1&gt;&lt;div class=&quot;borderlessL&quot;&gt;&lt;table class=&quot;twtable&quot;&gt;&lt;tbody&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://reyesaguayo.com/osp/images/ReactionApp.jpg&quot; href=&quot;http://reyesaguayo.com/osp/images/ReactionApp.jpg&quot; class=&quot;externalLink imageLink&quot;&gt;&lt;img src=&quot;http://reyesaguayo.com/osp/images/ReactionApp.jpg&quot; title=&quot;ReactionApp&quot; style=&quot;width: 100%; height: auto;&quot;&gt;&lt;/a&gt;&lt;br&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 0, 102);&quot;&gt;&lt;span tiddler=&quot;./execute&quot; refresh=&quot;content&quot;&gt;&lt;span class=&quot;marked&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/jws/ReactionApp.jnlp&quot; href=&quot;http://www.reyesaguayo.com/osp/jws/ReactionApp.jnlp&quot; class=&quot;externalLink&quot;&gt;Launch ReactionApp JWS application&lt;/a&gt;&lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align: top; width: 30em;&quot;&gt;&lt;span tiddler=&quot;./description&quot; refresh=&quot;content&quot;&gt;&lt;h4&gt;Description&lt;/h4&gt;TiddlyWiki, being a single file, is best utilized by storing images elsewhere. Here is an image and the code to present it. In this case it also includes a tooltip and link to a larger version of the image.&lt;br&gt;&lt;/span&gt; &lt;span tiddler=&quot;./javacode&quot; refresh=&quot;content&quot;&gt;&lt;h4&gt;Java Code&lt;/h4&gt;&lt;a tiddlylink=&quot;Reaction.java&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;Reaction.java - YourName, Tue 11 Aug 2009 02:48:00 PM CST&quot; href=&quot;javascript:;&quot;&gt;Reaction.java&lt;/a&gt; &lt;a tiddlylink=&quot;ReactionApp.java&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;ReactionApp.java - YourName, Tue 11 Aug 2009 02:48:00 PM CST&quot; href=&quot;javascript:;&quot;&gt;ReactionApp.java&lt;/a&gt;&lt;br&gt;&lt;/span&gt; &lt;span tiddler=&quot;./jythoncode&quot; refresh=&quot;content&quot;&gt;&lt;h4&gt;Jython Code&lt;/h4&gt;&lt;a tiddlylink=&quot;Reaction.py&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;Reaction.py - AlfonsoReyes, Wed 12 Nov 2008 12:27:00 PM CST&quot; href=&quot;javascript:;&quot;&gt;Reaction.py&lt;/a&gt; &lt;a tiddlylink=&quot;ReactionApp.py&quot; refresh=&quot;link&quot; class=&quot;tiddlyLink tiddlyLinkExisting&quot; title=&quot;ReactionApp.py - AlfonsoReyes, Wed 12 Nov 2008 12:27:00 PM CST&quot; href=&quot;javascript:;&quot;&gt;ReactionApp.py&lt;/a&gt;&lt;br&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
<link>http://www.reyesaguayo.com/osp/#%5B%5BReactionApp%20-%20OSP%20Images%20in%20tables%20-%202%20columns%20-%20Using%20Parted%5D%5D</link>
<pubDate>Tue, 11 Aug 2009 20:18:00 GMT</pubDate>
</item>
<item>
<title>Reaction.java</title>
<description>&lt;pre&gt;package org.opensourcephysics.davidson.ode.basic_examples;&lt;br&gt;&lt;span style=&quot;color: blue;&quot;&gt;import&lt;/span&gt; org.opensourcephysics.numerics.ODE;&lt;br&gt;&lt;br&gt;&lt;span style=&quot;color: green;&quot;&gt;/**
 * Reaction models an autocatalytic oscillating chemical reaction (Brusselator model)
 * by implementing the ODE interface.
 * @author Wolfgang Christian
 * @version 1.0
 */&lt;/span&gt;&lt;br&gt;public &lt;span style=&quot;color: blue;&quot;&gt;class&lt;/span&gt; Reaction implements ODE {&lt;br&gt;  double[] state &lt;span style=&quot;color: brown;&quot;&gt;=&lt;/span&gt; new double[3]; &lt;span style=&quot;color: red;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;/&lt;/span&gt; X, Y, t&lt;br&gt;  double k1&lt;span style=&quot;color: brown;&quot;&gt;=&lt;/span&gt;1.0, k2&lt;span style=&quot;color: brown;&quot;&gt;=&lt;/span&gt;2.5, k3&lt;span style=&quot;color: brown;&quot;&gt;=&lt;/span&gt;1.0, k4&lt;span style=&quot;color: brown;&quot;&gt;=&lt;/span&gt;1.0; &lt;span style=&quot;color: red;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;/&lt;/span&gt; reaction rates&lt;br&gt;  double A&lt;span style=&quot;color: brown;&quot;&gt;=&lt;/span&gt;1, B&lt;span style=&quot;color: brown;&quot;&gt;=&lt;/span&gt;1;       &lt;span style=&quot;color: red;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;/&lt;/span&gt; reactant concenterations&lt;br&gt;&lt;br&gt;  &lt;span style=&quot;color: green;&quot;&gt;/**
   * Constructs an autocatalytic oscillating chemical reaction using the given initial conditions.
   * @param initialConditions double[]
   */&lt;/span&gt;&lt;br&gt;  Reaction(double[] initialConditions){&lt;br&gt;     state&lt;span style=&quot;color: brown;&quot;&gt;=&lt;/span&gt;(double[])initialConditions.clone();&lt;br&gt;  }&lt;br&gt;&lt;br&gt;  &lt;span style=&quot;color: green;&quot;&gt;/**
   * Gets the model's state variables.
   * @return double[]
   */&lt;/span&gt;&lt;br&gt;  public double[] getState() { return state; }&lt;br&gt;&lt;br&gt;  &lt;span style=&quot;color: green;&quot;&gt;/**
   * Computes the rate using the given state.
   * @param state double[] the state that will be used to compute the rate
   * @param rate double[]  the computed rate
   */&lt;/span&gt;&lt;br&gt;  public void getRate(double[] state, double[] rate ){&lt;br&gt;    double xxy&lt;span style=&quot;color: brown;&quot;&gt;=&lt;/span&gt;state[0]&lt;span style=&quot;color: red;&quot;&gt;*&lt;/span&gt;state[0]&lt;span style=&quot;color: red;&quot;&gt;*&lt;/span&gt;state[1];&lt;br&gt;    rate[0] &lt;span style=&quot;color: brown;&quot;&gt;=&lt;/span&gt; k1&lt;span style=&quot;color: red;&quot;&gt;*&lt;/span&gt;A&lt;span style=&quot;color: red;&quot;&gt;-&lt;/span&gt;k2&lt;span style=&quot;color: red;&quot;&gt;*&lt;/span&gt;B&lt;span style=&quot;color: red;&quot;&gt;*&lt;/span&gt;state[0]&lt;span style=&quot;color: red;&quot;&gt;+&lt;/span&gt;k3&lt;span style=&quot;color: red;&quot;&gt;*&lt;/span&gt;xxy&lt;span style=&quot;color: red;&quot;&gt;-&lt;/span&gt;k4&lt;span style=&quot;color: red;&quot;&gt;*&lt;/span&gt;state[0];  &lt;span style=&quot;color: red;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;/&lt;/span&gt; X rate&lt;br&gt;    rate[1] &lt;span style=&quot;color: brown;&quot;&gt;=&lt;/span&gt; k2&lt;span style=&quot;color: red;&quot;&gt;*&lt;/span&gt;B&lt;span style=&quot;color: red;&quot;&gt;*&lt;/span&gt;state[0]&lt;span style=&quot;color: red;&quot;&gt;-&lt;/span&gt;k3&lt;span style=&quot;color: red;&quot;&gt;*&lt;/span&gt;xxy ; &lt;span style=&quot;color: red;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;/&lt;/span&gt; Y rate&lt;br&gt;    rate[2] &lt;span style=&quot;color: brown;&quot;&gt;=&lt;/span&gt; 1; &lt;span style=&quot;color: red;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;/&lt;/span&gt; time derivative&lt;br&gt;  }&lt;br&gt;}&lt;/pre&gt;</description>
<category>ReactionApp</category>
<category>java code</category>
<link>http://www.reyesaguayo.com/osp/#Reaction.java</link>
<pubDate>Tue, 11 Aug 2009 19:48:00 GMT</pubDate>
</item>
<item>
<title>ReactionApp.java</title>
<description>&lt;div class=&quot;dp-highlighter&quot;&gt;&lt;div class=&quot;bar&quot;&gt;&lt;div class=&quot;tools&quot;&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('ViewSource',this);return false;&quot;&gt;view plain&lt;/a&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('CopyToClipboard',this);return false;&quot;&gt;copy to clipboard&lt;/a&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('PrintSource',this);return false;&quot;&gt;print&lt;/a&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('About',this);return false;&quot;&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;ol class=&quot;dp-j&quot; start=&quot;1&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;package&lt;/span&gt;&lt;span&gt;&amp;nbsp;org.opensourcephysics.davidson.ode.basic_examples;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;import&lt;/span&gt;&lt;span&gt;&amp;nbsp;org.opensourcephysics.controls.*;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;import&lt;/span&gt;&lt;span&gt;&amp;nbsp;org.opensourcephysics.numerics.*;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;import&lt;/span&gt;&lt;span&gt;&amp;nbsp;org.opensourcephysics.frames.*;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;/**&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;&amp;nbsp;*&amp;nbsp;ReactionApp&amp;nbsp;solves&amp;nbsp;an&amp;nbsp;autocatalytic&amp;nbsp;oscillating&amp;nbsp;chemical&amp;nbsp;reaction&amp;nbsp;(Brusselator&amp;nbsp;model)&amp;nbsp;using&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;&amp;nbsp;*&amp;nbsp;a&amp;nbsp;fouth-order&amp;nbsp;Runge-Kutta&amp;nbsp;algorithm.&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;&amp;nbsp;*&amp;nbsp;@author&amp;nbsp;Wolfgang&amp;nbsp;Christian&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;&amp;nbsp;*&amp;nbsp;@version&amp;nbsp;1.0&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;&amp;nbsp;*/&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;public&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;class&lt;/span&gt;&lt;span&gt;&amp;nbsp;ReactionApp&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;extends&lt;/span&gt;&lt;span&gt;&amp;nbsp;AbstractSimulation&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Reaction&amp;nbsp;reaction;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;ODESolver&amp;nbsp;solver;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;PlotFrame&amp;nbsp;phasePlot=&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;new&lt;/span&gt;&lt;span&gt;&amp;nbsp;PlotFrame(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&quot;X&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&quot;Y&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&quot;Product&amp;nbsp;Phase&amp;nbsp;Space&quot;&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;PlotFrame&amp;nbsp;timePlot=&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;new&lt;/span&gt;&lt;span&gt;&amp;nbsp;PlotFrame(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&quot;t&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&quot;X&amp;nbsp;and&amp;nbsp;Y&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&quot;Reaction&amp;nbsp;Products&quot;&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;comment&quot;&gt;/**&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;Initializes&amp;nbsp;the&amp;nbsp;simulation&amp;nbsp;by&amp;nbsp;reading&amp;nbsp;parameters&amp;nbsp;from&amp;nbsp;the&amp;nbsp;control.&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;public&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;void&lt;/span&gt;&lt;span&gt;&amp;nbsp;initialize(){&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;double&lt;/span&gt;&lt;span&gt;&amp;nbsp;x&amp;nbsp;=&amp;nbsp;control.getDouble(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&quot;X&quot;&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;double&lt;/span&gt;&lt;span&gt;&amp;nbsp;y&amp;nbsp;=&amp;nbsp;control.getDouble(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&quot;Y&quot;&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;reaction&amp;nbsp;=&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;new&lt;/span&gt;&lt;span&gt;&amp;nbsp;Reaction(&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;new&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;double&lt;/span&gt;&lt;span&gt;[]{x,&amp;nbsp;y,&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;number&quot;&gt;0&lt;/span&gt;&lt;span&gt;});&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;create&amp;nbsp;reaction&amp;nbsp;model&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;solver&amp;nbsp;=&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;new&lt;/span&gt;&lt;span&gt;&amp;nbsp;RK4(reaction);&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;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;create&amp;nbsp;solver&amp;nbsp;for&amp;nbsp;this&amp;nbsp;model&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;comment&quot;&gt;/**&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;Steps&amp;nbsp;(advances)&amp;nbsp;the&amp;nbsp;reaction&amp;nbsp;and&amp;nbsp;plots&amp;nbsp;the&amp;nbsp;results.&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;The&amp;nbsp;solver&amp;nbsp;increments&amp;nbsp;the&amp;nbsp;time&amp;nbsp;using&amp;nbsp;its&amp;nbsp;internal&amp;nbsp;stepsize.&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;protected&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;void&lt;/span&gt;&lt;span&gt;&amp;nbsp;doStep()&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;solver.step();&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;timePlot.append(&lt;span class=&quot;number&quot;&gt;0&lt;/span&gt;&lt;span&gt;,reaction.state[&lt;/span&gt;&lt;span class=&quot;number&quot;&gt;2&lt;/span&gt;&lt;span&gt;],reaction.state[&lt;/span&gt;&lt;span class=&quot;number&quot;&gt;0&lt;/span&gt;&lt;span&gt;]);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;timePlot.append(&lt;span class=&quot;number&quot;&gt;1&lt;/span&gt;&lt;span&gt;,reaction.state[&lt;/span&gt;&lt;span class=&quot;number&quot;&gt;2&lt;/span&gt;&lt;span&gt;],reaction.state[&lt;/span&gt;&lt;span class=&quot;number&quot;&gt;1&lt;/span&gt;&lt;span&gt;]);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;phasePlot.append(&lt;span class=&quot;number&quot;&gt;0&lt;/span&gt;&lt;span&gt;,reaction.state[&lt;/span&gt;&lt;span class=&quot;number&quot;&gt;0&lt;/span&gt;&lt;span&gt;],reaction.state[&lt;/span&gt;&lt;span class=&quot;number&quot;&gt;1&lt;/span&gt;&lt;span&gt;]);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;comment&quot;&gt;/**&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;Resets&amp;nbsp;the&amp;nbsp;reaction&amp;nbsp;into&amp;nbsp;a&amp;nbsp;predefined&amp;nbsp;state.&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;public&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;void&lt;/span&gt;&lt;span&gt;&amp;nbsp;reset()&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;timePlot.setConnected(&lt;span class=&quot;keyword&quot;&gt;true&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;connect&amp;nbsp;data&amp;nbsp;points&amp;nbsp;with&amp;nbsp;straight&amp;nbsp;line&amp;nbsp;segments&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;phasePlot.setConnected(&lt;span class=&quot;keyword&quot;&gt;true&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;connect&amp;nbsp;data&amp;nbsp;points&amp;nbsp;with&amp;nbsp;straight&amp;nbsp;line&amp;nbsp;segments&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;control.setValue(&lt;span class=&quot;string&quot;&gt;&quot;X&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&quot;1&quot;&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;control.setValue(&lt;span class=&quot;string&quot;&gt;&quot;Y&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span class=&quot;number&quot;&gt;5&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;control.setValue(&lt;span class=&quot;string&quot;&gt;&quot;dt&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span class=&quot;number&quot;&gt;0.1&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;enableStepsPerDisplay(&lt;span class=&quot;keyword&quot;&gt;true&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;initialize();&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;comment&quot;&gt;/**&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;Starts&amp;nbsp;the&amp;nbsp;ReactionApp&amp;nbsp;program.&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;args&amp;nbsp;String[]&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;public&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;static&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;void&lt;/span&gt;&lt;span&gt;&amp;nbsp;main(String[]&amp;nbsp;args)&amp;nbsp;{&amp;nbsp;SimulationControl.createApp(&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;new&lt;/span&gt;&lt;span&gt;&amp;nbsp;ReactionApp(),&amp;nbsp;args);&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;pre style=&quot;display: none;&quot;&gt;package org.opensourcephysics.davidson.ode.basic_examples;

import org.opensourcephysics.controls.*;
import org.opensourcephysics.numerics.*;
import org.opensourcephysics.frames.*;

/**
 * ReactionApp solves an autocatalytic oscillating chemical reaction (Brusselator model) using
 * a fouth-order Runge-Kutta algorithm.
 * @author Wolfgang Christian
 * @version 1.0
 */
public class ReactionApp extends AbstractSimulation {
   Reaction reaction;
   ODESolver solver;
   PlotFrame phasePlot= new PlotFrame(&quot;X&quot;,&quot;Y&quot;,&quot;Product Phase Space&quot;);
   PlotFrame timePlot= new PlotFrame(&quot;t&quot;,&quot;X and Y&quot;,&quot;Reaction Products&quot;);

   /**
    * Initializes the simulation by reading parameters from the control.
    */
   public void initialize(){
      double x = control.getDouble(&quot;X&quot;);
      double y = control.getDouble(&quot;Y&quot;);
      reaction = new Reaction(new double[]{x, y, 0}); // create reaction model
      solver = new RK4(reaction);                     // create solver for this model
   }

   /**
    * Steps (advances) the reaction and plots the results.
    * The solver increments the time using its internal stepsize.
    */
   protected void doStep() {
      solver.step();
      timePlot.append(0,reaction.state[2],reaction.state[0]);
      timePlot.append(1,reaction.state[2],reaction.state[1]);
      phasePlot.append(0,reaction.state[0],reaction.state[1]);
   }

   /**
    * Resets the reaction into a predefined state.
    */
   public void reset() {
      timePlot.setConnected(true);  // connect data points with straight line segments
      phasePlot.setConnected(true); // connect data points with straight line segments
      control.setValue(&quot;X&quot;,&quot;1&quot;);
      control.setValue(&quot;Y&quot;,5);
      control.setValue(&quot;dt&quot;,0.1);
      enableStepsPerDisplay(true);
      initialize();
   }

   /**
    * Starts the ReactionApp program.
    * @param args String[]
    */
   public static void main(String[] args) { SimulationControl.createApp(new ReactionApp(), args); }
}
&lt;/pre&gt;&lt;br&gt;&lt;br&gt;</description>
<category>ReactionApp</category>
<category>systemTiddlers</category>
<link>http://www.reyesaguayo.com/osp/#ReactionApp.java</link>
<pubDate>Tue, 11 Aug 2009 19:48:00 GMT</pubDate>
</item>
<item>
<title>ReactionApp - OSP Images in tables - 2 columns</title>
<description>&lt;div class=&quot;borderlessL&quot;&gt;&lt;table class=&quot;twtable&quot;&gt;&lt;tbody&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://reyesaguayo.com/osp/images/ReactionApp.jpg&quot; href=&quot;http://reyesaguayo.com/osp/images/ReactionApp.jpg&quot; class=&quot;externalLink imageLink&quot;&gt;&lt;img src=&quot;http://reyesaguayo.com/osp/images/ReactionApp.jpg&quot; title=&quot;MatrixRotationApp&quot; style=&quot;width: 100%; height: auto;&quot;&gt;&lt;/a&gt;&lt;br&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 0, 102);&quot;&gt;&lt;a tiddlylink=&quot;ReactionApp&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/#ReactionApp&quot; href=&quot;http://www.reyesaguayo.com/osp/#ReactionApp&quot; class=&quot;externalLink&quot;&gt;ReactionApp&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align: top; width: 30em;&quot;&gt;&lt;span class=&quot;marked&quot;&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/jws/ReactionApp.jnlp&quot; href=&quot;http://www.reyesaguayo.com/osp/jws/ReactionApp.jnlp&quot; class=&quot;externalLink&quot;&gt;Launch ReactionApp&lt;/a&gt;&lt;/span&gt;&lt;br&gt;TiddlyWiki, being a single file, is best utilized by storing images elsewhere. Here is an image and the code to present it. In this case it also includes a tooltip and link to a larger version of the image.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
<link>http://www.reyesaguayo.com/osp/#%5B%5BReactionApp%20-%20OSP%20Images%20in%20tables%20-%202%20columns%5D%5D</link>
<pubDate>Tue, 11 Aug 2009 19:45:00 GMT</pubDate>
</item>
<item>
<title>StyleSheet</title>
<description>.stretch img { &lt;br&gt;	width:100%; &lt;br&gt;}&lt;br&gt;&lt;br&gt;.borderlessL, .borderlessL table, .borderlessL td, .borderlessL tr, .borderlessL th, .borderlessL tbody { border:0 !important; margin:0 !important; padding:2px !important; td.vertical-align:top !important;margin-left: 0 !important; margin-right: auto !important;}&lt;br&gt;.borderless, .borderless table, .borderless td, .borderless tr, .borderless th, .borderless tbody { border:0 !important; margin:0 !important; padding:2px !important; td.vertical-align:top !important;margin-left: auto !important; margin-right: auto !important;}&lt;br&gt;.rolodex table {&lt;br&gt;border: 0px solid;&lt;br&gt;}&lt;br&gt;.rolodex tr, .rolodex td {&lt;br&gt;border: 0px solid;&lt;br&gt;}&lt;br&gt;&lt;br&gt;.consoleClass{&lt;br&gt;	color: #fff; background: #000;&lt;br&gt;	font-family: 'Consolas' monospace;&lt;br&gt;}&lt;br&gt;&lt;br&gt;&lt;br&gt;.borderlessL, .borderlessL table, .borderlessL td, .borderlessL tr, .borderlessL th, .borderlessL tbody { border:0 !important; margin:0 !important; padding:0 !important; td.vertical-align:top !important;margin-left: 0 !important; margin-right: auto !important; padding:7px !important;} &lt;br&gt;&lt;br&gt;.imgfloatleft{float:left;} .imgfloatright{float:right;padding:5px} .imgfloatcenter{float:center;} &lt;br&gt;&lt;br&gt;.viewer img { padding:0em 1em 0em 0em; }&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;a tiddlylink=&quot;StyleSheetSyntaxHighlighter&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/#StyleSheetSyntaxHighlighter&quot; href=&quot;http://www.reyesaguayo.com/osp/#StyleSheetSyntaxHighlighter&quot; class=&quot;externalLink&quot;&gt;StyleSheetSyntaxHighlighter&lt;/a&gt;&lt;br&gt;&lt;a tiddlylink=&quot;MptwStyleSheet&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/#MptwStyleSheet&quot; href=&quot;http://www.reyesaguayo.com/osp/#MptwStyleSheet&quot; class=&quot;externalLink&quot;&gt;MptwStyleSheet&lt;/a&gt;&lt;br&gt;</description>
<category>css</category>
<category>systemTiddlers</category>
<link>http://www.reyesaguayo.com/osp/#StyleSheet</link>
<pubDate>Tue, 11 Aug 2009 19:42:00 GMT</pubDate>
</item>
<item>
<title>PartTiddlerPlugin</title>
<description>&lt;table class=&quot;twtable&quot;&gt;&lt;tbody&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;&lt;span&gt;&lt;a name=&quot;Top&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;strong&gt;Name:&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;PartTiddlerPlugin&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;&lt;strong&gt;Version:&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;1.0.9 (2007-07-14)&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;&lt;strong&gt;Source:&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;a target=&quot;_blank&quot; title=&quot;External link to http://tiddlywiki.abego-software.de/#PartTiddlerPlugin&quot; href=&quot;http://tiddlywiki.abego-software.de/#PartTiddlerPlugin&quot; class=&quot;externalLink&quot;&gt;http://tiddlywiki.abego-software.de/#PartTiddlerPlugin&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;&lt;strong&gt;Author:&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;UdoBorkowski (ub [at] abego-software [dot] de)&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;&lt;strong&gt;Licence:&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;a tiddlylink=&quot;BSD open source license&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/#BSD open source license&quot; href=&quot;http://www.reyesaguayo.com/osp/#BSD%20open%20source%20license&quot; class=&quot;externalLink&quot;&gt;BSD open source license&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;&lt;strong&gt;CoreVersion:&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;2.1.3&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;&lt;strong&gt;Browser:&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Firefox 1.0.4+; InternetExplorer 6.0&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h1&gt;Table of Content&lt;span&gt;&lt;a name=&quot;TOC&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;/h1&gt;&lt;ul&gt;&lt;li&gt; &lt;span&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;window.scrollAnchorVisible('Description',null, event)&quot;&gt;Description, Syntax&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt; &lt;span&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;window.scrollAnchorVisible('Applications',null, event)&quot;&gt;Applications&lt;/a&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt; &lt;span&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;window.scrollAnchorVisible('LongTiddler',null, event)&quot;&gt;Refering to Paragraphs of a Longer Tiddler&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt; &lt;span&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;window.scrollAnchorVisible('Citation',null, event)&quot;&gt;Citation Index&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt; &lt;span&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;window.scrollAnchorVisible('TableCells',null, event)&quot;&gt;Creating &quot;multi-line&quot; Table Cells&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt; &lt;span&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;window.scrollAnchorVisible('Tabs',null, event)&quot;&gt;Creating Tabs&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt; &lt;span&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;window.scrollAnchorVisible('Sliders',null, event)&quot;&gt;Using Sliders&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;span&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;window.scrollAnchorVisible('Revisions',null, event)&quot;&gt;Revision History&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt; &lt;span&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;window.scrollAnchorVisible('Code',null, event)&quot;&gt;Code&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h1&gt;Description&lt;span&gt;&lt;a name=&quot;Description&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;/h1&gt;With the &lt;code&gt;&amp;lt;part aPartName&amp;gt; ... &amp;lt;/part&amp;gt;&lt;/code&gt; feature you can structure your tiddler text into separate (named) parts. &lt;br&gt;Each part can be referenced as a &quot;normal&quot; tiddler, using the &quot;&lt;em&gt;tiddlerName&lt;/em&gt;&lt;strong&gt;/&lt;/strong&gt;&lt;em&gt;partName&lt;/em&gt;&quot; syntax (e.g. &quot;About/Features&quot;).  E.g. you may create links to the parts (e.g. &lt;code&gt;[[Quotes/BAX95]]&lt;/code&gt; or &lt;code&gt;[[Hobbies|AboutMe/Hobbies]]&lt;/code&gt;), use it in &lt;code&gt;&amp;lt;&amp;lt;tiddler...&amp;gt;&amp;gt;&lt;/code&gt; or &lt;code&gt;&amp;lt;&amp;lt;tabs...&amp;gt;&amp;gt;&lt;/code&gt; macros etc.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;strong&gt;Syntax:&lt;/strong&gt; &lt;br&gt;&lt;table class=&quot;twtable&quot;&gt;&lt;tbody&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td colspan=&quot;2&quot;&gt;&lt;strong&gt;&amp;lt;part&lt;/strong&gt; &lt;em&gt;partName&lt;/em&gt; [&lt;strong&gt;hidden&lt;/strong&gt;] &lt;strong&gt;&amp;gt;&lt;/strong&gt; &lt;em&gt;any tiddler content&lt;/em&gt; &lt;strong&gt;&amp;lt;/part&amp;gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;&lt;em&gt;partName&lt;/em&gt;&lt;/td&gt;&lt;td&gt;The name of the part. You may reference a part tiddler with the combined tiddler name &quot;&lt;em&gt;nameOfContainerTidder&lt;/em&gt;&lt;strong&gt;/&lt;/strong&gt;&lt;em&gt;partName&lt;/em&gt;. &lt;a errortext=&quot;Error while executing macro &amp;lt;&amp;lt;br&amp;gt;&amp;gt;:
No such macro&quot; class=&quot;errorButton&quot; href=&quot;javascript:;&quot;&gt;Error in macro &amp;lt;&amp;lt;br&amp;gt;&amp;gt;&lt;/a&gt;If you use a partName containing spaces you need to quote it (e.g. &lt;code&gt;&quot;Major Overview&quot;&lt;/code&gt; or &lt;code&gt;[[Shortcut List]]&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td&gt;&lt;strong&gt;hidden&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;When defined the content of the part is not displayed in the container tiddler. But when the part is explicitly referenced (e.g. in a &lt;code&gt;&amp;lt;&amp;lt;tiddler...&amp;gt;&amp;gt;&lt;/code&gt; macro or in a link) the part's content is displayed.&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;oddRow&quot;&gt;&lt;td&gt;&lt;span&gt;&lt;i&gt;any&amp;nbsp;tiddler&amp;nbsp;content&lt;/i&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span&gt;The content of the part.&lt;br&gt;A part can have any content that a &quot;normal&quot; tiddler may have, e.g. you may use all the formattings and macros defined.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=&quot;evenRow&quot;&gt;&lt;td colspan=&quot;2&quot;&gt;&lt;sub&gt;Syntax formatting: Keywords in &lt;strong&gt;bold&lt;/strong&gt;, optional parts in [...]. 'or' means that exactly one of the two alternatives must exist.&lt;/sub&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;span&gt;&lt;sub&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;window.scrollAnchorVisible('Top',null, event)&quot;&gt;[Top]&lt;/a&gt;&lt;/sub&gt;&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;h1&gt;Applications&lt;span&gt;&lt;a name=&quot;Applications&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;/h1&gt;&lt;h2&gt;Refering to Paragraphs of a Longer Tiddler&lt;span&gt;&lt;a name=&quot;LongTiddler&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;Assume you have written a long description in a tiddler and now you want to refer to the content of a certain paragraph in that tiddler (e.g. some definition.) Just wrap the text with a &lt;strong&gt;part&lt;/strong&gt; block, give it a nice name, create a &quot;pretty link&quot; (like &lt;code&gt;[[Discussion Groups|Introduction/DiscussionGroups]]&lt;/code&gt;) and you are done.&lt;br&gt;&lt;br&gt;Notice this complements the approach to first writing a lot of small tiddlers and combine these tiddlers to one larger tiddler in a second step (e.g. using the &lt;code&gt;&amp;lt;&amp;lt;tiddler...&amp;gt;&amp;gt;&lt;/code&gt; macro). Using the &lt;strong&gt;part&lt;/strong&gt; feature you can first write a &quot;classic&quot; (longer) text that can be read &quot;from top to bottom&quot; and later &quot;reuse&quot; parts of this text for some more &quot;non-linear&quot; reading.&lt;br&gt;&lt;br&gt;&lt;span&gt;&lt;sub&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;window.scrollAnchorVisible('Top',null, event)&quot;&gt;[Top]&lt;/a&gt;&lt;/sub&gt;&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;h2&gt;Citation Index&lt;span&gt;&lt;a name=&quot;Citation&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;Create a tiddler &quot;Citations&quot; that contains your &quot;citations&quot;. &lt;br&gt;Wrap every citation with a part and a proper name. &lt;br&gt;&lt;br&gt;&lt;strong&gt;Example&lt;/strong&gt;&lt;br&gt;&lt;pre&gt;&amp;lt;part BAX98&amp;gt;Baxter, Ira D. et al: //Clone Detection Using Abstract Syntax Trees.// 
in //Proc. ICSM//, 1998.&amp;lt;/part&amp;gt;

&amp;lt;part BEL02&amp;gt;Bellon, Stefan: //Vergleich von Techniken zur Erkennung duplizierten Quellcodes.// 
Thesis, Uni Stuttgart, 2002.&amp;lt;/part&amp;gt;

&amp;lt;part DUC99&amp;gt;Ducasse, Stéfane et al: //A Language Independent Approach for Detecting Duplicated Code.// 
in //Proc. ICSM//, 1999.&amp;lt;/part&amp;gt;
&lt;/pre&gt;&lt;br&gt;You may now &quot;cite&quot; them just by using a pretty link like &lt;code&gt;[[Citations/BAX98]]&lt;/code&gt; or even more pretty, like this &lt;code&gt;[[BAX98|Citations/BAX98]]&lt;/code&gt;.&lt;br&gt;&lt;br&gt;&lt;span&gt;&lt;sub&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;window.scrollAnchorVisible('Top',null, event)&quot;&gt;[Top]&lt;/a&gt;&lt;/sub&gt;&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;h2&gt;Creating &quot;multi-line&quot; Table Cells&lt;span&gt;&lt;a name=&quot;TableCells&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;You may have noticed that it is hard to create table cells with &quot;multi-line&quot; content. E.g. if you want to create a bullet list inside a table cell you cannot just write the bullet list&lt;br&gt;&lt;pre&gt;* Item 1
* Item 2
* Item 3
&lt;/pre&gt;into a table cell (i.e. between the | ... | bars) because every bullet item must start in a new line but all cells of a table row must be in one line.&lt;br&gt;&lt;br&gt;Using the &lt;strong&gt;part&lt;/strong&gt; feature this problem can be solved. Just create a hidden part that contains the cells content and use a &lt;code&gt;&amp;lt;&amp;lt;tiddler &amp;gt;&amp;gt;&lt;/code&gt; macro to include its content in the table's cell.&lt;br&gt;&lt;br&gt;&lt;strong&gt;Example&lt;/strong&gt;&lt;br&gt;&lt;pre&gt;|!Subject|!Items|
|subject1|&amp;lt;&amp;lt;tiddler ./Cell1&amp;gt;&amp;gt;|
|subject2|&amp;lt;&amp;lt;tiddler ./Cell2&amp;gt;&amp;gt;|

&amp;lt;part Cell1 hidden&amp;gt;
* Item 1
* Item 2
* Item 3
&amp;lt;/part&amp;gt;
...
&lt;/pre&gt;&lt;br&gt;Notice that inside the &lt;code&gt;&amp;lt;&amp;lt;tiddler ...&amp;gt;&amp;gt;&lt;/code&gt; macro you may refer to the &quot;current tiddler&quot; using the &quot;.&quot;.&lt;br&gt;&lt;br&gt;BTW: The same approach can be used to create bullet lists with items that contain more than one line.&lt;br&gt;&lt;br&gt;&lt;span&gt;&lt;sub&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;window.scrollAnchorVisible('Top',null, event)&quot;&gt;[Top]&lt;/a&gt;&lt;/sub&gt;&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;h2&gt;Creating Tabs&lt;span&gt;&lt;a name=&quot;Tabs&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;The build-in &lt;code&gt;&amp;lt;&amp;lt;tabs ...&amp;gt;&amp;gt;&lt;/code&gt; macro requires that you defined an additional tiddler for every tab it displays. When you want to have &quot;nested&quot; tabs you need to define a tiddler for the &quot;main tab&quot; and one for every tab it contains. I.e. the definition of a set of tabs that is visually displayed at one place is distributed across multiple tiddlers.&lt;br&gt;&lt;br&gt;With the &lt;strong&gt;part&lt;/strong&gt; feature you can put the complete definition in one tiddler, making it easier to keep an overview and maintain the tab sets.&lt;br&gt;&lt;br&gt;&lt;strong&gt;Example&lt;/strong&gt;&lt;br&gt;The standard tabs at the sidebar are defined by the following eight tiddlers:&lt;br&gt;&lt;ul&gt;&lt;li&gt; &lt;a tiddlylink=&quot;SideBarTabs&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/#SideBarTabs&quot; href=&quot;http://www.reyesaguayo.com/osp/#SideBarTabs&quot; class=&quot;externalLink&quot;&gt;SideBarTabs&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a tiddlylink=&quot;TabAll&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/#TabAll&quot; href=&quot;http://www.reyesaguayo.com/osp/#TabAll&quot; class=&quot;externalLink&quot;&gt;TabAll&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a tiddlylink=&quot;TabMore&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/#TabMore&quot; href=&quot;http://www.reyesaguayo.com/osp/#TabMore&quot; class=&quot;externalLink&quot;&gt;TabMore&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a tiddlylink=&quot;TabMoreMissing&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/#TabMoreMissing&quot; href=&quot;http://www.reyesaguayo.com/osp/#TabMoreMissing&quot; class=&quot;externalLink&quot;&gt;TabMoreMissing&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a tiddlylink=&quot;TabMoreOrphans&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/#TabMoreOrphans&quot; href=&quot;http://www.reyesaguayo.com/osp/#TabMoreOrphans&quot; class=&quot;externalLink&quot;&gt;TabMoreOrphans&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a tiddlylink=&quot;TabMoreShadowed&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/#TabMoreShadowed&quot; href=&quot;http://www.reyesaguayo.com/osp/#TabMoreShadowed&quot; class=&quot;externalLink&quot;&gt;TabMoreShadowed&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a tiddlylink=&quot;TabTags&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/#TabTags&quot; href=&quot;http://www.reyesaguayo.com/osp/#TabTags&quot; class=&quot;externalLink&quot;&gt;TabTags&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a tiddlylink=&quot;TabTimeline&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/#TabTimeline&quot; href=&quot;http://www.reyesaguayo.com/osp/#TabTimeline&quot; class=&quot;externalLink&quot;&gt;TabTimeline&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;Instead of these eight tiddlers one could define the following &lt;a tiddlylink=&quot;SideBarTabs&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/#SideBarTabs&quot; href=&quot;http://www.reyesaguayo.com/osp/#SideBarTabs&quot; class=&quot;externalLink&quot;&gt;SideBarTabs&lt;/a&gt; tiddler that uses the &lt;strong&gt;part&lt;/strong&gt; feature:&lt;br&gt;&lt;pre&gt;&amp;lt;&amp;lt;tabs txtMainTab 
    Timeline Timeline SideBarTabs/Timeline 
    All 'All tiddlers' SideBarTabs/All 
    Tags 'All tags' SideBarTabs/Tags 
    More 'More lists' SideBarTabs/More&amp;gt;&amp;gt;
&amp;lt;part Timeline hidden&amp;gt;&amp;lt;&amp;lt;timeline&amp;gt;&amp;gt;&amp;lt;/part&amp;gt;
&amp;lt;part All hidden&amp;gt;&amp;lt;&amp;lt;list all&amp;gt;&amp;gt;&amp;lt;/part&amp;gt;
&amp;lt;part Tags hidden&amp;gt;&amp;lt;&amp;lt;allTags&amp;gt;&amp;gt;&amp;lt;/part&amp;gt;
&amp;lt;part More hidden&amp;gt;&amp;lt;&amp;lt;tabs txtMoreTab 
    Missing 'Missing tiddlers' SideBarTabs/Missing 
    Orphans 'Orphaned tiddlers' SideBarTabs/Orphans 
    Shadowed 'Shadowed tiddlers' SideBarTabs/Shadowed&amp;gt;&amp;gt;&amp;lt;/part&amp;gt;
&amp;lt;part Missing hidden&amp;gt;&amp;lt;&amp;lt;list missing&amp;gt;&amp;gt;&amp;lt;/part&amp;gt;
&amp;lt;part Orphans hidden&amp;gt;&amp;lt;&amp;lt;list orphans&amp;gt;&amp;gt;&amp;lt;/part&amp;gt;
&amp;lt;part Shadowed hidden&amp;gt;&amp;lt;&amp;lt;list shadowed&amp;gt;&amp;gt;&amp;lt;/part&amp;gt;
&lt;/pre&gt;&lt;br&gt;Notice that you can easily &quot;overwrite&quot; individual parts in separate tiddlers that have the full name of the part.&lt;br&gt;&lt;br&gt;E.g. if you don't like the classic timeline tab but only want to see the 100 most recent tiddlers you could create a tiddler &quot;SideBarTabs/Timeline&quot; with the following content:&lt;br&gt;&lt;pre&gt;&amp;lt;&amp;lt;forEachTiddler 
		sortBy 'tiddler.modified' descending 
		write '(index &amp;lt; 100) ? &quot;* [[&quot;+tiddler.title+&quot;]]\n&quot;:&quot;&quot;'&amp;gt;&amp;gt;
&lt;/pre&gt;&lt;span&gt;&lt;sub&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;window.scrollAnchorVisible('Top',null, event)&quot;&gt;[Top]&lt;/a&gt;&lt;/sub&gt;&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;h2&gt;Using Sliders&lt;span&gt;&lt;a name=&quot;Sliders&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;Very similar to the build-in &lt;code&gt;&amp;lt;&amp;lt;tabs ...&amp;gt;&amp;gt;&lt;/code&gt; macro (see above) the &lt;code&gt;&amp;lt;&amp;lt;slider ...&amp;gt;&amp;gt;&lt;/code&gt; macro requires that you defined an additional tiddler that holds the content &quot;to be slid&quot;. You can avoid creating this extra tiddler by using the &lt;strong&gt;part&lt;/strong&gt; feature&lt;br&gt;&lt;br&gt;&lt;strong&gt;Example&lt;/strong&gt;&lt;br&gt;In a tiddler &quot;About&quot; we may use the slider to show some details that are documented in the tiddler's &quot;Details&quot; part.&lt;br&gt;&lt;pre&gt;...
&amp;lt;&amp;lt;slider chkAboutDetails About/Details details &quot;Click here to see more details&quot;&amp;gt;&amp;gt;
&amp;lt;part Details hidden&amp;gt;
To give you a better overview ...
&amp;lt;/part&amp;gt;
...
&lt;/pre&gt;&lt;br&gt;Notice that putting the content of the slider into the slider's tiddler also has an extra benefit: When you decide you need to edit the content of the slider you can just doubleclick the content, the tiddler opens for editing and you can directly start editing the content (in the part section). In the &quot;old&quot; approach you would doubleclick the tiddler, see that the slider is using tiddler X, have to look for the tiddler X and can finally open it for editing. So using the &lt;strong&gt;part&lt;/strong&gt; approach results in a much short workflow.&lt;br&gt;&lt;br&gt;&lt;span&gt;&lt;sub&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;window.scrollAnchorVisible('Top',null, event)&quot;&gt;[Top]&lt;/a&gt;&lt;/sub&gt;&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;h1&gt;Revision history&lt;span&gt;&lt;a name=&quot;Revisions&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;/h1&gt;&lt;ul&gt;&lt;li&gt; v1.0.9 (2007-07-14)&lt;ul&gt;&lt;li&gt; Bugfix: Error when using the &lt;a tiddlylink=&quot;SideBarTabs&quot; refresh=&quot;link&quot; target=&quot;_blank&quot; title=&quot;External link to http://www.reyesaguayo.com/osp/#SideBarTabs&quot; href=&quot;http://www.reyesaguayo.com/osp/#SideBarTabs&quot; class=&quot;externalLink&quot;&gt;SideBarTabs&lt;/a&gt; example and switching between &quot;More&quot; and &quot;Shadow&quot;. Thanks to cmari for reporting the issue.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; v1.0.8 (2007-06-16)&lt;ul&gt;&lt;li&gt; Speeding up display of tiddlers containing multiple pard definitions. Thanks to Paco Rivière for reporting the issue.&lt;/li&gt;&lt;li&gt; Support &quot;./partName&quot; syntax inside &lt;div class=&quot;...&quot;&gt;&lt;div cookie=&quot;...&quot; class=&quot;tabset&quot;&gt;&lt;/div&gt;&lt;/div&gt; macro&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; v1.0.7 (2007-03-07)&lt;ul&gt;&lt;li&gt; Bugfix: &lt;span tiddler=&quot;./partName&quot; refresh=&quot;content&quot;&gt;&lt;/span&gt; does not always render correctly after a refresh (e.g. like it happens when using the &quot;Include&quot; plugin). Thanks to Morris Gray for reporting the bug.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; v1.0.6 (2006-11-07)&lt;ul&gt;&lt;li&gt; Bugfix: cannot edit tiddler when UploadPlugin by Bidix is installed. Thanks to José Luis González Castro for reporting the bug.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; v1.0.5 (2006-03-02)&lt;ul&gt;&lt;li&gt; Bugfix: Example with multi-line table cells does not work in IE6. Thanks to Paulo Soares for reporting the bug.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; v1.0.4 (2006-02-28)&lt;ul&gt;&lt;li&gt; Bugfix: Shadow tiddlers cannot be edited (in TW 2.0.6). Thanks to Torsten Vanek for reporting the bug.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; v1.0.3 (2006-02-26)&lt;ul&gt;&lt;li&gt; Adapt code to newly introduced Tiddler.prototype.isReadOnly() function (in TW 2.0.6). Thanks to Paulo Soares for reporting the problem.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; v1.0.2 (2006-02-05)&lt;ul&gt;&lt;li&gt; Also allow other macros than the &quot;tiddler&quot; macro use the &quot;.&quot; in the part reference (to refer to &quot;this&quot; tiddler)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; v1.0.1 (2006-01-27)&lt;ul&gt;&lt;li&gt; Added Table of Content for plugin documentation. Thanks to RichCarrillo for suggesting.&lt;/li&gt;&lt;li&gt; Bugfix: newReminder plugin does not work when PartTiddler is installed. Thanks to PauloSoares for reporting.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; v1.0.0 (2006-01-25)&lt;ul&gt;&lt;li&gt; initial version&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span&gt;&lt;sub&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;window.scrollAnchorVisible('Top',null, event)&quot;&gt;[Top]&lt;/a&gt;&lt;/sub&gt;&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;h1&gt;Code&lt;span&gt;&lt;a name=&quot;Code&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;/h1&gt;&lt;span&gt;&lt;sub&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;window.scrollAnchorVisible('Top',null, event)&quot;&gt;[Top]&lt;/a&gt;&lt;/sub&gt;&lt;/span&gt;&lt;br&gt;&lt;div class=&quot;dp-highlighter&quot;&gt;&lt;div class=&quot;bar&quot;&gt;&lt;div class=&quot;tools&quot;&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('ViewSource',this);return false;&quot;&gt;view plain&lt;/a&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('CopyToClipboard',this);return false;&quot;&gt;copy to clipboard&lt;/a&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('PrintSource',this);return false;&quot;&gt;print&lt;/a&gt;&lt;a href=&quot;#&quot; onclick=&quot;dp.sh.Toolbar.Command('About',this);return false;&quot;&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;ol class=&quot;dp-c&quot; start=&quot;1&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//============================================================================&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PartTiddlerPlugin&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;Ensure&amp;nbsp;that&amp;nbsp;the&amp;nbsp;PartTiddler&amp;nbsp;Plugin&amp;nbsp;is&amp;nbsp;only&amp;nbsp;installed&amp;nbsp;once.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt;&lt;span&gt;&amp;nbsp;(!version.extensions.PartTiddlerPlugin)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;version.extensions.PartTiddlerPlugin&amp;nbsp;=&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;major:&amp;nbsp;1,&amp;nbsp;minor:&amp;nbsp;0,&amp;nbsp;revision:&amp;nbsp;9,&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;date:&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;new&lt;/span&gt;&lt;span&gt;&amp;nbsp;Date(2007,&amp;nbsp;6,&amp;nbsp;14),&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;type:&amp;nbsp;&lt;span class=&quot;string&quot;&gt;'plugin'&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;source:&amp;nbsp;&lt;span class=&quot;string&quot;&gt;&quot;http://tiddlywiki.abego-software.de/#PartTiddlerPlugin&quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;};&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt;&lt;span&gt;&amp;nbsp;(!window.abego)&amp;nbsp;window.abego&amp;nbsp;=&amp;nbsp;{};&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt;&lt;span&gt;&amp;nbsp;(version.major&amp;nbsp;&amp;lt;&amp;nbsp;2)&amp;nbsp;alertAndThrow(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&quot;PartTiddlerPlugin&amp;nbsp;requires&amp;nbsp;TiddlyWiki&amp;nbsp;2.0&amp;nbsp;or&amp;nbsp;newer.&quot;&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//============================================================================&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;Common&amp;nbsp;Helpers&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;Looks&amp;nbsp;for&amp;nbsp;the&amp;nbsp;next&amp;nbsp;newline,&amp;nbsp;starting&amp;nbsp;at&amp;nbsp;the&amp;nbsp;index-th&amp;nbsp;char&amp;nbsp;of&amp;nbsp;text.&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;If&amp;nbsp;there&amp;nbsp;are&amp;nbsp;only&amp;nbsp;whitespaces&amp;nbsp;between&amp;nbsp;index&amp;nbsp;and&amp;nbsp;the&amp;nbsp;newline&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;the&amp;nbsp;index&amp;nbsp;behind&amp;nbsp;the&amp;nbsp;newline&amp;nbsp;is&amp;nbsp;returned,&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;otherwise&amp;nbsp;(or&amp;nbsp;when&amp;nbsp;no&amp;nbsp;newline&amp;nbsp;is&amp;nbsp;found)&amp;nbsp;index&amp;nbsp;is&amp;nbsp;returned.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;skipEmptyEndOfLine&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;function&lt;/span&gt;&lt;span&gt;(text,&amp;nbsp;index)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;re&amp;nbsp;=&amp;nbsp;/(\n|[^\s])/g;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;re.lastIndex&amp;nbsp;=&amp;nbsp;index;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;result&amp;nbsp;=&amp;nbsp;re.exec(text);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;return&lt;/span&gt;&lt;span&gt;&amp;nbsp;(result&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;text.charAt(result.index)&amp;nbsp;==&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;'\n'&lt;/span&gt;&lt;span&gt;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&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;result.index+1&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&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;index;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//============================================================================&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;Constants&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;partEndOrStartTagRE&amp;nbsp;=&amp;nbsp;/(&amp;lt;\/part&amp;gt;)|(&amp;lt;part(?:\s+)((?:[^&amp;gt;])+)&amp;gt;)/mg;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;partEndTagREString&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&quot;&amp;lt;\\/part&amp;gt;&quot;&lt;/span&gt;&lt;span&gt;;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;partEndTagString&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&quot;&amp;lt;/part&amp;gt;&quot;&lt;/span&gt;&lt;span&gt;;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//============================================================================&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;Plugin&amp;nbsp;Specific&amp;nbsp;Helpers&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;Parse&amp;nbsp;the&amp;nbsp;parameters&amp;nbsp;inside&amp;nbsp;a&amp;nbsp;&amp;lt;part&amp;nbsp;...&amp;gt;&amp;nbsp;tag&amp;nbsp;and&amp;nbsp;return&amp;nbsp;the&amp;nbsp;result.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;@return&amp;nbsp;[may&amp;nbsp;be&amp;nbsp;null]&amp;nbsp;{partName:&amp;nbsp;...,&amp;nbsp;isHidden:&amp;nbsp;...}&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;parseStartTagParams&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;function&lt;/span&gt;&lt;span&gt;(paramText)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;params&amp;nbsp;=&amp;nbsp;paramText.readMacroParams();&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt;&lt;span&gt;&amp;nbsp;(params.length&amp;nbsp;==&amp;nbsp;0&amp;nbsp;||&amp;nbsp;params[0].length&amp;nbsp;==&amp;nbsp;0)&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;return&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;null&lt;/span&gt;&lt;span&gt;;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;name&amp;nbsp;=&amp;nbsp;params[0];&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;paramsIndex&amp;nbsp;=&amp;nbsp;1;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;hidden&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;false&lt;/span&gt;&lt;span&gt;;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt;&lt;span&gt;&amp;nbsp;(paramsIndex&amp;nbsp;&amp;lt;&amp;nbsp;params.length)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hidden&amp;nbsp;=&amp;nbsp;params[paramsIndex]&amp;nbsp;==&amp;nbsp;&lt;span class=&quot;string&quot;&gt;&quot;hidden&quot;&lt;/span&gt;&lt;span&gt;;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;paramsIndex++;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;return&lt;/span&gt;&lt;span&gt;&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;partName:&amp;nbsp;name,&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;isHidden:&amp;nbsp;hidden&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;Returns&amp;nbsp;the&amp;nbsp;match&amp;nbsp;to&amp;nbsp;the&amp;nbsp;next&amp;nbsp;(end&amp;nbsp;or&amp;nbsp;start)&amp;nbsp;part&amp;nbsp;tag&amp;nbsp;in&amp;nbsp;the&amp;nbsp;text,&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;starting&amp;nbsp;the&amp;nbsp;search&amp;nbsp;at&amp;nbsp;startIndex.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;When&amp;nbsp;no&amp;nbsp;such&amp;nbsp;tag&amp;nbsp;is&amp;nbsp;found&amp;nbsp;null&amp;nbsp;is&amp;nbsp;returned,&amp;nbsp;otherwise&amp;nbsp;a&amp;nbsp;&quot;Match&quot;&amp;nbsp;is&amp;nbsp;returned:&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;[0]:&amp;nbsp;full&amp;nbsp;match&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;[1]:&amp;nbsp;matched&amp;nbsp;&quot;end&quot;&amp;nbsp;tag&amp;nbsp;(or&amp;nbsp;null&amp;nbsp;when&amp;nbsp;no&amp;nbsp;end&amp;nbsp;tag&amp;nbsp;match)&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;[2]:&amp;nbsp;matched&amp;nbsp;&quot;start&quot;&amp;nbsp;tag&amp;nbsp;(or&amp;nbsp;null&amp;nbsp;when&amp;nbsp;no&amp;nbsp;start&amp;nbsp;tag&amp;nbsp;match)&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;[3]:&amp;nbsp;content&amp;nbsp;of&amp;nbsp;start&amp;nbsp;tag&amp;nbsp;(or&amp;nbsp;null&amp;nbsp;if&amp;nbsp;no&amp;nbsp;start&amp;nbsp;tag&amp;nbsp;match)&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;findNextPartEndOrStartTagMatch&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;function&lt;/span&gt;&lt;span&gt;(text,&amp;nbsp;startIndex)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;re&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;new&lt;/span&gt;&lt;span&gt;&amp;nbsp;RegExp(partEndOrStartTagRE);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;re.lastIndex&amp;nbsp;=&amp;nbsp;startIndex;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;match&amp;nbsp;=&amp;nbsp;re.exec(text);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;return&lt;/span&gt;&lt;span&gt;&amp;nbsp;match;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//============================================================================&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;Formatter&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;Process&amp;nbsp;the&amp;nbsp;&amp;lt;part&amp;nbsp;...&amp;gt;&amp;nbsp;...&amp;nbsp;&amp;lt;/part&amp;gt;&amp;nbsp;starting&amp;nbsp;at&amp;nbsp;(w.source,&amp;nbsp;w.matchStart)&amp;nbsp;for&amp;nbsp;formatting.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;@return&amp;nbsp;true&amp;nbsp;if&amp;nbsp;a&amp;nbsp;complete&amp;nbsp;part&amp;nbsp;section&amp;nbsp;(including&amp;nbsp;the&amp;nbsp;end&amp;nbsp;tag)&amp;nbsp;could&amp;nbsp;be&amp;nbsp;processed,&amp;nbsp;false&amp;nbsp;otherwise.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;handlePartSection&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;function&lt;/span&gt;&lt;span&gt;(w)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;tagMatch&amp;nbsp;=&amp;nbsp;findNextPartEndOrStartTagMatch(w.source,&amp;nbsp;w.matchStart);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt;&lt;span&gt;&amp;nbsp;(!tagMatch)&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;return&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;false&lt;/span&gt;&lt;span&gt;;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt;&lt;span&gt;&amp;nbsp;(tagMatch.index&amp;nbsp;!=&amp;nbsp;w.matchStart&amp;nbsp;||&amp;nbsp;!tagMatch[2])&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;return&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;false&lt;/span&gt;&lt;span&gt;;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;Parse&amp;nbsp;the&amp;nbsp;start&amp;nbsp;tag&amp;nbsp;parameters&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;arguments&amp;nbsp;=&amp;nbsp;parseStartTagParams(tagMatch[3]);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt;&lt;span&gt;&amp;nbsp;(!arguments)&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;return&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;false&lt;/span&gt;&lt;span&gt;;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;Continue&amp;nbsp;processing&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;startTagEndIndex&amp;nbsp;=&amp;nbsp;skipEmptyEndOfLine(w.source,&amp;nbsp;tagMatch.index&amp;nbsp;+&amp;nbsp;tagMatch[0].length);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;endMatch&amp;nbsp;=&amp;nbsp;findNextPartEndOrStartTagMatch(w.source,&amp;nbsp;startTagEndIndex);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt;&lt;span&gt;&amp;nbsp;(endMatch&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;endMatch[1])&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt;&lt;span&gt;&amp;nbsp;(!arguments.isHidden)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&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;w.nextMatch&amp;nbsp;=&amp;nbsp;startTagEndIndex;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&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;w.subWikify(w.output,partEndTagREString);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;w.nextMatch&amp;nbsp;=&amp;nbsp;skipEmptyEndOfLine(w.source,&amp;nbsp;endMatch.index&amp;nbsp;+&amp;nbsp;endMatch[0].length);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;return&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;true&lt;/span&gt;&lt;span&gt;;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;return&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;false&lt;/span&gt;&lt;span&gt;;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;config.formatters.push(&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;name:&amp;nbsp;&lt;span class=&quot;string&quot;&gt;&quot;part&quot;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;match:&amp;nbsp;&lt;span class=&quot;string&quot;&gt;&quot;&amp;lt;part\\s+[^&amp;gt;]+&amp;gt;&quot;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;handler:&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;function&lt;/span&gt;&lt;span&gt;(w)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt;&lt;span&gt;&amp;nbsp;(!handlePartSection(w))&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&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;w.outputText(w.output,w.matchStart,w.matchStart+w.matchLength);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;}&amp;nbsp;)&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//============================================================================&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;Extend&amp;nbsp;&quot;fetchTiddler&quot;&amp;nbsp;functionality&amp;nbsp;to&amp;nbsp;also&amp;nbsp;recognize&amp;nbsp;&quot;part&quot;s&amp;nbsp;of&amp;nbsp;tiddlers&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;as&amp;nbsp;tiddlers.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;currentParent&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;null&lt;/span&gt;&lt;span&gt;;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;used&amp;nbsp;for&amp;nbsp;the&amp;nbsp;&quot;.&quot;&amp;nbsp;parent&amp;nbsp;(e.g.&amp;nbsp;in&amp;nbsp;the&amp;nbsp;&quot;tiddler&quot;&amp;nbsp;macro)&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;Return&amp;nbsp;the&amp;nbsp;match&amp;nbsp;to&amp;nbsp;the&amp;nbsp;first&amp;nbsp;&amp;lt;part&amp;nbsp;...&amp;gt;&amp;nbsp;tag&amp;nbsp;of&amp;nbsp;the&amp;nbsp;text&amp;nbsp;that&amp;nbsp;has&amp;nbsp;the&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;requrest&amp;nbsp;partName.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;@return&amp;nbsp;[may&amp;nbsp;be&amp;nbsp;null]&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;findPartStartTagByName&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;function&lt;/span&gt;&lt;span&gt;(text,&amp;nbsp;partName)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;0;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;while&lt;/span&gt;&lt;span&gt;&amp;nbsp;(&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;true&lt;/span&gt;&lt;span&gt;)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;tagMatch&amp;nbsp;=&amp;nbsp;findNextPartEndOrStartTagMatch(text,&amp;nbsp;i);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt;&lt;span&gt;&amp;nbsp;(!tagMatch)&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;return&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;null&lt;/span&gt;&lt;span&gt;;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt;&lt;span&gt;&amp;nbsp;(tagMatch[2])&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&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;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;Is&amp;nbsp;start&amp;nbsp;tag&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&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;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;Check&amp;nbsp;the&amp;nbsp;name&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&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;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;arguments&amp;nbsp;=&amp;nbsp;parseStartTagParams(tagMatch[3]);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&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;&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt;&lt;span&gt;&amp;nbsp;(arguments&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;arguments.partName&amp;nbsp;==&amp;nbsp;partName)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&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;&lt;span class=&quot;keyword&quot;&gt;return&lt;/span&gt;&lt;span&gt;&amp;nbsp;tagMatch;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&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;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;tagMatch.index+tagMatch[0].length;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;Return&amp;nbsp;the&amp;nbsp;part&amp;nbsp;&quot;partName&quot;&amp;nbsp;of&amp;nbsp;the&amp;nbsp;given&amp;nbsp;parentTiddler&amp;nbsp;as&amp;nbsp;a&amp;nbsp;&quot;readOnly&quot;&amp;nbsp;Tiddler&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;object,&amp;nbsp;using&amp;nbsp;fullName&amp;nbsp;as&amp;nbsp;the&amp;nbsp;Tiddler's&amp;nbsp;title.&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;All&amp;nbsp;remaining&amp;nbsp;properties&amp;nbsp;of&amp;nbsp;the&amp;nbsp;new&amp;nbsp;Tiddler&amp;nbsp;(tags&amp;nbsp;etc.)&amp;nbsp;are&amp;nbsp;inherited&amp;nbsp;from&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;the&amp;nbsp;parentTiddler.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;@return&amp;nbsp;[may&amp;nbsp;be&amp;nbsp;null]&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;getPart&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;function&lt;/span&gt;&lt;span&gt;(parentTiddler,&amp;nbsp;partName,&amp;nbsp;fullName)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;text&amp;nbsp;=&amp;nbsp;parentTiddler.text;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;startTag&amp;nbsp;=&amp;nbsp;findPartStartTagByName(text,&amp;nbsp;partName);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt;&lt;span&gt;&amp;nbsp;(!startTag)&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;return&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;null&lt;/span&gt;&lt;span&gt;;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;endIndexOfStartTag&amp;nbsp;=&amp;nbsp;skipEmptyEndOfLine(text,&amp;nbsp;startTag.index+startTag[0].length);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;indexOfEndTag&amp;nbsp;=&amp;nbsp;text.indexOf(partEndTagString,&amp;nbsp;endIndexOfStartTag);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt;&lt;span&gt;&amp;nbsp;(indexOfEndTag&amp;nbsp;&amp;gt;=&amp;nbsp;0)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;partTiddlerText&amp;nbsp;=&amp;nbsp;text.substring(endIndexOfStartTag,indexOfEndTag);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;partTiddler&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;new&lt;/span&gt;&lt;span&gt;&amp;nbsp;Tiddler();&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;partTiddler.set(&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;fullName,&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;partTiddlerText,&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;parentTiddler.modifier,&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;parentTiddler.modified,&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;parentTiddler.tags,&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;parentTiddler.created);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;partTiddler.abegoIsPartTiddler&amp;nbsp;=&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;true&lt;/span&gt;&lt;span&gt;;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;return&lt;/span&gt;&lt;span&gt;&amp;nbsp;partTiddler;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;return&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;null&lt;/span&gt;&lt;span&gt;;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;Hijack&amp;nbsp;the&amp;nbsp;store.fetchTiddler&amp;nbsp;to&amp;nbsp;recognize&amp;nbsp;the&amp;nbsp;&quot;part&quot;&amp;nbsp;addresses.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;hijackFetchTiddler&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;function&lt;/span&gt;&lt;span&gt;()&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;oldFetchTiddler&amp;nbsp;=&amp;nbsp;store.fetchTiddler&amp;nbsp;;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;store.fetchTiddler&amp;nbsp;=&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;function&lt;/span&gt;&lt;span&gt;(title)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;result&amp;nbsp;=&amp;nbsp;oldFetchTiddler.apply(&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;this&lt;/span&gt;&lt;span&gt;,&amp;nbsp;arguments);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt;&lt;span&gt;&amp;nbsp;(!result&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;title)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&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;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;title.lastIndexOf(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;'/'&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&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;&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt;&lt;span&gt;&amp;nbsp;(i&amp;nbsp;&amp;gt;&amp;nbsp;0)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&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;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;parentName&amp;nbsp;=&amp;nbsp;title.substring(0,&amp;nbsp;i);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&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;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;partName&amp;nbsp;=&amp;nbsp;title.substring(i+1);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&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;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;parent&amp;nbsp;=&amp;nbsp;(parentName&amp;nbsp;==&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&quot;.&quot;&lt;/span&gt;&lt;span&gt;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;?&amp;nbsp;store.resolveTiddler(currentParent)&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;:&amp;nbsp;oldFetchTiddler.apply(&lt;span class=&quot;keyword&quot;&gt;this&lt;/span&gt;&lt;span&gt;,&amp;nbsp;[parentName]);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&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;&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt;&lt;span&gt;&amp;nbsp;(parent)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&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;&lt;span class=&quot;keyword&quot;&gt;return&lt;/span&gt;&lt;span&gt;&amp;nbsp;getPart(parent,&amp;nbsp;partName,&amp;nbsp;parent.title+&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&quot;/&quot;&lt;/span&gt;&lt;span&gt;+partName);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&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;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&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;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;return&lt;/span&gt;&lt;span&gt;&amp;nbsp;result;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;};&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;for&amp;nbsp;debugging&amp;nbsp;the&amp;nbsp;plugin&amp;nbsp;is&amp;nbsp;not&amp;nbsp;loaded&amp;nbsp;through&amp;nbsp;the&amp;nbsp;systemConfig&amp;nbsp;mechanism&amp;nbsp;but&amp;nbsp;via&amp;nbsp;a&amp;nbsp;script&amp;nbsp;tag.&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;At&amp;nbsp;that&amp;nbsp;point&amp;nbsp;in&amp;nbsp;the&amp;nbsp;&quot;store&quot;&amp;nbsp;is&amp;nbsp;not&amp;nbsp;yet&amp;nbsp;defined.&amp;nbsp;In&amp;nbsp;that&amp;nbsp;case&amp;nbsp;hijackFetchTiddler&amp;nbsp;through&amp;nbsp;the&amp;nbsp;restart&amp;nbsp;function.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;Otherwise&amp;nbsp;hijack&amp;nbsp;now.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt;&lt;span&gt;&amp;nbsp;(!store)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;oldRestartFunc&amp;nbsp;=&amp;nbsp;restart;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;window.restart&amp;nbsp;=&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;function&lt;/span&gt;&lt;span&gt;()&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hijackFetchTiddler();&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;oldRestartFunc.apply(&lt;span class=&quot;keyword&quot;&gt;this&lt;/span&gt;&lt;span&gt;,arguments);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;}&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;else&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hijackFetchTiddler();&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;The&amp;nbsp;user&amp;nbsp;must&amp;nbsp;not&amp;nbsp;edit&amp;nbsp;a&amp;nbsp;readOnly/partTiddler&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;config.commands.editTiddler.oldIsReadOnlyFunction&amp;nbsp;=&amp;nbsp;Tiddler.prototype.isReadOnly;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;Tiddler.prototype.isReadOnly&amp;nbsp;=&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;function&lt;/span&gt;&lt;span&gt;()&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;Tiddler.isReadOnly&amp;nbsp;was&amp;nbsp;introduced&amp;nbsp;with&amp;nbsp;TW&amp;nbsp;2.0.6.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;For&amp;nbsp;older&amp;nbsp;version&amp;nbsp;we&amp;nbsp;explicitly&amp;nbsp;check&amp;nbsp;the&amp;nbsp;global&amp;nbsp;readOnly&amp;nbsp;flag&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt;&lt;span&gt;&amp;nbsp;(config.commands.editTiddler.oldIsReadOnlyFunction)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt;&lt;span&gt;&amp;nbsp;(config.commands.editTiddler.oldIsReadOnlyFunction.apply(&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;this&lt;/span&gt;&lt;span&gt;,&amp;nbsp;arguments))&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;return&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;true&lt;/span&gt;&lt;span&gt;;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;else&lt;/span&gt;&lt;span&gt;&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt;&lt;span&gt;&amp;nbsp;(readOnly)&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;return&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;true&lt;/span&gt;&lt;span&gt;;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;return&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;this&lt;/span&gt;&lt;span&gt;.abegoIsPartTiddler;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;config.commands.editTiddler.handler&amp;nbsp;=&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;function&lt;/span&gt;&lt;span&gt;(event,src,title)&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;t&amp;nbsp;=&amp;nbsp;store.getTiddler(title);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;Edit&amp;nbsp;the&amp;nbsp;tiddler&amp;nbsp;if&amp;nbsp;it&amp;nbsp;either&amp;nbsp;is&amp;nbsp;not&amp;nbsp;a&amp;nbsp;tiddler&amp;nbsp;(but&amp;nbsp;a&amp;nbsp;shadowTiddler)&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;or&amp;nbsp;the&amp;nbsp;tiddler&amp;nbsp;is&amp;nbsp;not&amp;nbsp;readOnly&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt;&lt;span&gt;(!t&amp;nbsp;||&amp;nbsp;!t.abegoIsPartTiddler)&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;clearMessage();&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;story.displayTiddler(&lt;span class=&quot;keyword&quot;&gt;null&lt;/span&gt;&lt;span&gt;,title,DEFAULT_EDIT_TEMPLATE);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;story.focusTiddler(title,&lt;span class=&quot;string&quot;&gt;&quot;text&quot;&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;return&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;false&lt;/span&gt;&lt;span&gt;;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;To&amp;nbsp;allow&amp;nbsp;the&amp;nbsp;&quot;./partName&quot;&amp;nbsp;syntax&amp;nbsp;in&amp;nbsp;macros&amp;nbsp;we&amp;nbsp;need&amp;nbsp;to&amp;nbsp;hijack&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;the&amp;nbsp;invokeMacro&amp;nbsp;to&amp;nbsp;define&amp;nbsp;the&amp;nbsp;&quot;currentParent&quot;&amp;nbsp;while&amp;nbsp;it&amp;nbsp;is&amp;nbsp;running.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;oldInvokeMacro&amp;nbsp;=&amp;nbsp;window.invokeMacro;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;function&lt;/span&gt;&lt;span&gt;&amp;nbsp;myInvokeMacro(place,macro,params,wikifier,tiddler)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;oldCurrentParent&amp;nbsp;=&amp;nbsp;currentParent;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt;&lt;span&gt;&amp;nbsp;(tiddler)&amp;nbsp;currentParent&amp;nbsp;=&amp;nbsp;tiddler;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;try&lt;/span&gt;&lt;span&gt;&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;oldInvokeMacro.apply(&lt;span class=&quot;keyword&quot;&gt;this&lt;/span&gt;&lt;span&gt;,&amp;nbsp;arguments);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;finally&lt;/span&gt;&lt;span&gt;&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;currentParent&amp;nbsp;=&amp;nbsp;oldCurrentParent;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;window.invokeMacro&amp;nbsp;=&amp;nbsp;myInvokeMacro;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;To&amp;nbsp;correctly&amp;nbsp;support&amp;nbsp;the&amp;nbsp;&quot;./partName&quot;&amp;nbsp;syntax&amp;nbsp;while&amp;nbsp;refreshing&amp;nbsp;we&amp;nbsp;need&amp;nbsp;to&amp;nbsp;hijack&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;the&amp;nbsp;config.refreshers.tiddlers&amp;nbsp;to&amp;nbsp;define&amp;nbsp;the&amp;nbsp;&quot;currentParent&quot;&amp;nbsp;while&amp;nbsp;it&amp;nbsp;is&amp;nbsp;running.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;(&lt;span class=&quot;keyword&quot;&gt;function&lt;/span&gt;&lt;span&gt;()&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;oldTiddlerRefresher=&amp;nbsp;config.refreshers.tiddler;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;config.refreshers.tiddler&amp;nbsp;=&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;function&lt;/span&gt;&lt;span&gt;(e,changeList)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;oldCurrentParent&amp;nbsp;=&amp;nbsp;currentParent;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;try&lt;/span&gt;&lt;span&gt;&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&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;currentParent&amp;nbsp;=&amp;nbsp;e.getAttribute(&lt;span class=&quot;string&quot;&gt;&quot;tiddler&quot;&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&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;&lt;span class=&quot;keyword&quot;&gt;return&lt;/span&gt;&lt;span&gt;&amp;nbsp;oldTiddlerRefresher.apply(&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;this&lt;/span&gt;&lt;span&gt;,arguments);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;finally&lt;/span&gt;&lt;span&gt;&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&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;currentParent&amp;nbsp;=&amp;nbsp;oldCurrentParent;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;})();&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;Support&amp;nbsp;&quot;./partName&quot;&amp;nbsp;syntax&amp;nbsp;inside&amp;nbsp;&amp;lt;&amp;lt;tabs&amp;nbsp;...&amp;gt;&amp;gt;&amp;nbsp;macro&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;(&lt;span class=&quot;keyword&quot;&gt;function&lt;/span&gt;&lt;span&gt;()&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;extendRelativeNames&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;function&lt;/span&gt;&lt;span&gt;(e,&amp;nbsp;title)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;nodes&amp;nbsp;=&amp;nbsp;e.getElementsByTagName(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&quot;a&quot;&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;for&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;i=0;&amp;nbsp;i&amp;lt;nodes.length;&amp;nbsp;i++)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&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;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;node&amp;nbsp;=&amp;nbsp;nodes[i];&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&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;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;s&amp;nbsp;=&amp;nbsp;node.getAttribute(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&quot;content&quot;&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&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;&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt;&lt;span&gt;&amp;nbsp;(s&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;s.indexOf(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&quot;./&quot;&lt;/span&gt;&lt;span&gt;)&amp;nbsp;==&amp;nbsp;0)&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&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;node.setAttribute(&lt;span class=&quot;string&quot;&gt;&quot;content&quot;&lt;/span&gt;&lt;span&gt;,title+s.substr(1));&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;oldHandler&amp;nbsp;=&amp;nbsp;config.macros.tabs.handler;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;config.macros.tabs.handler&amp;nbsp;=&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;function&lt;/span&gt;&lt;span&gt;(place,macroName,params,wikifier,paramString,tiddler)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;result&amp;nbsp;=&amp;nbsp;oldHandler.apply(&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;this&lt;/span&gt;&lt;span&gt;,arguments);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt;&lt;span&gt;&amp;nbsp;(tiddler)&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&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;extendRelativeNames(place,&amp;nbsp;tiddler.title);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;return&lt;/span&gt;&lt;span&gt;&amp;nbsp;result;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;})();&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;Scroll&amp;nbsp;the&amp;nbsp;anchor&amp;nbsp;anchorName&amp;nbsp;in&amp;nbsp;the&amp;nbsp;viewer&amp;nbsp;of&amp;nbsp;the&amp;nbsp;given&amp;nbsp;tiddler&amp;nbsp;visible.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;When&amp;nbsp;no&amp;nbsp;tiddler&amp;nbsp;is&amp;nbsp;defined&amp;nbsp;use&amp;nbsp;the&amp;nbsp;tiddler&amp;nbsp;of&amp;nbsp;the&amp;nbsp;target&amp;nbsp;given&amp;nbsp;event&amp;nbsp;is&amp;nbsp;used.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;window.scrollAnchorVisible&amp;nbsp;=&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;function&lt;/span&gt;&lt;span&gt;(anchorName,&amp;nbsp;tiddler,&amp;nbsp;evt)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;tiddlerElem&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;null&lt;/span&gt;&lt;span&gt;;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt;&lt;span&gt;&amp;nbsp;(tiddler)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tiddlerElem&amp;nbsp;=&amp;nbsp;document.getElementById(story.idPrefix&amp;nbsp;+&amp;nbsp;tiddler);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt;&lt;span&gt;&amp;nbsp;(!tiddlerElem&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;evt)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;target&amp;nbsp;=&amp;nbsp;resolveTarget(evt);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tiddlerElem&amp;nbsp;=&amp;nbsp;story.findContainingTiddler(target);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt;&lt;span&gt;&amp;nbsp;(!tiddlerElem)&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;return&lt;/span&gt;&lt;span&gt;;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;children&amp;nbsp;=&amp;nbsp;tiddlerElem.getElementsByTagName(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&quot;a&quot;&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;for&lt;/span&gt;&lt;span&gt;&amp;nbsp;(&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;0;&amp;nbsp;i&amp;nbsp;&amp;lt;&amp;nbsp;children.length;&amp;nbsp;i++)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;child&amp;nbsp;=&amp;nbsp;children[i];&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;name&amp;nbsp;=&amp;nbsp;child.getAttribute(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&quot;name&quot;&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt;&lt;span&gt;&amp;nbsp;(name&amp;nbsp;==&amp;nbsp;anchorName)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&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;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;y&amp;nbsp;=&amp;nbsp;findPosY(child);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&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;window.scrollTo(0,y);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&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;&lt;span class=&quot;keyword&quot;&gt;return&lt;/span&gt;&lt;span&gt;;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;&quot;&gt;&lt;span&gt;}&amp;nbsp;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;of&amp;nbsp;&quot;install&amp;nbsp;only&amp;nbsp;once&quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;pre style=&quot;display: none;&quot;&gt;//============================================================================
//                           PartTiddlerPlugin

// Ensure that the PartTiddler Plugin is only installed once.
//
if (!version.extensions.PartTiddlerPlugin) {



version.extensions.PartTiddlerPlugin = {
    major: 1, minor: 0, revision: 9,
    date: new Date(2007, 6, 14), 
    type: 'plugin',
    source: &quot;http://tiddlywiki.abego-software.de/#PartTiddlerPlugin&quot;
};

if (!window.abego) window.abego = {};
if (version.major &amp;lt; 2) alertAndThrow(&quot;PartTiddlerPlugin requires TiddlyWiki 2.0 or newer.&quot;);

//============================================================================
// Common Helpers

// Looks for the next newline, starting at the index-th char of text. 
//
// If there are only whitespaces between index and the newline 
// the index behind the newline is returned, 
// otherwise (or when no newline is found) index is returned.
//
var skipEmptyEndOfLine = function(text, index) {
	var re = /(\n|[^\s])/g;
	re.lastIndex = index;
	var result = re.exec(text);
	return (result &amp;amp;&amp;amp; text.charAt(result.index) == '\n') 
			? result.index+1
			: index;
}


//============================================================================
// Constants

var partEndOrStartTagRE = /(&amp;lt;\/part&amp;gt;)|(&amp;lt;part(?:\s+)((?:[^&amp;gt;])+)&amp;gt;)/mg;
var partEndTagREString = &quot;&amp;lt;\\/part&amp;gt;&quot;;
var partEndTagString = &quot;&amp;lt;/part&amp;gt;&quot;;

//============================================================================
// Plugin Specific Helpers

// Parse the parameters inside a &amp;lt;part ...&amp;gt; tag and return the result.
//
// @return [may be null] {partName: ..., isHidden: ...}
//
var parseStartTagParams = function(paramText) {
	var params = paramText.readMacroParams();
	if (params.length == 0 || params[0].length == 0) return null;
	
	var name = params[0];
	var paramsIndex = 1;
	var hidden = false;
	if (paramsIndex &amp;lt; params.length) {
		hidden = params[paramsIndex] == &quot;hidden&quot;;
		paramsIndex++;
	}
	
	return {
		partName: name, 
		isHidden: hidden
	};
}

// Returns the match to the next (end or start) part tag in the text, 
// starting the search at startIndex.
// 
// When no such tag is found null is returned, otherwise a &quot;Match&quot; is returned:
// [0]: full match
// [1]: matched &quot;end&quot; tag (or null when no end tag match)
// [2]: matched &quot;start&quot; tag (or null when no start tag match)
// [3]: content of start tag (or null if no start tag match)
//
var findNextPartEndOrStartTagMatch = function(text, startIndex) {
	var re = new RegExp(partEndOrStartTagRE);
	re.lastIndex = startIndex;
	var match = re.exec(text);
	return match;
}

//============================================================================
// Formatter

// Process the &amp;lt;part ...&amp;gt; ... &amp;lt;/part&amp;gt; starting at (w.source, w.matchStart) for formatting.
//
// @return true if a complete part section (including the end tag) could be processed, false otherwise.
//
var handlePartSection = function(w) {
	var tagMatch = findNextPartEndOrStartTagMatch(w.source, w.matchStart);
	if (!tagMatch) return false;
	if (tagMatch.index != w.matchStart || !tagMatch[2]) return false;

	// Parse the start tag parameters
	var arguments = parseStartTagParams(tagMatch[3]);
	if (!arguments) return false;
	
	// Continue processing
	var startTagEndIndex = skipEmptyEndOfLine(w.source, tagMatch.index + tagMatch[0].length);
	var endMatch = findNextPartEndOrStartTagMatch(w.source, startTagEndIndex);
	if (endMatch &amp;amp;&amp;amp; endMatch[1]) {
		if (!arguments.isHidden) {
			w.nextMatch = startTagEndIndex;
			w.subWikify(w.output,partEndTagREString);
		}
		w.nextMatch = skipEmptyEndOfLine(w.source, endMatch.index + endMatch[0].length);
		
		return true;
	}
	return false;
}

config.formatters.push( {
    name: &quot;part&quot;,
    match: &quot;&amp;lt;part\\s+[^&amp;gt;]+&amp;gt;&quot;,
	
	handler: function(w) {
		if (!handlePartSection(w)) {
			w.outputText(w.output,w.matchStart,w.matchStart+w.matchLength);
		}
	}
} )

//============================================================================
// Extend &quot;fetchTiddler&quot; functionality to also recognize &quot;part&quot;s of tiddlers 
// as tiddlers.

var currentParent = null; // used for the &quot;.&quot; parent (e.g. in the &quot;tiddler&quot; macro)

// Return the match to the first &amp;lt;part ...&amp;gt; tag of the text that has the
// requrest partName.
//
// @return [may be null]
//
var findPartStartTagByName = function(text, partName) {
	var i = 0;
	
	while (true) {
		var tagMatch = findNextPartEndOrStartTagMatch(text, i);
		if (!tagMatch) return null;

		if (tagMatch[2]) {
			// Is start tag
	
			// Check the name
			var arguments = parseStartTagParams(tagMatch[3]);
			if (arguments &amp;amp;&amp;amp; arguments.partName == partName) {
				return tagMatch;
			}
		}
		i = tagMatch.index+tagMatch[0].length;
	}
}

// Return the part &quot;partName&quot; of the given parentTiddler as a &quot;readOnly&quot; Tiddler 
// object, using fullName as the Tiddler's title. 
//
// All remaining properties of the new Tiddler (tags etc.) are inherited from 
// the parentTiddler.
// 
// @return [may be null]
//
var getPart = function(parentTiddler, partName, fullName) {
	var text = parentTiddler.text;
	var startTag = findPartStartTagByName(text, partName);
	if (!startTag) return null;
	
	var endIndexOfStartTag = skipEmptyEndOfLine(text, startTag.index+startTag[0].length);
	var indexOfEndTag = text.indexOf(partEndTagString, endIndexOfStartTag);

	if (indexOfEndTag &amp;gt;= 0) {
		var partTiddlerText = text.substring(endIndexOfStartTag,indexOfEndTag);
		var partTiddler = new Tiddler();
		partTiddler.set(
						fullName,
						partTiddlerText,
						parentTiddler.modifier,
						parentTiddler.modified,
						parentTiddler.tags,
						parentTiddler.created);
		partTiddler.abegoIsPartTiddler = true;
		return partTiddler;
	}
	
	return null;
}

// Hijack the store.fetchTiddler to recognize the &quot;part&quot; addresses.
//
var hijackFetchTiddler = function() {
	var oldFetchTiddler = store.fetchTiddler ;
	store.fetchTiddler = function(title) {
		var result = oldFetchTiddler.apply(this, arguments);
		if (!result &amp;amp;&amp;amp; title) {
			var i = title.lastIndexOf('/');
			if (i &amp;gt; 0) {
				var parentName = title.substring(0, i);
				var partName = title.substring(i+1);
				var parent = (parentName == &quot;.&quot;) 
						? store.resolveTiddler(currentParent)
						: oldFetchTiddler.apply(this, [parentName]);
				if (parent) {
					return getPart(parent, partName, parent.title+&quot;/&quot;+partName);
				}
			}
		}
		return result;	
	};
};

// for debugging the plugin is not loaded through the systemConfig mechanism but via a script tag. 
// At that point in the &quot;store&quot; is not yet defined. In that case hijackFetchTiddler through the restart function.
// Otherwise hijack now.
if (!store) {
	var oldRestartFunc = restart;
	window.restart = function() {
		hijackFetchTiddler();
		oldRestartFunc.apply(this,arguments);
	};
} else
	hijackFetchTiddler();




// The user must not edit a readOnly/partTiddler
//

config.commands.editTiddler.oldIsReadOnlyFunction = Tiddler.prototype.isReadOnly;

Tiddler.prototype.isReadOnly = function() {
	// Tiddler.isReadOnly was introduced with TW 2.0.6.
	// For older version we explicitly check the global readOnly flag
	if (config.commands.editTiddler.oldIsReadOnlyFunction) {
		if (config.commands.editTiddler.oldIsReadOnlyFunction.apply(this, arguments)) return true;
	} else {
		if (readOnly) return true;
	}

	return this.abegoIsPartTiddler;
}

config.commands.editTiddler.handler = function(event,src,title)
{
	var t = store.getTiddler(title);
	// Edit the tiddler if it either is not a tiddler (but a shadowTiddler)
	// or the tiddler is not readOnly
	if(!t || !t.abegoIsPartTiddler)
		{
		clearMessage();
		story.displayTiddler(null,title,DEFAULT_EDIT_TEMPLATE);
		story.focusTiddler(title,&quot;text&quot;);
		return false;
		}
}

// To allow the &quot;./partName&quot; syntax in macros we need to hijack 
// the invokeMacro to define the &quot;currentParent&quot; while it is running.
// 
var oldInvokeMacro = window.invokeMacro;
function myInvokeMacro(place,macro,params,wikifier,tiddler) {
	var oldCurrentParent = currentParent;
	if (tiddler) currentParent = tiddler;
	try {
		oldInvokeMacro.apply(this, arguments);
	} finally {
		currentParent = oldCurrentParent;
	}
}
window.invokeMacro = myInvokeMacro;

// To correctly support the &quot;./partName&quot; syntax while refreshing we need to hijack 
// the config.refreshers.tiddlers to define the &quot;currentParent&quot; while it is running.
// 
(function() {
	var oldTiddlerRefresher= config.refreshers.tiddler;
	config.refreshers.tiddler = function(e,changeList) {
		var oldCurrentParent = currentParent;
		try {
			currentParent = e.getAttribute(&quot;tiddler&quot;);
			return oldTiddlerRefresher.apply(this,arguments);
		} finally {
			currentParent = oldCurrentParent;
		}
	};
})();

// Support &quot;./partName&quot; syntax inside &amp;lt;&amp;lt;tabs ...&amp;gt;&amp;gt; macro
(function() {
	var extendRelativeNames = function(e, title) {
		var nodes = e.getElementsByTagName(&quot;a&quot;);
		for(var i=0; i&amp;lt;nodes.length; i++) {
			var node = nodes[i];
			var s = node.getAttribute(&quot;content&quot;);
			if (s &amp;amp;&amp;amp; s.indexOf(&quot;./&quot;) == 0)
				node.setAttribute(&quot;content&quot;,title+s.substr(1));
		}
	};
	var oldHandler = config.macros.tabs.handler;
	config.macros.tabs.handler = function(place,macroName,params,wikifier,paramString,tiddler) {
		var result = oldHandler.apply(this,arguments);
		if (tiddler)
			extendRelativeNames(place, tiddler.title);
		return result;
	};
})();

// Scroll the anchor anchorName in the viewer of the given tiddler visible.
// When no tiddler is defined use the tiddler of the target given event is used.
window.scrollAnchorVisible = function(anchorName, tiddler, evt) {
	var tiddlerElem = null;
	if (tiddler) {
		tiddlerElem = document.getElementById(story.idPrefix + tiddler);
	}
	if (!tiddlerElem &amp;amp;&amp;amp; evt) {
		var target = resolveTarget(evt);
		tiddlerElem = story.findContainingTiddler(target);
	}
	if (!tiddlerElem) return;

	var children = tiddlerElem.getElementsByTagName(&quot;a&quot;);
	for (var i = 0; i &amp;lt; children.length; i++) {
		var child = children[i];
		var name = child.getAttribute(&quot;name&quot;);
		if (name == anchorName) {
			var y = findPosY(child);
			window.scrollTo(0,y);
			return;
		}
	}
}

} // of &quot;install only once&quot;
&lt;/pre&gt;&lt;br&gt;&lt;span&gt;&lt;sub&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;scrollAnchorVisible('Top',null, event)&quot;&gt;[Top]&lt;/a&gt;&lt;/sub&gt;&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;h1&gt;Licence and Copyright&lt;/h1&gt;Copyright (c) abego Software GmbH, 2006 (&lt;a target=&quot;_blank&quot; title=&quot;External link to http://www.abego-software.de&quot; href=&quot;http://www.abego-software.de&quot; class=&quot;externalLink&quot;&gt;www.abego-software.de&lt;/a&gt;)&lt;br&gt;&lt;br&gt;Redistribution and use in source and binary forms, with or without modification,&lt;br&gt;are permitted provided that the following conditions are met:&lt;br&gt;&lt;br&gt;Redistributions of source code must retain the above copyright notice, this&lt;br&gt;list of conditions and the following disclaimer.&lt;br&gt;&lt;br&gt;Redistributions in binary form must reproduce the above copyright notice, this&lt;br&gt;list of conditions and the following disclaimer in the documentation and/or other&lt;br&gt;materials provided with the distribution.&lt;br&gt;&lt;br&gt;Neither the name of abego Software nor the names of its contributors may be&lt;br&gt;used to endorse or promote products derived from this software without specific&lt;br&gt;prior written permission.&lt;br&gt;&lt;br&gt;THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&quot; AND ANY&lt;br&gt;EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES&lt;br&gt;OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT&lt;br&gt;SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,&lt;br&gt;INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED&lt;br&gt;TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR&lt;br&gt;BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN&lt;br&gt;CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN&lt;br&gt;ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH&lt;br&gt;DAMAGE.&lt;br&gt;&lt;br&gt;&lt;span&gt;&lt;sub&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;scrollAnchorVisible('Top',null, event)&quot;&gt;[Top]&lt;/a&gt;&lt;/sub&gt;&lt;/span&gt;&lt;br&gt;</description>
<category>systemConfig</category>
<link>http://www.reyesaguayo.com/osp/#PartTiddlerPlugin</link>
<pubDate>Tue, 11 Aug 2009 19:29:00 GMT</pubDate>
</item>
</channel>
</rss>