Welcome to TiddlyWiki created by Jeremy Ruston, Copyright © 2007 UnaMesa Association
<script>config.options.txtURLs="4a Feira";refreshDisplay();</script>
* Café da Manhã - leve
* Manhã - Preparando para o Dia
* Tarde toda - Sentados na Floresta - Presenciando
* Jantar - leve
* Fogueira
<<<
[[contando os causos da floresta]]
[[apresentando arte/objetos da Natureza]]
[[constuindo nossas novas histórias]]
<<<
----
<script>config.options.txtURLs="5a Feira";refreshDisplay();</script>
[[Sessão 1 & 2~6a]] - [[Principios de Permacultura|Sessão 1 & 2~6a]] - Jogo das Cartas
[[Sessão 3~6a]] - [[Documentando os Principios|Sessão 3~6a]]
[[Sessão 4~6a]] - [[Abordagens de Design|Sessão 4~6a]]
[[Noite~6a]] - Apresentação - [[Resiliência/WickedProblems/TippingPoints|Noite~6a]]
----
<script>config.options.txtURLs="6a Feira";refreshDisplay();</script>
http://www.heartcenteredtherapies.org/go/docs/Aha%20eureka%20moments%20light%20up%20brain.pdf
[[Análise SWOT - Wikipédia, a enciclopédia livre|http://pt.wikipedia.org/wiki/An%C3%A1lise_SWOT]]
text/plain
.txt .text .js .vbs .asp .cgi .pl
----
text/html
.htm .html .hta .htx .mht
----
text/comma-separated-values
.csv
----
text/javascript
.js
----
text/css
.css
----
text/xml
.xml .xsl .xslt
----
image/gif
.gif
----
image/jpeg
.jpg .jpe .jpeg
----
image/png
.png
----
image/bmp
.bmp
----
image/tiff
.tif .tiff
----
audio/basic
.au .snd
----
audio/wav
.wav
----
audio/x-pn-realaudio
.ra .rm .ram
----
audio/x-midi
.mid .midi
----
audio/mp3
.mp3
----
audio/m3u
.m3u
----
video/x-ms-asf
.asf
----
video/avi
.avi
----
video/mpeg
.mpg .mpeg
----
video/quicktime
.qt .mov .qtvr
----
application/pdf
.pdf
----
application/rtf
.rtf
----
application/postscript
.ai .eps .ps
----
application/wordperfect
.wpd
----
application/mswrite
.wri
----
application/msexcel
.xls .xls3 .xls4 .xls5 .xlw
----
application/msword
.doc
----
application/mspowerpoint
.ppt .pps
----
application/x-director
.swa
----
application/x-shockwave-flash
.swf
----
application/x-zip-compressed
.zip
----
application/x-gzip
.gz
----
application/x-rar-compressed
.rar
----
application/octet-stream
.com .exe .dll .ocx
----
application/java-archive
.jar
/***
|Name|AttachFilePlugin|
|Source|http://www.TiddlyTools.com/#AttachFilePlugin|
|Documentation|http://www.TiddlyTools.com/#AttachFilePluginInfo|
|Version|3.9.0|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|plugin|
|Requires|AttachFilePluginFormatters, AttachFileMIMETypes|
|Overrides||
|Description|Store binary files as base64-encoded tiddlers with fallback links for separate local and/or remote file storage|
Store or link binary files (such as jpg, gif, pdf or even mp3) within your TiddlyWiki document and then use them as images or links from within your tiddler content.
> Important note: As of version 3.6.0, in order to //render// images and other binary attachments created with this plugin, you must also install [[AttachFilePluginFormatters]], which extends the behavior of the TiddlyWiki core formatters for embedded images ({{{[img[tooltip|image]]}}}), linked embedded images ({{{[img[tooltip|image][link]]}}}), and external/"pretty" links ({{{[[label|link]]}}}), so that these formatter will process references to attachment tiddlers as if a normal file reference had been provided. |
!!!!!Documentation
>see [[AttachFilePluginInfo]]
!!!!!Inline interface (live)
>see [[AttachFile]] (shadow tiddler)
><<tiddler AttachFile>>
!!!!!Revisions
<<<
2008.07.21 [3.9.0] Fixup for FireFox 3: use HTML with separate text+button control instead of type='file' control
|please see [[AttachFilePluginInfo]] for additional revision details|
2005.07.20 [1.0.0] Initial Release
<<<
!!!!!Code
***/
// // version
//{{{
version.extensions.AttachFilePlugin= {major: 3, minor: 9, revision: 0, date: new Date(2008,7,21)};
// shadow tiddler
config.shadowTiddlers.AttachFile="<<attach inline>>";
// add 'attach' backstage task (insert before built-in 'importTask')
if (config.tasks) { // for TW2.2b or above
config.tasks.attachTask = {
text: "attach",
tooltip: "Attach a binary file as a tiddler",
content: "<<attach inline>>"
}
config.backstageTasks.splice(config.backstageTasks.indexOf("importTask"),0,"attachTask");
}
config.macros.attach = {
// // lingo
//{{{
label: "attach file",
tooltip: "Attach a file to this document",
linkTooltip: "Attachment: ",
typeList: "AttachFileMIMETypes",
titlePrompt: " enter tiddler title...",
MIMEPrompt: "<option value=''>select MIME type...</option><option value='editlist'>[edit list...]</option>",
localPrompt: " enter local path/filename...",
URLPrompt: " enter remote URL...",
tiddlerErr: "Please enter a tiddler title",
sourceErr: "Please enter a source path/filename",
storageErr: "Please select a storage method: embedded, local or remote",
MIMEErr: "Unrecognized file format. Please select a MIME type",
localErr: "Please enter a local path/filename",
URLErr: "Please enter a remote URL",
fileErr: "Invalid path/file or file not found",
sourceReport: "| source file:|{{{%0}}}|\n",
nosourceReport: "| source file:|//none//|\n",
dateReport: "| attached on:|%0 by %1|\n",
notesReport: "| description:|%0|\n",
dataReport: "| embedded:|[[%0|%0]] - {{{type=%1, size=%2 bytes, encoded=%3 bytes}}}|\n",
nodataReport: "| embedded:|//none//|\n",
localReport: "| local file:|/%LOCAL_LINK%/[[%0|%1]]|\n",
nolocalReport: "| local file:|//none//|\n",
URLReport: "| remote link:|/%REMOTE_LINK%/[[%0|%0]]|\n",
noURLReport: "| remote link:|//none//|\n",
imageReport: "image\n<<<\nusage: {{{[img[tooltip|%0]] or [img[tooltip|%0][link]]}}}\n[img[tooltip|%0]]\n<<<\n",
dataBlock: "\n/% DO NOT EDIT BELOW THIS POINT\n---BEGIN_DATA---\n%0;base64,\n%1\n---END_DATA---\n%/",
//}}}
// // macro definition
//{{{
handler:
function(place,macroName,params) {
if (params && !params[0]) { createTiddlyButton(place,this.label,this.tooltip,this.toggleAttachPanel); return; }
var id=params.shift();
this.createAttachPanel(place,id+"_attachPanel",params);
document.getElementById(id+"_attachPanel").style.position="static";
document.getElementById(id+"_attachPanel").style.display="block";
},
//}}}
//{{{
createAttachPanel:
function(place,panel_id,params) {
if (!panel_id || !panel_id.length) var panel_id="_attachPanel";
// remove existing panel (if any)
var panel=document.getElementById(panel_id); if (panel) panel.parentNode.removeChild(panel);
// set styles for this panel
setStylesheet(this.css,"attachPanel");
// create new panel
var title=""; if (params && params[0]) title=params.shift();
var types=this.MIMEPrompt+this.formatListOptions(store.getTiddlerText(this.typeList)); // get MIME types
panel=createTiddlyElement(place,"span",panel_id,"attachPanel",null);
var html=this.html.replace(/%id%/g,panel_id);
html=html.replace(/%title%/g,title);
html=html.replace(/%disabled%/g,title.length?"disabled":"");
html=html.replace(/%IEdisabled%/g,config.browser.isIE?"disabled":"");
html=html.replace(/%types%/g,types);
panel.innerHTML=html;
if (config.browser.isGecko) { // FF3 FIXUP
document.getElementById("attachSource").style.display="none";
document.getElementById("attachFixPanel").style.display="block";
}
return panel;
},
//}}}
//{{{
toggleAttachPanel:
function (e) {
if (!e) var e = window.event;
var parent=resolveTarget(e).parentNode;
var panel = document.getElementById("_attachPanel");
if (panel==undefined || panel.parentNode!=parent)
panel=config.macros.attach.createAttachPanel(parent,"_attachPanel");
var isOpen = panel.style.display=="block";
if(config.options.chkAnimate)
anim.startAnimating(new Slider(panel,!isOpen,e.shiftKey || e.altKey,"none"));
else
panel.style.display = isOpen ? "none" : "block" ;
e.cancelBubble = true;
if (e.stopPropagation) e.stopPropagation();
return(false);
},
//}}}
//{{{
formatListOptions:
function(text) {
if (!text || !text.trim().length) return "";
// get MIME list content from text
var parts=text.split("\n----\n");
var out="";
for (var p=0; p<parts.length; p++) {
var lines=parts[p].split("\n");
var label=lines.shift(); // 1st line=display text
var value=lines.shift(); // 2nd line=item value
out +='<option value="%1">%0</option>'.format([label,value]);
}
return out;
},
//}}}
// // interface definition
//{{{
css:
".attachPanel { display: none; position:absolute; z-index:10; width:35em; right:105%; top:0em;\
background-color: #eee; color:#000; font-size: 8pt; line-height:110%;\
border:1px solid black; border-bottom-width: 3px; border-right-width: 3px;\
padding: 0.5em; margin:0em; -moz-border-radius:1em;-webkit-border-radius:1em; text-align:left }\
.attachPanel form { display:inline;border:0;padding:0;margin:0; }\
.attachPanel select { width:99%;margin:0px;font-size:8pt;line-height:110%;}\
.attachPanel input { width:98%;padding:0px;margin:0px;font-size:8pt;line-height:110%}\
.attachPanel textarea { width:98%;margin:0px;height:2em;font-size:8pt;line-height:110%}\
.attachPanel table { width:100%;border:0;margin:0;padding:0;color:inherit; }\
.attachPanel tbody, .attachPanel tr, .attachPanel td { border:0;margin:0;padding:0;color:#000; }\
.attachPanel .box { border:1px solid black; padding:.3em; margin:.3em 0px; background:#f8f8f8; -moz-border-radius:5px;-webkit-border-radius:5px; }\
.attachPanel .chk { width:auto;border:0; }\
.attachPanel .btn { width:auto; }\
.attachPanel .btn2 { width:49%; }\
",
//}}}
//{{{
html:
'<form>\
attach from source file\
<input type="file" id="attachSource" name="source" size="56"\
onChange="config.macros.attach.onChangeSource(this)">\
<div id="attachFixPanel" style="display:none"><!-- FF3 FIXUP -->\
<input type="text" id="attachFixSource" style="width:90%"\
title="Enter a path/file to attach"\
onChange="config.macros.attach.onChangeSource(this);">\
<input type="button" style="width:7%" value="..."\
title="Enter a path/file to attach"\
onClick="config.macros.attach.askForFilename(document.getElementById(\'attachFixSource\'));">\
</div><!--end FF3 FIXUP-->\
<div class="box">\
<table style="border:0"><tr style="border:0"><td style="border:0;text-align:right;width:1%;white-space:nowrap">\
embed data <input type=checkbox class=chk name="useData" %IEdisabled% \
onclick="if (!this.form.MIMEType.value.length)\
this.form.MIMEType.selectedIndex=this.checked?1:0; "> \
</td><td style="border:0">\
<select size=1 name="MIMEType" \
onchange="this.title=this.value; if (this.value==\'editlist\')\
{ this.selectedIndex=this.form.useData.checked?1:0; story.displayTiddler(null,config.macros.attach.typeList,2); return; }">\
<option value=""></option>\
%types%\
</select>\
</td></tr><tr style="border:0"><td style="border:0;text-align:right;width:1%;white-space:nowrap">\
local link <input type=checkbox class=chk name="useLocal"\
onclick="this.form.local.value=this.form.local.defaultValue=this.checked?config.macros.attach.localPrompt:\'\';"> \
</td><td style="border:0">\
<input type=text name="local" size=15 autocomplete=off value=""\
onchange="this.form.useLocal.checked=this.value.length" \
onkeyup="this.form.useLocal.checked=this.value.length" \
onfocus="if (!this.value.length) this.value=config.macros.attach.localPrompt; this.select()">\
</td></tr><tr style="border:0"><td style="border:0;text-align:right;width:1%;white-space:nowrap">\
remote link <input type=checkbox class=chk name="useURL"\
onclick="this.form.URL.value=this.form.URL.defaultValue=this.checked?config.macros.attach.URLPrompt:\'\';\"> \
</td><td style="border:0">\
<input type=text name="URL" size=15 autocomplete=off value=""\
onfocus="if (!this.value.length) this.value=config.macros.attach.URLPrompt; this.select()"\
onchange="this.form.useURL.checked=this.value.length;"\
onkeyup="this.form.useURL.checked=this.value.length;">\
</td></tr></table>\
</div>\
<table style="border:0"><tr style="border:0"><td style="border:0;text-align:right;width:1%;white-space:nowrap">\
attach as \
</td><td style="border:0" colspan=2>\
<input type=text name="tiddlertitle" size=15 autocomplete=off value="%title%"\
onkeyup="if (!this.value.length) { this.value=config.macros.attach.titlePrompt; this.select(); }"\
onfocus="if (!this.value.length) this.value=config.macros.attach.titlePrompt; this.select()" %disabled%>\
</td></tr><tr style="border:0"><td style="border:0;text-align:right;width:1%;white-space:nowrap">\
description \
</td><td style="border:0" colspan=2>\
<input type=text name="notes" size=15 autocomplete=off>\
</td></tr><tr style="border:0"><td style="border:0;text-align:right;width:1%;white-space:nowrap">\
add tags \
</td><td style="border:0">\
<input type=text name="tags" size=15 autocomplete=off value="" onfocus="this.select()">\
</td><td style="width:40%;text-align:right;border:0">\
<input type=button class=btn2 value="attach"\
onclick="config.macros.attach.onClickAttach(this)"><!--\
--><input type=button class=btn2 value="close"\
onclick="var panel=document.getElementById(\'%id%\'); if (panel) panel.parentNode.removeChild(panel);">\
</td></tr></table>\
</form>',
//}}}
// // control processing
//{{{
onChangeSource:
function(here) {
var form=here.form;
var list=form.MIMEType;
var theFilename = here.value;
var theExtension = theFilename.substr(theFilename.lastIndexOf('.')).toLowerCase();
// if theFilename is in current document folder, remove path prefix and use relative reference
var h=document.location.href; folder=getLocalPath(decodeURIComponent(h.substr(0,h.lastIndexOf("/")+1)));
if (theFilename.substr(0,folder.length)==folder) theFilename='./'+theFilename.substr(folder.length);
else theFilename='file:///'+theFilename; // otherwise, use absolute reference
theFilename=theFilename.replace(/\\/g,"/"); // fixup: change \ to /
form.useLocal.checked = true;
form.local.value = theFilename;
form.useData.checked = !form.useData.disabled;
list.selectedIndex=1;
for (var i=0; i<list.options.length; i++) // find matching MIME type
if (list.options[i].value.indexOf(theExtension)!=-1) { list.selectedIndex = i; break; }
if (!form.tiddlertitle.disabled)
form.tiddlertitle.value=theFilename.substr(theFilename.lastIndexOf('/')+1); // get tiddlername from filename
},
//}}}
//{{{
onClickAttach:
function (here) {
clearMessage();
// get input values
var form=here.form;
var src=form.source; if (config.browser.isGecko) src=document.getElementById("attachFixSource");
var theDate=(new Date()).formatString(config.macros.timeline.dateFormat);
var theSource = src.value!=src.defaultValue?src.value:"";
var theTitle=form.tiddlertitle.value;
var theLocal = form.local.value!=form.local.defaultValue?form.local.value:"";
var theURL = form.URL.value!=form.URL.defaultValue?form.URL.value:"";
var theNotes = form.notes.value;
var theTags = "attachment excludeMissing "+form.tags.value;
var useData=form.useData.checked;
var useLocal=form.useLocal.checked;
var useURL=form.useURL.checked;
var theMIMEType = form.MIMEType.value.length?form.MIMEType.options[form.MIMEType.selectedIndex].text:"";
// validate checkboxes and get filename
if (useData) {
if (theSource.length) { if (!theLocation) var theLocation=theSource; }
else { alert(this.sourceErr); src.focus(); return false; }
}
if (useLocal) {
if (theLocal.length) { if (!theLocation) var theLocation = theLocal; }
else { alert(this.localErr); form.local.focus(); return false; }
}
if (useURL) {
if (theURL.length) { if (!theLocation) var theLocation = theURL; }
else { alert(this.URLErr); form.URL.focus(); return false; }
}
if (!(useData||useLocal||useURL))
{ form.useData.focus(); alert(this.storageErr); return false; }
if (!theLocation)
{ src.focus(); alert(this.sourceErr); return false; }
if (!theTitle || !theTitle.trim().length || theTitle==this.titlePrompt)
{ form.tiddlertitle.focus(); alert(this.tiddlerErr); return false; }
// if not already selected, determine MIME type based on filename extension (if any)
if (useData && !theMIMEType.length && theLocation.lastIndexOf('.')!=-1) {
var theExt = theLocation.substr(theLocation.lastIndexOf('.')).toLowerCase();
var theList=form.MIMEType;
for (var i=0; i<theList.options.length; i++)
if (theList.options[i].value.indexOf(theExt)!=-1)
{ var theMIMEType=theList.options[i].text; theList.selectedIndex=i; break; }
}
// attach the file
return this.createAttachmentTiddler(theSource, theDate, theNotes, theTags, theTitle,
useData, useLocal, useURL, theLocal, theURL, theMIMEType);
},
getMIMEType:
function(src,def) {
var ext = src.substr(src.lastIndexOf('.')).toLowerCase();
var list=store.getTiddlerText(this.typeList);
if (!list || !list.trim().length) return def;
// get MIME list content from tiddler
var parts=list.split("\n----\n");
for (var p=0; p<parts.length; p++) {
var lines=parts[p].split("\n");
var mime=lines.shift(); // 1st line=MIME type
var match=lines.shift(); // 2nd line=matching extensions
if (match.indexOf(ext)!=-1) return mime;
}
return def;
},
createAttachmentTiddler:
function (theSource, theDate, theNotes, theTags, theTitle,
useData, useLocal, useURL, theLocal, theURL, theMIMEType, noshow) {
// encode the data
if (useData) {
if (!theMIMEType.length) {
alert(this.MIMEErr);
form.MIMEType.selectedIndex=1; form.MIMEType.focus();
return false;
}
var theData = this.readFile(theSource); if (!theData) { return false; }
displayMessage('encoding '+theSource);
var theEncoded = this.encodeBase64(theData);
displayMessage('file size='+theData.length+' bytes, encoded size='+theEncoded.length+' bytes');
}
// generate tiddler and refresh
var theText = "";
theText +=theSource.length?this.sourceReport.format([theSource]):this.nosourceReport;
theText +=this.dateReport.format([theDate,config.options.txtUserName]);
theText +=theNotes.length?this.notesReport.format([theNotes]):"";
theText +=useData?this.dataReport.format([theTitle,theMIMEType,theData.length,theEncoded.length]):this.nodataReport;
theText +=useLocal?this.localReport.format([theLocal,theLocal.replace(/\\/g,"/")]):this.nolocalReport;
theText +=useURL?this.URLReport.format([theURL]):this.noURLReport;
theText +=(theMIMEType.substr(0,5)=="image")?this.imageReport.format([theTitle]):"";
theText +=useData?this.dataBlock.format([theMIMEType,theEncoded]):"";
store.saveTiddler(theTitle,theTitle,theText,config.options.txtUserName,new Date(),theTags);
var panel=document.getElementById("attachPanel"); if (panel) panel.style.display="none";
if (!noshow) { story.displayTiddler(null,theTitle); story.refreshTiddler(theTitle,null,true); }
displayMessage('attached "'+theTitle+'"');
return true;
},
//}}}
// // base64 conversion
//{{{
encodeBase64:
function (theData) {
if (!theData) return null;
// encode as base64
var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
var out="";
var chr1,chr2,chr3="";
var enc1,enc2,enc3,enc4="";
for (var count=0,i=0; i<theData.length; ) {
chr1=theData.charCodeAt(i++);
chr2=theData.charCodeAt(i++);
chr3=theData.charCodeAt(i++);
enc1=chr1 >> 2;
enc2=((chr1 & 3) << 4) | (chr2 >> 4);
enc3=((chr2 & 15) << 2) | (chr3 >> 6);
enc4=chr3 & 63;
if (isNaN(chr2)) enc3=enc4=64;
else if (isNaN(chr3)) enc4=64;
out+=keyStr.charAt(enc1)+keyStr.charAt(enc2)+keyStr.charAt(enc3)+keyStr.charAt(enc4);
chr1=chr2=chr3=enc1=enc2=enc3=enc4="";
count+=4; if (count>60) { out+='\n'; count=0; } // add line break every 60 chars for readability
}
return out;
},
decodeBase64: function(input) {
var out="";
var chr1,chr2,chr3;
var enc1,enc2,enc3,enc4;
var i = 0;
// remove all characters that are not A-Z, a-z, 0-9, +, /, or =
input=input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
do {
enc1=keyStr.indexOf(input.charAt(i++));
enc2=keyStr.indexOf(input.charAt(i++));
enc3=keyStr.indexOf(input.charAt(i++));
enc4=keyStr.indexOf(input.charAt(i++));
chr1=(enc1 << 2) | (enc2 >> 4);
chr2=((enc2 & 15) << 4) | (enc3 >> 2);
chr3=((enc3 & 3) << 6) | enc4;
out=out+String.fromCharCode(chr1);
if (enc3!=64) out=out+String.fromCharCode(chr2);
if (enc4!=64) out=out+String.fromCharCode(chr3);
} while (i<input.length);
return out;
},
//}}}
// // I/O functions
//{{{
readFile: // read local BINARY file data
function(filePath) {
if(!window.Components) { return null; }
try { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); }
catch(e) { alert("access denied: "+filePath); return null; }
var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
try { file.initWithPath(filePath); } catch(e) { alert("cannot read file - invalid path: "+filePath); return null; }
if (!file.exists()) { alert("cannot read file - not found: "+filePath); return null; }
var inputStream = Components.classes["@mozilla.org/network/file-input-stream;1"].createInstance(Components.interfaces.nsIFileInputStream);
inputStream.init(file, 0x01, 00004, null);
var bInputStream = Components.classes["@mozilla.org/binaryinputstream;1"].createInstance(Components.interfaces.nsIBinaryInputStream);
bInputStream.setInputStream(inputStream);
return(bInputStream.readBytes(inputStream.available()));
},
//}}}
//{{{
writeFile:
function(filepath,data) {
// TBD: decode base64 and write BINARY data to specified local path/filename
return(false);
},
//}}}
//{{{
askForFilename: // for FF3 fixup
function(target) {
var msg=config.messages.selectFile;
if (target && target.title) msg=target.title; // use target field tooltip (if any) as dialog prompt text
// get local path for current document
var path=getLocalPath(document.location.href);
var p=path.lastIndexOf("/"); if (p==-1) p=path.lastIndexOf("\\"); // Unix or Windows
if (p!=-1) path=path.substr(0,p+1); // remove filename, leave trailing slash
var file=""
var result=window.mozAskForFilename(msg,path,file,true); // FF3 FIXUP ONLY
if (target && result.length) // set target field and trigger handling
{ target.value=result; target.onchange(); }
return result;
}
};
//}}}
//{{{
if (window.mozAskForFilename===undefined) { // also defined by CoreTweaks (for ticket #604)
window.mozAskForFilename=function(msg,path,file,mustExist) {
if(!window.Components) return false;
try {
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
var nsIFilePicker = window.Components.interfaces.nsIFilePicker;
var picker = Components.classes['@mozilla.org/filepicker;1'].createInstance(nsIFilePicker);
picker.init(window, msg, mustExist?nsIFilePicker.modeOpen:nsIFilePicker.modeSave);
var thispath = Components.classes['@mozilla.org/file/local;1'].createInstance(Components.interfaces.nsILocalFile);
thispath.initWithPath(path);
picker.displayDirectory=thispath;
picker.defaultExtension='';
picker.defaultString=file;
picker.appendFilters(nsIFilePicker.filterAll|nsIFilePicker.filterText|nsIFilePicker.filterHTML);
if (picker.show()!=nsIFilePicker.returnCancel)
var result=picker.file.persistentDescriptor;
}
catch(ex) { displayMessage(ex.toString()); }
return result;
}
}
//}}}
/***
|Name|AttachFilePluginFormatters|
|Source|http://www.TiddlyTools.com/#AttachFilePluginFormatters|
|Version|3.7.0|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1.3|
|Type|plugin|
|Requires||
|Overrides|'image' and 'prettyLink' formatters, TiddlyWiki.prototype.getRecursiveTiddlerText|
|Description|run-time library for displaying attachment tiddlers|
This plugin provides "stand-alone" processing for //rendering// attachment tiddlers created by [[AttachFilePlugin]]. Attachment tiddlers are tagged with<<tag attachment>>and contain binary file content (e.g., jpg, gif, pdf, mp3, etc.) that has been stored directly as base64 text-encoded data or can be loaded from external files stored on a local filesystem or remote web server.
NOTE: This plugin does not include the "control panel" and supporting functions needed to //create// new attachment tiddlers. Those features are provided by [[AttachFilePlugin]], which can be installed while building your document, and then safely omitted to reduce the overall file size when you publish your finished document (assuming you don't intend to create any additional attachment tiddlers in that document)
!!!!!Formatters
<<<
This plugin extends the behavior of the following TiddlyWiki core "wikify()" formatters:
* embedded images: {{{[img[tooltip|image]]}}}
* linked embedded images: {{{[img[tooltip|image][link]]}}}
* external/"pretty" links: {{{[[label|link]]}}}
''Please refer to AttachFilePlugin (source: http://www.TiddlyTools.com/#AttachFilePlugin) for additional information.''
<<<
!!!!!Revisions
<<<
2007.12.04 [*.*.*] update for TW2.3.0: replaced deprecated core functions, regexps, and macros
2007.10.29 [3.7.0] more code reduction: removed upload handling from AttachFilePlugin (saves ~7K!)
2007.10.28 [3.6.0] removed duplicate formatter code from AttachFilePlugin (saves ~10K!) and updated documentation accordingly. This plugin ([[AttachFilePluginFormatters]]) is now //''required''// in order to display attached images/binary files within tiddler content.
2006.05.20 [3.4.0] through 2007.03.01 [3.5.3] sync with AttachFilePlugin
2006.05.13 [3.2.0] created from AttachFilePlugin v3.2.0
<<<
!!!!!Code
***/
// // version
//{{{
version.extensions.AttachFilePluginFormatters= {major: 3, minor: 7, revision: 0, date: new Date(2007,10,28)};
//}}}
//{{{
if (config.macros.attach==undefined) config.macros.attach= { };
//}}}
//{{{
if (config.macros.attach.isAttachment==undefined) config.macros.attach.isAttachment=function (title) {
var tiddler = store.getTiddler(title);
if (tiddler==undefined || tiddler.tags==undefined) return false;
return (tiddler.tags.indexOf("attachment")!=-1);
}
//}}}
//{{{
// test for local file existence
// Returns true/false without visible error display
// Uses Components for FF and ActiveX FSO object for MSIE
if (config.macros.attach.fileExists==undefined) config.macros.attach.fileExists=function(theFile) {
var found=false;
// DEBUG: alert('testing fileExists('+theFile+')...');
if(window.Components) {
try { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); }
catch(e) { return false; } // security access denied
var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
try { file.initWithPath(theFile); }
catch(e) { return false; } // invalid directory
found = file.exists();
}
else { // use ActiveX FSO object for MSIE
var fso = new ActiveXObject("Scripting.FileSystemObject");
found = fso.FileExists(theFile)
}
// DEBUG: alert(theFile+" "+(found?"exists":"not found"));
return found;
}
//}}}
//{{{
if (config.macros.attach.getAttachment==undefined) config.macros.attach.getAttachment=function(title) {
// extract embedded data, local and remote links (if any)
var startmarker="---BEGIN_DATA---\n";
var endmarker="\n---END_DATA---";
var pos=0; var endpos=0;
var text = store.getTiddlerText(title);
var embedded="";
var locallink="";
var remotelink="";
// look for embedded data, convert to data: URI
if ((pos=text.indexOf(startmarker))!=-1 && (endpos=text.indexOf(endmarker))!=-1)
embedded="data:"+(text.substring(pos+startmarker.length,endpos)).replace(/\n/g,'');
if (embedded.length && !config.browser.isIE)
return embedded; // use embedded data if any... except for IE, which doesn't support data URI
// no embedded data... fallback to local/remote reference links...
// look for 'attachment link markers'
if ((pos=text.indexOf("/%LOCAL_LINK%/"))!=-1)
locallink=text.substring(text.indexOf("|",pos)+1,text.indexOf("]]",pos));
if ((pos=text.indexOf("/%REMOTE_LINK%/"))!=-1)
remotelink=text.substring(text.indexOf("|",pos)+1,text.indexOf("]]",pos));
// document is being served remotely... use remote URL (if any) (avoids security alert)
if (remotelink.length && document.location.protocol!="file:")
return remotelink;
// local link only... return link without checking file existence (avoids security alert)
if (locallink.length && !remotelink.length)
return locallink;
// local link, check for file exist... use local link if found
if (locallink.length) {
if (this.fileExists(getLocalPath(locallink))) return locallink;
// maybe local link is relative... add path from current document and try again
var pathPrefix=document.location.href; // get current document path and trim off filename
var slashpos=pathPrefix.lastIndexOf("/"); if (slashpos==-1) slashpos=pathPrefix.lastIndexOf("\\");
if (slashpos!=-1 && slashpos!=pathPrefix.length-1) pathPrefix=pathPrefix.substr(0,slashpos+1);
if (this.fileExists(getLocalPath(pathPrefix+locallink))) return locallink;
}
// no embedded data, no local (or not found), fallback to remote URL (if any)
if (remotelink.length)
return remotelink;
return ""; // attachment URL doesn't resolve
}
//}}}
//{{{
if (config.macros.attach.init_formatters==undefined) config.macros.attach.init_formatters=function() {
if (this.initialized) return;
// find the formatter for "image" and replace the handler
for (var i=0; i<config.formatters.length && config.formatters[i].name!="image"; i++);
if (i<config.formatters.length) config.formatters[i].handler=function(w) {
this.lookaheadRegExp.lastIndex = w.matchStart;
var lookaheadMatch = this.lookaheadRegExp.exec(w.source)
if(lookaheadMatch && lookaheadMatch.index == w.matchStart) // Simple bracketted link
{
var e = w.output;
if(lookaheadMatch[5])
{
var link = lookaheadMatch[5];
// ELS -------------
var external=config.formatterHelpers.isExternalLink(link);
if (external)
{
if (config.macros.attach.isAttachment(link))
{
e = createExternalLink(w.output,link);
e.href=config.macros.attach.getAttachment(link);
e.title = config.macros.attach.linkTooltip + link;
}
else
e = createExternalLink(w.output,link);
}
else
e = createTiddlyLink(w.output,link,false,null,w.isStatic);
// ELS -------------
addClass(e,"imageLink");
}
var img = createTiddlyElement(e,"img");
if(lookaheadMatch[1])
img.align = "left";
else if(lookaheadMatch[2])
img.align = "right";
if(lookaheadMatch[3])
img.title = lookaheadMatch[3];
img.src = lookaheadMatch[4];
// ELS -------------
if (config.macros.attach.isAttachment(lookaheadMatch[4]))
img.src=config.macros.attach.getAttachment(lookaheadMatch[4]);
// ELS -------------
w.nextMatch = this.lookaheadRegExp.lastIndex;
}
}
//}}}
//{{{
// find the formatter for "prettyLink" and replace the handler
for (var i=0; i<config.formatters.length && config.formatters[i].name!="prettyLink"; i++);
if (i<config.formatters.length) {
config.formatters[i].handler=function(w) {
this.lookaheadRegExp.lastIndex = w.matchStart;
var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
var e;
var text = lookaheadMatch[1];
if(lookaheadMatch[3]) {
// Pretty bracketted link
var link = lookaheadMatch[3];
if (config.macros.attach.isAttachment(link)) {
e = createExternalLink(w.output,link);
e.href=config.macros.attach.getAttachment(link);
e.title=config.macros.attach.linkTooltip+link;
}
else e = (!lookaheadMatch[2] && config.formatterHelpers.isExternalLink(link))
? createExternalLink(w.output,link)
: createTiddlyLink(w.output,link,false,null,w.isStatic);
} else {
e = createTiddlyLink(w.output,text,false,null,w.isStatic);
}
createTiddlyText(e,text);
w.nextMatch = this.lookaheadRegExp.lastIndex;
}
}
} // if "prettyLink" formatter found
this.initialized=true;
}
//}}}
//{{{
config.macros.attach.init_formatters(); // load time init
//}}}
//{{{
if (TiddlyWiki.prototype.coreGetRecursiveTiddlerText==undefined) {
TiddlyWiki.prototype.coreGetRecursiveTiddlerText = TiddlyWiki.prototype.getRecursiveTiddlerText;
TiddlyWiki.prototype.getRecursiveTiddlerText = function(title,defaultText,depth) {
return config.macros.attach.isAttachment(title)?
config.macros.attach.getAttachment(title):this.coreGetRecursiveTiddlerText.apply(this,arguments);
}
}
//}}}
[[Brain Activity Differs For Creative And Noncreative Thinkers|http://www.sciencedaily.com/releases/2007/10/071027102409.htm]]
{{center{[img[programa.png]]
Como Navegar: - usar os links (azuis) relativos aos dias da semana à esquerda. As referências também estão na forma de links....os quais funcionam quando conectados à internet.
''Nota'' - às vezes a ~InternetExplorar não mostra esta página corretamente....então, dê preferência, use um browser melhor - o ''Firefox''.}}}
----
<script>config.options.txtURLs="ComoComeçar";refreshDisplay();</script>
/**
* Cookie plugin
*
* Copyright (c) 2006 Klaus Hartl (stilbuero.de)
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*
*/
/**
* Create a cookie with the given name and value and other optional parameters.
*
* @example $.cookie('the_cookie', 'the_value');
* @desc Set the value of a cookie.
* @example $.cookie('the_cookie', 'the_value', {expires: 7, path: '/', domain: 'jquery.com', secure: true});
* @desc Create a cookie with all available options.
* @example $.cookie('the_cookie', 'the_value');
* @desc Create a session cookie.
* @example $.cookie('the_cookie', null);
* @desc Delete a cookie by passing null as value.
*
* @param String name The name of the cookie.
* @param String value The value of the cookie.
* @param Object options An object literal containing key/value pairs to provide optional cookie attributes.
* @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object.
* If a negative value is specified (e.g. a date in the past), the cookie will be deleted.
* If set to null or omitted, the cookie will be a session cookie and will not be retained
* when the the browser exits.
* @option String path The value of the path atribute of the cookie (default: path of page that created the cookie).
* @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie).
* @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will
* require a secure protocol (like HTTPS).
* @type undefined
*
* @name $.cookie
* @cat Plugins/Cookie
* @author Klaus Hartl/klaus.hartl@stilbuero.de
*/
/**
* Get the value of a cookie with the given name.
*
* @example $.cookie('the_cookie');
* @desc Get the value of a cookie.
*
* @param String name The name of the cookie.
* @return The value of the cookie.
* @type String
*
* @name $.cookie
* @cat Plugins/Cookie
* @author Klaus Hartl/klaus.hartl@stilbuero.de
*/
jQuery.cookie = function(name, value, options) {
if (typeof value != 'undefined') { // name and value given, set cookie
options = options || {};
if (value === null) {
value = '';
options.expires = -1;
}
var expires = '';
if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
var date;
if (typeof options.expires == 'number') {
date = new Date();
date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
} else {
date = options.expires;
}
expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
}
var path = options.path ? '; path=' + options.path : '';
var domain = options.domain ? '; domain=' + options.domain : '';
var secure = options.secure ? '; secure' : '';
document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
} else { // only name given, get cookie
var cookieValue = null;
if (document.cookie && document.cookie != '') {
var cookies = document.cookie.split(';');
for (var i = 0; i < cookies.length; i++) {
var cookie = jQuery.trim(cookies[i]);
// Does this cookie string begin with the name we want?
if (cookie.substring(0, name.length + 1) == (name + '=')) {
cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
break;
}
}
}
return cookieValue;
}
};
/***
|Name|CoreTweaks|
|Source|http://www.TiddlyTools.com/#CoreTweaks|
|Version|n/a|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.2.4|
|Type|plugin|
|Requires||
|Overrides|various|
|Description|a small collection of overrides to TW core functions|
This tiddler contains some quick tweaks and modifications to TW core functions to provide minor changes in standard features or behavior. It is hoped that some of these tweaks may be incorporated into later versions of the TW core, so that these adjustments will be available without needing these add-on definitions. ''Note: the changes contained in this tiddler are generally applicable for the current version of TiddlyWiki (<<version>>)./% Please view [[CoreTweaksArchive]] for tweaks and modifications that may be used with earlier versions of TiddlyWiki.%/''
To install //all// of these tweaks, import (or copy/paste) this tiddler into your document. To include only //some// of the tweaks, you can edit the imported tiddler to remove the tweaks that you don't want. Alternatively, you could copy/paste a few selected tweaks from this tiddler into a tiddler that you create in your own document. Be certain to tag that tiddler with<<tag systemConfig>> (i.e., a plugin tiddler) and then save-and-reload for the tweaks to take effect.
***/
/***
!!! Ticketed Tweaks
***/
// // {{groupbox small{
/***
!!FireFox3 Import bug: "browse" button replacement
http://trac.tiddlywiki.org/ticket/683 - OPEN
see also http://trac.tiddlywiki.org/ticket/604 - cross-platform askForFilename()
The web standard "type=file" input control that has been used as a local path/file picker for TiddlyWiki no longer works as expected in FireFox3, which has, for "security" reasons, limited javascript access to this control so that *no* local filesystem path information can be revealed, even when it is intentional and necessary, as it is with TiddlyWiki. This tweak provides alternative HTML source that patches the backstage import panel. It replaces the "type=file" input control with a text+button combination of controls that invokes a system-native secure 'file-chooser' dialog box to provide TiddlyWiki with access to a complete path+filename so that TW functions properly locate user-selected local files.
***/
//{{{
if (window.Components) {
var fixhtml='<input name="txtBrowse" style="width:30em"><input type="button" value="..."'
+' onClick="window.browseForFilename(this.previousSibling,true)">';
var cmi=config.macros.importTiddlers;
cmi.step1Html=cmi.step1Html.replace(/<input type='file' size=50 name='txtBrowse'>/,fixhtml);
}
merge(config.messages,{selectFile:"Please enter or select a file"}); // ready for I18N translation
window.browseForFilename=function(target,mustExist) { // note: both params are optional
var msg=config.messages.selectFile;
if (target && target.title) msg=target.title; // use target field tooltip (if any) as dialog prompt text
// get local path for current document
var path=getLocalPath(document.location.href);
var p=path.lastIndexOf("/"); if (p==-1) p=path.lastIndexOf("\\"); // Unix or Windows
if (p!=-1) path=path.substr(0,p+1); // remove filename, leave trailing slash
var file=""
var result=window.askForFilename(msg,path,file,mustExist); // requires #604
if (target && result.length) // set target field and trigger handling
{ target.value=result; target.onchange(); }
return result;
}
//}}}
// // }}}
// // {{groupbox small{
/***
!!cross-platform askForFilename()
http://trac.tiddlywiki.org/ticket/604 - OPEN
invokes a system-native secure 'file-chooser' dialog box to provide TiddlyWiki with access to a complete path+filename so that TW functions properly locate user-selected local files.
***/
//{{{
window.askForFilename=function(msg,path,file,mustExist) {
var r = window.mozAskForFilename(msg,path,file,mustExist);
if(r===null || r===false)
r = window.ieAskForFilename(msg,path,file,mustExist);
if(r===null || r===false)
r = window.javaAskForFilename(msg,path,file,mustExist);
if(r===null || r===false)
r = prompt(msg,path+file);
return r||"";
}
window.mozAskForFilename=function(msg,path,file,mustExist) {
if(!window.Components) return false;
try {
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
var nsIFilePicker = window.Components.interfaces.nsIFilePicker;
var picker = Components.classes['@mozilla.org/filepicker;1'].createInstance(nsIFilePicker);
picker.init(window, msg, mustExist?nsIFilePicker.modeOpen:nsIFilePicker.modeSave);
var thispath = Components.classes['@mozilla.org/file/local;1'].createInstance(Components.interfaces.nsILocalFile);
thispath.initWithPath(path);
picker.displayDirectory=thispath;
picker.defaultExtension='html';
picker.defaultString=file;
picker.appendFilters(nsIFilePicker.filterAll|nsIFilePicker.filterText|nsIFilePicker.filterHTML);
if (picker.show()!=nsIFilePicker.returnCancel)
var result=picker.file.persistentDescriptor;
}
catch(ex) { displayMessage(ex.toString()); }
return result;
}
window.ieAskForFilename=function(msg,path,file,mustExist) {
if(!config.browser.isIE) return false;
try {
var s = new ActiveXObject('UserAccounts.CommonDialog');
s.Filter='All files|*.*|Text files|*.txt|HTML files|*.htm;*.html|';
s.FilterIndex=3; // default to HTML files;
s.InitialDir=path;
s.FileName=file;
return s.showOpen()?s.FileName:"";
}
catch(ex) { displayMessage(ex.toString()); }
return result;
}
window.javaAskForFilename=function(msg,path,file,mustExist) {
if(!document.applets["TiddlySaver"]) return false;
// TBD: implement java-based askFile(...) function
try { return document.applets["TiddlySaver"].askFile(msg,path,file,mustExist); }
catch(ex) { displayMessage(ex.toString()); }
}
//}}}
// // }}}
// // {{groupbox small{
/***
!!#story:... paramifier
http://trac.tiddlywiki.org/ticket/676 - OPEN
scan the specified 'story' tiddler content for embedded links, rather than simply parsing the content as a space-separated bracketed list. This allows links from ''any'' tiddler to be used as a story, regardless of other wiki-syntax contained in that tiddler. If specified tiddler is a shadow, fallback to using parseParams() to extract the list of links.
***/
//{{{
config.paramifiers.story = {
onstart: function(v) {
var t=store.getTiddler(v); if (t) t.changed();
var list=t?t.links:store.getTiddlerText(v,"").parseParams("open",null,false);
story.displayTiddlers(null,list);
}
};
//}}}
// // }}}
// // {{groupbox small{
/***
!!Loose links (case-folded/space-folded wiki words)
http://trac.tiddlywiki.org/ticket/664 - OPEN
This tweak matches non-WikiWord variations of mixed-case and/or added/omitted spaces within double-bracketed text with titles of //existing// tiddlers, using a "loose" (case-folded/space-folded) comparison. This allows text that occurs in normal prose to be more easily linked to tiddler titles by using double-brackets without the full "pretty link" syntax. For example:
{{{
[[CoreTweaks]], [[coreTweaks]], [[core tweaks]],
[[CORE TWEAKS]], [[CoRe TwEaKs]], [[coreTWEAKS]]
}}}
>[[CoreTweaks]], [[coreTweaks]], [[core tweaks]],
>[[CORE TWEAKS]], [[CoRe TwEaKs]], [[coreTWEAKS]]
Configuration:
><<option chkLooseLinks>> Allow case-folded and/or space-folded text to link to existing tiddler titles
>{{{usage: <<option chkLooseLinks>>}}}
***/
//{{{
if (!config.options.chkLooseLinks)
config.options.chkLooseLinks=false; // default to standard behavior
window.caseFold_createTiddlyLink = window.createTiddlyLink;
window.createTiddlyLink = function(place,title,includeText,className) {
var btn=window.caseFold_createTiddlyLink.apply(this,arguments); // create core link
if (!config.options.chkLooseLinks) return btn;
if (store.getTiddlerText(title)) return btn; // matching tiddler (or shadow) exists
var target=title.toLowerCase().replace(/\s/g,"");
var tids=store.getTiddlers("title");
for (var t=0; t<tids.length; t++) {
if (tids[t].title.toLowerCase().replace(/\s/g,"")==target) {
var i=getTiddlyLinkInfo(tids[t].title,className);
btn.setAttribute("tiddlyLink",tids[t].title);
btn.title=i.subTitle;
btn.className=i.classes;
break;
}
}
return btn;
}
//}}}
// // }}}
// // {{groupbox small{
// // http://trac.tiddlywiki.org/ticket/657 - OPEN
// // This tweak inserts an extra space element following each tab, allowing them to wrap onto multiple lines if needed.
//{{{
config.macros.tabs.handler = function(place,macroName,params)
{
var cookie = params[0];
var numTabs = (params.length-1)/3;
var wrapper = createTiddlyElement(null,"div",null,"tabsetWrapper " + cookie);
var tabset = createTiddlyElement(wrapper,"div",null,"tabset");
tabset.setAttribute("cookie",cookie);
var validTab = false;
for(var t=0; t<numTabs; t++) {
var label = params[t*3+1];
var prompt = params[t*3+2];
var content = params[t*3+3];
var tab = createTiddlyButton(tabset,label,prompt,this.onClickTab,"tab tabUnselected");
createTiddlyElement(tab,"span",null,null," ",{style:"font-size:0pt;line-height:0px"}); // ELS
tab.setAttribute("tab",label);
tab.setAttribute("content",content);
tab.title = prompt;
if(config.options[cookie] == label)
validTab = true;
}
if(!validTab)
config.options[cookie] = params[1];
place.appendChild(wrapper);
this.switchTab(tabset,config.options[cookie]);
};
//}}}
// // }}}
// // {{groupbox small{
// // http://trac.tiddlywiki.org/ticket/637 - OPEN
// // This tweak modifies the tooltip format that appears when you mouseover a link to a tiddler. It adds an option to control the date format, as well as displaying the size of the tiddler (in bytes)
// //
// // Tiddler link tooltip format:
// // {{stretch{<<option txtTiddlerLinkTootip>>}}}
// // ^^where: %0=title, %1=username, %2=modification date, %3=size in bytes^^
// // Tiddler link tooltip date format:
// // {{stretch{<<option txtTiddlerLinkTooltipDate>>}}}
//{{{
config.messages.tiddlerLinkTooltip="%0 - %1, %2 (%3 bytes)";
config.messages.tiddlerLinkTooltipDate="DDD, MMM DDth YYYY 0hh12:0mm AM";
config.options.txtTiddlerLinkTootip=
config.options.txtTiddlerLinkTootip||config.messages.tiddlerLinkTooltip;
config.options.txtTiddlerLinkTooltipDate=
config.options.txtTiddlerLinkTooltipDate||config.messages.tiddlerLinkTooltipDate;
Tiddler.prototype.getSubtitle = function() {
var modifier = this.modifier;
if(!modifier) modifier = config.messages.subtitleUnknown;
var modified = this.modified;
if(modified) modified = modified.formatString(config.options.txtTiddlerLinkTooltipDate);
else modified = config.messages.subtitleUnknown;
return config.options.txtTiddlerLinkTootip.format([this.title,modifier,modified,this.text.length]);
};
//}}}
// // }}}
// // {{groupbox small{
// // http://trac.tiddlywiki.org/ticket/628 - OPEN
// // When invoking a macro that is not defined, this tweak prevents the display of the "error in macro... no such macro" message. This is useful when rendering tiddler content or templates that reference macros that are defined by //optional// plugins that have not been installed in the current document.
// //
// // <<option chkHideMissingMacros>> hide "no such macro" error messages
//{{{
if (config.options.chkHideMissingMacros===undefined)
config.options.chkHideMissingMacros=false;
window.coreTweaks_missingMacro_invokeMacro = window.invokeMacro;
window.invokeMacro = function(place,macro,params,wikifier,tiddler) {
if (!config.macros[macro] || !config.macros[macro].handler)
if (config.options.chkHideMissingMacros) return;
window.coreTweaks_missingMacro_invokeMacro.apply(this,arguments);
}
//}}}
// // }}}
// // {{groupbox small{
// // http://trac.tiddlywiki.org/ticket/609 - OPEN (separators)
// // http://trac.tiddlywiki.org/ticket/610 - OPEN (wikify tiddler/slice/section content)
// // These tweaks extend the {{{<<toolbar>>}}} macro to permit use of "|" as separators, as well as recognizing references to tiddlernames, slices, or sections and rendering their content inline within the toolbar
// // ''see [[ToolbarCommands]] for examples of how these features can be used''
//{{{
merge(config.macros.toolbar,{
separator: "|"
});
config.macros.toolbar.handler = function(place,macroName,params,wikifier,paramString,tiddler)
{
for(var t=0; t<params.length; t++) {
var c = params[t];
switch(c) {
case '|': // ELS - SEPARATOR
case '!': // ELS - SEPARATOR (alternative for use in tiddler slices)
createTiddlyText(place,this.separator); // ELS
break; // ELS
case '>':
var btn = createTiddlyButton(place,this.moreLabel,this.morePrompt,config.macros.toolbar.onClickMore);
addClass(btn,"moreCommand");
var e = createTiddlyElement(place,"span",null,"moreCommand");
e.style.display = "none";
place = e;
break;
default:
var theClass = "";
switch(c.substr(0,1)) {
case "+":
theClass = "defaultCommand";
c = c.substr(1);
break;
case "-":
theClass = "cancelCommand";
c = c.substr(1);
break;
}
if(c in config.commands)
this.createCommand(place,c,tiddler,theClass);
else { // ELS - WIKIFY TIDDLER/SLICE/SECTION
if (c.substr(0,1)=="~") c=c.substr(1); // ignore leading ~
var txt=store.getTiddlerText(c);
if (txt) {
txt=txt.replace(/^\n*/,"").replace(/\n*$/,""); // trim any leading/trailing newlines
txt=txt.replace(/^\{\{\{\n/,"").replace(/\n\}\}\}$/,""); // trim PRE format wrapper if any
wikify(txt,createTiddlyElement(place,"span"),null,tiddler);
}
} // ELS - end WIKIFY CONTENT
break;
}
}
};
//}}}
// // }}}
// // {{groupbox small{
// // http://trac.tiddlywiki.org/ticket/608 - OPEN
// // This tweak extends the {{{<<toolbar>>}}} macro to make the ">" (more) a //toggle// between more/less with the additional toolbar commands displayed on a separate line.
//{{{
merge(config.macros.toolbar,{
moreLabel: 'more',
morePrompt: "Show additional commands",
lessLabel: 'less',
lessPrompt: "Hide additional commands"
});
config.macros.toolbar.onClickMore = function(ev)
{
var e = this.nextSibling;
var showing=e.style.display=="block";
e.style.display = showing?"none":"block";
this.innerHTML=showing?config.macros.toolbar.moreLabel:config.macros.toolbar.lessLabel;
this.title=showing?config.macros.toolbar.morePrompt:config.macros.toolbar.lessPrompt;
return false;
};
//}}}
// // }}}
// // {{groupbox small{
// // http://trac.tiddlywiki.org/ticket/607 - OPEN
// // This tweak automatically sets the HREF for the 'permaview' sidebar command link so you can use the 'right click' context menu for faster, easier bookmarking. Note that this does ''not'' automatically set the permaview in the browser's current location URL... it just sets the HREF on the command link. You still have to click the link to apply the permaview.
//{{{
config.macros.permaview.handler = function(place)
{
var btn=createTiddlyButton(place,this.label,this.prompt,this.onClick);
addEvent(btn,"mouseover",this.setHREF);
addEvent(btn,"focus",this.setHREF);
};
config.macros.permaview.setHREF = function(event){
var links = [];
story.forEachTiddler(function(title,element) {
links.push(String.encodeTiddlyLink(title));
});
var newURL=document.location.href;
var hashPos=newURL.indexOf("#");
if (hashPos!=-1) newURL=newURL.substr(0,hashPos);
this.href=newURL+"#"+encodeURIComponent(links.join(" "));
}
//}}}
// // }}}
// // {{groupbox small{
// // http://trac.tiddlywiki.org/ticket/529 - OPEN
// // This tweak hijacks the standard browser function, document.getElementById(), to work-around the case-INsensitivity error in Internet Explorer (all versions up to and including IE7) //''Note: This tweak is only applied when using IE, and only for lookups of rendered tiddler elements within the containing "tiddlerDisplay" element.''//
//{{{
if (config.browser.isIE) {
document.coreTweaks_coreGetElementById=document.getElementById;
document.getElementById=function(id) {
var e=document.coreTweaks_coreGetElementById(id);
if (!e || !e.parentNode || e.parentNode.id!="tiddlerDisplay") return e;
for (var i=0; i<e.parentNode.childNodes.length; i++)
if (id==e.parentNode.childNodes[i].id) return e.parentNode.childNodes[i];
return null;
};
}
//}}}
// // }}}
// // {{groupbox small{
// // http://trac.tiddlywiki.org/ticket/471 - OPEN
// // This tweak HIJACKS the core's saveTiddler() function to automatically add a "creator" field to a tiddler when it is FIRST created. You can use {{{<<view creator>>}}} (or {{{<<view creator wikified>>}}} if you prefer) to show this value embedded directly within the tiddler content, or {{{<span macro="view creator"></span>}}} in the ViewTemplate and/or EditTemplate to display the creator value in each tiddler.
//{{{
// hijack saveTiddler()
TiddlyWiki.prototype.CoreTweaks_creatorSaveTiddler=TiddlyWiki.prototype.saveTiddler;
TiddlyWiki.prototype.saveTiddler=function(title,newTitle,newBody,modifier,modified,tags,fields)
{
var existing=store.tiddlerExists(title);
var tiddler=this.CoreTweaks_creatorSaveTiddler.apply(this,arguments);
if (!existing) store.setValue(title,"creator",config.options.txtUserName);
return tiddler;
}
//}}}
// // }}}
// // {{groupbox small{
// // http://trac.tiddlywiki.org/ticket/458 - CLOSED: WON'T FIX
// // This tweak assigns a "permalink"-like HREF to internal Tiddler links (which normally do not have any HREF defined). This permits the link's context menu (right-click) to include 'open link in another window/tab' command. Based on a request from Dustin Spicuzza.
//{{{
window.coreTweaks_createTiddlyLink=window.createTiddlyLink;
window.createTiddlyLink=function(place,title,includeText,theClass,isStatic,linkedFromTiddler,noToggle)
{
// create the core button, then add the HREF (to internal links only)
var link=window.coreTweaks_createTiddlyLink.apply(this,arguments);
if (!isStatic)
link.href=document.location.href.split("#")[0]+"#"+encodeURIComponent(String.encodeTiddlyLink(title));
return link;
}
//}}}
// // }}}
// // {{groupbox small{
// // http://trac.tiddlywiki.org/ticket/444 - OPEN
// // When invoking a macro, this tweak makes the current containing tiddler object and DOM rendering location available as global variables (window.tiddler and window.place, respectively). These globals can then be used within "computed macro parameters" to retrieve tiddler-relative and/or DOM-relative values or perform tiddler-specific side-effect functionality.
//{{{
window.coreTweaks_invokeMacro = window.invokeMacro;
window.invokeMacro = function(place,macro,params,wikifier,tiddler) {
var here=story.findContainingTiddler(place);
window.tiddler=here?store.getTiddler(here.getAttribute("tiddler")):null;
window.place=place;
window.coreTweaks_invokeMacro.apply(this,arguments);
}
//}}}
// // }}}
// // {{groupbox small{
// // http://trac.tiddlywiki.org/ticket/401 - CLOSED: WON'T FIX
// // This tweak allows definition of an optional [[PageTitle]] tiddler that, when present, provides alternative text for display in the browser window's titlebar, instead of using the combined text content from [[SiteTitle]] and [[SiteSubtitle]] (which will still be displayed as usual in the TiddlyWiki document header area)
//{{{
window.coreTweaks_getPageTitle=window.getPageTitle;
window.getPageTitle=function() {
var txt=wikifyPlain("PageTitle"); if (txt.length) return txt;
return window.coreTweaks_getPageTitle.apply(this,arguments);
}
store.addNotification("PageTitle",refreshPageTitle); // so title stays in sync with tiddler changes
//}}}
// // }}}
// // {{groupbox small{
// // http://trac.tiddlywiki.org/ticket/67 - OPEN
// // The "missing links" list includes items contained within "quoted" text (i.e., content that will not render as wiki-syntax, and so CANNOT create any tiddler links, even if the quoted text matches valid link syntax). This tweak removes content contained between certain delimiters before scanning tiddler source for possible links.
/***
Delimiters include:
{{{
/%...%/
{{{...}}}
"""..."""
<nowiki>...</nowiki>
<html>...</html>
<script>...</script>
}}}
***/
//{{{
Tiddler.prototype.coreTweaks_changed = Tiddler.prototype.changed;
Tiddler.prototype.changed = function()
{
var savedtext=this.text;
// remove 'quoted' text before scanning tiddler source
this.text=this.text.replace(/\/%((?:.|\n)*?)%\//g,""); // /%...%/
this.text=this.text.replace(/\{{3}((?:.|\n)*?)\}{3}/g,""); // {{{...}}}
this.text=this.text.replace(/"{3}((?:.|\n)*?)"{3}/g,""); // """..."""
this.text=this.text.replace(/\<nowiki\>((?:.|\n)*?)\<\/nowiki\>/g,""); // <nowiki>...</nowiki>
this.text=this.text.replace(/\<html\>((?:.|\n)*?)\<\/html\>/g,""); // <html>...</html>
this.text=this.text.replace(/\<script((?:.|\n)*?)\<\/script\>/g,""); // <script>...</script>
this.coreTweaks_changed.apply(this,arguments);
// restore quoted text to tiddler source
this.text=savedtext;
};
//}}}
// // }}}
/***
!!! Fixed in current release (TW<<version>>)
***/
// // {{groupbox small{
// // calculate version number for conditional inclusion of tweaks below...
//{{{
var ver=version.major+version.minor/10+version.revision/100;
//}}}
// // }}}
// // {{groupbox small{
/***
!!#filter:"..." paramifier
http://trac.tiddlywiki.org/ticket/678 - FIXED IN TW241
displays all tiddlers that match any filter criteria (including tag-matching), using the {{{store.filterTiddlers()}}} syntax. Note use of double-quotes to enclose value to ensure that square-brackets within filter syntax are passed through for processing.
***/
//{{{
if (ver<2.41) {
config.paramifiers.filter = {
onstart: function(v) {
var tagged = store.filterTiddlers(v);
story.displayTiddlers(null,tagged,null,false,null);
}
};
}
//}}}
// // }}}
// // {{groupbox small{
/***
!!#tag:... paramifier
http://trac.tiddlywiki.org/ticket/677 - FIXED IN TW241
use {{{store.filterTiddlers()}}} instead of {{{store.getTaggedTiddlers()}}}. This permits enhanced tag-matching logic (such as boolean expression processing provided by [[MatchTagsPlugin]]) to be used, e.g., {{{#tag:"tag1 OR (tag2 AND NOT tag3)"}}}, instead of simply matching a single tag value.
***/
//{{{
if (ver<2.41) {
config.paramifiers.tag = {
onstart: function(v) {
var tagged = store.filterTiddlers("[tag["+v+"]]");
story.displayTiddlers(null,tagged,null,false,null);
}
};
}
//}}}
// // }}}
// // {{groupbox small{
/***
!!#recent:... paramifier
http://trac.tiddlywiki.org/ticket/675 - FIXED IN TW241
automatically display the N most recently changed tiddlers. N is, of course, an integer number. If N=0 (or is not a numeric value), the regular [[DefaultTiddlers]] will be displayed.
***/
//{{{
if (ver<2.41) {
config.paramifiers.recent= {
onstart: function(v) {
var titles=[];
var tids=store.getTiddlers("modified","excludeLists").reverse();
for (var t=0; t<v && t<tids.length; t++) titles.push(tids[t].title);
story.displayTiddlers(null,titles);
}
};
}
//}}}
// // }}}
// // {{groupbox small{
// // http://trac.tiddlywiki.org/ticket/635 - FIXED IN TW241
// // When using backstage>import "browse" button, resulting URL is improperly formed with "file://" prefix instead of "file:///" prefix. This causes errors when using Firefox 3 (beta) or when running under Windows Vista OS.
// // http://trac.tiddlywiki.org/ticket/638 - FIXED IN TW241
// // When entering text directly into path/file field, each keystroke is displayed and then discarded, preventing manual entry of path/file.
// // http://trac.tiddlywiki.org/ticket/639 - FIXED IN TW241
// // Pressing "enter" from URL or Browse input field immediately reloads the current document. Instead, it should trigger the "open" button for the import wizard (if a URL has been entered)
//{{{
if (ver<2.41) {
// #635 and #638
config.macros.importTiddlers.onBrowseChange = function(e)
{
var wizard = new Wizard(this);
var fileInput = wizard.getElement("txtPath");
fileInput.value = config.macros.importTiddlers.getURLFromLocalPath(this.value); // #635
var serverType = wizard.getElement("selTypes");
serverType.value = "file";
return true; // #638
};
// #635 - fixup local path/file to form absolute URL reference
config.macros.importTiddlers.getURLFromLocalPath = function(v)
{
if (!v||!v.length) return v;
v=v.replace(/\\/g,"/"); // use "/" for cross-platform consistency
var t=v.split(":"); p=t[1]||t[0]; // remove drive letter (if any)
if (t[1] && (t[0]=="http"||t[0]=="https"||t[0]=="file")) { // input is already a URL
var u=v;
} else if (p.substr(0,1)=="/") { // path is absolute, add protocol+domain+extra slash (if drive letter)
var u=document.location.protocol+"//"+document.location.hostname+(t[1]?"/":"")+v;
} else { // path is relative, add current document protocol+domain+path
var c=document.location.href.replace(/\\/g,"/");
var pos=c.lastIndexOf("/"); if (pos!=-1) c=c.substr(0,pos); // remove filename
var u=c+"/"+p;
}
return u;
}
// #639 - prevent form action and click "open" button if ENTER is pressed
config.macros.importTiddlers.coreTweaks_restart = config.macros.importTiddlers.restart;
config.macros.importTiddlers.restart = function(wizard)
{
config.macros.importTiddlers.coreTweaks_restart.apply(this,arguments);
wizard.formElem.action="javascript:;"
wizard.formElem.onsubmit=function() {
if (this.txtPath.value.length)
this.lastChild.firstChild.onclick(); // press "open" button
}
};
}
//}}}
// // }}}
// // {{groupbox small{
// // http://trac.tiddlywiki.org/ticket/623 - FIXED IN TW241
/***
This tweak allows date format strings to contain backslash-quoted characters that bypass date format replacement. This allows sequences such as "s\s", "m\m" or "a\m" to be used so that "ss", "mm" or "am" can appears as literal text within journal titles or other date-formatted values.
For example:
>{{{<<today "withhold less hummingbirds - YYYY.0MM.0DD 0hh:0mm:0ss">>}}}
>results in: <<today "withhold less hummingbirds - YYYY.0MM.0DD 0hh:0mm:0ss">>
while:
>{{{<<today "with\hold les\s hum\mingbirds - YYYY.0MM.0DD 0hh:0mm:0ss">>}}}
>results in: <<today "with\hold les\s hum\mingbirds - YYYY.0MM.0DD 0hh:0mm:0ss">>
***/
//{{{
if (ver<2.41) {
Date.prototype.coreTweaks_formatString = Date.prototype.formatString;
Date.prototype.formatString = function(template) {
var t = Date.prototype.coreTweaks_formatString.apply(this,arguments);
t = t.replace(/\\/g,""); // strip backslashes used to quote formats
return t;
};
}
//}}}
// // }}}
// // {{groupbox small{
// // http://trac.tiddlywiki.org/ticket/578 - FIXED IN TW240
// // This tweak trims any leading whitespace/newline and the trailing newline from tiddler sections
//{{{
if (ver<2.4) {
TiddlyWiki.prototype.coreTweaks_getTiddlerText = TiddlyWiki.prototype.getTiddlerText;
TiddlyWiki.prototype.getTiddlerText = function(title,defaultText)
{
var r=TiddlyWiki.prototype.coreTweaks_getTiddlerText.apply(this,arguments);
if (r&&title.indexOf(config.textPrimitives.sectionSeparator)!=-1)
r=r.replace(/^[ \t]*\n/,"").replace(/\n$/,""); // trim any leading/trailing newlines
return r;
};
}
//}}}
// // }}}
// // {{groupbox small{
// // http://trac.tiddlywiki.org/ticket/541 - FIXED IN TW240
// // This tweak adds a conditional check to the core's 'open' paramifier, so that when the document is viewed in readOnly mode, non-existent tiddlers specified using a permalink/permaview (i.e. "#TiddlerName" in the document URL) will not be displayed as an empty tiddler (which shows the "double-click to create" default text).
//{{{
if (ver<2.4) {
config.paramifiers.open = {
onstart: function(v) {
if(!readOnly || store.tiddlerExists(v) || store.isShadowTiddler(v))
story.displayTiddler("bottom",v,null,false,null);
}
};
}
//}}}
// // }}}
// // {{groupbox small{
// // http://trac.tiddlywiki.org/ticket/470 - FIXED IN TW240
// // This tweak lets you set an alternative initial focus field when editing a tiddler (default field is "text")
// // Enter initial focus field name: <<option txtEditorFocus>> (//usage:// {{{<<option txtEditorFocus>>}}})
//{{{
if (ver<2.4) {
config.commands.editTiddler.coreTweaks_handler = config.commands.editTiddler.handler;
config.commands.editTiddler.handler = function(event,src,title)
{
if (config.options.txtEditorFocus==undefined) config.options.txtEditorFocus="text";
this.coreTweaks_handler.apply(this,arguments);
story.focusTiddler(title,config.options.txtEditorFocus);
return false;
};
}
//}}}
// // }}}
// // {{groupbox small{
// // http://trac.tiddlywiki.org/ticket/468 - FIXED IN TW240
// // This tweak extends the core's {{{<<tag>>}}} macro to accept additional parameters for specifying alternative label and tooltip text for the tag popup "button" link (i.e., "`PrettyTags"). Based on a suggestion by ~PBee.
//{{{
// hijack tag handler()
if (ver<2.4) {
config.macros.tag.CoreTweaks_handler=config.macros.tag.handler;
config.macros.tag.handler = function(place,macroName,params)
{
this.CoreTweaks_handler.apply(this,arguments);
var btn=place.lastChild;
if (params[1]) btn.innerHTML=params[1];
if (params[2]) btn.title=params[2];
}
}
//}}}
// // }}}
// // {{groupbox small{
// // http://trac.tiddlywiki.org/ticket/320 - FIXED IN TW240
// // This tweak updates the core's forceReflow() function to fix a Firefox rendering problem, whereby the contents of the a tiddler editor text area can be incorrectly displayed (overlapping other content) when more than one tiddler is in edit mode.
//{{{
if (ver<2.4) {
function forceReflow()
{
if(config.browser.isGecko) {
setStylesheet("body {top:-0px;margin-top:0px;}");
setTimeout('setStylesheet("")',1); // invoke async to bypass browser optimization
}
}
}
//}}}
// // }}}
// // {{groupbox small{
// // http://trac.tiddlywiki.org/ticket/42 - FIXED IN TW240
// // This tweak adjusts the left position of a TW popup so that it won't overlap with the browser window's vertical scrollbar, when present.
//{{{
if (ver<2.4) {
Popup.place = function(root,popup,offset)
{
if(!offset) var offset = {x:0, y:0};
var rootLeft = findPosX(root);
var rootTop = findPosY(root);
var rootHeight = root.offsetHeight;
var popupLeft = rootLeft + offset.x;
var popupTop = rootTop + rootHeight + offset.y;
var winWidth = findWindowWidth();
if(popup.offsetWidth > winWidth*0.75)
popup.style.width = winWidth*0.75 + "px";
var popupWidth = popup.offsetWidth;
// ELS: leave space for vertical scrollbar
var scrollWidth=winWidth-document.body.offsetWidth;
if(popupLeft+popupWidth > winWidth-scrollWidth-1)
popupLeft = winWidth-popupWidth-scrollWidth-1;
popup.style.left = popupLeft + "px";
popup.style.top = popupTop + "px";
popup.style.display = "block";
};
}
//}}}
// // }}}
/***
!!!Unticketed Tweaks
***/
// // {{groupbox small{
/***
!!#animate:... paramifier
http://trac.tiddlywiki.org/ticket/TBD - TBD
This tweak provides a paramifier to turn on/off animation
***/
//{{{
config.paramifiers.animate= {
onstart: function(v) {
config.options.chkAnimate=eval(v);
}
};
//}}}
// // }}}
// // {{groupbox small{
// // This tweak adds an optional 'sortby' parameter to the {{{<<tag tagname label tip sortby>>}}} macro, as well as the {{{<<allTags excludeTag sortby>>}}} macro used to generate the sidebar contents 'tags' list. Specify the field on which the contents of each tag popup is to be sorted, with a "+" or "-" prefix to indicate ascending/descending order, respectively.
// // Example: {{{<<tag systemConfig "plugins" "list plugins by date, most recent first" "-modified">>}}}
// // Try it: <<tag systemConfig "plugins" "list plugins by date, most recent first" "-modified">>
// // Similarly, to change the sort order used by the popups from all tags shown in the sidebar contents, edit the [[TagTags]] shadow tiddler and enter: {{{<<allTags excludeLists -modified>>}}}
//{{{
// hijack tag handler() to add 'sortby' attribute to tag button
config.macros.tag.CoreTweaksSortTags_handler=config.macros.tag.handler;
config.macros.tag.handler = function(place,macroName,params)
{
this.CoreTweaksSortTags_handler.apply(this,arguments);
var btn=place.lastChild;
if (params[3]) btn.setAttribute("sortby",params[3]);
}
// TWEAK <<allTags>> macro to add 'sortby' attribute to each tag button
var fn=config.macros.allTags.handler;
var lines=fn.toString().split("\n");
lines.splice(lines.length-2,0,['if(params[1]) btn.setAttribute("sortby",params[1]);']);
fn=lines.join("\n");
eval("config.macros.allTags.handler="+fn);
// TWEAK event handler for clicking on a tiddler tag to use 'sortby' attribute
var fn=onClickTag;
fn=fn.toString().replace(
/store.getTaggedTiddlers\(tag\);/g,
'store.getTaggedTiddlers(tag);'
+'var sortby=this.getAttribute("sortby");'
+'if(sortby&&sortby.length) store.sortTiddlers(tagged,sortby);'
);
eval(fn);
//}}}
// // }}}
// // {{groupbox small{
// // This HIJACK tweak pre-processes source content to convert "double-backslash-newline" into {{{<br>}}} before wikify(), so that literal newlines can be embedded in line-mode wiki syntax (e.g., tables, bullets, etc.). Based on a suggestion from Sitaram Chamarty.
//{{{
window.coreWikify = wikify;
window.wikify = function(source,output,highlightRegExp,tiddler)
{
if (source) arguments[0]=source.replace(/\\\\\n/mg,"<br>");
coreWikify.apply(this,arguments);
}
//}}}
// // }}}
/***
|''Name:''|CryptoFunctionsPlugin|
|''Description:''|Support for cryptographic functions|
***/
//{{{
if(!version.extensions.CryptoFunctionsPlugin) {
version.extensions.CryptoFunctionsPlugin = {installed:true};
//--
//-- Crypto functions and associated conversion routines
//--
// Crypto "namespace"
function Crypto() {}
// Convert a string to an array of big-endian 32-bit words
Crypto.strToBe32s = function(str)
{
var be = Array();
var len = Math.floor(str.length/4);
var i, j;
for(i=0, j=0; i<len; i++, j+=4) {
be[i] = ((str.charCodeAt(j)&0xff) << 24)|((str.charCodeAt(j+1)&0xff) << 16)|((str.charCodeAt(j+2)&0xff) << 8)|(str.charCodeAt(j+3)&0xff);
}
while (j<str.length) {
be[j>>2] |= (str.charCodeAt(j)&0xff)<<(24-(j*8)%32);
j++;
}
return be;
};
// Convert an array of big-endian 32-bit words to a string
Crypto.be32sToStr = function(be)
{
var str = "";
for(var i=0;i<be.length*32;i+=8)
str += String.fromCharCode((be[i>>5]>>>(24-i%32)) & 0xff);
return str;
};
// Convert an array of big-endian 32-bit words to a hex string
Crypto.be32sToHex = function(be)
{
var hex = "0123456789ABCDEF";
var str = "";
for(var i=0;i<be.length*4;i++)
str += hex.charAt((be[i>>2]>>((3-i%4)*8+4))&0xF) + hex.charAt((be[i>>2]>>((3-i%4)*8))&0xF);
return str;
};
// Return, in hex, the SHA-1 hash of a string
Crypto.hexSha1Str = function(str)
{
return Crypto.be32sToHex(Crypto.sha1Str(str));
};
// Return the SHA-1 hash of a string
Crypto.sha1Str = function(str)
{
return Crypto.sha1(Crypto.strToBe32s(str),str.length);
};
// Calculate the SHA-1 hash of an array of blen bytes of big-endian 32-bit words
Crypto.sha1 = function(x,blen)
{
// Add 32-bit integers, wrapping at 32 bits
add32 = function(a,b)
{
var lsw = (a&0xFFFF)+(b&0xFFFF);
var msw = (a>>16)+(b>>16)+(lsw>>16);
return (msw<<16)|(lsw&0xFFFF);
};
// Add five 32-bit integers, wrapping at 32 bits
add32x5 = function(a,b,c,d,e)
{
var lsw = (a&0xFFFF)+(b&0xFFFF)+(c&0xFFFF)+(d&0xFFFF)+(e&0xFFFF);
var msw = (a>>16)+(b>>16)+(c>>16)+(d>>16)+(e>>16)+(lsw>>16);
return (msw<<16)|(lsw&0xFFFF);
};
// Bitwise rotate left a 32-bit integer by 1 bit
rol32 = function(n)
{
return (n>>>31)|(n<<1);
};
var len = blen*8;
// Append padding so length in bits is 448 mod 512
x[len>>5] |= 0x80 << (24-len%32);
// Append length
x[((len+64>>9)<<4)+15] = len;
var w = Array(80);
var k1 = 0x5A827999;
var k2 = 0x6ED9EBA1;
var k3 = 0x8F1BBCDC;
var k4 = 0xCA62C1D6;
var h0 = 0x67452301;
var h1 = 0xEFCDAB89;
var h2 = 0x98BADCFE;
var h3 = 0x10325476;
var h4 = 0xC3D2E1F0;
for(var i=0;i<x.length;i+=16) {
var j,t;
var a = h0;
var b = h1;
var c = h2;
var d = h3;
var e = h4;
for(j = 0;j<16;j++) {
w[j] = x[i+j];
t = add32x5(e,(a>>>27)|(a<<5),d^(b&(c^d)),w[j],k1);
e=d; d=c; c=(b>>>2)|(b<<30); b=a; a = t;
}
for(j=16;j<20;j++) {
w[j] = rol32(w[j-3]^w[j-8]^w[j-14]^w[j-16]);
t = add32x5(e,(a>>>27)|(a<<5),d^(b&(c^d)),w[j],k1);
e=d; d=c; c=(b>>>2)|(b<<30); b=a; a = t;
}
for(j=20;j<40;j++) {
w[j] = rol32(w[j-3]^w[j-8]^w[j-14]^w[j-16]);
t = add32x5(e,(a>>>27)|(a<<5),b^c^d,w[j],k2);
e=d; d=c; c=(b>>>2)|(b<<30); b=a; a = t;
}
for(j=40;j<60;j++) {
w[j] = rol32(w[j-3]^w[j-8]^w[j-14]^w[j-16]);
t = add32x5(e,(a>>>27)|(a<<5),(b&c)|(d&(b|c)),w[j],k3);
e=d; d=c; c=(b>>>2)|(b<<30); b=a; a = t;
}
for(j=60;j<80;j++) {
w[j] = rol32(w[j-3]^w[j-8]^w[j-14]^w[j-16]);
t = add32x5(e,(a>>>27)|(a<<5),b^c^d,w[j],k4);
e=d; d=c; c=(b>>>2)|(b<<30); b=a; a = t;
}
h0 = add32(h0,a);
h1 = add32(h1,b);
h2 = add32(h2,c);
h3 = add32(h3,d);
h4 = add32(h4,e);
}
return Array(h0,h1,h2,h3,h4);
};
}
//}}}
http://www.aaai.org/Papers/Symposia/Spring/2008/SS-08-04/SS08-04-012.pdf
/***
|''Name''|DeprecatedFunctionsPlugin|
|''Description''|Provides support for functions removed from the TiddlyWiki core|
|''Version''|1.0.0|
|''Status''|stable|
|''Source''|http://www.tiddlywiki.com/coreplugins.html#DeprecatedFunctionsPlugin|
|''~CodeRepository:''|http://svn.tiddlywiki.org/Trunk/association/plugins/DeprecatedFunctionsPlugin/DeprecatedFunctionsPlugin.js |
|''License''|[[BSD open source license]]|
|''~CoreVersion''|2.3.0|
|''Feedback''|[[TiddlyWiki community|http://groups.google.com/group/TiddlyWiki]] |
|''Keywords''|legacySupport|
!Code
***/
//{{{
if(!version.extensions.DeprecatedFunctionsPlugin) {
version.extensions.DeprecatedFunctionsPlugin = {installed:true};
//--
//-- Deprecated code
//--
// @Deprecated: Use createElementAndWikify and this.termRegExp instead
config.formatterHelpers.charFormatHelper = function(w)
{
w.subWikify(createTiddlyElement(w.output,this.element),this.terminator);
};
// @Deprecated: Use enclosedTextHelper and this.lookaheadRegExp instead
config.formatterHelpers.monospacedByLineHelper = function(w)
{
var lookaheadRegExp = new RegExp(this.lookahead,"mg");
lookaheadRegExp.lastIndex = w.matchStart;
var lookaheadMatch = lookaheadRegExp.exec(w.source);
if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
var text = lookaheadMatch[1];
if(config.browser.isIE)
text = text.replace(/\n/g,"\r");
createTiddlyElement(w.output,"pre",null,null,text);
w.nextMatch = lookaheadRegExp.lastIndex;
}
};
// @Deprecated: Use <br> or <br /> instead of <<br>>
config.macros.br = {};
config.macros.br.handler = function(place)
{
createTiddlyElement(place,"br");
};
// Find an entry in an array. Returns the array index or null
// @Deprecated: Use indexOf instead
Array.prototype.find = function(item)
{
var i = this.indexOf(item);
return i == -1 ? null : i;
};
// Load a tiddler from an HTML DIV. The caller should make sure to later call Tiddler.changed()
// @Deprecated: Use store.getLoader().internalizeTiddler instead
Tiddler.prototype.loadFromDiv = function(divRef,title)
{
return store.getLoader().internalizeTiddler(store,this,title,divRef);
};
// Format the text for storage in an HTML DIV
// @Deprecated Use store.getSaver().externalizeTiddler instead.
Tiddler.prototype.saveToDiv = function()
{
return store.getSaver().externalizeTiddler(store,this);
};
// @Deprecated: Use store.allTiddlersAsHtml() instead
function allTiddlersAsHtml()
{
return store.allTiddlersAsHtml();
}
// @Deprecated: Use refreshPageTemplate instead
function applyPageTemplate(title)
{
refreshPageTemplate(title);
}
// @Deprecated: Use story.displayTiddlers instead
function displayTiddlers(srcElement,titles,template,unused1,unused2,animate,unused3)
{
story.displayTiddlers(srcElement,titles,template,animate);
}
// @Deprecated: Use story.displayTiddler instead
function displayTiddler(srcElement,title,template,unused1,unused2,animate,unused3)
{
story.displayTiddler(srcElement,title,template,animate);
}
// @Deprecated: Use functions on right hand side directly instead
var createTiddlerPopup = Popup.create;
var scrollToTiddlerPopup = Popup.show;
var hideTiddlerPopup = Popup.remove;
// @Deprecated: Use right hand side directly instead
var regexpBackSlashEn = new RegExp("\\\\n","mg");
var regexpBackSlash = new RegExp("\\\\","mg");
var regexpBackSlashEss = new RegExp("\\\\s","mg");
var regexpNewLine = new RegExp("\n","mg");
var regexpCarriageReturn = new RegExp("\r","mg");
}
//}}}
[[Sessão 1~Domingo]] - [[Mapeando Buganças Sociais Locais|Sessão 1~Domingo]]
----
<script>config.options.txtURLs="Domingo";refreshDisplay();</script>
[[Eureka (word) - Wikipedia, the free encyclopedia|http://en.wikipedia.org/wiki/Eureka_(word)]]
Escreva o texto para 'Novo tiddler'
[[FRIEDRICH AUGUST KEKUL É|http://www.woodrow.org/teachers/ci/1992/Kekule.html]]
Este aquivo está no formato .html. Ele apresenta parte da programação deste curso e referências iniciais.
Na elaboração mais detalhada do curso apresentaremos maiores referências e imagens para as apresentações que serão inclusas aqui - na verdade as apresentações vão sair deste arquivo também. As Fotos tiradas durante o curso poderão ser incorporadas aqui, em um tipo de álbum. E ao final, cada participante receberá uma cópia em CD....o mesmo arquivo se transformará em lembrança, banco de dados, bibliografia e planejamento!
<html><h1 id="firstHeading" class="firstHeading"></h1>
<div id="bodyContent">
<h3 id="siteSub">From Wikipedia, the free encyclopedia</h3></div></html>
Source: [[Friedrich August Kekulé von Stradonitz - Wikipedia, the free encyclopedia|http://en.wikipedia.org/wiki/Friedrich_August_Kekul%C3%A9_von_Stradonitz]]
[[Future Scenarios - Introduction|http://www.futurescenarios.org/]]
Escreva o texto para 'Novo tiddler'
[[Downloads|http://www.united-globe.com/coachingnasescolas/investigacao.htm]]
/***
|Name|HTMLFormattingPlugin|
|Source|http://www.TiddlyTools.com/#HTMLFormattingPlugin|
|Documentation|http://www.TiddlyTools.com/#HTMLFormattingPluginInfo|
|Version|2.2.0|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|plugin|
|Requires||
|Overrides|'HTML' formatter|
|Description|embed wiki syntax formatting inside of HTML content|
The ~HTMLFormatting plugin allows you to ''mix wiki-style formatting syntax within HTML formatted content'' by extending the action of the standard TiddlyWiki formatting handler.
!!!!!Documentation
>see [[HTMLFormattingPluginInfo]]
!!!!!Revisions
<<<
2008.09.19 [2.2.0] in wikifyTextNodes(), don't wikify the contents of STYLE nodes (thanks to MorrisGray for bug report)
| see [[HTMLFormattingPluginInfo]] for additional revision details |
2005.06.26 [1.0.0] Initial Release (as code adaptation - pre-dates TiddlyWiki plugin architecture!!)
<<<
!!!!!Code
***/
//{{{
version.extensions.HTMLFormattingPlugin= {major: 2, minor: 2, revision: 0, date: new Date(2008,9,19)};
// find the formatter for HTML and replace the handler
initHTMLFormatter();
function initHTMLFormatter()
{
for (var i=0; i<config.formatters.length && config.formatters[i].name!="html"; i++);
if (i<config.formatters.length) config.formatters[i].handler=function(w) {
if (!this.lookaheadRegExp) // fixup for TW2.0.x
this.lookaheadRegExp = new RegExp(this.lookahead,"mg");
this.lookaheadRegExp.lastIndex = w.matchStart;
var lookaheadMatch = this.lookaheadRegExp.exec(w.source)
if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
var html=lookaheadMatch[1];
// if <hide linebreaks> is present, suppress wiki-style literal handling of newlines
if (html.indexOf('<hide linebreaks>')!=-1) html=html.replace(/\n/g,' ');
// remove all \r's added by IE textarea and mask newlines and macro brackets
html=html.replace(/\r/g,'').replace(/\n/g,'\\n').replace(/<</g,'%%(').replace(/>>/g,')%%');
// create span, let browser parse HTML
var e=createTiddlyElement(w.output,"span"); e.innerHTML=html;
// re-render text nodes as wiki-formatted content
wikifyTextNodes(e);
// continue parsing
w.nextMatch = this.lookaheadRegExp.lastIndex;
}
}
}
// wikify text nodes remaining after HTML content is processed (pre-order recursion)
function wikifyTextNodes(theNode)
{
function unmask(s) { return s.replace(/\%%\(/g,'<<').replace(/\)\%%/g,'>>').replace(/\\n/g,'\n'); }
switch (theNode.nodeName.toLowerCase()) {
case 'style': case 'option': case 'select':
theNode.innerHTML=unmask(theNode.innerHTML);
break;
case 'textarea':
theNode.value=unmask(theNode.value);
break;
case '#text':
var txt=unmask(theNode.nodeValue);
var newNode=createTiddlyElement(null,"span");
theNode.parentNode.replaceChild(newNode,theNode);
wikify(txt,newNode);
break;
default:
for (var i=0;i<theNode.childNodes.length;i++)
wikifyTextNodes(theNode.childNodes.item(i)); // recursion
break;
}
}
//}}}
[[Henri Poincaré - Wikipédia, a enciclopédia livre|http://pt.wikipedia.org/wiki/Henri_Poincar%C3%A9]]
/***
|Name:|HideWhenPlugin|
|Description:|Allows conditional inclusion/exclusion in templates|
|Version:|3.1 ($Rev: 3919 $)|
|Date:|$Date: 2008-03-13 02:03:12 +1000 (Thu, 13 Mar 2008) $|
|Source:|http://mptw.tiddlyspot.com/#HideWhenPlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License:|http://mptw.tiddlyspot.com/#TheBSDLicense|
For use in ViewTemplate and EditTemplate. Example usage:
{{{<div macro="showWhenTagged Task">[[TaskToolbar]]</div>}}}
{{{<div macro="showWhen tiddler.modifier == 'BartSimpson'"><img src="bart.gif"/></div>}}}
***/
//{{{
window.hideWhenLastTest = false;
window.removeElementWhen = function(test,place) {
window.hideWhenLastTest = test;
if (test) {
removeChildren(place);
place.parentNode.removeChild(place);
}
};
merge(config.macros,{
hideWhen: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( eval(paramString), place);
}},
showWhen: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( !eval(paramString), place);
}},
hideWhenTagged: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( tiddler.tags.containsAll(params), place);
}},
showWhenTagged: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( !tiddler.tags.containsAll(params), place);
}},
hideWhenTaggedAny: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( tiddler.tags.containsAny(params), place);
}},
showWhenTaggedAny: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( !tiddler.tags.containsAny(params), place);
}},
hideWhenTaggedAll: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( tiddler.tags.containsAll(params), place);
}},
showWhenTaggedAll: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( !tiddler.tags.containsAll(params), place);
}},
hideWhenExists: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( store.tiddlerExists(params[0]) || store.isShadowTiddler(params[0]), place);
}},
showWhenExists: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( !(store.tiddlerExists(params[0]) || store.isShadowTiddler(params[0])), place);
}},
hideWhenTitleIs: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( tiddler.title == params[0], place);
}},
showWhenTitleIs: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( tiddler.title != params[0], place);
}},
'else': { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( !window.hideWhenLastTest, place);
}}
});
//}}}
Escreva o texto para 'Novo tiddler'
http://www.tributoaoiguacu.org.br/metodologia/investigacao_apreciativa.pdf
/***
|Name|InlineJavascriptPlugin|
|Source|http://www.TiddlyTools.com/#InlineJavascriptPlugin|
|Documentation|http://www.TiddlyTools.com/#InlineJavascriptPluginInfo|
|Version|1.9.2|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|plugin|
|Requires||
|Overrides||
|Description|Insert Javascript executable code directly into your tiddler content.|
''Call directly into TW core utility routines, define new functions, calculate values, add dynamically-generated TiddlyWiki-formatted output'' into tiddler content, or perform any other programmatic actions each time the tiddler is rendered.
!!!!!Documentation
>see [[InlineJavascriptPluginInfo]]
!!!!!Revisions
<<<
2008.03.03 [1.9.2] corrected declaration of wikifyPlainText() for 'TW 2.1.x compatibility fallback' (fixes Safari "parse error")
2008.02.23 [1.9.1] in onclick function, use string instead of array for 'bufferedHTML' attribute on link element (fixes IE errors)
2008.02.21 [1.9.0] 'onclick' scripts now allow returned text (or document.write() calls) to be wikified into a span that immediately follows the onclick link. Also, added default 'return false' handling if no return value provided (prevents HREF from being triggered -- return TRUE to allow HREF to be processed). Thanks to Xavier Verges for suggestion and preliminary code.
|please see [[InlineJavascriptPluginInfo]] for additional revision details|
2005.11.08 [1.0.0] initial release
<<<
!!!!!Code
***/
//{{{
version.extensions.inlineJavascript= {major: 1, minor: 9, revision: 2, date: new Date(2008,3,3)};
config.formatters.push( {
name: "inlineJavascript",
match: "\\<script",
lookahead: "\\<script(?: src=\\\"((?:.|\\n)*?)\\\")?(?: label=\\\"((?:.|\\n)*?)\\\")?(?: title=\\\"((?:.|\\n)*?)\\\")?(?: key=\\\"((?:.|\\n)*?)\\\")?( show)?\\>((?:.|\\n)*?)\\</script\\>",
handler: function(w) {
var lookaheadRegExp = new RegExp(this.lookahead,"mg");
lookaheadRegExp.lastIndex = w.matchStart;
var lookaheadMatch = lookaheadRegExp.exec(w.source)
if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
var src=lookaheadMatch[1];
var label=lookaheadMatch[2];
var tip=lookaheadMatch[3];
var key=lookaheadMatch[4];
var show=lookaheadMatch[5];
var code=lookaheadMatch[6];
if (src) { // load a script library
// make script tag, set src, add to body to execute, then remove for cleanup
var script = document.createElement("script"); script.src = src;
document.body.appendChild(script); document.body.removeChild(script);
}
if (code) { // there is script code
if (show) // show inline script code in tiddler output
wikify("{{{\n"+lookaheadMatch[0]+"\n}}}\n",w.output);
if (label) { // create a link to an 'onclick' script
// add a link, define click handler, save code in link (pass 'place'), set link attributes
var link=createTiddlyElement(w.output,"a",null,"tiddlyLinkExisting",wikifyPlainText(label));
var fixup=code.replace(/document.write\s*\(/gi,'place.bufferedHTML+=(');
link.code="function _out(place){"+fixup+"\n};_out(this);"
link.tiddler=w.tiddler;
link.onclick=function(){
this.bufferedHTML="";
try{ var r=eval(this.code);
if(this.bufferedHTML.length || (typeof(r)==="string")&&r.length)
var s=this.parentNode.insertBefore(document.createElement("span"),this.nextSibling);
if(this.bufferedHTML.length)
s.innerHTML=this.bufferedHTML;
if((typeof(r)==="string")&&r.length) {
wikify(r,s,null,this.tiddler);
return false;
} else return r!==undefined?r:false;
} catch(e){alert(e.description||e.toString());return false;}
};
link.setAttribute("title",tip||"");
var URIcode='javascript:void(eval(decodeURIComponent(%22(function(){try{';
URIcode+=encodeURIComponent(encodeURIComponent(code.replace(/\n/g,' ')));
URIcode+='}catch(e){alert(e.description||e.toString())}})()%22)))';
link.setAttribute("href",URIcode);
link.style.cursor="pointer";
if (key) link.accessKey=key.substr(0,1); // single character only
}
else { // run inline script code
var fixup=code.replace(/document.write\s*\(/gi,'place.innerHTML+=(');
var code="function _out(place){"+fixup+"\n};_out(w.output);"
try { var out=eval(code); } catch(e) { out=e.description?e.description:e.toString(); }
if (out && out.length) wikify(out,w.output,w.highlightRegExp,w.tiddler);
}
}
w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;
}
}
} )
//}}}
// // Backward-compatibility for TW2.1.x and earlier
//{{{
if (typeof(wikifyPlainText)=="undefined") window.wikifyPlainText=function(text,limit,tiddler) {
if(limit > 0) text = text.substr(0,limit);
var wikifier = new Wikifier(text,formatter,null,tiddler);
return wikifier.wikifyPlain();
}
//}}}
[[Introduction to Permaculture: Concepts and Resources|http://www.attra.org/attra-pub/perma.html]]
<html>ções humanas</html>
Source: [[Investigação Apreciativa « Apreciando|http://mafeteco.wordpress.com/investigacao-apreciativa-2/]]
.treeview, .treeview ul {
padding: 0;
margin: 0;
list-style: none;
}
.treeview ul {
background-color: white;
margin-top: 4px;
}
.treeview .hitarea {
background: url([[treeview-default.gif]]) -64px -25px no-repeat;
height: 16px;
width: 16px;
margin-left: -16px;
float: left;
cursor: pointer;
}
/* fix for IE6 */
* html .hitarea {
display: inline;
float:none;
}
.treeview li {
margin: 0;
padding: 3px 0pt 3px 16px;
}
.treeview a.selected {
background-color: #eee;
}
#treecontrol { margin: 1em 0; display: none; }
.treeview .hover { color: red; cursor: pointer; }
.treeview li { background: url([[treeview-red-line.gif]]) 0 0 no-repeat; }
.treeview li.collapsable, .treeview li.expandable { background-position: 0 -176px; }
.treeview .expandable-hitarea { background-position: -80px -3px; }
.treeview li.last { background-position: 0 -1766px }
.treeview li.lastCollapsable, .treeview li.lastExpandable { background-image: url([[treeview-default.gif]]); }
.treeview li.lastCollapsable { background-position: 0 -111px }
.treeview li.lastExpandable { background-position: -32px -67px }
.treeview div.lastCollapsable-hitarea, .treeview div.lastExpandable-hitarea { background-position: 0; }
.treeview-red li { background-image: url([[treeview-red-line.gif]]); }
.treeview-red .hitarea, .treeview-red li.lastCollapsable, .treeview-red li.lastExpandable { background-image: url([[treeview-red.gif]]); }
.treeview-black li { background-image: url([[treeview-black-line.gif]]); }
.treeview-black .hitarea, .treeview-black li.lastCollapsable, .treeview-black li.lastExpandable { background-image: url([[treeview-black.gif]]); }
.treeview-gray li { background-image: url([[treeview-gray-line.gif]]); }
.treeview-gray .hitarea, .treeview-gray li.lastCollapsable, .treeview-gray li.lastExpandable { background-image: url([[treeview-gray.gif]]); }
.treeview-famfamfam li { background-image: url([[treeview-famfamfam-line.gif]]); }
.treeview-famfamfam .hitarea, .treeview-famfamfam li.lastCollapsable, .treeview-famfamfam li.lastExpandable { background-image: url([[treeview-famfamfam.gif]]); }
.filetree li { padding: 3px 0 2px 16px; }
.filetree span.folder, .filetree span.file { padding: 1px 0 1px 16px; display: block; }
.filetree span.folder { background: url([[openbook.gif]]) 0 0 no-repeat; }
.filetree li.expandable span.folder { background: url([[book.gif]]) 0 0 no-repeat; }
.filetree span.file { background: url([[file.gif]]) 0 0 no-repeat; }
[[KEKULÉ VON STRADONITZ, [FRIEDRICH] AUGUST (1829 - 1896)|http://www.scs.uiuc.edu/~mainzv/exhibit/kekule.htm]]
Escreva o texto para 'Novo tiddler'
[[Kekulé|http://www.geocities.com/~esabio/interacao/kekule.htm]]
/***
|Name:|LessBackupsPlugin|
|Description:|Intelligently limit the number of backup files you create|
|Version:|3.0 ($Rev: 2320 $)|
|Date:|$Date: 2007-06-18 22:37:46 +1000 (Mon, 18 Jun 2007) $|
|Source:|http://mptw.tiddlyspot.com/#LessBackupsPlugin|
|Author:|Simon Baird|
|Email:|simon.baird@gmail.com|
|License:|http://mptw.tiddlyspot.com/#TheBSDLicense|
!!Description
You end up with just backup one per year, per month, per weekday, per hour, minute, and second. So total number won't exceed about 200 or so. Can be reduced by commenting out the seconds/minutes/hours line from modes array
!!Notes
Works in IE and Firefox only. Algorithm by Daniel Baird. IE specific code by by Saq Imtiaz.
***/
//{{{
window.getSpecialBackupPath = function(backupPath) {
var MINS = 60 * 1000;
var HOURS = 60 * MINS;
var DAYS = 24 * HOURS;
// comment out the ones you don't want
var modes = [
["YYYY", 365*DAYS], // one per year for ever
["MMM", 31*DAYS], // one per month
["latest",0] // always keep last version. (leave this).
];
var now = new Date();
for (var i=0;i<modes.length;i++) {
// the filename we will try
var specialBackupPath = backupPath.replace(/(\.)([0-9]+\.[0-9]+)(\.html)$/,
'$1'+now.formatString(modes[i][0]).toLowerCase()+'$3')
// open the file
try {
if (config.browser.isIE) {
var fsobject = new ActiveXObject("Scripting.FileSystemObject")
var fileExists = fsobject.FileExists(specialBackupPath);
if (fileExists) {
var fileObject = fsobject.GetFile(specialBackupPath);
var modDate = new Date(fileObject.DateLastModified).valueOf();
}
}
else {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
file.initWithPath(specialBackupPath);
var fileExists = file.exists();
if (fileExists) {
var modDate = file.lastModifiedTime;
}
}
}
catch(e) {
// give up
return backupPath;
}
// expiry is used to tell if it's an 'old' one. Eg, if the month is June and there is a
// June file on disk that's more than an month old then it must be stale so overwrite
// note that "latest" should be always written because the expiration period is zero (see above)
var expiry = new Date(modDate + modes[i][1]);
if (!fileExists || now > expiry)
return specialBackupPath;
}
}
// hijack the core function
window.getBackupPath_mptw_orig = window.getBackupPath;
window.getBackupPath = function(localPath) {
return getSpecialBackupPath(getBackupPath_mptw_orig(localPath));
}
//}}}
@@padding-left:2em;font-size:1.1em;color:#c06;[[Treeview topic menu|TopicTop]]@@
<<tiddler TopicTop>>
----
A Treemenu can be a stand alone and/or a subTopic. [[more...|CombineTrees]]
<<tiddler SetupTop>>
----
{{center{[img[Pc-Flower-Icon-2.gif]]
//''Permacultura -
a arte da resiliência''//}}}
''Curso #1''
<<forEachTiddler where 'tiddler.tags.contains("Tema")' sortBy 'tiddler.title'>>
''Curso #2''
<<forEachTiddler where 'tiddler.tags.contains("Tema2")' sortBy 'tiddler.title'>>
__''~URLs''__
<<treeview2 {{config.options.txtURLs}} "filetree" 'collapsed: true, antisesame: "closed", animated: "normal", persist: "cookie", cookieId: "teuid"' >>
<script>
/*
* Treeview 1.4 - jQuery plugin to hide and show branches of a tree
*
* http://bassistance.de/jquery-plugins/jquery-plugin-treeview/
* http://docs.jquery.com/Plugins/Treeview
*
* Copyright (c) 2007 Jörn Zaefferer
*
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*
* Revision: $Id: jquery.treeview.js 4684 2008-02-07 19:08:06Z joern.zaefferer $
*
*/
;(function($) {
$.extend($.fn, {
swapClass: function(c1, c2) {
var c1Elements = this.filter('.' + c1);
this.filter('.' + c2).removeClass(c2).addClass(c1);
c1Elements.removeClass(c1).addClass(c2);
return this;
},
replaceClass: function(c1, c2) {
return this.filter('.' + c1).removeClass(c1).addClass(c2).end();
},
hoverClass: function(className) {
className = className || "hover";
return this.hover(function() {
$(this).addClass(className);
}, function() {
$(this).removeClass(className);
});
},
heightToggle: function(animated, callback) {
animated ?
this.animate({ height: "toggle" }, animated, callback) :
this.each(function(){
jQuery(this)[ jQuery(this).is(":hidden") ? "show" : "hide" ]();
if(callback)
callback.apply(this, arguments);
});
},
heightHide: function(animated, callback) {
if (animated) {
this.animate({ height: "hide" }, animated, callback);
} else {
this.hide();
if (callback)
this.each(callback);
}
},
prepareBranches: function(settings) {
if (!settings.prerendered) {
// mark last tree items
this.filter(":last-child:not(ul)").addClass(CLASSES.last);
// collapse whole tree, or only those marked as closed, anyway except those marked as open
this.filter((settings.collapsed ? "" : "." + CLASSES.closed) + ":not(." + CLASSES.open + ")").find(">ul").hide();
}
// return all items with sublists
return this.filter(":has(>ul)");
},
applyClasses: function(settings, toggler) {
this.filter(":has(>ul):not(:has(>a))").find(">span").click(function(event) {
toggler.apply($(this).next());
}).add( $("a", this) ).hoverClass();
if (!settings.prerendered) {
// handle closed ones first
this.filter(":has(>ul:hidden)")
.addClass(CLASSES.expandable)
.replaceClass(CLASSES.last, CLASSES.lastExpandable);
// handle open ones
this.not(":has(>ul:hidden)")
.addClass(CLASSES.collapsable)
.replaceClass(CLASSES.last, CLASSES.lastCollapsable);
// create hitarea
this.prepend("<div class=\"" + CLASSES.hitarea + "\"/>").find("div." + CLASSES.hitarea).each(function() {
var classes = "";
$.each($(this).parent().attr("class").split(" "), function() {
classes += this + "-hitarea ";
});
$(this).addClass( classes );
});
}
// apply event to hitarea
this.find("div." + CLASSES.hitarea).click( toggler );
},
treeview: function(settings) {
settings = $.extend({
cookieId: "treeview"
}, settings);
if (settings.add) {
return this.trigger("add", [settings.add]);
}
if ( settings.toggle ) {
var callback = settings.toggle;
settings.toggle = function() {
return callback.apply($(this).parent()[0], arguments);
};
}
// factory for treecontroller
function treeController(tree, control) {
// factory for click handlers
function handler(filter) {
return function() {
// reuse toggle event handler, applying the elements to toggle
// start searching for all hitareas
toggler.apply( $("div." + CLASSES.hitarea, tree).filter(function() {
// for plain toggle, no filter is provided, otherwise we need to check the parent element
return filter ? $(this).parent("." + filter).length : true;
}) );
return false;
};
}
// click on first element to collapse tree
$("a:eq(0)", control).click( handler(CLASSES.collapsable) );
// click on second to expand tree
$("a:eq(1)", control).click( handler(CLASSES.expandable) );
// click on third to toggle tree
$("a:eq(2)", control).click( handler() );
}
// handle toggle event
function toggler() {
$(this)
.parent()
// swap classes for hitarea
.find(">.hitarea")
.swapClass( CLASSES.collapsableHitarea, CLASSES.expandableHitarea )
.swapClass( CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea )
.end()
// swap classes for parent li
.swapClass( CLASSES.collapsable, CLASSES.expandable )
.swapClass( CLASSES.lastCollapsable, CLASSES.lastExpandable )
// find child lists
.find( ">ul" )
// toggle them
.heightToggle( settings.animated, settings.toggle );
if ( settings.unique ) {
$(this).parent()
.siblings()
// swap classes for hitarea
.find(">.hitarea")
.replaceClass( CLASSES.collapsableHitarea, CLASSES.expandableHitarea )
.replaceClass( CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea )
.end()
.replaceClass( CLASSES.collapsable, CLASSES.expandable )
.replaceClass( CLASSES.lastCollapsable, CLASSES.lastExpandable )
.find( ">ul" )
.heightHide( settings.animated, settings.toggle );
}
}
function serialize() {
function binary(arg) {
return arg ? 1 : 0;
}
var data = [];
branches.each(function(i, e) {
data[i] = $(e).is(":has(>ul:visible)") ? 1 : 0;
});
$.cookie(settings.cookieId, data.join("") );
}
function deserialize() {
var stored = $.cookie(settings.cookieId);
if ( stored ) {
var data = stored.split("");
branches.each(function(i, e) {
$(e).find(">ul")[ parseInt(data[i]) ? "show" : "hide" ]();
});
}
}
// add treeview class to activate styles
this.addClass("treeview");
// prepare branches and find all tree items with child lists
var branches = this.find("li").prepareBranches(settings);
switch(settings.persist) {
case "cookie":
var toggleCallback = settings.toggle;
settings.toggle = function() {
serialize();
if (toggleCallback) {
toggleCallback.apply(this, arguments);
}
};
deserialize();
break;
case "location":
var current = this.find("a").filter(function() { return this.href.toLowerCase() == location.href.toLowerCase(); });
if ( current.length ) {
current.addClass("selected").parents("ul, li").add( current.next() ).show();
}
break;
}
branches.applyClasses(settings, toggler);
// if control option is set, create the treecontroller and show it
if ( settings.control ) {
treeController(this, settings.control);
$(settings.control).show();
}
return this.bind("add", function(event, branches) {
$(branches).prev()
.removeClass(CLASSES.last)
.removeClass(CLASSES.lastCollapsable)
.removeClass(CLASSES.lastExpandable)
.find(">.hitarea")
.removeClass(CLASSES.lastCollapsableHitarea)
.removeClass(CLASSES.lastExpandableHitarea);
$(branches).find("li").andSelf().prepareBranches(settings).applyClasses(settings, toggler);
});
}
});
// classes used by the plugin
// need to be styled via external stylesheet, see first example
var CLASSES = $.fn.treeview.classes = {
open: "open",
closed: "closed",
expandable: "expandable",
expandableHitarea: "expandable-hitarea",
lastExpandableHitarea: "lastExpandable-hitarea",
collapsable: "collapsable",
collapsableHitarea: "collapsable-hitarea",
lastCollapsableHitarea: "lastCollapsable-hitarea",
lastCollapsable: "lastCollapsable",
lastExpandable: "lastExpandable",
last: "last",
hitarea: "hitarea"
};
// provide backwards compability
$.fn.Treeview = $.fn.treeview;
})(jQuery);
</script>
[[Methods and Tools - Future Scenarios|http://www.cifor.cgiar.org/acm/methods/fs.html]]
[[NIF : "Planning for Real®" : What is "Planning for Real®"?|http://www.nif.co.uk/planningforreal/]]
/***
|Name|NestedSlidersPlugin|
|Source|http://www.TiddlyTools.com/#NestedSlidersPlugin|
|Documentation|http://www.TiddlyTools.com/#NestedSlidersPluginInfo|
|Version|2.4.9|
|Author|Eric Shulman - ELS Design Studios with one tweak by Dave Gifford. MAY BE OUTDATED! FOR A CLEAN, UPDATED COPY, FOLLOW THE SOURCE LINK ABOVE|
|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|plugin|
|Requires||
|Overrides||
|Options|##Configuration|
|Description|show content in nest-able sliding/floating panels, without creating separate tiddlers for each panel's content|
!!!!!Documentation
>see [[NestedSlidersPluginInfo]]
!!!!!Configuration
<<<
<<option chkFloatingSlidersAnimate>> allow floating sliders to animate when opening/closing
>Note: This setting can cause 'clipping' problems in some versions of InternetExplorer.
>In addition, for floating slider animation to occur you must also allow animation in general (see [[AdvancedOptions]]).
<<<
!!!!!Revisions
<<<
2008.11.15 - 2.4.9 in adjustNestedSlider(), don't make adjustments if panel is marked as 'undocked' (CSS class). In onClickNestedSlider(), SHIFT-CLICK docks panel (see [[MoveablePanelPlugin]])
|please see [[NestedSlidersPluginInfo]] for additional revision details|
2005.11.03 - 1.0.0 initial public release. Thanks to RodneyGomes, GeoffSlocock, and PaulPetterson for suggestions and experiments.
<<<
!!!!!Code
***/
//{{{
version.extensions.NestedSlidersPlugin= {major: 2, minor: 4, revision: 9, date: new Date(2008,11,15)};
// options for deferred rendering of sliders that are not initially displayed
if (config.options.chkFloatingSlidersAnimate===undefined)
config.options.chkFloatingSlidersAnimate=false; // avoid clipping problems in IE
// default styles for 'floating' class
setStylesheet(".floatingPanel { position:absolute; z-index:10; padding:0.5em; margin:0em; \
background-color:#eee; color:#000; border:1px solid #000; text-align:left; }","floatingPanelStylesheet");
// if removeCookie() function is not defined by TW core, define it here.
if (window.removeCookie===undefined) {
window.removeCookie=function(name) {
document.cookie = name+'=; expires=Thu, 01-Jan-1970 00:00:01 UTC; path=/;';
}
}
config.formatters.push( {
name: "nestedSliders",
match: "\\n?\\+{3}",
terminator: "\\s*\\={3}\\n?",
lookahead: "\\n?\\+{3}(\\+)?(\\([^\\)]*\\))?(\\!*)?(\\^(?:[^\\^\\*\\@\\[\\>]*\\^)?)?(\\*)?(\\@)?(?:\\{\\{([\\w]+[\\s\\w]*)\\{)?(\\[[^\\]]*\\])?(\\[[^\\]]*\\])?(?:\\}{3})?(\\#[^:]*\\:)?(\\>)?(\\.\\.\\.)?\\s*",
handler: function(w)
{
lookaheadRegExp = new RegExp(this.lookahead,"mg");
lookaheadRegExp.lastIndex = w.matchStart;
var lookaheadMatch = lookaheadRegExp.exec(w.source)
if(lookaheadMatch && lookaheadMatch.index == w.matchStart)
{
var defopen=lookaheadMatch[1];
var cookiename=lookaheadMatch[2];
var header=lookaheadMatch[3];
var panelwidth=lookaheadMatch[4];
var transient=lookaheadMatch[5];
var hover=lookaheadMatch[6];
var buttonClass=lookaheadMatch[7];
var label=lookaheadMatch[8];
var openlabel=lookaheadMatch[9];
var panelID=lookaheadMatch[10];
var blockquote=lookaheadMatch[11];
var deferred=lookaheadMatch[12];
// location for rendering button and panel
var place=w.output;
// default to closed, no cookie, no accesskey, no alternate text/tip
var show="none"; var cookie=""; var key="";
var closedtext=" ►"; var closedtip="";
var openedtext="►"; var openedtip="";
// extra "+", default to open
if (defopen) show="block";
// cookie, use saved open/closed state
if (cookiename) {
cookie=cookiename.trim().slice(1,-1);
cookie="chkSlider"+cookie;
if (config.options[cookie]==undefined)
{ config.options[cookie] = (show=="block") }
show=config.options[cookie]?"block":"none";
}
// parse label/tooltip/accesskey: [label=X|tooltip]
if (label) {
var parts=label.trim().slice(1,-1).split("|");
closedtext=parts.shift();
if (closedtext.substr(closedtext.length-2,1)=="=")
{ key=closedtext.substr(closedtext.length-1,1); closedtext=closedtext.slice(0,-2); }
openedtext=closedtext;
if (parts.length) closedtip=openedtip=parts.join("|");
else { closedtip="show "+closedtext; openedtip="hide "+closedtext; }
}
// parse alternate label/tooltip: [label|tooltip]
if (openlabel) {
var parts=openlabel.trim().slice(1,-1).split("|");
openedtext=parts.shift();
if (parts.length) openedtip=parts.join("|");
else openedtip="hide "+openedtext;
}
var title=show=='block'?openedtext:closedtext;
var tooltip=show=='block'?openedtip:closedtip;
// create the button
if (header) { // use "Hn" header format instead of button/link
var lvl=(header.length>5)?5:header.length;
var btn = createTiddlyElement(createTiddlyElement(place,"h"+lvl,null,null,null),"a",null,buttonClass,title);
btn.onclick=onClickNestedSlider;
btn.setAttribute("href","javascript:;");
btn.setAttribute("title",tooltip);
}
else
var btn = createTiddlyButton(place,title,tooltip,onClickNestedSlider,buttonClass);
btn.innerHTML=title; // enables use of HTML entities in label
// set extra button attributes
btn.setAttribute("closedtext",closedtext);
btn.setAttribute("closedtip",closedtip);
btn.setAttribute("openedtext",openedtext);
btn.setAttribute("openedtip",openedtip);
btn.sliderCookie = cookie; // save the cookiename (if any) in the button object
btn.defOpen=defopen!=null; // save default open/closed state (boolean)
btn.keyparam=key; // save the access key letter ("" if none)
if (key.length) {
btn.setAttribute("accessKey",key); // init access key
btn.onfocus=function(){this.setAttribute("accessKey",this.keyparam);}; // **reclaim** access key on focus
}
btn.setAttribute("hover",hover?"true":"false");
btn.onmouseover=function(ev) {
// optional 'open on hover' handling
if (this.getAttribute("hover")=="true" && this.sliderPanel.style.display=='none') {
document.onclick.call(document,ev); // close transients
onClickNestedSlider(ev); // open this slider
}
// mouseover on button aligns floater position with button
if (window.adjustSliderPos) window.adjustSliderPos(this.parentNode,this,this.sliderPanel);
}
// create slider panel
var panelClass=panelwidth?"floatingPanel":"sliderPanel";
if (panelID) panelID=panelID.slice(1,-1); // trim off delimiters
var panel=createTiddlyElement(place,"div",panelID,panelClass,null);
panel.button = btn; // so the slider panel know which button it belongs to
btn.sliderPanel=panel; // so the button knows which slider panel it belongs to
panel.defaultPanelWidth=(panelwidth && panelwidth.length>2)?panelwidth.slice(1,-1):"";
panel.setAttribute("transient",transient=="*"?"true":"false");
panel.style.display = show;
panel.style.width=panel.defaultPanelWidth;
panel.onmouseover=function(event) // mouseover on panel aligns floater position with button
{ if (window.adjustSliderPos) window.adjustSliderPos(this.parentNode,this.button,this); }
// render slider (or defer until shown)
w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;
if ((show=="block")||!deferred) {
// render now if panel is supposed to be shown or NOT deferred rendering
w.subWikify(blockquote?createTiddlyElement(panel,"blockquote"):panel,this.terminator);
// align floater position with button
if (window.adjustSliderPos) window.adjustSliderPos(place,btn,panel);
}
else {
var src = w.source.substr(w.nextMatch);
var endpos=findMatchingDelimiter(src,"+++","===");
panel.setAttribute("raw",src.substr(0,endpos));
panel.setAttribute("blockquote",blockquote?"true":"false");
panel.setAttribute("rendered","false");
w.nextMatch += endpos+3;
if (w.source.substr(w.nextMatch,1)=="\n") w.nextMatch++;
}
}
}
}
)
function findMatchingDelimiter(src,starttext,endtext) {
var startpos = 0;
var endpos = src.indexOf(endtext);
// check for nested delimiters
while (src.substring(startpos,endpos-1).indexOf(starttext)!=-1) {
// count number of nested 'starts'
var startcount=0;
var temp = src.substring(startpos,endpos-1);
var pos=temp.indexOf(starttext);
while (pos!=-1) { startcount++; pos=temp.indexOf(starttext,pos+starttext.length); }
// set up to check for additional 'starts' after adjusting endpos
startpos=endpos+endtext.length;
// find endpos for corresponding number of matching 'ends'
while (startcount && endpos!=-1) {
endpos = src.indexOf(endtext,endpos+endtext.length);
startcount--;
}
}
return (endpos==-1)?src.length:endpos;
}
//}}}
//{{{
window.onClickNestedSlider=function(e)
{
if (!e) var e = window.event;
var theTarget = resolveTarget(e);
while (theTarget && theTarget.sliderPanel==undefined) theTarget=theTarget.parentNode;
if (!theTarget) return false;
var theSlider = theTarget.sliderPanel;
var isOpen = theSlider.style.display!="none";
// if SHIFT-CLICK, dock panel first (see [[MoveablePanelPlugin]])
if (e.shiftKey && config.macros.moveablePanel) config.macros.moveablePanel.dock(theSlider,e);
// toggle label
theTarget.innerHTML=isOpen?theTarget.getAttribute("closedText"):theTarget.getAttribute("openedText");
// toggle tooltip
theTarget.setAttribute("title",isOpen?theTarget.getAttribute("closedTip"):theTarget.getAttribute("openedTip"));
// deferred rendering (if needed)
if (theSlider.getAttribute("rendered")=="false") {
var place=theSlider;
if (theSlider.getAttribute("blockquote")=="true")
place=createTiddlyElement(place,"blockquote");
wikify(theSlider.getAttribute("raw"),place);
theSlider.setAttribute("rendered","true");
}
// show/hide the slider
if(config.options.chkAnimate && (!hasClass(theSlider,'floatingPanel') || config.options.chkFloatingSlidersAnimate))
anim.startAnimating(new Slider(theSlider,!isOpen,e.shiftKey || e.altKey,"none"));
else
theSlider.style.display = isOpen ? "none" : "block";
// reset to default width (might have been changed via plugin code)
theSlider.style.width=theSlider.defaultPanelWidth;
// align floater panel position with target button
if (!isOpen && window.adjustSliderPos) window.adjustSliderPos(theSlider.parentNode,theTarget,theSlider);
// if showing panel, set focus to first 'focus-able' element in panel
if (theSlider.style.display!="none") {
var ctrls=theSlider.getElementsByTagName("*");
for (var c=0; c<ctrls.length; c++) {
var t=ctrls[c].tagName.toLowerCase();
if ((t=="input" && ctrls[c].type!="hidden") || t=="textarea" || t=="select")
{ try{ ctrls[c].focus(); } catch(err){;} break; }
}
}
var cookie=theTarget.sliderCookie;
if (cookie && cookie.length) {
config.options[cookie]=!isOpen;
if (config.options[cookie]!=theTarget.defOpen) window.saveOptionCookie(cookie);
else window.removeCookie(cookie); // remove cookie if slider is in default display state
}
// prevent SHIFT-CLICK from being processed by browser (opens blank window... yuck!)
// prevent clicks *within* a slider button from being processed by browser
// but allow plain click to bubble up to page background (to close transients, if any)
if (e.shiftKey || theTarget!=resolveTarget(e))
{ e.cancelBubble=true; if (e.stopPropagation) e.stopPropagation(); }
Popup.remove(); // close open popup (if any)
return false;
}
//}}}
//{{{
// click in document background closes transient panels
document.nestedSliders_savedOnClick=document.onclick;
document.onclick=function(ev) { if (!ev) var ev=window.event; var target=resolveTarget(ev);
if (document.nestedSliders_savedOnClick)
var retval=document.nestedSliders_savedOnClick.apply(this,arguments);
// if click was inside a popup... leave transient panels alone
var p=target; while (p) if (hasClass(p,"popup")) break; else p=p.parentNode;
if (p) return retval;
// if click was inside transient panel (or something contained by a transient panel), leave it alone
var p=target; while (p) {
if ((hasClass(p,"floatingPanel")||hasClass(p,"sliderPanel"))&&p.getAttribute("transient")=="true") break;
p=p.parentNode;
}
if (p) return retval;
// otherwise, find and close all transient panels...
var all=document.all?document.all:document.getElementsByTagName("DIV");
for (var i=0; i<all.length; i++) {
// if it is not a transient panel, or the click was on the button that opened this panel, don't close it.
if (all[i].getAttribute("transient")!="true" || all[i].button==target) continue;
// otherwise, if the panel is currently visible, close it by clicking it's button
if (all[i].style.display!="none") window.onClickNestedSlider({target:all[i].button})
if (!hasClass(all[i],"floatingPanel")&&!hasClass(all[i],"sliderPanel")) all[i].style.display="none";
}
return retval;
};
//}}}
//{{{
// adjust floating panel position based on button position
if (window.adjustSliderPos==undefined) window.adjustSliderPos=function(place,btn,panel) {
if (hasClass(panel,"floatingPanel") && !hasClass(panel,"undocked")) {
// see [[MoveablePanelPlugin]] for use of 'undocked'
var rightEdge=document.body.offsetWidth-1;
var panelWidth=panel.offsetWidth;
var left=0;
var top=btn.offsetHeight;
if (place.style.position=="relative" && findPosX(btn)+panelWidth>rightEdge) {
left-=findPosX(btn)+panelWidth-rightEdge; // shift panel relative to button
if (findPosX(btn)+left<0) left=-findPosX(btn); // stay within left edge
}
if (place.style.position!="relative") {
var left=findPosX(btn);
var top=findPosY(btn)+btn.offsetHeight;
var p=place; while (p && !hasClass(p,'floatingPanel')) p=p.parentNode;
if (p) { left-=findPosX(p); top-=findPosY(p); }
if (left+panelWidth>rightEdge) left=rightEdge-panelWidth;
if (left<0) left=0;
}
panel.style.left=left+"px"; panel.style.top=top+"px";
}
}
//}}}
//{{{
// TW2.1 and earlier:
// hijack Slider stop handler so overflow is visible after animation has completed
Slider.prototype.coreStop = Slider.prototype.stop;
Slider.prototype.stop = function()
{ this.coreStop.apply(this,arguments); this.element.style.overflow = "visible"; }
// TW2.2+
// hijack Morpher stop handler so sliderPanel/floatingPanel overflow is visible after animation has completed
if (version.major+.1*version.minor+.01*version.revision>=2.2) {
Morpher.prototype.coreStop = Morpher.prototype.stop;
Morpher.prototype.stop = function() {
this.coreStop.apply(this,arguments);
var e=this.element;
if (hasClass(e,"sliderPanel")||hasClass(e,"floatingPanel")) {
// adjust panel overflow and position after animation
e.style.overflow = "visible";
if (window.adjustSliderPos) window.adjustSliderPos(e.parentNode,e.button,e);
}
};
}
//}}}
/***
|Name:|NewHerePlugin|
|Description:|Creates the new here and new journal macros|
|Version:|3.0 ($Rev: 3861 $)|
|Date:|$Date: 2008-03-08 10:53:09 +1000 (Sat, 08 Mar 2008) $|
|Source:|http://mptw.tiddlyspot.com/#NewHerePlugin|
|Author:|Simon Baird <simon.baird@gmail.com>, modified by giffmex|
|License|http://mptw.tiddlyspot.com/#TheBSDLicense|
***/
//{{{
merge(config.macros, {
newHere: {
handler: function(place,macroName,params,wikifier,paramString,tiddler) {
wikify("<<newTiddler "+paramString+" tag:[["+tiddler.title+"]]>>",place,null,tiddler);
}
},
newJournalHere: {
handler: function(place,macroName,params,wikifier,paramString,tiddler) {
wikify("<<newJournal "+paramString+" tag:[["+tiddler.title+"]]>>",place,null,tiddler);
}
}
});
//}}}
* Apresentação usando Imagens Inspiradas na Natureza e explanação a respeito dos seguintes temas:
- experiência de John Seed (trabalha muito sem se cansar porque sua motivação é o amor pela Natureza);
- principais descobertas Científicas vieram por inspiração - exemplos de Kekule, Pionarre, dentre outros.....
- conto da "busca de Visões" do povo Lakota.....buscando sua missão de vida na Natureza.
Tempo: __30 minutos__
* Dinâmica objetivando a conexão das pessoas com seus momentos de inspiração
<<<
Grupo formado por 5 pessoas - cada pessoa conta uma história/experiência de um momento de inspiração particular - __5 minutos cada um__
O Grupo decide qual história tem mais afinidade uma com a outra __2 minutos__ e dará um nome para a história
Na grande roda, recontar as Histórias selecionadas __tempo = 3 minutos/cada grupo/? grupos__
<<<
* Discussão a respeito de como podemos seguir as Histórias que contamos __10 + minutos__
* Criando Novas Histórias - Cenários Futuros (exemplo da África do Sul...) __15 minutos__
* Process U - estar aberto para receber e manifestar o futuro que quer manifestar além de cada um de nós.
* Opção para ficar na floresta por 24 horas !!!
Apresentação mais formal usando DataShow contextualizando a situação global de uma maneira mais integral. A enfase será a perspectiva da Resiliência (Buzz Holling), as novas formas de pensamento que precisamos desenvolver e as preocupações com os "Tipping Points".
O objetivo principal será demonstrar a situação global como desafios...e oportunidades para criar uma nova visão de futuro.
<!--{{{-->
<div id='topMenu' refresh='content' tiddler='TopMenu'></span></div>
</div><div id='tiddlersBar' refresh='none' ondblclick='config.macros.tiddlersBar.onTiddlersBarAction(event)'></div>
<div id='mainbar'>
<div id='mainMenu1' refresh='content' force='true' tiddler='MainMenu1'></div>
<div id='mainMenu2' refresh='content' force='true' tiddler='MainMenu2'></div>
<div id='mainMenu3' refresh='content' force='true' tiddler='MainMenu3'></div>
<div id='mainMenu5' refresh='content' force='true' tiddler='admin'></div>
</div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
<span style='display:none;' refresh='content' force='true' tiddler='SetUploadParameters'>
</div>
<!--}}}-->
| source file:|{{{C:\Users\Public\Icons\Pc-Flower-Icon-2.gif}}}|
| attached on:|29 Julho 2009 by Skye|
| embedded:|[[Pc-Flower-Icon-2.gif|Pc-Flower-Icon-2.gif]] - {{{type=image/gif, size=2581 bytes, encoded=3497 bytes}}}|
| local file:|/%LOCAL_LINK%/[[file:///C:/Users/Public/Icons/Pc-Flower-Icon-2.gif|file:///C:/Users/Public/Icons/Pc-Flower-Icon-2.gif]]|
| remote link:|//none//|
image
<<<
usage: {{{[img[tooltip|Pc-Flower-Icon-2.gif]] or [img[tooltip|Pc-Flower-Icon-2.gif][link]]}}}
[img[tooltip|Pc-Flower-Icon-2.gif]]
<<<
/% DO NOT EDIT BELOW THIS POINT
---BEGIN_DATA---
image/gif;base64,
R0lGODlhRgBVAOZ/AMPCwvHx8WViY5SSk52bmx4ZG3x6e4SCgxYREt7e3iQgIW1q
a+Lh4ebl5fj4+EVBQsrJyc3MzPr6+tXV1dHQ0XVzczUxMlRRUj05Ok5KSyEdHrq4
uSMfIBkUFfz8/F5bW/b29trZ2qqpqe7u7uzs7PX09Orq6r28veno6La1tS0pKlBN
TY6MjTc0NbKxsaalpUA9PiglJnBtbq6srZ+enoB9fnh1dqKhoTAsLUhFRoqIiWdk
ZWBdXoyKi6yqq6Wio7Cur5COjqimp4eFhRsWGFhVVpeWlpKPkMC/wLy6u7SztL++
v0tHSNXT1Lm3uBENDqWjo6GfoGlnaAoGB////zMvMEM/QBMPEPz7/Do3NysnKMzL
y/7+/s/OztPS0qmnqLSzs1pXWNzb27GvsJmXmIqHiOTk5MjIyFJOT4J/gGNgYOnp
6fDv77i3t/Pz8/7+/fz7+/39/XJvcODg4Hp3d+Pi4+fn5/n5+fr5+tfX1/v7+9jX
2MzLzMfHxt3c3P///yH5BAEAAH8ALAAAAABGAFUAQAf/gH+Cg4SFhoYeYiI1PDlZ
FhYtD0U2UV4Oh5mam4cOCxygoaKjpKWmoAuYnJtGpQodaCRUs7SzXRgdCqSvGBS1
tSRouaUzq2qnHAUqdb/Nvzo6ztJUdSoFyAaFIhwKBUQ7fRK1XF8wGqYdY797RzwP
LRYwRQcADs0jNBBu0noQUh0FdCX5o0aDhgjO7uQgQopIwCsDqHzI9aDAuVEanhio
NVEBAgHTnPExuCPLqQIBRyGoIG3Ik2ukMm6kdcYihw4bZiWQ8kALAgQwS2XRs2IU
EQwjfklY8ORiKA1XVNhAEqDZnS5pVCA4161AkpC0RmBgKGqFnkFicIDSQEQEWD00
/3x2UAP2l5oOCLTQ0AP2C5GLWUxwOqMCWSkER+oGQWCY1AdVqzilsNK4MikmbSJr
3lRChxbLjWOkYbN58xHQqEHTKK0HjakCGNjUnWXgCqgrM+uywRB01I5MfSprKLBl
tvFfW2wa1hJC0BYFRHI2C0BBh0F0UqiEiFGgQxUgb5o1SOMNuoYTx2ltIKKgSQtQ
r2B4qVWBsSgENGZh8TCrwhVdyBCRQy0L5IJAbtNQgAuALRhgikcXlCAAAgBy08ED
sqRHixAdnENEFklNdwGFptAhiBShwAbCW2MwgVdvpWjQwRUYCMGXhiDwFooMh5AA
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
---END_DATA---
%/
[[Permaculture - Wikipedia, the free encyclopedia|http://en.wikipedia.org/wiki/Permaculture]]
[[Permaculture Association (Britain) - Permaculture design|http://www.permaculture.org.uk/mm.asp?mmfile=pcdesignmethods#obredim]]
[[Permaculture Design - Principles And Guidelines For Your Design|http://www.tropicalpermaculture.com/permaculture-design.html]]
[[Permaculture Design - Wikibooks, collection of open-content textbooks|http://en.wikibooks.org/wiki/Permaculture_design]]
[[Permaculture Design Principles|http://www.seedinternational.com.au/pc_principles.html]]
[[Permaculture Design/Designer's checklist - Wikibooks, collection of open-content textbooks|http://en.wikibooks.org/wiki/Permaculture_Design/Designer%27s_checklist]]
[[Permaculture Principles|http://permacultureprinciples.com/]]
[[Permaculture design - WikiEducator|http://wikieducator.org/Permaculture_design]]
Escreva o texto para 'Novo tiddler'
Escreva o texto para 'Novo tiddler'
[[Planning for Real|http://web.mit.edu/urbanupgrading/upgrading/issues-tools/tools/Planning-for-Real.html]]
[[Planning for Real - Methods - peopleandparticipation.net|http://www.peopleandparticipation.net/display/Methods/Planning+for+Real]]
/***
|''Name:''|PortugueseLingo|
|''Description:''|An european portuguese translation for TW|
|''Version:''|2.0.0|
|''Date:''|Sep 18, 2006|
|''Source:''|http://www.math.ist.utl.pt/~psoares/addons.html|
|''Author:''|Paulo Soares (psoares (at) math (dot) ist (dot) utl (dot) pt)|
|''License:''|[[BSD open source license]]|
|''~CoreVersion:''|2.1.0|
|''Browser:''|Firefox 1.0.4+; Firefox 1.5; InternetExplorer 6.0|
***/
{{{
// ---------------------------------------------------------------------------------
// Translateable strings
// ---------------------------------------------------------------------------------
// Strings in "double quotes" should be translated; strings in 'single quotes' should be left alone
if (config.options.txtUserName=="YourName")
merge(config.options,{txtUserName: "OSeuNome"});
merge(config.messages,{
customConfigError: "Foram encontrados problemas ao carregar plugins. Veja o PluginManager para mais detalhes",
pluginError: "Erro: %0",
pluginDisabled: "Não executado porque foi desactivado pela etiqueta 'systemConfigDisable'",
pluginForced: "Executado porque foi forçado pela etiqueta 'systemConfigForce'",
pluginVersionError: "Não executado porque este plugin requer uma versão mais recente do TiddlyWiki",
nothingSelected: "Nada selecionado. Deve selecionar um ou mais items primeiro",
savedSnapshotError: "Parece que este TiddlyWiki foi guardado incorrectamente. Por favor veja http://www.tiddlywiki.com/#DownloadSoftware para mais detalhes",
subtitleUnknown: "(desconhecido)",
undefinedTiddlerToolTip: "O tiddler '%0' ainda não existe",
shadowedTiddlerToolTip: "O tiddler '%0' ainda não existe, mas tem um modelo pré-definido",
tiddlerLinkTooltip: "%0 - %1, %2",
externalLinkTooltip: "Ligação externa a %0",
noTags: "Não há tiddlers com etiquetas",
notFileUrlError: "É necessário guardar este TiddlyWiki num ficheiro antes de poder guardar alterações",
cantSaveError: "Não é possível guardar alterações. Isto pode acontecer porque o seu browser não o permite (em alternativa, use o Firefox se puder), ou porque o nome do caminho para o seu ficheiro TiddlyWiki contém caracteres ilegais",
invalidFileError: "O ficheiro original '%0' não parece ser um TiddlyWiki válido",
backupSaved: "Ficheiro de backup guardado",
backupFailed: "Falha ao guardar o ficheiro de backup",
rssSaved: "Ficheiro RSS guardado",
rssFailed: "Falha ao guardar o ficheiro RSS",
emptySaved: "Modelo vazio guardado",
emptyFailed: "Falha ao guardar o modelo vazio",
mainSaved: "Ficheiro principal de TiddlyWiki guardado",
mainFailed: "Falha ao guardar o ficheiro principal de TiddlyWiki. As suas alterações não foram guardadas",
macroError: "Erro na macro <<%0>>",
macroErrorDetails: "Erro ao executar a macro <<%0>>:\n%1",
missingMacro: "Essa macro não existe",
overwriteWarning: "Um tiddler chamado '%0' já existe. Escolha OK para substituí-lo",
unsavedChangesWarning: "ATENÇÃO! Há alterações no TiddlyWiki que ainda não foram guardadas\n\nEscolha OK para guardar\nEscolha CANCEL para abandonar as alterações",
confirmExit: "--------------------------------\n\nHá alterações no TiddlyWiki que ainda não foram guardadas. Se continuar irá perder essas alterações\n\n--------------------------------",
saveInstructions: "GuardarAlterações",
unsupportedTWFormat: "Formato TiddlyWiki não suportado '%0'",
tiddlerSaveError: "Erro ao guardar tiddler '%0'",
tiddlerLoadError: "Erro ao carregar tiddler '%0'",
wrongSaveFormat: "Não é possível guardar no formato de armazenamento '%0'. Use o formato standard para guardar.",
invalidFieldName: "Nome de campo inválido %0",
fieldCannotBeChanged: "O campo '%0' não pode ser modificado"});
merge(config.messages.messageClose,{
text: "fechar",
tooltip: "fecha esta área de mensagens"});
config.messages.dates.months = ["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"];
config.messages.dates.days = ["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"];
config.messages.dates.shortMonths = ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"];
config.messages.dates.shortDays = ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb"];
merge(config.views.wikified.tag,{
labelNoTags: "sem etiquetas",
labelTags: "etiquetas: ",
openTag: "Abrir etiqueta '%0'",
tooltip: "Abrir tiddlers etiquetados com '%0'",
openAllText: "Abrir todos",
openAllTooltip: "Abrir todos estes tiddlers",
popupNone: "Não há outros tiddlers etiquetados com '%0'"});
merge(config.views.wikified,{
defaultText: "O tiddler '%0' ainda não existe. Faça duplo-clique para criá-lo",
defaultModifier: "(em falta)",
shadowModifier: "(tiddler sombra pré-definido)",
createdPrompt: "criado em"});
merge(config.views.editor,{
tagPrompt: "Escreva as etiquetas separadas por espaços, [[use duplos parênteses rectos]] se necessário, ou atribua existentes",
defaultText: "Escreva o texto para '%0'"});
merge(config.views.editor.tagChooser,{
text: "etiquetas",
tooltip: "Escolha entre as etiquetas existentes para atribuir a este tiddler",
popupNone: "Não há etiquetas definidas",
tagTooltip: "Atribuir a etiqueta '%0'"});
merge(config.macros.search,{
label: "procurar",
prompt: "Procura neste TiddlyWiki",
accessKey: "F",
successMsg: "%0 tiddlers encontrados que contêm %1",
failureMsg: "Não foi encontrado nenhum tiddler que contenha %0"});
merge(config.macros.tagging,{
label: "etiquetando:",
labelNotTag: "não etiquetando",
tooltip: "Lista de tiddlers etiquetados com '%0'"});
merge(config.macros.timeline,{
dateFormat: "DD MMM YYYY"});
merge(config.macros.allTags,{
tooltip: "Mostra tiddlers com a etiqueta '%0'",
noTags: "Não há tiddlers etiquetados"});
config.macros.list.all.prompt = "Todos os tiddlers por ordem alfabética";
config.macros.list.missing.prompt = "Tiddlers com ligações de outros tiddlers mas que não existem";
config.macros.list.orphans.prompt = "Tiddlers sem ligações de outros tiddlers";
config.macros.list.shadowed.prompt = "Tiddlers na sombra com conteúdo pré-definido";
merge(config.macros.closeAll,{
label: "fechar todos",
prompt: "Fecha todos os tiddlers abertos (excepto os que estão a ser editados)"});
merge(config.macros.permaview,{
label: "permavista",
prompt: "Ligação a um URL que mostra todos os tiddlers que estão abertos"});
merge(config.macros.saveChanges,{
label: "guardar alterações",
prompt: "Guarda todas as alterações em ficheiro",
accessKey: "S"});
merge(config.macros.newTiddler,{
label: "novo tiddler",
prompt: "Cria um novo tiddler",
title: "Novo tiddler",
accessKey: "N"});
merge(config.macros.newJournal,{
label: "novo diário",
prompt: "Cria um novo tiddler com a data e hora actuais",
accessKey: "J"});
merge(config.macros.plugins,{
skippedText: "(Este plugin não foi executado porque foi incluido depois do arranque)",
noPluginText: "Não há plugins instalados",
confirmDeleteText: "Tem a a certeza que quer eliminar estes tiddlers:\n\n%0",
listViewTemplate : {
columns: [
{name: 'Selected', field: 'Selected', rowName: 'title', type: 'Selector'},
{name: 'Title', field: 'title', tiddlerLink: 'title', title: "Título", type: 'TiddlerLink'},
{name: 'Forced', field: 'forced', title: "Forçado", tag: 'systemConfigForce', type: 'TagCheckbox'},
{name: 'Disabled', field: 'disabled', title: "Desactivado", tag: 'systemConfigDisable', type: 'TagCheckbox'},
{name: 'Executed', field: 'executed', title: "Executado", type: 'Boolean', trueText: "Sim", falseText: "Não"},
{name: 'Error', field: 'error', title: "Resultado", type: 'Boolean', trueText: "Erro", falseText: "OK"},
{name: 'Log', field: 'log', title: "Log", type: 'StringList'}
],
rowClasses: [
{className: 'error', field: 'error'},
{className: 'warning', field: 'warning'}
],
actions: [
{caption: "Mais acções...", name: ''},
{caption: "Remover a etiqueta systemConfig", name: 'remove'},
{caption: "Eliminar estes tiddlers para sempre", name: 'delete'}
]}
});
merge(config.macros.refreshDisplay,{
label: "refrescar",
prompt: "Recarrega todo o TiddlyWiki"
});
merge(config.macros.importTiddlers,{
defaultPath: "http://www.tiddlywiki.com/index.html",
fetchLabel: "importar",
fetchPrompt: "Importe o ficheiro Tiddlywiki",
fetchError: "Ocorreram problemas ao importar o ficheiro Tiddlywiki",
confirmOverwriteText: "Tem a certeza que quer substituir estes tiddlers:\n\n%0",
wizardTitle: "Importar tiddlers de outro ficheiro TiddlyWiki",
step1: "Passo 1: Localize o ficheiro",
step1prompt: "Escreva o URL ou o caminho aqui: ",
step1promptFile: "...ou procure um ficheiro: ",
step1promptFeeds: "...ou selecione uma localização pré-definida: ",
step1feedPrompt: "Escolha...",
step2: "Passo 2: A carregar o ficheiro TiddlyWiki",
step2Text: "Por favor aguarde enquanto o ficheiro é carregado de: %0",
step3: "Passo 3: Escolha os tiddlers a importar",
step4: "%0 tiddler(s) importado(s)",
step5: "terminado",
listViewTemplate: {
columns: [
{name: 'Selected', field: 'Selected', rowName: 'title', type: 'Selector'},
{name: 'Title', field: 'title', title: "Título", type: 'String'},
{name: 'Snippet', field: 'text', title: "Extracto", type: 'String'},
{name: 'Tags', field: 'tags', title: "Etiquetas", type: 'Tags'}
],
rowClasses: [
],
actions: [
{caption: "Mais acções...", name: ''},
{caption: "Importar estes tiddlers", name: 'import'}
]}
});
merge(config.commands.closeTiddler,{
text: "fechar",
tooltip: "Fecha este tiddler"});
merge(config.commands.closeOthers,{
text: "fechar outros",
tooltip: "Fecha todos os outros tiddlers"});
merge(config.commands.editTiddler,{
text: "editar",
tooltip: "Edita este tiddler",
readOnlyText: "ver",
readOnlyTooltip: "Ver o conteúdo deste tiddler"});
merge(config.commands.saveTiddler,{
text: "guardar",
tooltip: "Guarda as alterações a este tiddler"});
merge(config.commands.cancelTiddler,{
text: "cancelar",
tooltip: "Cancela as alterações a este tiddler",
warning: "Tem a certeza que quer cancelar as alterações a '%0'?",
readOnlyText: "ver",
readOnlyTooltip: "Ver este tiddler normalmente"});
merge(config.commands.deleteTiddler,{
text: "eliminar",
tooltip: "Elimina este tiddler",
warning: "Tem a certeza que quer eliminar '%0'?"});
merge(config.commands.permalink,{
text: "permaligação",
tooltip: "Permaligação para este tiddler"});
merge(config.commands.references,{
text: "referências",
tooltip: "Abre tiddlers que ligam a este",
popupNone: "Sem referências"});
merge(config.commands.jump,{
text: "saltar",
tooltip: "Salta para outro tiddler aberto"});
merge(config.shadowTiddlers,{
DefaultTiddlers: "ComoComeçar",
MainMenu: "ComoComeçar",
SiteTitle: "O meu TiddlyWiki",
SiteSubtitle: "um bloco de notas reutilizável e não-linear na web",
SiteUrl: "http://www.tiddlywiki.com/",
ComoComeçar: "Para começar a usar este TiddlyWiki vazio terá de modificar os seguintes tiddlers:\n* SiteTitle & SiteSubtitle: O título e o subtítulo do site, como pode ver acima (depois de guardar as alterações, eles aparecerão também na barra de título do browser)\n* MainMenu: O menu (usualmente à esquerda)\n* DefaultTiddlers: Contém o nome dos tiddlers que pretende que apareçam quando o TiddlyWiki é aberto\nSerá também necessário inserir o nome de utilizador que servirá para assinar as edições: <<option txtUserName>>",
SideBarOptions: "<<search>><<closeAll>><<permaview>><<newTiddler>><<newJournal 'DD MMM YYYY'>><<saveChanges>><<slider chkSliderOptionsPanel OptionsPanel 'opções »' 'Muda as opções avançadas do TiddlyWiki'>>",
OptionsPanel: "Estas opções de personalização do TiddlyWiki ficam guardadas no seu browser\n\nO seu nome de utilizador para assinar os textos. Use uma PalavraWiki (eg, JoséSilva)\n\n<<option txtUserName>>\n<<option chkSaveBackups>> GuardarBackups\n<<option chkAutoSave>> AutoGuardar\n<<option chkRegExpSearch>> ProcuraExpReg\n<<option chkCaseSensitiveSearch>> ProcuraSensívMaiúsc\n<<option chkAnimate>> ActivarAnimações\n\n----\nOpçõesAvançadas\nGestãoDePlugins\nImportarTiddlers",
AdvancedOptions: "<<option chkGenerateAnRssFeed>> GerarUmFicheiroRSS\n<<option chkOpenInNewWindow>> AbrirLigaçõesNumaNovaJanela\n<<option chkSaveEmptyTemplate>> CriaNovoModeloVazio\n<<option chkToggleLinks>> Fazer clique em ligações para tiddlers abertos, fecha-os\n^^(desactive com Control ou outra tecla modificadora)^^\n<<option chkHttpReadOnly>> EscondeFunçõesDeEdição quando acedido por HTTP\n<<option chkForceMinorUpdate>> Trata as edições como AlteraçõesMenores preservando a data e a hora\n^^(desactive pressionando Shift enquanto clica 'guardar' ou pressionando Ctrl-Shift-Enter^^\n<<option chkConfirmDelete>> ConfirmarAntesDeEliminar\nNúmero máximo de linhas na caixa de edição do tiddler: <<option txtMaxEditRows>>\nNome do directório para os ficheiros de backup: <<option txtBackupFolder>>\n<<option chkInsertTabs>> Usar a tecla tab para inserir caracteres tab em vez de saltar para o próximo campo",
SideBarTabs: "<<tabs txtMainTab 'Data' 'Tiddlers por ordem cronológica' TabTimeline 'Título' 'Tiddlers por ordem alfabética' TabAll 'Etiquetas' 'Todas as etiquetas' TabTags 'Mais' 'Mais listas' TabMore>>",
TabTimeline: "<<timeline>>",
TabAll: "<<list all>>",
TabTags: "<<allTags>>",
TabMore: "<<tabs txtMoreTab 'Em falta' 'Tiddlers em falta' TabMoreMissing 'Orfãos' 'Tiddlers sem ligações de outros tiddlers' TabMoreOrphans Sombra 'Tiddlers na sombra' TabMoreShadowed>>",
TabMoreMissing: "<<list missing>>",
TabMoreOrphans: "<<list orphans>>",
TabMoreShadowed: "<<list shadowed>>",
PluginManager: "<<plugins>>",
ImportTiddlers: "<<importTiddlers>>",
OpçõesAvançadas: "<<tiddler AdvancedOptions>>",
GestãoDePlugins: "<<tiddler PluginManager>>",
ImportarTiddlers: "<<tiddler ImportTiddlers>>"});
delete config.shadowTiddlers.GettingStarted;
}}}
<html><a href="/wiki/Imagem:Cquote1.png" class="image" title="Cquote1.png"><img alt="" src="http://images.uncyc.org/pt/thumb/6/6b/Cquote1.png/10px-Cquote1.png" border="0" height="8" width="10"></a><i> Eu estava sentado à mesa a escrever o meu <a href="/wiki/Di%C3%A1rio" class="mw-redirect" title="Diário">compêndio</a>, mas o <a href="/wiki/Vagabundo" title="Vagabundo">trabalho não rendia</a>; os meus pensamentos estavam <a href="/wiki/Sexo" title="Sexo">noutro sítio</a>. Virei a cadeira para a lareira e comecei a <a href="/index.php?title=Ronco&action=edit&redlink=1" class="new" title="Ronco (ainda não escrito)">dormitar</a>. Outra vez começaram os <a href="/wiki/%C3%81tomo" title="Átomo">átomo</a>s às <a href="/wiki/Bad_trip" class="mw-redirect" title="Bad trip">cambalhotas em frente dos meus olhos</a>. Desta vez os <a href="/wiki/An%C3%A3o" title="Anão">grupos mais pequenos</a> mantinham-se modestamente à distância. A minha <a href="/wiki/Nada" title="Nada">visão mental</a>, aguçada por <a href="/index.php?title=Alucina%C3%A7%C3%A3o&action=edit&redlink=1" class="new" title="Alucinação (ainda não escrito)">repetidas visões desta espécie</a>, podia distinguir agora <a href="/wiki/P%C3%AAnis" title="Pênis">estruturas maiores com variadas conformações</a>; <a href="/wiki/Banco" title="Banco">longas filas</a>, por vezes alinhadas e muito juntas; todas torcendo-se e voltando-se em <a href="/wiki/Cobra" class="mw-redirect" title="Cobra">movimentos serpenteantes</a>. Mas olha! O que é aquilo? Uma das serpentes tinha <a href="/wiki/Gay" title="Gay">filado a própria cauda</a> e a forma que fazia rodopiava trocistamente diante dos meus olhos. Como se se tivesse produzido um <a href="/wiki/Raio" title="Raio">relâmpago</a>, acordei;... passei o resto da noite a verificar as <a href="/wiki/Porra_nenhuma" title="Porra nenhuma">consequências da hipótese</a>. Aprendamos a sonhar, senhores, pois então talvez nos apercebamos da verdade." </i><a href="/wiki/Imagem:Cquote2.png" class="image" title="Cquote2.png"><img alt="" src="http://images.uncyc.org/pt/thumb/3/33/Cquote2.png/10px-Cquote2.png" border="0" height="8" width="10"></a> - <i>Kekulé, 1857</i></html>
Source: [[Postulados de Kekulé - Desciclopédia|http://desciclo.pedia.ws/wiki/Postulados_de_Kekul%C3%A9]]
[[Presencing Institute|http://www.presencing.com/tools/prototyping.shtml]]
Escreva o texto para 'Novo tiddler'
Escreva o texto para 'Novo tiddler'
[>img[http://www.scs.uiuc.edu/~mainzv/exhibit/large/05_02.gif]]
Escreva o texto para 'Questionamento Appreciativo'
[[Sessão 1 & 2~Sabado]] - [[RePlanejando "Parque Ecologica Visão Futuro"|Sessão 1 & 2~Sabado]] - //Planning for Real//
[[Sessão 3~Sabado]] - [[RePlanejando Minha Vida|Sessão3~Sabado]]
----
<script>config.options.txtURLs="Sabado";refreshDisplay();</script>
http://www.presencingglobalclassroom.com/docs/PGC0809/GPC_2008F_4h.pdf
Revisando os Princípios de Permacultura usando o Jogo das Cartas de Princípios.
<<<
O Jogo consta de 48 Cartas. Para cada princípio há uma carta com um ícone relativo ao princípio, uma carta com uma explicação técnica do princípio, uma carta com uma foto (ou gráfico) que mostra o princípio e uma carta com um provérbio popular ou lenda ligada a tal princípio.
Na dinâmica, as cartas são distribuidas entres as pessoas ......e o grupo vai trabalhar como um único grupo para encontrar seu grupo e a ordem das cartas. Isso levará muita conversa, discussões e acordos, o que estimula a memória e o entendimento das pessoas a respeito de cada princípio.
<<<
!!Os Principios da Permacultura
História do pensamento de Bill Mollison na floresta na Tasmânia e o desenvolvimento de uma pergunta central: - "Por quê os sistemas naturais são bem mais produtivos em relação aos sistemas humanos?"
O Teatro dos Princípios
<<<
Para cada um dos 12 principio será apresentado um cartaz que mostra um ícone equivalente ao princípio, uma imagem ou desenho, uma definição mais formal e uma lenda...todos relacionados ao princípio.
O curso será organizado em grupos (depende do número de participantes no curso!) e cada grupo terá a responsabilidade de estudar o(s) princípio(s) que receber.
Eles terão 30 minutos para estudar o princípio e depois, como um grupo, apresentar seu principio à toda classe - e atendendo a uma regra: "A APRESENTAÇÃO É SEM PALAVRAS!" - eles serão animados a usar sua criatividade e a usar os recursos locais e naturais.
O resultado será a apresentação de uma série de mímicas onde a classe precisará adivinhar qual o conceito de cada princípio. Quando necessário, o facilitador explicará e detalhará mais o conceito.
<<<
Neste momento a classe terá a oportunidade de pensar e colaborar no re-planejamento do Parque Ecológico Visão Futuro. Este exercício será em parte para re-avaliar como eles estão aprendendo e uma oportunidade para que eles possam identificar o quê eles querem aprender mais ainda.
Para este processo, será usado um mapa de grande escala do Parque (temos disponível mapas, plantas, fotos aéreas ????). O processo seguirá a metodologia de "Planning for Real". Esta será uma atividade para mostrar os principios de permacultura e também a importância e praticidade do trabalho em grupos colaborativos.
Em breve, as pessoas estarão voltando às suas casas e suas vidas! Esta sessão será para passar ao grupo, tarefas para serem realizadas no intervalo até o próximo curso e, também oferecer a oportunidade para que eles possam desenvolver uma atividade que seja útil para sua comunidade local/organização/trabalho.
Faremos uma breve apresentação no tema ([[wicked problems]]) ou "bagunças sociais" e especialmente, com relação às técnicas mais criativas em desenvolvimento para lidar com tais situações. Os participantes serão convidados a iniciar a definição de um projeto particular que ele desenvolverá durante as fase seguintes.
Também nesta sessão precisaremos definir como continuaremos a comunicação e interação neste período. Pode ser a parte do componente virtual do curso (educação à distância - organizado e manejado pela UNICAMP), ou podemos criar uma rede menos formal para comunicação e orientação.
Durante o primeiro curso os participantes receberam a tarefa de mapear as "Bagunças Sociais" no entorno seja no seu local ou entorno de seu bairro, organização e trabalho. Nesta sessão eles terão a oportunidade de apresentar o resultado de seus trabalhos.
Eles serão animados a usar recursos de apresentação como cartazes ou apresentações digitais (Powerpoint). Isso favorecerá um maior aprofundamento e entendimento da realidade de cada um e levará a uma discussão profunda a respeito da realiade atual e novas possibilidades por um futuro sustentável.
No primeiro curso, usamos uma planta (mapa de grande escala ) do Parque para que o grupo pudesse re-pensar em como o parque pode ser mais sustentável.
Este exercício levará a diversas dúvidas e buscas por mais informações. Nesta sessão, voltaremos à planta e relataremos as novas informações, apresentaremos novas idéias e propostas.
É importante que a sessão seja filmada para uso pela direção do Parque.
Para aprofundar o conceito dos Princípios e praticar a observação, a classe terá a oportunidade de caminhar pela propriedade e documentar exemplos de princípios que encontrar, podendo usar máquinas fotográficas, vídeo cameras, papel e desenhos.
Em seguida, o grupo fará a montagem das fotos (vídeos e imagens dos desenhos) cuja apresentação será feita logo após o jantar.
Esta apresentação também pode ser a base de uma apresentação maior, a ser feita na noite do festival ao final do curso. Também pode ficar como uma lembrança permanente do curso e do Principios (cada pessoa receberá uma cópia em CD) .
A classe será organizada em grupos e e terá 1 hora para realização desta atividade. ..
Esta sessão estará ligada com as experiências na floresta, as visões e inspirações que o de cada um. Na 5a feira a tarde, eles tiveram a oportunidade de falar da nova visão para sua vida, em termos gerais. Agora, com as novas idéias e princípios, eles terão a oportunidade de pensar em um nivel mais particular e começar a re-definir sua própria vida.
Esta sessão consta de um espaço para reflexão e análise interna, ativada por uma série de questões que cada pessoa responderá por ela mesma.
Logo após, eles formarão duplas e serão convidados a passar um tempo em meio à natureza.....cada pessoa terá 10 minutos para falar de suas idéias e inspirações....enquanto a outra pessoa terá que ouvir, com atenção.....e em seguida trocam-se os papéis........
Finalizando a sessão, cada pessoa terá a oportunidade de falar de suas intenções, isto pra quem quiser falar, não será obrigatório!
Uma apresentação e discussão entre o grupo sobre [[Abordagens de Design]], inciando com o uso convencional de design em Permacultura (o [[SADI]], [[ABREDIM]]) e introduzindo abordagens mais sociais, como o [[QuestionamentoAppreciativo]], [[SWOT]] eu [[Metódos Participativos]]
O programa é apresentada em sessões. Normalmente eu prefiro trabalhar com "aulas" de no máximo de 1:30 que para mim, equivale ao tempo de concentração das pessoas. Então, normalmente a programação funcionará bem dentro do seguinte padrão:
Sessão 1 - 8:30 - 10:00 horas
Sessão 2 - 10:30 - 12:00 horas
Sessão 3 - 14:00 - 15:30 horas
Sessão 4 - 16:00 - 17:30 horas
Sessão 5 - 20:00 - 21:30 horas
Se necessário posso mudar os horários e tempos para atender ao padrão local do curso.......embora meu planejamento seja conforme o padrão apresentado acima......serei flexível!
/***
|Name|SetIconPlugin|
|Source|http://www.TiddlyTools.com/#SetIconPlugin|
|Documentation|http://www.TiddlyTools.com/#SetIconPluginInfo|
|Version|1.8.0|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.3|
|Type|plugin|
|Requires||
|Overrides||
|Options|##Configuration|
|Description|add an image to a toolbar, macro, or slider link|
!!!!!Documentation
>see [[SetIconPluginInfo]]
!!!!!Configuration
<<<
<<option chkIconsShowImage>> show images on links
<<option chkIconsShowText>> include link text with images
default image style: {{stretch{<<option txtIconsCSS>>}}}
<<<
!!!!!Revisions
<<<
2008.05.11 [1.8.0] added optional 'notext' value for iconpos to force text to be hidden for specific links
| see [[SetIconPluginInfo]] for additional revision details |
2008.05.09 [1.0.0] initial release (as inline script)
<<<
!!!!!Code
***/
//{{{
version.extensions.SetIconPlugin= {major: 1, minor: 8, revision: 0, date: new Date(2008,5,11)};
if (config.options.chkIconsShowImage===undefined)
config.options.chkIconsShowImage=true;
if (config.options.chkIconsShowText===undefined)
config.options.chkIconsShowText=true;
if (config.options.txtIconsCSS===undefined)
config.options.txtIconsCSS="vertical-align:middle;width:auto;height:auto";
config.macros.setIcon = {
handler: function(place,macroName,params,wikifier,paramString,tiddler) {
if (!config.options.chkIconsShowImage) return; // text-only - do nothing
if (!params[0]) return; // no image src specified - do nothing
// find nearest link element
var btn=place.lastChild; // look for sibling link
while (btn && btn.nodeName!="A") btn=btn.previousSibling;
if (!btn) { // look for child link
var links=place.getElementsByTagName("A");
if (links.length) btn=links[links.length-1];
}
if (!btn) { // look for parent link
var btn=place.parentNode.lastChild;
while (btn && btn.nodeName!="A") btn=btn.previousSibling;
}
if (!btn) { // look for cousin link
var links=place.parentNode.getElementsByTagName("A");
if (links.length) btn=links[links.length-1];
}
if (!btn) return; // can't find a link - do nothing
// set icon and command text/tip
var txt=btn.innerHTML;
var src=params[0]; // default to direct URL
if (config.macros.attach && config.macros.attach.isAttachment(src))
src=config.macros.attach.getAttachment(src); // retrieve attachment (if any)
var css=params[1]; if (!css||!css.length) css=config.options.txtIconsCSS;
var after=params[2]&¶ms[2].toUpperCase()=="RIGHT";
var notext=params[2]&¶ms[2].toUpperCase()=="NOTEXT";
btn.innerHTML="<img src='"+src+"' style='"+css+"'>";
if (config.options.chkIconsShowText && !notext)
btn.innerHTML=after?txt+btn.innerHTML:btn.innerHTML+txt;
else
btn.title=txt.toUpperCase()+": "+btn.title; // add text to tooltip
// adjust nested slider button text/tip
if (btn.getAttribute("closedtext")!=null) {
btn.setAttribute("closedtext",btn.innerHTML);
btn.setAttribute("openedtext",btn.innerHTML);
if (!config.options.chkIconsShowText || notext) {
btn.setAttribute("closedtip",txt.toUpperCase()+": "+btn.getAttribute("closedtip"));
btn.setAttribute("openedtip",txt.toUpperCase()+": "+btn.getAttribute("openedtip"));
}
}
}
};
//}}}
/%
|Name|ShowLocalDirectory|
|Source|http://www.TiddlyTools.com/#ShowLocalDirectory|
|Version|1.2.0|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|script|
|Requires|InlineJavascriptPlugin|
|Overrides||
|Description|display local filesystem directory listings|
usage: <<tiddler ShowLocalDirectory>> or <<tiddler ShowLocalDirectory with: localpath format>>
where:
"localpath" uses system-specific file naming conventions (or keyword "here" for the
current document directory). Note: for Windows filesystem, use doubled backslashes and
enclose the entire path in square brackets (e.g., [[C:\\temp\\foo]])
and
"format" determines the type of output produced:
"plain"
show fully-qualified path/filenames AS-IS, without any additional formatting.
"list"
show fully-qualified path/filenames using formatted "PrettyLinks", so that the
local system-specific filename can be *displayed* while linking to a valid
system-independent "file:" URL for browser navigation.
"directory" (default)
show header followed by a formatted table, containing PrettyLinks for
filenames, filesizes (in bytes), and modification dates, plus a summary
footer reporting the total file and byte counts.
%/<script>
window.getCurrentFolder=function() {
var h=document.location.href;
return getLocalPath(decodeURIComponent(h.substr(0,h.lastIndexOf("/")+1)));
}
window.getParentFolder=function(cwd) {
var lastchar=cwd.substr(cwd.length-1,1);
if (lastchar=="/" || lastchar=="\\") cwd=cwd.substr(0,cwd.length-1);
var pos=cwd.lastIndexOf("/"); if (pos==-1) pos=cwd.lastIndexOf("\\");
return pos!=-1?cwd.substr(0,pos+1):null;
}
window.askForFolder=function(cwd) {
if (config.browser.isIE) {
try { // XPSP2 IE only
var s = new ActiveXObject('UserAccounts.CommonDialog');
s.InitialDir=cwd.replace(/\//g,"\\");
s.FileName=''; s.Filter='All files|*.*|'; s.FilterIndex=1;
var path=s.showOpen()?s.FileName.substr(0,s.FileName.lastIndexOf("\\")+1):null;
}
catch(e) { var path=prompt("Enter a directory path:",cwd.replace(/\//g,"\\")); }
} else { // FireFox
if(!window.Components) return;
try { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); }
catch(e) { alert(e.description?e.description:e.toString()); return; }
var nsIFilePicker = window.Components.interfaces.nsIFilePicker;
var picker = Components.classes['@mozilla.org/filepicker;1'].createInstance(nsIFilePicker);
picker.init(window, "Select a folder", nsIFilePicker.modeGetFolder);
var thispath = Components.classes['@mozilla.org/file/local;1'].createInstance(Components.interfaces.nsILocalFile);
try { thispath.initWithPath(cwd.replace(/\\/g,"/")); }
catch(e) { thispath.initWithPath(getLocalPath(decodeURIComponent(document.location.href.substr(0,document.location.href.lastIndexOf("/")+1)))); }
picker.displayDirectory=thispath;
picker.appendFilters(nsIFilePicker.filterAll); picker.defaultString=''; picker.defaultExtension='';
var path=picker.show()!=nsIFilePicker.returnCancel?picker.file.persistentDescriptor:null;
}
return path;
}
window.getFileList=function(cwd) { // returns array of file info (path,name,size,isFolder,url,modified)
var files=[];
if (config.browser.isIE) {
cwd=cwd.replace(/\//g,"\\");
var fso = new ActiveXObject("Scripting.FileSystemObject");
if(!fso.FolderExists(cwd)) return [];
var dir=fso.GetFolder(cwd);
for(var f=new Enumerator(dir.SubFolders); !f.atEnd(); f.moveNext())
files.push({ path:f.item().path, name:f.item().name, size:f.item().size,
url:"file:///"+f.item().path.replace(/\\/g,"/"), isFolder:fso.FolderExists(f.item().path),
modified:new Date(f.item().DateLastModified).formatString("YYYY.0MM.0DD 0hh:0mm:0ss")});
for(var f=new Enumerator(dir.Files); !f.atEnd(); f.moveNext())
files.push({ path:f.item().path, name:f.item().name, size:f.item().size,
url:"file:///"+f.item().path.replace(/\\/g,"/"), isFolder:fso.FolderExists(f.item().path),
modified:new Date(f.item().DateLastModified).formatString("YYYY.0MM.0DD 0hh:0mm:0ss")});
} else { // FF
if(!window.Components) return;
try { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); }
catch(e) { alert(e.description?e.description:e.toString()); return null; }
var file=Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
try { file.initWithPath(cwd); } catch(e) { return []; }
if (!file.exists() || !file.isDirectory()) { return []; }
var folder=file.directoryEntries;
while (folder.hasMoreElements()) {
var f=folder.getNext().QueryInterface(Components.interfaces.nsILocalFile);
if (f instanceof Components.interfaces.nsILocalFile)
files.push({path:f.path, name:f.leafName, size:f.fileSize,
isFolder:f.isDirectory(), url:"file:///"+f.path.replace(/\\/g,"/"),
modified:new Date(f.lastModifiedTime).formatString("YYYY.0MM.0DD 0hh:0mm:0ss")});
}
}
return files;
}
window.renderDirectoryList=function(target,cwd,fmt) {
var files=getFileList(cwd);
if (!files||!files.length) { // maybe relative directory... fixup and try again...
var fixup=getCurrentFolder()+cwd;
var files=getFileList(fixup);
if (!files||!files.length) {
var out="{{errorButton{error reading "+cwd+"}}}";
removeChildren(target); wikify(out,target);
target.style.display="block";
return false;
} else cwd=fixup;
}
if (!cwd||!cwd.length) cwd=config.options.txtLocalDirectory;
if (!cwd||!cwd.length) cwd=getCurrentFolder();
config.options.txtLocalDirectory=cwd;
var header=""; var item=""; var folderitem=""; var folderscript=""; var footer="";
switch (fmt) {
case "plain": item=folderitem="<nowiki>%0</nowiki>\n"; break;
case "list": item=folderitem="[[%1|file:///%0]]\n"; break;
default:
var header="Index of {{{%0}}}\n^^(as of %1)^^\n|filename | size |modified|h\n";
var item="|[[%1|%2]] | %3 |%4|\n";
var folderscript='<'+'script label="%1" title="open %1...">';
folderscript+=' var t=place.parentNode.parentNode.parentNode.parentNode.parentNode;';
folderscript+=' window.renderDirectoryList(t,"%0","");';
folderscript+=' return false;';
folderscript+=' </'+'script>';
var folderitem='|'+folderscript+' | |%4|\n';
var footer="|>|>|>| !Total of %0 bytes in %1 files |f\n|borderless sortable|k\n";
var showDirectory=true;
break;
}
var out=header.format([cwd,new Date().toLocaleString()]);
if (showDirectory) {
var p=getParentFolder(cwd);
if (p) files.unshift({path:p, name:"(parent folder)", size:0, isFolder:true, url:"file:///"+p.replace(/\\/g,"/"),
modified:new Date().formatString("YYYY.0MM.0DD 0hh:0mm:0ss")});
}
var total=0;
for (var i=0; i<files.length; i++) {
var line=(files[i].isFolder?folderitem:item).format([files[i].path,files[i].name,files[i].url,files[i].size,files[i].modified]);
if (showDirectory) line=line.replace(/\\/g,"\\\\"); // fixup for PC-style file paths embedded in 'folderscript'
if (!files[i].isFolder) total+=files[i].size;
out+=line;
}
out+=footer.format([total,files.length]);
removeChildren(target); wikify(out,target); target.style.display="block";
// make table sortable (code adapted from [[TableSortingPlugin]]
var c = config.tableSorting; if (!c) return; // no sortable tables
var table = target.getElementsByTagName("table")[0];
var x=null, rev, thead=table.getElementsByTagName('thead')[0], headers=thead.rows[thead.rows.length-1].cells;
for (var j=0; j<headers.length; j++){
var h = headers[j];
if (hasClass(h,"nosort")) continue;
h.setAttribute("index",j);
h.onclick = function(){c.sortTable(this); return false;};
h.ondblclick = stopEvent;
if(h.getElementsByTagName("span").length == 0) createTiddlyElement(h,"span",null,"hidden",c.uarrow);
if(!x && hasClass(h,"autosort")) { x = j; rev = hasClass(h,"reverse"); }
}
if(x) c.sortTable(headers[x],rev);
}
</script>{{hidden small{
<script label="select a folder...">
var path=askForFolder(getCurrentFolder());
if (path) window.renderDirectoryList(place.parentNode.nextSibling,path,"");
return false;
</script> | <script label="use document location...">
window.renderDirectoryList(place.parentNode.nextSibling,getCurrentFolder(),"");
return false;
</script> | <script label="refresh list...">
window.renderDirectoryList(place.parentNode.nextSibling,config.options.txtLocalDirectory,"");
return false;
</script>
----
}}}@@display:none;/% content automatically replaced %/@@<script>
var cwd=getCurrentFolder(); // default to current folder
if ("$1"=="$"+"1") place.lastChild.previousSibling.style.display="block"; // show 'select a folder' command
else if ("$1".toLowerCase()=="here") cwd=getCurrentFolder(); // "here" = use document directory
else cwd="$1"; // use path param as specified
window.renderDirectoryList(place.lastChild,cwd,"$2");
</script>
<<tabs MainTab [[Timeline]] 'Timeline' [[TabTimeline]] [[All]] 'All tiddlers' [[TabAll]] [[Shadowed ]] "Shadowed tiddlers" [[TabMoreShadowed]] [[Tags]] 'All tags' [[TabTags]] [[Orphans]] "Orphaned" [[TabMoreOrphans]] [[Plugins ]] "Plugins" [[Plugins]] >>
(Parque Ecológico Visão do Futuro)
~PôsGraduação em Sustentabilidade
.popup li .tagger a {display:inline;}
body {background-image:url('[[background.jpg]]'); background-repeat: no-repeat; color: #000; font-family: arial; font-size: 10pt;}
h1,h2,h3,h4,h5 { color: #8899ff; background: transparent; font-family: Verdana; border-bottom: none;}
.editor a {color:#dddddd;}
#editor a {color:#dddddd;}
.nowrap { white-space:nowrap;}
.begone{clear:both;}
.toolbar a {color:#5566ff;}
.selected .toolbar a {color:#5566ff;}
.selected .toolbar a:hover {color:#5566ff;}
.popup li {list-style:none;}
.doubleborder {
border: 4px double #a00;
padding:1px;
margin: 6px;
width:132px;
height:99px;
}
#tiddlerTWHelp-SearchResults .viewer {
overflow: auto;
}
#topMenu {background: transparent; margin: 0em 0.5em 0em 15em; font-family: Trebuchet MS, Verdana; font-size: 10pt; line-height: 0.5em;font-weight:bold;}
#topMenu table td {margin: 1px;}
#topMenu { border-top: 1px solid #ccc;
border-left: 1px solid #ccc;
border-bottom: 3px solid #ccc;
border-right: 3px solid #ccc;
margin: 0.1m;
height:2.3em;
background:#fff;
padding: 0.1em;
-moz-border-radius: 1em; }
/*MAINMENU*/
#sidebar {position: absolute; top: 0x; width: 18em; text-align: left; font-size: .85em;}
#mainbar {position: absolute; top: 0.2em; width: 18em; text-align: left; font-size: .85em;}
#displayArea {margin: 0em 0.5em 0em 15em;}
#mainMenu1 {padding-top:0.3em;background-color:#c3f8ee;}
#mainMenu .sliderPanel { margin-left: 1.0em; }
#mainMenu .tiddlyLinkExisting {font-weight: bold;}
#mainMenu2 { padding-top:0.3em;}
#mainMenu3 { padding-top:0.3em;}
#mainMenu4 { padding-top:0.3em;}
.bluey a {color: #900;}
.bluey {font-weight: bold; color: #900; font-size: 1.3em;}
.viewer .sliderPanel { margin-left: 1.2em; }
.sliderPanel { margin-left: 0em; }
/*TIDDLER TOPMARGIN AND BUTTON BORDER*/
/*.viewer .button{border:solid 0px;color:#c06;}
.viewer a {border: solid 1px;}*/
.viewer a.button{color:#008;border: solid 1px #008;background:url("http://img520.imageshack.us/img520/8688/mainmenugray7ef.gif") repeat-x top left;top left;-moz-border-radius: .2em;}
.button {border: solid 0px;}
.viewer { margin-top: .6em; background:transparent;}
.viewer {line-height: 1.2em;}
.viewer {line-height: 1.4em;}
/*Links*/
a:hover{background:#fff;color:#f00;}
/*TIDDLER TITLE COLOR MATCH BOTTOM OF HEADER*/
.title {color:#a00;}
/*UNORDERED and ORDERED LISTS TWEAK*/
/*.viewer li {padding-top: 0.2em; padding-bottom: 0.2em;} */
/*LINELESS BLOCKQUOTES*/
.viewer blockquote {border-left: 10px; margin-top:0em; margin-bottom:0em; }
.viewer blockquote {border-left: 2px solid #c06;}
/*TOPMENU*/
/*ROUNDED CORNERS AND BORDERS*/
.tiddler {
border-top: 1px solid #ccc;
border-left: 1px solid #ccc;
border-bottom: 3px solid #ccc;
border-right: 3px solid #ccc;
margin: 0.5em;
background:transparent;
padding: 0.5em;
-moz-border-radius: 1em; }
#messageArea {
background-color: #eee;
border-color: #8ab;
border-width: 4px;
border-style: dotted;
font-size: 90%;
padding: 0.5em;
-moz-border-radius: 1em; }
#mainMenu1,#mainMenu2,#mainMenu3,#mainMenu4 {
border-top: 1px solid #ccc;
border-left: 1px solid #ccc;
border-bottom: 3px solid #ccc;
border-right: 3px solid #ccc;
margin: 0.5em;
background:transparent;
padding: 0.5em;
-moz-border-radius: 1em; }
/*TagglyTag styles*/
.tagglyTagged li.listTitle { display:none;}
.tagglyTagged li { display: inline; font-size:90%; }
.tagglyTagged ul { margin:0px; padding:0px; }
.tagglyTagging { padding-top:0.5em; }
.tagglyTagging li.listTitle { display:none;}
.tagglyTagging ul { margin-top:0px; padding-top:0.5em; padding-left:0em; margin-bottom:0px; padding-bottom:0px; }
/* .tagglyTagging .tghide { display:inline; } */
.tagglyTagging { vertical-align: top; margin:0px; padding:0px; }
.tagglyTagging table { margin:0px; padding:0px; }
.tagglyTagging .button { display:none; margin-left:3px; margin-right:3px; }
.tagglyTagging .button, .tagglyTagging .hidebutton { color:#aaa; font-size:90%; border:0px; padding-left:0.3em;padding-right:0.3em;}
.tagglyTagging .button:hover, .hidebutton:hover { background:#eee; color:#888; }
.selected .tagglyTagging .button { display:inline; }
.tagglyTagging .hidebutton { color:white; } /* has to be there so it takes up space. tweak if you're not using a white tiddler bg */
.selected .tagglyTagging .hidebutton { color:#aaa }
.tagglyLabel { color:#aaa; font-size:90%; }
.tagglyTagging ul {padding-top:0px; padding-bottom:0.5em; margin-left:1em; }
.tagglyTagging ul ul {list-style-type:disc; margin-left:-1em;}
.tagglyTagging ul ul li {margin-left:0.5em; }
.editLabel { font-size:90%; padding-top:0.5em; }
/* GIFFMEX TWEAKS TO STYLESHEETPRINT (so that nothing but tiddler title and text are printed) */
@media print {#tiddlersBar {display: none ! important;}}
@media print {#mainMenu {display: none ! important;}}
@media print {#topMenu {display: none ! important;}}
@media print {#sidebar {display: none ! important;}}
@media print {#messageArea {display: none ! important;}}
@media print {#toolbar {display: none ! important;}}
@media print {.header {display: none ! important;}}
@media print {.tiddler .subtitle {display: none ! important;}}
@media print {.tiddler .toolbar {display; none ! important; }}
@media print {.tiddler .tagging {display; none ! important; }}
@media print {.tiddler .tagged {display; none ! important; }}
@media print {#displayArea {margin: 1em 1em 0em 1em;}}
@media print {.pageBreak {page-break-before: always;}}
/*COLUMNS*/
.twocolumns { display:block; -moz-column-count:2; -moz-column-gap:1em; -moz-column-
width:50%;}
.threecolumns { display:block; -moz-column-count:3; -moz-column-gap:1em; -moz-column-
width:33%}
.fourcolumns { display:block; -moz-column-count:4; -moz-column-gap:1em; -moz-column-
width:25%}
.popup li .tagger a {display:inline;}
/*{{{*/
.popup {
max-height:auto;
min-height:auto;
width: auto;
overflow: auto;
margin:auto;
font-family: arial; font-size: 10pt;
}
.headline{
color:#c06;
font-size:180%;
font-family:times,arial;
line-height:60%;
}
.tiddler {background:tranparent;}
.textleft { display:block;text-align:left; }
.textright { display:block;text-align:right; }
.textcenter { display:block;text-align:center; }
.textjustify { display:block;text-align:justify; }
.textindent { display:block;margin:0;padding:0;border:0;margin-left:2em; }
/%.viewer .popup li { display:block;font-size:90%; white-space:nowrap;}%/
/***
!!!<<gradient horiz #fc3 #fff >><<tiddler RefreshStyles>> ButtonStyle>>/%==================================================%/
***/
input.btn{
color:#008;
font-family:Trebuchet MS,aerial,helvetica,sans-serif;
font-size:100%;
font-weight:normal;
background-color:#eee;
background:url("http://img520.imageshack.us/img520/8688/mainmenugray7ef.gif") repeat-x top left;top left;
border:1px solid;
border-top-color:#009;
border-left-color:#009;
border-right-color:#009;
border-bottom-color:#009;
-moz-border-radius : .25em 0.25em 0.25em 0.25em;
}
input.btnhov{
color:#a00;
background:#fff;
background:url("http://img520.imageshack.us/img520/8688/mainmenugray7ef.gif") repeat-x top left;top left;
border-top-color:#c06;
border-left-color:#c06;
border-right-color:#c06;
border-bottom-color:#c06;
-moz-border-radius : .25em 0.25em 0.25em 0.25em;
}
/*}}}*/
[[TabsCSS]]
[[StyleSheetTiddlersBar]]
[[StyleSheetShortcuts]]
[[TopMenuStyle]]
[[JqueryTreeviewCSS]]
/*{{{*/
* html .tiddler {height:1%;}
body {font-size:.75em; font-family:arial,helvetica; margin:0; padding:0;}
h1,h2,h3,h4,h5,h6 {font-weight:bold; text-decoration:none;}
h1,h2,h3 {padding-bottom:1px; margin-top:1.2em;margin-bottom:0.3em;}
h4,h5,h6 {margin-top:1em;}
h1 {font-size:1.35em;}
h2 {font-size:1.25em;}
h3 {font-size:1.1em;}
h4 {font-size:1em;}
h5 {font-size:.9em;}
hr {height:1px;}
a {text-decoration:none;}
dt {font-weight:bold;}
ol {list-style-type:decimal;}
ol ol {list-style-type:lower-alpha;}
ol ol ol {list-style-type:lower-roman;}
ol ol ol ol {list-style-type:decimal;}
ol ol ol ol ol {list-style-type:lower-alpha;}
ol ol ol ol ol ol {list-style-type:lower-roman;}
ol ol ol ol ol ol ol {list-style-type:decimal;}
.txtOptionInput {width:11em;}
#contentWrapper .chkOptionInput {border:0;}
.externalLink {text-decoration:underline;}
.indent {margin-left:3em;}
.outdent {margin-left:3em; text-indent:-3em;}
code.escaped {white-space:nowrap;}
.tiddlyLinkExisting {font-weight:bold;}
.tiddlyLinkNonExisting {font-style:italic;}
/* the 'a' is required for IE, otherwise it renders the whole tiddler in bold */
a.tiddlyLinkNonExisting.shadow {font-weight:bold;}
#mainMenu .tiddlyLinkExisting,
#mainMenu .tiddlyLinkNonExisting,
#sidebarTabs .tiddlyLinkNonExisting {font-weight:normal; font-style:normal;}
#sidebarTabs .tiddlyLinkExisting {font-weight:bold; font-style:normal;}
.header {position:relative;}
.header a:hover {background:transparent;}
.headerShadow {position:relative; padding:4.5em 0em 1em 1em; left:-1px; top:-1px;}
.headerForeground {position:absolute; padding:4.5em 0em 1em 1em; left:0px; top:0px;}
.siteTitle {font-size:3em;}
.siteSubtitle {font-size:1.2em;}
#mainMenu {position:absolute; left:0; width:10em; text-align:right; line-height:1.6em; padding:1.5em 0.5em 0.5em 0.5em; font-size:1.1em;}
#sidebar {position:absolute; right:3px; width:16em; font-size:.9em;}
#sidebarOptions {padding-top:0.3em;}
#sidebarOptions a {margin:0em 0.2em; padding:0.2em 0.3em; display:block;}
#sidebarOptions input {margin:0.4em 0.5em;}
#sidebarOptions .sliderPanel {margin-left:1em; padding:0.5em; font-size:.85em;}
#sidebarOptions .sliderPanel a {font-weight:bold; display:inline; padding:0;}
#sidebarOptions .sliderPanel input {margin:0 0 .3em 0;}
#sidebarTabs .tabContents {width:15em; overflow:hidden;}
.wizard {padding:0.1em 1em 0em 2em;}
.wizard h1 {font-size:2em; font-weight:bold; background:none; padding:0em 0em 0em 0em; margin:0.4em 0em 0.2em 0em;}
.wizard h2 {font-size:1.2em; font-weight:bold; background:none; padding:0em 0em 0em 0em; margin:0.4em 0em 0.2em 0em;}
.wizardStep {padding:1em 1em 1em 1em;}
.wizard .button {margin:0.5em 0em 0em 0em; font-size:1.2em;}
.wizardFooter {padding:0.8em 0.4em 0.8em 0em;}
.wizardFooter .status {padding:0em 0.4em 0em 0.4em; margin-left:1em;}
.wizard .button {padding:0.1em 0.2em 0.1em 0.2em;}
#messageArea {position:fixed; top:2em; right:0em; margin:0.5em; padding:0.5em; z-index:2000; _position:absolute;}
.messageToolbar {display:block; text-align:right; padding:0.2em 0.2em 0.2em 0.2em;}
#messageArea a {text-decoration:underline;}
.tiddlerPopupButton {padding:0.2em 0.2em 0.2em 0.2em;}
.popupTiddler {position: absolute; z-index:300; padding:1em 1em 1em 1em; margin:0;}
.popup {position:absolute; z-index:300; font-size:.9em; padding:0; list-style:none; margin:0;}
.popup .popupMessage {padding:0.4em;}
.popup hr {display:block; height:1px; width:auto; padding:0; margin:0.2em 0em;}
.popup li.disabled {padding:0.4em;}
.popup li a {display:block; padding:0.4em; font-weight:normal; cursor:pointer;}
.listBreak {font-size:1px; line-height:1px;}
.listBreak div {margin:2px 0;}
.tabset {padding:1em 0em 0em 0.5em;}
.tab {margin:0em 0em 0em 0.25em; padding:2px;}
.tabContents {padding:0.5em;}
.tabContents ul, .tabContents ol {margin:0; padding:0;}
.txtMainTab .tabContents li {list-style:none;}
.tabContents li.listLink { margin-left:.75em;}
#contentWrapper {display:block;}
#splashScreen {display:none;}
#displayArea {margin:1em 17em 0em 14em;}
.toolbar {text-align:right; font-size:.9em;}
.tiddler {padding:1em 1em 0em 1em;}
.missing .viewer,.missing .title {font-style:italic;}
.title {font-size:1.6em; font-weight:bold;}
.missing .subtitle {display:none;}
.subtitle {font-size:1.1em;}
.tiddler .button {padding:0.2em 0.4em;}
.tagging {margin:0.5em 0.5em 0.5em 0; float:left; display:none;}
.isTag .tagging {display:block;}
.tagged {margin:0.5em; float:right;}
.tagging, .tagged {font-size:0.9em; padding:0.25em;}
.tagging ul, .tagged ul {list-style:none; margin:0.25em; padding:0;}
.tagClear {clear:both;}
.footer {font-size:.9em;}
.footer li {display:inline;}
.annotation {padding:0.5em; margin:0.5em;}
* html .viewer pre {width:99%; padding:0 0 1em 0;}
.viewer {line-height:1.4em; padding-top:0.5em;}
.viewer .button {margin:0em 0.25em; padding:0em 0.25em;}
.viewer blockquote {line-height:1.5em; padding-left:0.8em;margin-left:2.5em;}
.viewer ul, .viewer ol {margin-left:0.5em; padding-left:1.5em;}
.viewer table, table.twtable {border-collapse:collapse; margin:0.8em 1.0em;}
.viewer th, .viewer td, .viewer tr,.viewer caption,.twtable th, .twtable td, .twtable tr,.twtable caption {padding:3px;}
table.listView {font-size:0.85em; margin:0.8em 1.0em;}
table.listView th, table.listView td, table.listView tr {padding:0px 3px 0px 3px;}
.viewer pre {padding:0.5em; margin-left:0.5em; font-size:1.2em; line-height:1.4em; overflow:auto;}
.viewer code {font-size:1.2em; line-height:1.4em;}
.editor {font-size:1.1em;}
.editor input, .editor textarea {display:block; width:100%; font:inherit;}
.editorFooter {padding:0.25em 0em; font-size:.9em;}
.editorFooter .button {padding-top:0px; padding-bottom:0px;}
.fieldsetFix {border:0; padding:0; margin:1px 0px 1px 0px;}
.sparkline {line-height:1em;}
.sparktick {outline:0;}
.zoomer {font-size:1.1em; position:absolute; overflow:hidden;}
.zoomer div {padding:1em;}
* html #backstage {width:99%;}
* html #backstageArea {width:99%;}
#backstageArea {display:none; position:relative; overflow: hidden; z-index:150; padding:0.3em 0.5em 0.3em 0.5em;}
#backstageToolbar {position:relative;}
#backstageArea a {font-weight:bold; margin-left:0.5em; padding:0.3em 0.5em 0.3em 0.5em;}
#backstageButton {display:none; position:absolute; z-index:175; top:0em; right:0em;}
#backstageButton a {padding:0.1em 0.4em 0.1em 0.4em; margin:0.1em 0.1em 0.1em 0.1em;}
#backstage {position:relative; width:100%; z-index:50;}
#backstagePanel {display:none; z-index:100; position:absolute; width:90%; margin:0em 3em 0em 3em; padding:1em 1em 1em 1em;}
.backstagePanelFooter {padding-top:0.2em; float:right;}
.backstagePanelFooter a {padding:0.2em 0.4em 0.2em 0.4em;}
#backstageCloak {display:none; z-index:20; position:absolute; width:100%; height:100px;}
.whenBackstage {display:none;}
.backstageVisible .whenBackstage {display:block;}
/*}}}*/
/***
|Name|StyleSheetShortcuts|
|Source|http://www.TiddlyTools.com/#StyleSheetShortcuts|
|Version||
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|CSS|
|Requires||
|Overrides||
|Description|'convenience' classes for common formatting, alignment, boxes, tables, etc.|
These 'style tweaks' can be easily included in other stylesheet tiddler so they can share a baseline look-and-feel that can then be customized to create a wide variety of 'flavors'.
***/
/*{{{*/
/* text alignments */
.left
{ display:block;text-align:left; }
.center
{ display:block;text-align:center; }
.right
{ display:block;text-align:right; }
.justify
{ display:block;text-align:justify; }
.indent
{ display:block;margin:0;padding:0;border:0;margin-left:2em; }
.floatleft
{ float:left; }
.floatright
{ float:right; }
.valignTop, .valignTop table, .valignTop tbody, .valignTop th, .valignTop tr, .valignTop td
{ vertical-align:top; }
.valignBottom, .valignBottom table, .valignBottom tbody, .valignBottom th, .valignBottom tr, .valignBottom td
{ vertical-align:bottom; }
.clear
{ clear:both; }
.wrap
{ white-space:normal; }
.nowrap
{ white-space:nowrap; }
.hidden
{ display:none; }
.show
{ display:inline !important; }
.span
{ display:span; }
.block
{ display:block; }
.relative
{ position:relative; }
.absolute
{ position:absolute; }
/* font sizes */
.big
{ font-size:14pt;line-height:120% }
.medium
{ font-size:12pt;line-height:120% }
.normal
{ font-size:9pt;line-height:120% }
.small
{ font-size:8pt;line-height:120% }
.fine
{ font-size:7pt;line-height:120% }
.tiny
{ font-size:6pt;line-height:120% }
.larger
{ font-size:120%; }
.smaller
{ font-size:80%; }
/* font styles */
.bold
{ font-weight:bold; }
.italic
{ font-style:italic; }
.underline
{ text-decoration:underline; }
/* plain list items (no bullets or indent) */
.nobullets li { list-style-type: none; margin-left:-2em; }
/* multi-column tiddler content (not supported in Internet Explorer) */
.twocolumns { display:block;
-moz-column-count:2; -moz-column-gap:1em; -moz-column-width:50%; /* FireFox */
-webkit-column-count:2; -webkit-column-gap:1em; -webkit-column-width:50%; /* Safari */
column-count:2; column-gap:1em; column-width:50%; /* Opera */
}
.threecolumns { display:block;
-moz-column-count:3; -moz-column-gap:1em; -moz-column-width:33%; /* FireFox */
-webkit-column-count:3; -webkit-column-gap:1em; -webkit-column-width:33%; /* Safari */
column-count:3; column-gap:1em; column-width:33%; /* Opera */
}
.fourcolumns { display:block;
-moz-column-count:4; -moz-column-gap:1em; -moz-column-width:25%; /* FireFox */
-webkit-column-count:4; -webkit-column-gap:1em; -webkit-column-width:25%; /* Safari */
column-count:4; column-gap:1em; column-width:25%; /* Opera */
}
/* show/hide browser-specific content for InternetExplorer vs. non-IE ("moz") browsers */
*[class="ieOnly"]
{ display:none; } /* hide in moz (uses CSS selector) */
* html .mozOnly, *:first-child+html .mozOnly
{ display: none; } /* hide in IE (uses IE6/IE7 CSS hacks) */
/* borderless tables */
.borderless, .borderless table, .borderless td, .borderless tr, .borderless th, .borderless tbody
{ border:0 !important; margin:0 !important; padding:0 !important; }
.widetable, .widetable table
{ width:100%; }
/* thumbnail images (fixed-sized scaled images) */
.thumbnail img { height:5em !important; }
/* stretchable images (auto-size to fit tiddler) */
.stretch img { width:95%; }
/* grouped content */
.outline
{ display:block; padding:1em; -moz-border-radius:1em;-webkit-border-radius:1em; border:1px solid; }
.menubox
{ display:block; padding:1em; -moz-border-radius:1em;-webkit-border-radius:1em; border:1px solid; background:#fff; color:#000; }
.menubox .button, .menubox .tiddlyLinkExisting, .menubox .tiddlyLinkNonExisting
{ color:#009 !important; }
.groupbox
{ display:block; padding:1em; -moz-border-radius:1em;-webkit-border-radius:1em; border:1px solid; background:#ffe; color:#000; }
.groupbox a, .groupbox .button, .groupbox .tiddlyLinkExisting, .groupbox .tiddlyLinkNonExisting
{ color:#009 !important; }
.groupbox code
{ color:#333 !important; }
.borderleft
{ margin:0;padding:0;border:0;margin-left:1em; border-left:1px dotted; padding-left:.5em; }
.borderright
{ margin:0;padding:0;border:0;margin-right:1em; border-right:1px dotted; padding-right:.5em; }
.borderbottom
{ margin:0;padding:1px 0;border:0;border-bottom:1px dotted; margin-bottom:1px; padding-bottom:1px; }
.bordertop
{ margin:0;padding:0;border:0;border-top:1px dotted; margin-top:1px; padding-top:1px; }
/* compact form */
.smallform
{ white-space:nowrap; }
.smallform input, .smallform textarea, .smallform button, .smallform checkbox, .smallform radio, .smallform select
{ font-size:8pt; }
/* stretchable edit fields and textareas (auto-size to fit tiddler) */
.stretch input { width:99%; }
.stretch textarea { width:99%; }
/* compact input fields (limited to a few characters for entering percentages and other small values) */
.onechar input { width:1em; }
.twochar input { width:2em; }
.threechar input { width:3em; }
.fourchar input { width:4em; }
.fivechar input { width:5em; }
/* text colors */
.green { color:#0c0 !important }
.red { color:#f66 !important }
.blue { color:#99f !important }
.gray { color:#999 !important }
/* rollover highlighting */
.mouseover
{color:[[ColorPalette::TertiaryLight]] !important;}
.mouseover a
{color:[[ColorPalette::TertiaryLight]] !important;}
.selected .mouseover
{color:[[ColorPalette::Foreground]] !important;}
.selected .mouseover .button, .selected .mouseover a
{color:[[ColorPalette::PrimaryDark]] !important;}
/* rollover zoom text */
.zoomover
{ font-size:80% !important; }
.selected .zoomover
{ font-size:100% !important; }
/*}}}*/
!!!StyleSheetTiddlersBar
#tiddlersBar .button {border:1px; color:#000; background: transparent;}
#tiddlersBar .tab {white-space:nowrap;background: transparent;}
#tiddlersBar {background: transparent; padding : 0.05em 2.0em 0.05em 15.0em;margin-left:0em;margin-right:0em}
#tiddlersBar {margin-bottom:0px;background: transparent;}
.tabSelected .button:hover {font-size:0.8em;font-weight:bold;color: #f00;background:transparent; padding : 0px 0px 0px 2px;}
.tabUnselected .button:hover {font-size:0.8em;color: #f00;background: transparent; padding : 0px 0px 0px 2px;}
.tabUnselected .button {font-size:0.75em;font-weight:bold;color: #008; padding : 0px 0px 0px 2px;}
.tabSelected .button {font-size:0.85em;font-weight:bold;color: #008;padding : 0px 0px 0px 2px;}
.tabUnselected {
background-color:transparent;
border:0px #eee solid; border-bottom:0px;font-size:0.8m; }
.tabSelected {
background-color:transparent;
color: #a00;border: 0px #c06 solid;border-bottom:0px; font-size:0.85em;}
.tabUnselected .tabButton {font-weight:bold;font-size:0.8em;color:#333;background:transparent; padding : 0px 2px 0px 2px; margin: 0 0 0 1px;}
.tabSelected .tabButton {font-weight:bold;font-size:0.8em;color:#000;background:transparent;padding : 0px 2px 0px 2px; margin: 0 0 0 1px;}
.tabSelected .tabButton:hover {font-weight:bold;color: #f00;background: transparent;}
.tabUnselected .tabButton:hover {font-weight:bold;color: #f00;background:transparent;}
.tiddler, .tabContents {border-top:0px #fa0 solid;margin-left:0.5em;margin-right:0.5em;}
#tiddlersBar .tab {-moz-border-radius : 0.4em 0.4em 0 0;}
#tiddlersBar {background:transparent;line-height: 1.15em;}
http://inqueritoapreciativo.com/Tudo-o-que-sempre-quis-saber-sobre-o-IA.pdf
/*FONT STUFF*/
body {font-family: arial; font-size: 10pt;}
.uparrow{ font-weight: bold; text-decoration: underline; padding-right: 7px; background: url(http://img408.imageshack.us/img408/5150/daquo3gq1.gif) no-repeat right 56%; }
h1,h2,h3,h4,h5 { color: #8899ff; background: white; font-family: Verdana; border-bottom: none;}
.editor a {color:#dddddd;}
#editor a {color:#dddddd;}
.nowrap { white-space:nowrap;}
.begone{clear:both;}
.toolbar a {color:#5566ff;}
.selected .toolbar a {color:#5566ff;}
.selected .toolbar a:hover {color:#5566ff;}
.popup li {list-style:none;}
.doubleborder {
border: 4px double #a00;
padding:1px;
margin: 8px;
width:132px;
height:99px;
}
#tiddlerTWHelp-SearchResults .viewer {
overflow: auto;
}
/* SHORTENS THE HEIGHT OF THE HEADER */
#displayArea {margin-top:0.0em}
.header {position:relative; height:73px;}
.headerShadow {padding: 1.4em 0em .8em 1em;}
.headerForeground {padding: 1.4em 0em .8em 1em;}
.siteTitle {font-size:1.0em;}
.siteSubtitle {font-size:1em;}
.siteTitle {font-size:1.0em;}
.siteSubtitle {font-size:1em;}
/*MAINMENU*/
#mainMenu {width: 15.5em; text-align: left; font-size: .85em;}
#displayArea {margin: 0em 15em 0em 15.5em;}
#mainMenu .sliderPanel { margin-left: 1.2em; }
#mainMenu .tiddlyLinkExisting {font-weight: bold;}
.bluey a {color: #900;}
.bluey {font-weight: bold; color: #900; font-size: 1.3em;}
.viewer .sliderPanel { margin-left: 1.2em; }
.sliderPanel { margin-left: 0em; }
/*TABLE HEADER*/
.viewer th {color: #000; background-color: #eeeeee;}
/*TIDDLER TOPMARGIN AND BUTTON BORDER*/
/*.viewer .button{border:solid 0px;color:#c06;}
.viewer a {border: solid 1px;}*/
.viewer a.button{color:#008;border: solid 1px #008;background:url("http://img520.imageshack.us/img520/8688/mainmenugray7ef.gif") repeat-x top left;top left;-moz-border-radius: .2em;}
.button {border: solid 0px;}
.makeborder {border: solid 1px #008;padding-left: 2px;padding-right: 2px; background:url("http://img520.imageshack.us/img520/8688/mainmenugray7ef.gif") repeat-x top left;top left;-moz-border-radius: .2em;}
.viewer { margin-top: .5em; }
.viewer {line-height: 1.4em;}
.viewer {line-height: 1.4em;}
/*Links*/
a:hover{background:#fff;color:#f00;}
/*TIDDLER TITLE COLOR MATCH BOTTOM OF HEADER*/
.title {color:#a00;}
/*UNORDERED and ORDERED LISTS TWEAK*/
/*.viewer li {padding-top: 0.2em; padding-bottom: 0.2em;} */
/*LINELESS BLOCKQUOTES*/
.viewer blockquote {border-left: 10px; margin-top:0em; margin-bottom:0em; }
/*INVISIBLE TABLE*/
.viewer .invisiblecomm table {border-color: white;}
.viewer .invisiblecomm table td { font-size: 1em; font-family: Verdana; border-color: white; padding: 10px 20px 10px 0px; text-align: left; vertical-align: top; padding: 20px;}
.viewer .invisiblecomm table th { color: #005566; background-color: white; border-color: white; font-family: Verdana; font-size: 1.2em; font-weight: bold; padding: 10px 20px 10px 0px; text-align: left; vertical-align: top;}
.viewer .invisiblecomm table tr.leftColumn { background-color: #bbbbbb; }
/*TOPMENU*/
#topMenu {padding-left: 0em; background-color: #900; color: #110077; font-family: Trebuchet MS, Verdana; font-size: 13pt; line-height: 1.4em;}
#topMenu table td {margin: 10px;}
#topMenu .purple a {color: #0055dd;}
/*ROUNDED CORNERS AND BORDERS*/
.tiddler {
border-top: 1px solid #ccc;
border-left: 1px solid #ccc;
border-bottom: 3px solid #ccc;
border-right: 3px solid #ccc;
margin: 0.5em;
background:#fff;
padding: 0.5em;
-moz-border-radius: 1em; }
#messageArea {
background-color: #eee;
border-color: #8ab;
border-width: 4px;
border-style: dotted;
font-size: 90%;
padding: 0.5em;
-moz-border-radius: 1em; }
/*TagglyTag styles*/
.tagglyTagged li.listTitle { display:none;}
.tagglyTagged li { display: inline; font-size:90%; }
.tagglyTagged ul { margin:0px; padding:0px; }
.tagglyTagging { padding-top:0.5em; }
.tagglyTagging li.listTitle { display:none;}
.tagglyTagging ul { margin-top:0px; padding-top:0.5em; padding-left:0em; margin-bottom:0px; padding-bottom:0px; }
/* .tagglyTagging .tghide { display:inline; } */
.tagglyTagging { vertical-align: top; margin:0px; padding:0px; }
.tagglyTagging table { margin:0px; padding:0px; }
.tagglyTagging .button { display:none; margin-left:3px; margin-right:3px; }
.tagglyTagging .button, .tagglyTagging .hidebutton { color:#aaa; font-size:90%; border:0px; padding-left:0.3em;padding-right:0.3em;}
.tagglyTagging .button:hover, .hidebutton:hover { background:#eee; color:#888; }
.selected .tagglyTagging .button { display:inline; }
.tagglyTagging .hidebutton { color:white; } /* has to be there so it takes up space. tweak if you're not using a white tiddler bg */
.selected .tagglyTagging .hidebutton { color:#aaa }
.tagglyLabel { color:#aaa; font-size:90%; }
.tagglyTagging ul {padding-top:0px; padding-bottom:0.5em; margin-left:1em; }
.tagglyTagging ul ul {list-style-type:disc; margin-left:-1em;}
.tagglyTagging ul ul li {margin-left:0.5em; }
.editLabel { font-size:90%; padding-top:0.5em; }
/* GIFFMEX TWEAKS TO STYLESHEETPRINT (so that nothing but tiddler title and text are printed) */
@media print {#tiddlersBar {display: none ! important;}}
@media print {#mainMenu {display: none ! important;}}
@media print {#topMenu {display: none ! important;}}
@media print {#sidebar {display: none ! important;}}
@media print {#messageArea {display: none ! important;}}
@media print {#toolbar {display: none ! important;}}
@media print {.header {display: none ! important;}}
@media print {.tiddler .subtitle {display: none ! important;}}
@media print {.tiddler .toolbar {display; none ! important; }}
@media print {.tiddler .tagging {display; none ! important; }}
@media print {.tiddler .tagged {display; none ! important; }}
@media print {#displayArea {margin: 1em 1em 0em 1em;}}
@media print {.pageBreak {page-break-before: always;}}
/*COLUMNS*/
.twocolumns { display:block; -moz-column-count:2; -moz-column-gap:1em; -moz-column-
width:50%;}
.threecolumns { display:block; -moz-column-count:3; -moz-column-gap:1em; -moz-column-
width:33%}
.fourcolumns { display:block; -moz-column-count:4; -moz-column-gap:1em; -moz-column-
width:25%}
.popup li .tagger a {display:inline;}
/*{{{*/
.popup {
max-height:275px;
min-height:auto;
width: 300;
overflow: auto;
margin:auto;
font-family: arial; font-size: 10pt;
}
.headline{
color:#c06;
font-size:180%;
font-family:times,arial;
line-height:60%;
}
.textleft { display:block;text-align:left; }
.textright { display:block;text-align:right; }
.textcenter { display:block;text-align:center; }
.textjustify { display:block;text-align:justify; }
.textindent { display:block;margin:0;padding:0;border:0;margin-left:2em; }
/%.viewer .popup li { display:block;font-size:90%; white-space:nowrap;}%/
/***
!!!<<gradient horiz #fc3 #fff >><<tiddler RefreshStyles>> ButtonStyle>>/%==================================================%/
***/
input.btn{
color:#008;
font-family:Trebuchet MS,aerial,helvetica,sans-serif;
font-size:100%;
font-weight:normal;
background-color:#eee;
background:url("http://img520.imageshack.us/img520/8688/mainmenugray7ef.gif") repeat-x top left;top left;
border:1px solid;
border-top-color:#009;
border-left-color:#009;
border-right-color:#009;
border-bottom-color:#009;
-moz-border-radius : .25em 0.25em 0.25em 0.25em;
}
input.btnhov{
color:#a00;
background:#fff;
background:url("http://img520.imageshack.us/img520/8688/mainmenugray7ef.gif") repeat-x top left;top left;
border-top-color:#c06;
border-left-color:#c06;
border-right-color:#c06;
border-bottom-color:#c06;
-moz-border-radius : .25em 0.25em 0.25em 0.25em;
}
/*}}}*/
[[TabsCSS]]
[[StyleSheetTiddlersBar]]
[[StyleSheetShortcuts]]
[[TopMenuStyle]]
#contentFooter {
background: transparent;
padding: 1em 2em;
font-weight:normal;
}
#contentFooter a {
color:#009;
}
#sidebarTabs .tabContents {
max-height: 35em; /* not IE6-compatible */
overflow: auto;
width: 90.5%;
}
#sidebarTabs .tabContents .tabContents {
max-height: 30em !important; /* not IE6-compatible */
}
#sidebarTabs .tabSelected {
background:url("http://img505.imageshack.us/img505/489/navbarredlt5.gif") repeat-x top left;top left;
background-color:#fcb;
font-size:0.95em;
font-weight:bold;
color:#a00;
text-decoration:none;
border: 0px solid #999;
}
#sidebarTabs .tabUnselected {
background:url("http://img261.imageshack.us/img261/8603/navbargrayhw1.png") repeat-x top left;top left;
background-color:#eee;
font-size:0.95em;
font-weight:bold;
color:#008;
text-decoration:none;
border: 0px solid #999;
}
/***
|Name|TaggedTemplateTweak|
|Source|http://www.TiddlyTools.com/#TaggedTemplateTweak|
|Documentation|http://www.TiddlyTools.com/#TaggedTemplateTweakInfo|
|Version|1.5.2|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|plugin|
|Requires||
|Overrides|Story.prototype.chooseTemplateForTiddler()|
|Description|use alternative ViewTemplate/EditTemplate for tiddler's tagged with specific tag values|
This tweak extends story.chooseTemplateForTiddler() so that ''whenever a tiddler is marked with a specific tag value, it can be viewed and/or edited using alternatives to the standard tiddler templates.''
!!!!!Documentation
>see [[TaggedTemplateTweakInfo]]
!!!!!Revisions
<<<
2009.05.04 [1.5.2] check for tiddler exist *after* title-as-prefix (allows shadow tiddlers to use custom templates)
| please see [[TaggedTemplateTweakInfo]] for previous revision details |
2007.06.11 [1.0.0] initial release
<<<
!!!!!Code
***/
//{{{
version.extensions.TaggedTemplateTweak= {major: 1, minor: 5, revision: 2, date: new Date(2009,5,4)};
Story.prototype.taggedTemplate_chooseTemplateForTiddler = Story.prototype.chooseTemplateForTiddler
Story.prototype.chooseTemplateForTiddler = function(title,template)
{
// get core template and split into theme and template name
var coreTemplate=this.taggedTemplate_chooseTemplateForTiddler.apply(this,arguments);
var theme=""; var template=coreTemplate;
var parts=template.split(config.textPrimitives.sectionSeparator);
if (parts[1]) { theme=parts[0]; template=parts[1]; }
else theme=config.options.txtTheme||""; // fallback if theme is not specified
theme+=config.textPrimitives.sectionSeparator;
// look for template using *title* as prefix
if (!store.getTaggedTiddlers(title).length) { // if tiddler is not a tag
if (store.getTiddlerText(theme+title+template)) { return theme+title+template; } // theme##TitleTemplate
if (store.getTiddlerText(title+template)) { return title+template; } // TitleTemplate
}
// look for templates using *tags* as prefix
var tiddler=store.getTiddler(title);
if (!tiddler) return coreTemplate; // tiddler doesn't exist... use core result
for (i=0; i<tiddler.tags.length; i++) {
var t=tiddler.tags[i]+template; // add tag prefix to template
var c=t.substr(0,1).toUpperCase()+t.substr(1); // capitalized for WikiWord title
if (store.getTiddlerText(theme+t)) { return theme+t; } // theme##tagTemplate
if (store.getTiddlerText(theme+c)) { return theme+c; } // theme##TagTemplate
if (store.getTiddlerText(t)) { return t; } // tagTemplate
if (store.getTiddlerText(c)) { return c; } // TagTemplate
}
// no match... use core result
return coreTemplate;
}
//}}}
/***
|''Name:''|~TaggerPlugin|
|''Version:''|1.0.1 (2006-06-01)|
|''Source:''|http://tw.lewcid.org//#TaggerPlugin|
|''Author:''|SaqImtiaz|
|''Description:''|Provides a drop down listing current tiddler tags, and allowing toggling of tags.|
|''Documentation:''|[[TaggerPluginDocumentation]]|
|''Source Code:''|[[TaggerPluginSource]]|
|''~TiddlyWiki:''|Version 2.0.8 or better|
|''Requires''|[[DeprecatedFunctionsPlugin]]|
|''Stylesheet Changes''|ViewTemplate|
|See Above|<div class='toolbar'><span style="padding-right:2.45em;" macro='tagger source:TagDB exclude:excludeLists'></span></div>|
***/
//{{{
config.tagger={
defaults:{
label: 'Tags: ',
tooltip: 'Manage tiddler tags',
taglist: 'true',
excludeTags: 'excludeLists',
notags: 'tiddler has no tags',
aretags: 'current tiddler tags:',
toggletext: 'add tags:'
}
};
config.macros.tagger={};
config.macros.tagger.arrow = (document.all?"▼":"▾"); // the fat one is the only one that works in IE
config.macros.tagger.handler = function(place,macroName,params,wikifier,paramString,tiddler) {
var defaults = config.tagger.defaults;
var nAV = paramString.parseParams('tagman', null, true);
var label = ((nAV[0].label)&&(nAV[0].label[0])!='.')?nAV[0].label[0]+this.arrow: defaults.label+this.arrow;
var tooltip = ((nAV[0].tooltip)&&(nAV[0].tooltip[0])!='.')?nAV[0].tooltip[0]: defaults.tooltip;
var taglist = ((nAV[0].taglist)&&(nAV[0].taglist[0])!='.')?nAV[0].taglist[0]: defaults.taglist;
var exclude = ((nAV[0].exclude)&&(nAV[0].exclude[0])!='.')?(nAV[0].exclude[0]).readBracketedList(): defaults.excludeTags.readBracketedList();
if ((nAV[0].source)&&(nAV[0].source[0])!='.')var source = nAV[0].source[0];
if (source&&!store.getTiddler(source)) return false;
var onclick = function(e) {
if (!e) var e = window.event;
var popup = Popup.create(this);
var tagsarray = store.getTags();
var tags=new Array();
for (var i=0; i<tagsarray.length; i++){
tags.push(tagsarray[i][0]);}
if (source)
{var sourcetiddler=store.getTiddler(source);
tags=sourcetiddler.tags.sort();}
var currentTags = tiddler.tags.sort();
var createButtons=function(text,theTag,tooltipPrefix){
var sp = createTiddlyElement(createTiddlyElement(popup,"li"),"span",null,"tagger");
var theToggle = createTiddlyButton(sp,text,tooltipPrefix+" '"+theTag+"'",taggerOnToggle,"button","toggleButton");
theToggle.setAttribute("tiddler",tiddler.title);
theToggle.setAttribute("tag",theTag);
insertSpacer(sp);
if (window.createTagButton_orig_mptw)
createTagButton_orig_mptw(sp,theTag);
else
createTagButton(sp,theTag);
}
createTiddlyElement(popup,"li",null,"listTitle",(tiddler.tags.length == 0 ? defaults.notags : defaults.aretags));
for (var t=0; t<currentTags.length; t++){
createButtons("[x]",currentTags[t],"remove tag ");
}
createTiddlyElement(createTiddlyElement(popup,"li"),"hr");
if (taglist!='false')
{ createTiddlyElement(popup,"li",null,"listTitle",defaults.toggletext);
for (var i=0; i<tags.length; i++){
if (!tiddler.tags.contains(tags[i])&&!exclude.contains(tags[i]))
{createButtons("[ ]",tags[i],"add tag ");
}
}
createTiddlyElement(createTiddlyElement(popup,"li"),"hr");
}
var newTagButton = createTiddlyButton(createTiddlyElement(popup,"li"),("Create new tag"),null,taggerOnToggle);
newTagButton.setAttribute("tiddler",tiddler.title);
if (source) newTagButton.setAttribute("source",source);
Popup.show(popup,false);
e.cancelBubble = true;
if (e.stopPropagation) e.stopPropagation();
return(false);
};
createTiddlyButton(place,label,tooltip,onclick,"button","taggerDrpBtn");
};
window.taggerOnToggle = function(e) {
var tag = this.getAttribute("tag");
var title = this.getAttribute("tiddler");
var tiddler = store.getTiddler(title);
if (!tag)
{
var newtag=prompt("Enter new tag:","");
if (newtag!=''&&newtag!=null)
{
var tag=newtag;
if (this.getAttribute("source"))
{var sourcetiddler = store.getTiddler(this.getAttribute("source"));
sourcetiddler.tags.pushUnique(newtag);}
}
else
{return false;};
}
if (!tiddler || !tiddler.tags)
{store.saveTiddler(title,title,'',config.options.txtUserName,new Date(),tag);}
else
{if (tiddler.tags.find(tag)==null)
{tiddler.tags.push(tag)}
else if(!newtag)
{tiddler.tags.splice(tiddler.tags.find(tag),1)};
store.saveTiddler(tiddler.title,tiddler.title,tiddler.text,tiddler.modifier,tiddler.modified,tiddler.tags);};
story.refreshTiddler(title,null,true);
if(config.options.chkAutoSave)
saveChanges();
return false;
};
setStylesheet(
".tagger a.button {font-weight: bold;display:inline; padding:0px;}\n"+
".tagger #toggleButton {padding-left:2px; padding-right:2px; margin-right:1px; font-size:110%;}\n"+
"#nestedtagger {background:#2E5ADF; border: 1px solid #0331BF;}\n"+
".popup .listTitle {color:#000;}\n"+
"",
"TaggerStyles");
window.lewcidTiddlerSwapTag = function (tiddler, oldTag, newTag){
for (var i = 0; i < tiddler.tags.length; i++)
if (tiddler.tags[i] == oldTag) {
tiddler.tags[i] = newTag;
return true;}
return false;
}
window.lewcidRenameTag = function(e) {
var tag=this.getAttribute("tag");
var newtag=prompt("Rename tag '"+tag+"' to:",tag);
if ((newtag==tag)||(newtag==null)) {return false;}
if(store.tiddlerExists(newtag))
{if(confirm(config.messages.overwriteWarning.format([newtag.toString()])))
story.closeTiddler(newtag,false,false);
else
return null;}
tagged=store.getTaggedTiddlers(tag);
if (tagged.length!=0){
for (var j = 0; j < tagged.length; j++)
lewcidTiddlerSwapTag(tagged[j],tag,newtag);}
if (store.tiddlerExists(tag))
{store.saveTiddler(tag,newtag);}
if (document.getElementById("tiddler"+tag))
{var oldTagTiddler = document.getElementById(story.idPrefix + tag);
var before= story.positionTiddler(oldTagTiddler);
var place = document.getElementById(story.container);
story.closeTiddler(tag,false,false);
story.createTiddler(place,before,newtag,null);
story.saveTiddler(newtag);}
if(config.options.chkAutoSave)
saveChanges();
return false;
}
window.onClickTag=function(e)
{
if (!e) var e = window.event;
var theTarget = resolveTarget(e);
var nested = (!isNested(theTarget));
if ((Popup.stack.length > 1)&&(nested==true)) {Popup.removeFrom(1);}
else if(Popup.stack.length > 0 && nested==false) {Popup.removeFrom(0);};
var theId = (nested==false)? "popup" : "nestedtagger";
var popup = createTiddlyElement(document.body,"ol",theId,"popup",null);
Popup.stack.push({root: this, popup: popup});
var tag = this.getAttribute("tag");
var title = this.getAttribute("tiddler");
if(popup && tag)
{
var tagged = store.getTaggedTiddlers(tag);
var titles = [];
var li,r;
for(r=0;r<tagged.length;r++)
if(tagged[r].title != title)
titles.push(tagged[r].title);
var lingo = config.views.wikified.tag;
if(titles.length > 0)
{
var openAll = createTiddlyButton(createTiddlyElement(popup,"li"),lingo.openAllText.format([tag]),lingo.openAllTooltip,onClickTagOpenAll);
openAll.setAttribute("tag",tag);
createTiddlyElement(createTiddlyElement(popup,"li"),"hr");
for(r=0; r<titles.length; r++)
{
createTiddlyLink(createTiddlyElement(popup,"li"),titles[r],true);
}
}
else
createTiddlyText(createTiddlyElement(popup,"li",null,"disabled"),lingo.popupNone.format([tag]));
createTiddlyElement(createTiddlyElement(popup,"li"),"hr");
var h = createTiddlyLink(createTiddlyElement(popup,"li"),tag,false);
createTiddlyText(h,lingo.openTag.format([tag]));
createTiddlyElement(createTiddlyElement(popup,"li"),"hr");
var renameTagButton = createTiddlyButton(createTiddlyElement(popup,"li"),("Rename tag '"+tag+"'"),null,lewcidRenameTag);
renameTagButton.setAttribute("tag",tag)
}
Popup.show(popup,false);
e.cancelBubble = true;
if (e.stopPropagation) e.stopPropagation();
return(false);
}
if (!window.isNested)
window.isNested = function(e) {
while (e != null) {
var contentWrapper = document.getElementById("contentWrapper");
if (contentWrapper == e) return true;
e = e.parentNode;
}
return false;
};
config.shadowTiddlers.TaggerPluginDocumentation="The documentation is available [[here.|http://tw.lewcid.org/#TaggerPluginDocumentation]]";
config.shadowTiddlers.TaggerPluginSource="The uncompressed source code is available [[here.|http://tw.lewcid.org/#TaggerPluginSource]]";
//}}}
/***
|Name:|TagglyTaggingPlugin|
|Description:|tagglyTagging macro is a replacement for the builtin tagging macro in your ViewTemplate|
|Version:|3.3.1 ($Rev: 6100 $)|
|Date:|$Date: 2008-07-27 01:42:07 +1000 (Sun, 27 Jul 2008) $|
|Source:|http://mptw.tiddlyspot.com/#TagglyTaggingPlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License:|http://mptw.tiddlyspot.com/#TheBSDLicense|
!Notes
See http://mptw.tiddlyspot.com/#TagglyTagging
***/
//{{{
merge(String.prototype,{
parseTagExpr: function(debug) {
if (this.trim() == "")
return "(true)";
var anyLogicOp = /(!|&&|\|\||\(|\))/g;
var singleLogicOp = /^(!|&&|\|\||\(|\))$/;
var spaced = this.
// because square brackets in templates are no good
// this means you can use [(With Spaces)] instead of [[With Spaces]]
replace(/\[\(/g," [[").
replace(/\)\]/g,"]] ").
// space things out so we can use readBracketedList. tricky eh?
replace(anyLogicOp," $1 ");
var expr = "";
var tokens = spaced.readBracketedList(false); // false means don't uniq the list. nice one JR!
for (var i=0;i<tokens.length;i++)
if (tokens[i].match(singleLogicOp))
expr += tokens[i];
else
expr += "tiddler.tags.contains('%0')".format([tokens[i].replace(/'/,"\\'")]); // fix single quote bug. still have round bracket bug i think
if (debug)
alert(expr);
return '('+expr+')';
}
});
merge(TiddlyWiki.prototype,{
getTiddlersByTagExpr: function(tagExpr,sortField) {
var result = [];
var expr = tagExpr.parseTagExpr();
store.forEachTiddler(function(title,tiddler) {
if (eval(expr))
result.push(tiddler);
});
if(!sortField)
sortField = "title";
result.sort(function(a,b) {return a[sortField] < b[sortField] ? -1 : (a[sortField] == b[sortField] ? 0 : +1);});
return result;
}
});
config.taggly = {
// for translations
lingo: {
labels: {
asc: "\u2191", // down arrow
desc: "\u2193", // up arrow
title: "title",
modified: "modified",
created: "created",
show: "+",
hide: "-",
normal: "normal",
group: "group",
commas: "commas",
sitemap: "sitemap",
numCols: "cols\u00b1", // plus minus sign
label: "Tagged as '%0':",
exprLabel: "Matching tag expression '%0':",
excerpts: "excerpts",
descr: "descr",
slices: "slices",
contents: "contents",
sliders: "sliders",
noexcerpts: "title only",
noneFound: "(none)"
},
tooltips: {
title: "Click to sort by title",
modified: "Click to sort by modified date",
created: "Click to sort by created date",
show: "Click to show tagging list",
hide: "Click to hide tagging list",
normal: "Click to show a normal ungrouped list",
group: "Click to show list grouped by tag",
sitemap: "Click to show a sitemap style list",
commas: "Click to show a comma separated list",
numCols: "Click to change number of columns",
excerpts: "Click to show excerpts",
descr: "Click to show the description slice",
slices: "Click to show all slices",
contents: "Click to show entire tiddler contents",
sliders: "Click to show tiddler contents in sliders",
noexcerpts: "Click to show entire title only"
},
tooDeepMessage: "* //sitemap too deep...//"
},
config: {
showTaggingCounts: true,
listOpts: {
// the first one will be the default
sortBy: ["title","modified","created"],
sortOrder: ["asc","desc"],
hideState: ["show","hide"],
listMode: ["normal","group","sitemap","commas"],
numCols: ["1","2","3","4","5","6"],
excerpts: ["noexcerpts","excerpts","descr","slices","contents","sliders"]
},
valuePrefix: "taggly.",
excludeTags: ["excludeLists","excludeTagging"],
excerptSize: 50,
excerptMarker: "/%"+"%/",
siteMapDepthLimit: 25
},
getTagglyOpt: function(title,opt) {
var val = store.getValue(title,this.config.valuePrefix+opt);
return val ? val : this.config.listOpts[opt][0];
},
setTagglyOpt: function(title,opt,value) {
if (!store.tiddlerExists(title))
// create it silently
store.saveTiddler(title,title,config.views.editor.defaultText.format([title]),config.options.txtUserName,new Date(),"");
// if value is default then remove it to save space
return store.setValue(title,
this.config.valuePrefix+opt,
value == this.config.listOpts[opt][0] ? null : value);
},
getNextValue: function(title,opt) {
var current = this.getTagglyOpt(title,opt);
var pos = this.config.listOpts[opt].indexOf(current);
// a little usability enhancement. actually it doesn't work right for grouped or sitemap
var limit = (opt == "numCols" ? store.getTiddlersByTagExpr(title).length : this.config.listOpts[opt].length);
var newPos = (pos + 1) % limit;
return this.config.listOpts[opt][newPos];
},
toggleTagglyOpt: function(title,opt) {
var newVal = this.getNextValue(title,opt);
this.setTagglyOpt(title,opt,newVal);
},
createListControl: function(place,title,type) {
var lingo = config.taggly.lingo;
var label;
var tooltip;
var onclick;
if ((type == "title" || type == "modified" || type == "created")) {
// "special" controls. a little tricky. derived from sortOrder and sortBy
label = lingo.labels[type];
tooltip = lingo.tooltips[type];
if (this.getTagglyOpt(title,"sortBy") == type) {
label += lingo.labels[this.getTagglyOpt(title,"sortOrder")];
onclick = function() {
config.taggly.toggleTagglyOpt(title,"sortOrder");
return false;
}
}
else {
onclick = function() {
config.taggly.setTagglyOpt(title,"sortBy",type);
config.taggly.setTagglyOpt(title,"sortOrder",config.taggly.config.listOpts.sortOrder[0]);
return false;
}
}
}
else {
// "regular" controls, nice and simple
label = lingo.labels[type == "numCols" ? type : this.getNextValue(title,type)];
tooltip = lingo.tooltips[type == "numCols" ? type : this.getNextValue(title,type)];
onclick = function() {
config.taggly.toggleTagglyOpt(title,type);
return false;
}
}
// hide button because commas don't have columns
if (!(this.getTagglyOpt(title,"listMode") == "commas" && type == "numCols"))
createTiddlyButton(place,label,tooltip,onclick,type == "hideState" ? "hidebutton" : "button");
},
makeColumns: function(orig,numCols) {
var listSize = orig.length;
var colSize = listSize/numCols;
var remainder = listSize % numCols;
var upperColsize = colSize;
var lowerColsize = colSize;
if (colSize != Math.floor(colSize)) {
// it's not an exact fit so..
upperColsize = Math.floor(colSize) + 1;
lowerColsize = Math.floor(colSize);
}
var output = [];
var c = 0;
for (var j=0;j<numCols;j++) {
var singleCol = [];
var thisSize = j < remainder ? upperColsize : lowerColsize;
for (var i=0;i<thisSize;i++)
singleCol.push(orig[c++]);
output.push(singleCol);
}
return output;
},
drawTable: function(place,columns,theClass) {
var newTable = createTiddlyElement(place,"table",null,theClass);
var newTbody = createTiddlyElement(newTable,"tbody");
var newTr = createTiddlyElement(newTbody,"tr");
for (var j=0;j<columns.length;j++) {
var colOutput = "";
for (var i=0;i<columns[j].length;i++)
colOutput += columns[j][i];
var newTd = createTiddlyElement(newTr,"td",null,"tagglyTagging"); // todo should not need this class
wikify(colOutput,newTd);
}
return newTable;
},
createTagglyList: function(place,title,isTagExpr) {
switch(this.getTagglyOpt(title,"listMode")) {
case "group": return this.createTagglyListGrouped(place,title,isTagExpr); break;
case "normal": return this.createTagglyListNormal(place,title,false,isTagExpr); break;
case "commas": return this.createTagglyListNormal(place,title,true,isTagExpr); break;
case "sitemap":return this.createTagglyListSiteMap(place,title,isTagExpr); break;
}
},
getTaggingCount: function(title,isTagExpr) {
// thanks to Doug Edmunds
if (this.config.showTaggingCounts) {
var tagCount = config.taggly.getTiddlers(title,'title',isTagExpr).length;
if (tagCount > 0)
return " ("+tagCount+")";
}
return "";
},
getTiddlers: function(titleOrExpr,sortBy,isTagExpr) {
return isTagExpr ? store.getTiddlersByTagExpr(titleOrExpr,sortBy) : store.getTaggedTiddlers(titleOrExpr,sortBy);
},
getExcerpt: function(inTiddlerTitle,title,indent) {
if (!indent)
indent = 1;
var displayMode = this.getTagglyOpt(inTiddlerTitle,"excerpts");
var t = store.getTiddler(title);
if (t && displayMode == "excerpts") {
var text = t.text.replace(/\n/," ");
var marker = text.indexOf(this.config.excerptMarker);
if (marker != -1) {
return " {{excerpt{<nowiki>" + text.substr(0,marker) + "</nowiki>}}}";
}
else if (text.length < this.config.excerptSize) {
return " {{excerpt{<nowiki>" + t.text + "</nowiki>}}}";
}
else {
return " {{excerpt{<nowiki>" + t.text.substr(0,this.config.excerptSize) + "..." + "</nowiki>}}}";
}
}
else if (t && displayMode == "contents") {
return "\n{{contents indent"+indent+"{\n" + t.text + "\n}}}";
}
else if (t && displayMode == "sliders") {
return "<slider slide>\n{{contents{\n" + t.text + "\n}}}\n</slider>";
}
else if (t && displayMode == "descr") {
var descr = store.getTiddlerSlice(title,'Description');
return descr ? " {{excerpt{" + descr + "}}}" : "";
}
else if (t && displayMode == "slices") {
var result = "";
var slices = store.calcAllSlices(title);
for (var s in slices)
result += "|%0|<nowiki>%1</nowiki>|\n".format([s,slices[s]]);
return result ? "\n{{excerpt excerptIndent{\n" + result + "}}}" : "";
}
return "";
},
notHidden: function(t,inTiddler) {
if (typeof t == "string")
t = store.getTiddler(t);
return (!t || !t.tags.containsAny(this.config.excludeTags) ||
(inTiddler && this.config.excludeTags.contains(inTiddler)));
},
// this is for normal and commas mode
createTagglyListNormal: function(place,title,useCommas,isTagExpr) {
var list = config.taggly.getTiddlers(title,this.getTagglyOpt(title,"sortBy"),isTagExpr);
if (this.getTagglyOpt(title,"sortOrder") == "desc")
list = list.reverse();
var output = [];
var first = true;
for (var i=0;i<list.length;i++) {
if (this.notHidden(list[i],title)) {
var countString = this.getTaggingCount(list[i].title);
var excerpt = this.getExcerpt(title,list[i].title);
if (useCommas)
output.push((first ? "" : ", ") + "[[" + list[i].title + "]]" + countString + excerpt);
else
output.push("*[[" + list[i].title + "]]" + countString + excerpt + "\n");
first = false;
}
}
return this.drawTable(place,
this.makeColumns(output,useCommas ? 1 : parseInt(this.getTagglyOpt(title,"numCols"))),
useCommas ? "commas" : "normal");
},
// this is for the "grouped" mode
createTagglyListGrouped: function(place,title,isTagExpr) {
var sortBy = this.getTagglyOpt(title,"sortBy");
var sortOrder = this.getTagglyOpt(title,"sortOrder");
var list = config.taggly.getTiddlers(title,sortBy,isTagExpr);
if (sortOrder == "desc")
list = list.reverse();
var leftOvers = []
for (var i=0;i<list.length;i++)
leftOvers.push(list[i].title);
var allTagsHolder = {};
for (var i=0;i<list.length;i++) {
for (var j=0;j<list[i].tags.length;j++) {
if (list[i].tags[j] != title) { // not this tiddler
if (this.notHidden(list[i].tags[j],title)) {
if (!allTagsHolder[list[i].tags[j]])
allTagsHolder[list[i].tags[j]] = "";
if (this.notHidden(list[i],title)) {
allTagsHolder[list[i].tags[j]] += "**[["+list[i].title+"]]"
+ this.getTaggingCount(list[i].title) + this.getExcerpt(title,list[i].title) + "\n";
leftOvers.setItem(list[i].title,-1); // remove from leftovers. at the end it will contain the leftovers
}
}
}
}
}
var allTags = [];
for (var t in allTagsHolder)
allTags.push(t);
var sortHelper = function(a,b) {
if (a == b) return 0;
if (a < b) return -1;
return 1;
};
allTags.sort(function(a,b) {
var tidA = store.getTiddler(a);
var tidB = store.getTiddler(b);
if (sortBy == "title") return sortHelper(a,b);
else if (!tidA && !tidB) return 0;
else if (!tidA) return -1;
else if (!tidB) return +1;
else return sortHelper(tidA[sortBy],tidB[sortBy]);
});
var leftOverOutput = "";
for (var i=0;i<leftOvers.length;i++)
if (this.notHidden(leftOvers[i],title))
leftOverOutput += "*[["+leftOvers[i]+"]]" + this.getTaggingCount(leftOvers[i]) + this.getExcerpt(title,leftOvers[i]) + "\n";
var output = [];
if (sortOrder == "desc")
allTags.reverse();
else if (leftOverOutput != "")
// leftovers first...
output.push(leftOverOutput);
for (var i=0;i<allTags.length;i++)
if (allTagsHolder[allTags[i]] != "")
output.push("*[["+allTags[i]+"]]" + this.getTaggingCount(allTags[i]) + this.getExcerpt(title,allTags[i]) + "\n" + allTagsHolder[allTags[i]]);
if (sortOrder == "desc" && leftOverOutput != "")
// leftovers last...
output.push(leftOverOutput);
return this.drawTable(place,
this.makeColumns(output,parseInt(this.getTagglyOpt(title,"numCols"))),
"grouped");
},
// used to build site map
treeTraverse: function(title,depth,sortBy,sortOrder,isTagExpr) {
var list = config.taggly.getTiddlers(title,sortBy,isTagExpr);
if (sortOrder == "desc")
list.reverse();
var indent = "";
for (var j=0;j<depth;j++)
indent += "*"
var childOutput = "";
if (depth > this.config.siteMapDepthLimit)
childOutput += indent + this.lingo.tooDeepMessage;
else
for (var i=0;i<list.length;i++)
if (list[i].title != title)
if (this.notHidden(list[i].title,this.config.inTiddler))
childOutput += this.treeTraverse(list[i].title,depth+1,sortBy,sortOrder,false);
if (depth == 0)
return childOutput;
else
return indent + "[["+title+"]]" + this.getTaggingCount(title) + this.getExcerpt(this.config.inTiddler,title,depth) + "\n" + childOutput;
},
// this if for the site map mode
createTagglyListSiteMap: function(place,title,isTagExpr) {
this.config.inTiddler = title; // nasty. should pass it in to traverse probably
var output = this.treeTraverse(title,0,this.getTagglyOpt(title,"sortBy"),this.getTagglyOpt(title,"sortOrder"),isTagExpr);
return this.drawTable(place,
this.makeColumns(output.split(/(?=^\*\[)/m),parseInt(this.getTagglyOpt(title,"numCols"))), // regexp magic
"sitemap"
);
},
macros: {
tagglyTagging: {
handler: function (place,macroName,params,wikifier,paramString,tiddler) {
var parsedParams = paramString.parseParams("tag",null,true);
var refreshContainer = createTiddlyElement(place,"div");
// do some refresh magic to make it keep the list fresh - thanks Saq
refreshContainer.setAttribute("refresh","macro");
refreshContainer.setAttribute("macroName",macroName);
var tag = getParam(parsedParams,"tag");
var expr = getParam(parsedParams,"expr");
if (expr) {
refreshContainer.setAttribute("isTagExpr","true");
refreshContainer.setAttribute("title",expr);
refreshContainer.setAttribute("showEmpty","true");
}
else {
refreshContainer.setAttribute("isTagExpr","false");
if (tag) {
refreshContainer.setAttribute("title",tag);
refreshContainer.setAttribute("showEmpty","true");
}
else {
refreshContainer.setAttribute("title",tiddler.title);
refreshContainer.setAttribute("showEmpty","false");
}
}
this.refresh(refreshContainer);
},
refresh: function(place) {
var title = place.getAttribute("title");
var isTagExpr = place.getAttribute("isTagExpr") == "true";
var showEmpty = place.getAttribute("showEmpty") == "true";
removeChildren(place);
addClass(place,"tagglyTagging");
var countFound = config.taggly.getTiddlers(title,'title',isTagExpr).length
if (countFound > 0 || showEmpty) {
var lingo = config.taggly.lingo;
config.taggly.createListControl(place,title,"hideState");
if (config.taggly.getTagglyOpt(title,"hideState") == "show") {
createTiddlyElement(place,"span",null,"tagglyLabel",
isTagExpr ? lingo.labels.exprLabel.format([title]) : lingo.labels.label.format([title]));
config.taggly.createListControl(place,title,"title");
config.taggly.createListControl(place,title,"modified");
config.taggly.createListControl(place,title,"created");
config.taggly.createListControl(place,title,"listMode");
config.taggly.createListControl(place,title,"excerpts");
config.taggly.createListControl(place,title,"numCols");
config.taggly.createTagglyList(place,title,isTagExpr);
if (countFound == 0 && showEmpty)
createTiddlyElement(place,"div",null,"tagglyNoneFound",lingo.labels.noneFound);
}
}
}
}
},
// todo fix these up a bit
styles: [
"/*{{{*/",
"/* created by TagglyTaggingPlugin */",
".tagglyTagging { padding-top:0.5em; }",
".tagglyTagging li.listTitle { display:none; }",
".tagglyTagging ul {",
" margin-top:0px; padding-top:0.5em; padding-left:2em;",
" margin-bottom:0px; padding-bottom:0px;",
"}",
".tagglyTagging { vertical-align: top; margin:0px; padding:0px; }",
".tagglyTagging table { margin:0px; padding:0px; }",
".tagglyTagging .button { visibility:hidden; margin-left:3px; margin-right:3px; }",
".tagglyTagging .button, .tagglyTagging .hidebutton {",
" color:[[ColorPalette::TertiaryLight]]; font-size:90%;",
" border:0px; padding-left:0.3em;padding-right:0.3em;",
"}",
".tagglyTagging .button:hover, .hidebutton:hover, ",
".tagglyTagging .button:active, .hidebutton:active {",
" border:0px; background:[[ColorPalette::TertiaryPale]]; color:[[ColorPalette::TertiaryDark]];",
"}",
".selected .tagglyTagging .button { visibility:visible; }",
".tagglyTagging .hidebutton { color:[[ColorPalette::Background]]; }",
".selected .tagglyTagging .hidebutton { color:[[ColorPalette::TertiaryLight]] }",
".tagglyLabel { color:[[ColorPalette::TertiaryMid]]; font-size:90%; }",
".tagglyTagging ul {padding-top:0px; padding-bottom:0.5em; margin-left:1em; }",
".tagglyTagging ul ul {list-style-type:disc; margin-left:-1em;}",
".tagglyTagging ul ul li {margin-left:0.5em; }",
".editLabel { font-size:90%; padding-top:0.5em; }",
".tagglyTagging .commas { padding-left:1.8em; }",
"/* not technically tagglytagging but will put them here anyway */",
".tagglyTagged li.listTitle { display:none; }",
".tagglyTagged li { display: inline; font-size:90%; }",
".tagglyTagged ul { margin:0px; padding:0px; }",
".excerpt { color:[[ColorPalette::TertiaryDark]]; }",
".excerptIndent { margin-left:4em; }",
"div.tagglyTagging table,",
"div.tagglyTagging table tr,",
"td.tagglyTagging",
" {border-style:none!important; }",
".tagglyTagging .contents { border-bottom:2px solid [[ColorPalette::TertiaryPale]]; padding:0 1em 1em 0.5em;",
" margin-bottom:0.5em; }",
".tagglyTagging .indent1 { margin-left:3em; }",
".tagglyTagging .indent2 { margin-left:4em; }",
".tagglyTagging .indent3 { margin-left:5em; }",
".tagglyTagging .indent4 { margin-left:6em; }",
".tagglyTagging .indent5 { margin-left:7em; }",
".tagglyTagging .indent6 { margin-left:8em; }",
".tagglyTagging .indent7 { margin-left:9em; }",
".tagglyTagging .indent8 { margin-left:10em; }",
".tagglyTagging .indent9 { margin-left:11em; }",
".tagglyTagging .indent10 { margin-left:12em; }",
".tagglyNoneFound { margin-left:2em; color:[[ColorPalette::TertiaryMid]]; font-size:90%; font-style:italic; }",
"/*}}}*/",
""].join("\n"),
init: function() {
merge(config.macros,this.macros);
config.shadowTiddlers["TagglyTaggingStyles"] = this.styles;
store.addNotification("TagglyTaggingStyles",refreshStyles);
}
};
config.taggly.init();
//}}}
/***
InlineSlidersPlugin
By Saq Imtiaz
http://tw.lewcid.org/sandbox/#InlineSlidersPlugin
// syntax adjusted to not clash with NestedSlidersPlugin
// added + syntax to start open instead of closed
***/
//{{{
config.formatters.unshift( {
name: "inlinesliders",
// match: "\\+\\+\\+\\+|\\<slider",
match: "\\<slider",
// lookaheadRegExp: /(?:\+\+\+\+|<slider) (.*?)(?:>?)\n((?:.|\n)*?)\n(?:====|<\/slider>)/mg,
lookaheadRegExp: /(?:<slider)(\+?) (.*?)(?:>)\n((?:.|\n)*?)\n(?:<\/slider>)/mg,
handler: function(w) {
this.lookaheadRegExp.lastIndex = w.matchStart;
var lookaheadMatch = this.lookaheadRegExp.exec(w.source)
if(lookaheadMatch && lookaheadMatch.index == w.matchStart ) {
var btn = createTiddlyButton(w.output,lookaheadMatch[2] + " "+"\u00BB",lookaheadMatch[2],this.onClickSlider,"button sliderButton");
var panel = createTiddlyElement(w.output,"div",null,"sliderPanel");
panel.style.display = (lookaheadMatch[1] == '+' ? "block" : "none");
wikify(lookaheadMatch[3],panel);
w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;
}
},
onClickSlider : function(e) {
if(!e) var e = window.event;
var n = this.nextSibling;
n.style.display = (n.style.display=="none") ? "block" : "none";
return false;
}
});
//}}}
/*TagglyTag styles*/
.tagglyTagged li.listTitle { display:none;}
.tagglyTagged li { display: inline; font-size:90%; }
.tagglyTagged ul { margin:0px; padding:0px; }
.tagglyTagging { padding-top:0.5em; }
.tagglyTagging li.listTitle { display:none;}
.tagglyTagging ul { margin-top:0px; padding-top:0.5em; padding-left:2em; margin-bottom:0px; padding-bottom:0px; }
/* .tagglyTagging .tghide { display:inline; } */
.tagglyTagging { vertical-align: top; margin:0px; padding:0px; }
.tagglyTagging table { margin:0px; padding:0px; }
.tagglyTagging .button { display:none; margin-left:3px; margin-right:3px; }
.tagglyTagging .button, .tagglyTagging .hidebutton { color:#aaa; font-size:90%; border:0px; padding-left:0.3em;padding-right:0.3em;}
.tagglyTagging .button:hover, .hidebutton:hover { background:#eee; color:#888; }
.selected .tagglyTagging .button { display:inline; }
.tagglyTagging .hidebutton { color:white; } /* has to be there so it takes up space. tweak if you're not using a white tiddler bg */
.selected .tagglyTagging .hidebutton { color:#aaa }
.tagglyLabel { color:#aaa; font-size:90%; }
.tagglyTagging ul {padding-top:0px; padding-bottom:0.5em; margin-left:1em; }
.tagglyTagging ul ul {list-style-type:disc; margin-left:-1em;}
.tagglyTagging ul ul li {margin-left:0.5em; }
.editLabel { font-size:90%; padding-top:0.5em; }
<html><div align="center"><iframe src="http://www.wkkf.org/DesktopModules/WKF.00_DmaSupport/ViewDoc.aspx?fld=PDFFile&CID=6&ListID=28&ItemID=1493173&LanguageID=0" frameborder="0" width="100%" height="600"></iframe></div></html>
http://www.wkkf.org/DesktopModules/WKF.00_DmaSupport/ViewDoc.aspx?fld=PDFFile&CID=6&ListID=28&ItemID=1493173&LanguageID=0
[[The Basics of Permaculture Design - Google Livros|http://books.google.com/books?id=MWb6i-G6QAkC&pg=PA32&lpg=PA32&dq=Permaculture+Design+Process&source=bl&ots=oyMK5kGa6-&sig=ErPag_QnSXckdCujiJL2NQPAY5c&hl=pt-PT&ei=b7twSsadLcSvlAeakcXvCg&sa=X&oi=book_result&ct=result&resnum=4]]
http://www.presencing.com/docs/tools/exercises/UTool_Prototyping.pdf
[[Theory U: Learning from the Future ... - Google Livros|http://books.google.com/books?id=jTp59Yxb2psC&pg=PA203&lpg=PA203&dq=Presencing+Prototyping&source=bl&ots=fKyJZQQc04&sig=EvjyrRVr7ERW_sfwSOw5IKfeH04&hl=pt-PT&ei=uL5vSuSTMYimNpWftd8I&sa=X&oi=book_result&ct=result&resnum=4]]
[[They've got it! Science grasps eureka moment - Times Online|http://www.timesonline.co.uk/tol/news/uk/health/article822534.ece]]
/***
|''Name:''|TiddlersBarPluginMG|
|''Description:''|A bar to switch between tiddlers through tabs (like browser tabs bar).|
|''Version:''|1.2.5|
|''Date:''|Jan 18,2008|
|''Source:''|http://visualtw.ouvaton.org/VisualTW.html|
|''Author:''|Pascal Collin|
|''License:''|[[BSD open source license|License]]|
|''~CoreVersion:''|2.1.0|
|''Browser:''|Firefox 2.0; InternetExplorer 6.0, others|
!Modification
2008.09.06 - Morris Gray (Added http://tw.lewcid.org/#OpenTopPlugin code to this plugin to overcome jumping to the top when invoking any popup. Deleted the offending code)
!Demos
On [[homepage|http://visualtw.ouvaton.org/VisualTW.html]], open several tiddlers to use the tabs bar.
!Installation
#import this tiddler from [[homepage|http://visualtw.ouvaton.org/VisualTW.html]] (tagged as systemConfig)
#save and reload
#''if you're using a custom [[PageTemplate]]'', add {{{<div id='tiddlersBar' refresh='none' ondblclick='config.macros.tiddlersBar.onTiddlersBarAction(event)'></div>}}} before {{{<div id='tiddlerDisplay'></div>}}}
#optionally, adjust StyleSheetTiddlersBar
!Tips
*Doubleclick on the tiddlers bar (where there is no tab) create a new tiddler.
*Tabs include a button to close {{{x}}} or save {{{!}}} their tiddler.
*By default, click on the current tab close all others tiddlers.
!Configuration options
<<option chkDisableTabsBar>> Disable the tabs bar (to print, by example).
<<option chkHideTabsBarWhenSingleTab >> Automatically hide the tabs bar when only one tiddler is displayed.
<<option txtSelectedTiddlerTabButton>> ''selected'' tab command button.
<<option txtPreviousTabKey>> previous tab access key.
<<option txtNextTabKey>> next tab access key.
!Code
***/
//{{{
config.options.chkDisableTabsBar = config.options.chkDisableTabsBar ? config.options.chkDisableTabsBar : false;
config.options.chkHideTabsBarWhenSingleTab = config.options.chkHideTabsBarWhenSingleTab ? config.options.chkHideTabsBarWhenSingleTab : false;
config.options.txtSelectedTiddlerTabButton = config.options.txtSelectedTiddlerTabButton ? config.options.txtSelectedTiddlerTabButton : "do nothing";
config.options.txtPreviousTabKey = config.options.txtPreviousTabKey ? config.options.txtPreviousTabKey : "";
config.options.txtNextTabKey = config.options.txtNextTabKey ? config.options.txtNextTabKey : "";
config.macros.tiddlersBar = {
tooltip : "see ",
tooltipClose : "click here to close this tab",
tooltipSave : "click here to save this tab",
promptRename : "Enter tiddler new name",
currentTiddler : "",
previousState : false,
previousKey : config.options.txtPreviousTabKey,
nextKey : config.options.txtNextTabKey,
tabsAnimationSource : null, //use document.getElementById("tiddlerDisplay") if you need animation on tab switching.
handler: function(place,macroName,params) {
var previous = null;
if (config.macros.tiddlersBar.isShown())
story.forEachTiddler(function(title,e){
if (title==config.macros.tiddlersBar.currentTiddler){
var d = createTiddlyElement(null,"span",null,"tab tabSelected");
config.macros.tiddlersBar.createActiveTabButton(d,title);
if (previous && config.macros.tiddlersBar.previousKey) previous.setAttribute("accessKey",config.macros.tiddlersBar.nextKey);
previous = "active";
}
else {
var d = createTiddlyElement(place,"span",null,"tab tabUnselected");
var btn = createTiddlyButton(d,title,config.macros.tiddlersBar.tooltip + title,config.macros.tiddlersBar.onSelectTab);
btn.setAttribute("tiddler", title);
if (previous=="active" && config.macros.tiddlersBar.nextKey) btn.setAttribute("accessKey",config.macros.tiddlersBar.previousKey);
previous=btn;
}
var isDirty =story.isDirty(title);
var c = createTiddlyButton(d,isDirty ?"!":"x",isDirty?config.macros.tiddlersBar.tooltipSave:config.macros.tiddlersBar.tooltipClose, isDirty ? config.macros.tiddlersBar.onTabSave : config.macros.tiddlersBar.onTabClose,"tabButton");
c.setAttribute("tiddler", title);
if (place.childNodes) {
place.insertBefore(document.createTextNode(" "),place.firstChild); // to allow break line here when many tiddlers are open
place.insertBefore(d,place.firstChild);
}
else place.appendChild(d);
})
},
refresh: function(place,params){
removeChildren(place);
config.macros.tiddlersBar.handler(place,"tiddlersBar",params);
if (config.macros.tiddlersBar.previousState!=config.macros.tiddlersBar.isShown()) {
story.refreshAllTiddlers();
if (config.macros.tiddlersBar.previousState) story.forEachTiddler(function(t,e){e.style.display="";});
config.macros.tiddlersBar.previousState = !config.macros.tiddlersBar.previousState;
}
},
isShown : function(){
if (config.options.chkDisableTabsBar) return false;
if (!config.options.chkHideTabsBarWhenSingleTab) return true;
var cpt=0;
story.forEachTiddler(function(){cpt++});
return (cpt>1);
},
selectNextTab : function(){ //used when the current tab is closed (to select another tab)
var previous="";
story.forEachTiddler(function(title){
if (!config.macros.tiddlersBar.currentTiddler) {
story.displayTiddler(null,title);
return;
}
if (title==config.macros.tiddlersBar.currentTiddler) {
if (previous) {
story.displayTiddler(null,previous);
return;
}
else config.macros.tiddlersBar.currentTiddler=""; // so next tab will be selected
}
else previous=title;
});
},
onSelectTab : function(e){
var t = this.getAttribute("tiddler");
if (t) story.displayTiddler(null,t);
return false;
},
onTabClose : function(e){
var t = this.getAttribute("tiddler");
if (t) {
if(story.hasChanges(t) && !readOnly) {
if(!confirm(config.commands.cancelTiddler.warning.format([t])))
return false;
}
story.closeTiddler(t);
}
return false;
},
onTabSave : function(e) {
var t = this.getAttribute("tiddler");
if (!e) e=window.event;
if (t) config.commands.saveTiddler.handler(e,null,t);
return false;
},
onSelectedTabButtonClick : function(event,src,title) {
var t = this.getAttribute("tiddler");
if (!event) event=window.event;
if (t && config.options.txtSelectedTiddlerTabButton && config.commands[config.options.txtSelectedTiddlerTabButton])
config.commands[config.options.txtSelectedTiddlerTabButton].handler(event, src, t);
return false;
},
onTiddlersBarAction: function(event) {
var source = event.target ? event.target.id : event.srcElement.id; // FF uses target and IE uses srcElement;
if (source=="tiddlersBar") story.displayTiddler(null,'New Tiddler',DEFAULT_EDIT_TEMPLATE,false,null,null);
},
createActiveTabButton : function(place,title) {
if (config.options.txtSelectedTiddlerTabButton && config.commands[config.options.txtSelectedTiddlerTabButton]) {
var btn = createTiddlyButton(place, title, config.commands[config.options.txtSelectedTiddlerTabButton].tooltip ,config.macros.tiddlersBar.onSelectedTabButtonClick);
btn.setAttribute("tiddler", title);
}
else
createTiddlyText(place,title);
}
}
story.coreCloseTiddler = story.coreCloseTiddler? story.coreCloseTiddler : story.closeTiddler;
story.coreDisplayTiddler = story.coreDisplayTiddler ? story.coreDisplayTiddler : story.displayTiddler;
story.closeTiddler = function(title,animate,unused) {
if (title==config.macros.tiddlersBar.currentTiddler)
config.macros.tiddlersBar.selectNextTab();
story.coreCloseTiddler(title,false,unused); //disable animation to get it closed before calling tiddlersBar.refresh
var e=document.getElementById("tiddlersBar");
if (e) config.macros.tiddlersBar.refresh(e,null);
}
story.displayTiddler = function(srcElement,tiddler,template,animate,unused,customFields,toggle){
story.coreDisplayTiddler(config.macros.tiddlersBar.tabsAnimationSource,tiddler,template,animate,unused,customFields,toggle);
var title = (tiddler instanceof Tiddler)? tiddler.title : tiddler;
if (config.macros.tiddlersBar.isShown()) {
story.forEachTiddler(function(t,e){
if (t!=title) e.style.display="none";
else e.style.display="";
})
config.macros.tiddlersBar.currentTiddler=title;
}
var e=document.getElementById("tiddlersBar");
if (e) config.macros.tiddlersBar.refresh(e,null);
}
var coreRefreshPageTemplate = coreRefreshPageTemplate ? coreRefreshPageTemplate : refreshPageTemplate;
refreshPageTemplate = function(title) {
coreRefreshPageTemplate(title);
if (config.macros.tiddlersBar) config.macros.tiddlersBar.refresh(document.getElementById("tiddlersBar"));
}
ensureVisible=function (e) {return 0} //disable bottom scrolling (not useful now)
config.shadowTiddlers.StyleSheetTiddlersBar = "/*{{{*/\n";
config.shadowTiddlers.StyleSheetTiddlersBar += "#tiddlersBar .button {border:0}\n";
config.shadowTiddlers.StyleSheetTiddlersBar += "#tiddlersBar .tab {white-space:nowrap}\n";
config.shadowTiddlers.StyleSheetTiddlersBar += "#tiddlersBar {padding : 1em 0.5em 2px 0.5em}\n";
config.shadowTiddlers.StyleSheetTiddlersBar += ".tabUnselected .tabButton, .tabSelected .tabButton {padding : 0 2px 0 2px; margin: 0 0 0 4px;}\n";
config.shadowTiddlers.StyleSheetTiddlersBar += ".tiddler, .tabContents {border:1px [[ColorPalette::TertiaryPale]] solid;}\n";
config.shadowTiddlers.StyleSheetTiddlersBar +="/*}}}*/";
store.addNotification("StyleSheetTiddlersBar", refreshStyles);
config.refreshers.none = function(){return true;}
config.shadowTiddlers.PageTemplate=config.shadowTiddlers.PageTemplate.replace(/<div id='tiddlerDisplay'><\/div>/m,"<div id='tiddlersBar' refresh='none' ondblclick='config.macros.tiddlersBar.onTiddlersBarAction(event)'></div>\n<div id='tiddlerDisplay'></div>");
//}}}
|~ViewToolbar|closeTiddler closeOthers closeAll +editTiddler deleteTiddler > fields syncing permalink references jump|
|~EditToolbar|+saveTiddler saveCloseTiddler -cancelTiddler cancelCloseTiddler deleteTiddler|
[[Issues and Tools|http://web.mit.edu/urbanupgrading/upgrading/issues-tools/index.html]]
[img[inicio|house.png][ComoComeçar]] <<saveChanges>><<setIcon save.png "" notext>>
{{floatright{<<tiddler TopMenu##RIGHT>>}}}{{floatleft{<<tiddler TopMenu##LEFT>>}}}{{center{<<tiddler TopMenu##CENTER>>}}}
/%
!LEFT
<<tiddler TopLeft>>
!end LEFT
!RIGHT
<<tiddler TopRight>>
!end RIGHT
!CENTER
@@font-size:16pt; <<tiddler SiteTitle>>@@ @@font-size:12pt;<<tiddler SiteSubtitle>>@@
!end CENTER
%/
/***
!!!SlantedStyle /%==================================================%/
***/
{{{
http://img261.imageshack.us/img261/8603/navbargrayhw1.png
http://img520.imageshack.us/img520/8688/mainmenugray7ef.gif
background-image: url("http://img264.imageshack.us/img264/4134/headbackbgdc6.png");background-repeat: repeat-x top-left;
}}}
/*Credits: Dynamic Drive CSS Library */
/*URL: http://www.dynamicdrive.com/style/ */
{{{
#slantedmenu{
font-size: 90%;
position: fixed !important;
width: 70em;
z-index:1
}
}}}
#slantedmenu{
font-size: 90%;}
#slantedmenu:after{ /*Add margin between menu and rest of content in Firefox*/
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
#slantedmenu ul{
text-indent: 10px;
padding: 3px 0;
margin: 0;
background:url("http://img261.imageshack.us/img261/8603/navbargrayhw1.png") repeat-x top left;top left;
background-color: #ccc;
border-top: 0px solid #f6f;
border-bottom: 0px solid #f6f;
text-align: center; /*set value to "center" for example to center items*/
}
#slantedmenu ul li{
display: inline;
}
#slantedmenu ul li a{
font-weight: normal;
color: #00a;
padding: 3px 0;
padding-right: 5px;
padding-left: 5px;
margin: 0;
text-decoration: none;
background: transparent url() top right no-repeat;
}
#slantedmenu ul li a:hover{
color: #f00;
background:#fff;
}
/***
|Name|TreeviewPluginPlugin2|
|Source|http://treeview.tiddlyspot.com/|
|Version|0.24|
|Author|MarkS|
|License|Various. See respective libraries for details|
|Type|plugin|
|Requires(1) |jQuery library, treeview plugin libraries and styles |
|Requires(2) |AttachFilePackage and sub-libraries from tiddlytools.com if you want to use embedded images to create the tree|
|Description|Creates a tag tree, formatted as an actual tree |
|Status|Experimental - ALPHA, but built on fairly solid technologies|
|Warning|When creating tag trees, make sure no tiddler loops back on itself, or its likely the script will hang|
!!!!Set up for portability
You will need a version of TW that incorporates the jQuery library. That happens automatically with recent editions of TW. You will also need to install or access the treeview libraries from http:www.dynamicdrive.com. The libraries can be carried as local files, inserted in the MarkupPostBody, or referenced from the dynamicdrive site. Each approach will require a different set up.
You will also need to link in the stylesheet for the treeview objects. A quick way to do this is to put:
>{{{<link rel="stylesheet" type="text/css" href="http://www.dynamicdrive.com/dynamicindex1/treeview/jquery.treeview.css" /> }}}
into the MarkupPreHead tiddler. However, this won't work if you go off line. It also doesn't work permanently if you are hosting your file on a web server. So you may want to download a copy of the stylesheet and attendant image files and change the MarkupPreHead tiddler to pick up the local copy. Or load the stylesheet and images onto your own server where you will be able to access them.
!!!!Usage
{{{<<treeview2 }}}
>{{{<root tag> [tree style] [startup parameters]}}}
{{{ >>}}}
!!!!!Where:
''root tag'' is the tag at the top of your tagging tree, i.e. the mother of all tiddlers related to it by using its name as one of their tags.
''tree style'' indicates which type of tree will be displayed, possibly //treeview//, //filetree//, and //treeview-red//, and //treeview-famfamfam//. There may be other styles too, but those are the ones I know about.
''startup parameters'' are a set of optional parameters given in a comma-separated, key/value string like this:
>{{{'collapsed: false, animated: "normal", persist: true'}}}
There's a list of possible options at:
http://www.dynamicdrive.com/dynamicindex1/treeview/index.htm
However, not all settings may actually work under TW. Mainly, you will probably be interested in controlling the presence of animation, and whether the initial state of the tree is opened or closed.
!!!!Images and stylesheet set-up
The tree is constructed from little bits of images. If you don't want to carry these images in a separate directory, nor reference them remotely, you can embed them in your TW file. To do this, you will need the AttachFilePackage and accompanying plugins from
> www.tiddlytools.com
and you will need the AttachFilePluginFormatters plugin from the same site.
Then import all the tiddlers from this file tagged as treeviewimage . These images are referenced in the StyleSheet. If you import JqueryTreeviewCss from this file, and then put the name in your StyleSheet, the images should be imported without having to access them remotely.
!!!!Persistence
To make persistence work, you will need to have the treeview cookie library loaded. The easiest way to do that is to put:
>{{{<script src="http://www.dynamicdrive.com/dynamicindex1/treeview/lib/jquery.cookie.js" type="text/javascript"></script>}}}
into the MarkupPostBody. However, this technique will only work if you have online access. If you will be working offline, then you will either need to download the cookie library to the same directory as your ~TiddlyWiki file and put the following into your MarkupPostBody:
>>{{{<script src="jquery.cookie.js"></script>}}}
or you will need to put the entire contents of the cookie library into script tags inside the MarkupPostBody.
Then, in any macro that wants its tree to be persistently configured, you will need to use configuration parameter:
>>{{{persist: "cookie", cookieId: "myid"}}}
where //myid// should be an identification that will be unique throughout the entire TW file.
***/
//{{{
config.macros.treeview2 = {
handler: function (place, macroName, params, wikifier, paramString, tiddler)
{ // Code here
var lcTag = params[0] ;
var lcClass = params[1] ? params[1] : "treeview" ;
var DEV_MODE = false ; // Make true when developing code or changes won't show up.
try {
if( MAS === undefined ) MAS = { } ;
} catch(ex) {
MAS = {} ;
}
MAS.treeviewSettings = function(obj) {
var defa = {} ;
defa.collapsed= true;
defa.unique = true ;
//defa.persist= "location" ;
if( obj !== undefined ) {
try {
obj = eval("({" + obj + "})" ) ;
} catch(ex) {
alert("Unable to use your treeview configuration settings!") ;
return defa ;
}
for (var prop in obj) {
defa[prop] =obj[prop] ;
}
}
return defa ;
} ;
if( DEV_MODE || MAS.getTiddlersPerTagAsHtmlList === undefined ) {
MAS.getTiddlersPerTagAsHtmlList = function(tagname,setup) {
var tids = store.getTaggedTiddlers(tagname) ;
var temp = "" ;
var prefix = tids.length > 0 ? "<span class='folder'>" : "<span class='file'>" ;
var statetags = store.getTiddler(tagname).tags ;
var state = "" ;
var lcSesame = setup["sesame"] !== undefined ? setup["sesame"] : "" ;
var lcAntiSesame = setup["antisesame"] !== undefined ? setup["antisesame"] : "" ;
if(statetags.length > 0 ) {
if(lcSesame) state = statetags.contains(lcSesame) ? ' class="open"' : ' class="closed"' ;
if(lcAntiSesame) state = statetags.contains(lcAntiSesame) ? ' class="closed"' : ' class="open"' ;
}
// state="" ; // DEBUG
//var rtn ="<li>" + prefix + tagname + "</a></span>" ;
var rtn = "<li" + state +">" + prefix + "<a href=\"javascript:;\" tiddlylink=\"" + tagname + "\" refresh=\"link\" class='tiddlyLink tiddlyLinkExisting' title='Link to " + tagname + "' >" + tagname + "</a></span>" ;
//wikify(rtn,place) ;
forever:
while(true) {
if(tids.length == 0 ) break ;
rtn = rtn + "<ul>" ;
for(var i=0;i<tids.length;i++) {
temp = MAS.getTiddlersPerTagAsHtmlList(tids[i].title, setup) ;
rtn = rtn + temp ;
}
rtn = rtn + "</ul>\n" ;
break ;
} // forever
rtn = rtn + "</li>\n" ;
return rtn ;
} ; // End of function definition
} // End of checking if function already defined
// The extra set of span tags are needed here because jquery find function ignores
// the outer set of tags. Or at least that's what seems to be happening. So, I give
// it an extra set so it can throw it away without consequence
var loSetup = MAS.treeviewSettings(params[2]) ;
var lcId = "root" + (new Date()).getTime().toString() ;
if(loSetup.cookieId) {
lcId = "root_" + loSetup.cookieId ;
}
//var a = '<span id="' + lcId + '"><ul id="' + "root" + '" >' + MAS.getTiddlersPerTagAsHtmlList(lcTag, loSetup) + "</ul></span>" ;
var a = '<ul id="' + lcId + '" >' + MAS.getTiddlersPerTagAsHtmlList(lcTag, loSetup) + "</ul>" ;
var b = jQuery(a) ;
// A smarter person might have know how to put the onclick function in at the top
b.find("a").each(function(n) {
this.onclick = onClickTiddlerLink ;
}) ;
//b.find(lcId).attr("class",lcClass) ;
//b.find("#root").attr("class",lcClass) ;
jQuery(place).append(b) ;
jQuery(place).find("#" + lcId).attr("class",lcClass).treeview(loSetup) ;
}
};
//}}}
No segundo curso (módulo) desenvolveremos diversas técnicas práticas como produção orgânica, SAFs, BioConstução...sendo importante revisar e incorporar as novas experiências da aprendizagem anterior.
Será melhor programar mais um dia neste segundo módulo, sendo mais pro final do curso.
Especificamente -
----
<script>config.options.txtURLs="Um Dia - Curso#2";refreshDisplay();</script>
<!--{{{-->
<div macro="showWhen config.options.txtUserName == 'Skye' "><div class='toolbar' macro='toolbar [[ToolbarCommands::ViewToolbar]]'> <span style="padding-right:0em;" macro='tagger exclude:excludeLists systemConfig'></span ><span macro='newHere label:"filho"'></span></div></div>
<span class='title' macro='view title'></span>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<div class="tagglyTagging" macro="tagglyTagging"></div>
<!--}}}-->
[[What is Appreciative Inquiry? - The Appreciative Inquiry Commons|http://appreciativeinquiry.case.edu/intro/whatisai.cfm]]
/***
|Name|WikifyPlugin|
|Source|http://www.TiddlyTools.com/#WikifyPlugin|
|Version|1.0.0|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <<br>>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|plugin|
|Requires||
|Overrides||
|Description|substitute fields, slices, or computed values into wiki-syntax source and render results dynamically|
|Status| ALPHA - SUBJECT TO CHANGE - USE AT YOUR OWN RISK |
The "wikify" macro allows you to easily retrieve values from custom tiddler fields, tiddler slices, computed values (using javascript) or just plain old literals, and assemble them into small bits of generated wiki-syntax content that can be rendered directly into a tiddler, or used in the ViewTemplate or EditTemplate to add dynamically-generated content to each tiddler.
!!!!!Usage
<<<
The syntax for use in tiddlers:
{{{
<<wikify source value value value value ...>>
}}}
The syntax for use in templates:
{{{
<span macro='wikify source value value value value ...'></span>
}}}
where ''source'' specifies the wiki-syntax source,
followed by zero or more space-separated ''value'' parameters, specified using any of:
* ''"tiddlername::slicename"'' - a tiddler slice reference
* ''"fieldname@tiddlername"'' - a tiddler custom field reference
* ''"""{{config.options.txtUserName}}"""'' - evaluated javascript
* ''"none of the above"'' - literal text
When the initial ''source'' parameter contains //substitution markers// (using "%0" through "%9" character sequences), each value parameter is retrieved and embedded into the source content, replacing its corresponding marker. If the ''source'' parameter does //not// contain any substitution markers, then all parameters are simply joined together for output. Once the source and values have been assembled, the resulting content is then passed to the core wikify() parser to render and display it.
Notes:
* If a parameter is not recognized as fitting any of the above syntax, or if the slice/field referred to cannot be located, the reference will be inserted as literal text into the output
* When working with custom tiddler fields or tiddler slices, you can enter a special psuedo-tiddler name, ''@here'' (e.g., "fieldname@here") or ''here::'' (e.g., "here::slicename") to access custom fields and slices associated with the //current// tiddler. This //relative// reference syntax can be particularly helpful when placed directly into a ViewTemplate and/or EditTemplate definition, where it can be applied automatically to each tiddler that is displayed. Note: if you omit the ''@here'' portion of a field reference (e.g., just using "fieldname"), it is assumed to be a reference to a field in the current tiddler (i.e., it is treated as if you specified ''fieldname@here'').
<<<
!!!!!Examples
<<<
{{{
<<wikify [[This tiddler is: %0 using %1 bytes (last author: %2)]] title {{tiddler.text.length}} modifier>>
<<wikify [[The source of this plugin is: %0]] 'here::Source'>>
<<wikify [[The tiddler has been changed %0 times]] changecount@here>>
<<wikify [[The Primary Mid color is: @@background:%0;%0@@]] 'ColorPalette::PrimaryMid'>>
<<wikify [[This current user is: %0]] {{config.options.txtUserName}}>>
}}}
<<wikify [[This tiddler is: %0 using %1 bytes (last author: %2)]] title {{tiddler.text.length}} modifier>>
<<wikify [[The source of this plugin is: %0]] 'here::Source'>>
<<wikify [[The tiddler has been changed %0 times]] changecount@here>>
<<wikify [[The Primary Mid color is: @@background:%0;%0@@]] 'ColorPalette::PrimaryMid'>>
<<wikify [[This current user is: %0]] {{config.options.txtUserName}}>>
<<<
!!!!!Installation
<<<
import (or copy/paste) the following tiddlers into your document:
[[WikifyPlugin]]
<<<
!!!!!Revision History
<<<
''2007.06.22 [1.0.0]'' initial release
<<<
!!!!!Credits
<<<
This feature was developed by Eric L Shulman / ELS Design Studios
<<<
!!!!!Code
***/
//{{{
version.extensions.wikify= {major: 1, minor: 0, revision: 0, date: new Date(2007,6,22)};
config.macros.wikify={
handler: function(place,macroName,params,wikifier,paramString,tiddler) {
var source=params.shift();
var values=[];
var out="";
if (!source.match(/\%[0-9]/g)) // source param has no substitution markers, just join all params
out=source+" "+params.join("");
else { // source param has markers, get values and perform substitution
while (p=params.shift()) values.push(this.getFieldReference(place,p));
out=source.format(values);
}
wikify(out,place);
},
getFieldReference: function(place,p) { // where p is "slicename::tiddlername" or "fieldname@tiddlername" or "fieldname"
if (typeof p != "string") return p; // literal non-string value... just return it...
var parts=p.split(config.textPrimitives.sliceSeparator);
if (parts.length==2) {// maybe a slice reference?
var tid=parts[0]; var slice=parts[1];
if (!tid || !tid.length || tid=="here") { // no target specified (or "here" placeholder), use containing tiddler
tid=story.findContainingTiddler(place);
if (tid) tid=tid.getAttribute("tiddler")
else tid="SiteSlices"; // fallback for references from 'non-tiddler' areas (e.g, header, sidebar, etc.)
}
var val=store.getTiddlerSlice(tid,slice); // get tiddler slice value
}
if (val==undefined) {// not a slice reference, or slice not found, maybe a field reference?
var parts=p.split("@");
var field=parts[0];
if (!field || !field.length) field="checked"; // fallback for missing fieldname (e.g., "@tiddlername")
var tid=parts[1];
if (!tid || !tid.length || tid=="here") { // no target specified (or "here" placeholder), use containing tiddler
tid=story.findContainingTiddler(place);
if (tid) tid=tid.getAttribute("tiddler")
else tid="SiteFields"; // fallback for references from 'non-tiddler' areas (e.g, header, sidebar, etc.)
}
var val=store.getValue(tid,field);
}
// not a slice, not a field, or slice/field not found... use original param value
return val===undefined?p:val;
}
}
//}}}
/***
|''Name:''|YourSearchPlugin|
|''Version:''|2.1.3 (2008-04-16)|
|''Source:''|http://tiddlywiki.abego-software.de/#YourSearchPlugin|
|''Author:''|UdoBorkowski (ub [at] abego-software [dot] de)|
|''Licence:''|[[BSD open source license (abego Software)|http://www.abego-software.de/legal/apl-v10.html]]|
|''Copyright:''|© 2005-2008 [[abego Software|http://www.abego-software.de]]|
|''~CoreVersion:''|2.1.0|
|''Community:''|[[del.icio.us|http://del.icio.us/post?url=http://tiddlywiki.abego-software.de/index.html%23YourSearchPlugin]]|
|''Browser:''|Firefox 1.0.4+; Firefox 1.5; ~InternetExplorer 6.0|
!About YourSearch
YourSearch gives you a bunch of new features to simplify and speed up your daily searches in TiddlyWiki. It seamlessly integrates into the standard TiddlyWiki search: just start typing into the 'search' field and explore!
For more information see [[Help|YourSearch Help]].
!Compatibility
This plugin requires TiddlyWiki 2.1.
Check the [[archive|http://tiddlywiki.abego-software.de/archive]] for ~YourSearchPlugins supporting older versions of TiddlyWiki.
!Source Code
***/
/***
This plugin's source code is compressed (and hidden). Use this [[link|http://tiddlywiki.abego-software.de/archive/YourSearchPlugin/Plugin-YourSearch-src.2.1.3.js]] to get the readable source code.
***/
///%
if(!version.extensions.YourSearchPlugin){version.extensions.YourSearchPlugin={major:2,minor:1,revision:3,source:"http://tiddlywiki.abego-software.de/#YourSearchPlugin",licence:"[[BSD open source license (abego Software)|http://www.abego-software.de/legal/apl-v10.html]]",copyright:"Copyright (c) abego Software GmbH, 2005-2008 (www.abego-software.de)"};if(!window.abego){window.abego={};}
if(!Array.forEach){Array.forEach=function(_1,_2,_3){for(var i=0,len=_1.length;i<len;i++){_2.call(_3,_1[i],i,_1);}};Array.prototype.forEach=function(_5,_6){for(var i=0,len=this.length;i<len;i++){_5.call(_6,this[i],i,this);}};}
abego.toInt=function(s,_9){if(!s){return _9;}
var n=parseInt(s);return(n==NaN)?_9:n;};abego.createEllipsis=function(_b){var e=createTiddlyElement(_b,"span");e.innerHTML="…";};abego.shallowCopy=function(_d){if(!_d){return _d;}
var _e={};for(var n in _d){_e[n]=_d[n];}
return _e;};abego.copyOptions=function(_10){return!_10?{}:abego.shallowCopy(_10);};abego.countStrings=function(_11,s){if(!s){return 0;}
var len=s.length;var n=0;var _15=0;while(1){var i=_11.indexOf(s,_15);if(i<0){return n;}
n++;_15=i+len;}
return n;};abego.getBracedText=function(_17,_18,_19){if(!_18){_18=0;}
var re=/\{([^\}]*)\}/gm;re.lastIndex=_18;var m=re.exec(_17);if(m){var s=m[1];var _1d=abego.countStrings(s,"{");if(!_1d){if(_19){_19.lastIndex=re.lastIndex;}
return s;}
var len=_17.length;for(var i=re.lastIndex;i<len&&_1d;i++){var c=_17.charAt(i);if(c=="{"){_1d++;}else{if(c=="}"){_1d--;}}}
if(!_1d){if(_19){_19.lastIndex=i-1;}
return _17.substring(m.index+1,i-1);}}};abego.select=function(_21,_22,_23,_24){if(!_24){_24=[];}
_21.forEach(function(t){if(_22.call(_23,t)){_24.push(t);}});return _24;};abego.consumeEvent=function(e){if(e.stopPropagation){e.stopPropagation();}
if(e.preventDefault){e.preventDefault();}
e.cancelBubble=true;e.returnValue=true;};abego.TiddlerFilterTerm=function(_27,_28){if(!_28){_28={};}
var _29=_27;if(!_28.textIsRegExp){_29=_27.escapeRegExp();if(_28.fullWordMatch){_29="\\b"+_29+"\\b";}}
var _2a=new RegExp(_29,"m"+(_28.caseSensitive?"":"i"));this.tester=new abego.MultiFieldRegExpTester(_2a,_28.fields,_28.withExtendedFields);};abego.TiddlerFilterTerm.prototype.test=function(_2b){return this.tester.test(_2b);};abego.parseNewTiddlerCommandLine=function(s){var m=/(.*?)\.(?:\s+|$)([^#]*)(#.*)?/.exec(s);if(!m){m=/([^#]*)()(#.*)?/.exec(s);}
if(m){var r;if(m[3]){var s2=m[3].replace(/#/g,"");r=s2.parseParams("tag");}else{r=[[]];}
var _30=m[2]?m[2].trim():"";r.push({name:"text",value:_30});r[0].text=[_30];return{title:m[1].trim(),params:r};}else{return{title:s.trim(),params:[[]]};}};abego.parseTiddlerFilterTerm=function(_31,_32,_33){var re=/\s*(?:(?:\{([^\}]*)\})|(?:(=)|([#%!])|(?:(\w+)\s*\:(?!\/\/))|(?:(?:("(?:(?:\\")|[^"])+")|(?:\/((?:(?:\\\/)|[^\/])+)\/)|(\w+\:\/\/[^\s]+)|([^\s\)\-\"]+)))))/mg;var _35={"!":"title","%":"text","#":"tags"};var _36={};var _37;re.lastIndex=_32;while(1){var i=re.lastIndex;var m=re.exec(_31);if(!m||m.index!=i){throw"Word or String literal expected";}
if(m[1]){var _3a={};var _3b=abego.getBracedText(_31,0,_3a);if(!_3b){throw"Invalid {...} syntax";}
var f=Function("tiddler","return ("+_3b+");");return{func:f,lastIndex:_3a.lastIndex,markRE:null};}
if(m[2]){_37=true;}else{if(m[3]){_36[_35[m[3]]]=1;}else{if(m[4]){_36[m[4]]=1;}else{var _3d=m[6];var _3e=m[5]?window.eval(m[5]):m[6]?m[6]:m[7]?m[7]:m[8];var _33=abego.copyOptions(_33);_33.fullWordMatch=_37;_33.textIsRegExp=_3d;var _3f=[];for(var n in _36){_3f.push(n);}
if(_3f.length==0){_33.fields=_33.defaultFields;}else{_33.fields=_3f;_33.withExtendedFields=false;}
var _41=new abego.TiddlerFilterTerm(_3e,_33);var _42=_3d?_3e:_3e.escapeRegExp();if(_42&&_37){_42="\\b"+_42+"\\b";}
return{func:function(_43){return _41.test(_43);},lastIndex:re.lastIndex,markRE:_42?"(?:"+_42+")":null};}}}}};abego.BoolExp=function(s,_45,_46){this.s=s;var _47=_46&&_46.defaultOperationIs_OR;var _48=/\s*(?:(\-|not)|(\())/gi;var _49=/\s*\)/g;var _4a=/\s*(?:(and|\&\&)|(or|\|\|))/gi;var _4b=/\s*[^\)\s]/g;var _4c=/\s*(\-|not)?(\s*\()?/gi;var _4d;var _4e=function(_4f){_4c.lastIndex=_4f;var m=_4c.exec(s);var _51;var _52;if(m&&m.index==_4f){_4f+=m[0].length;_51=m[1];if(m[2]){var e=_4d(_4f);_49.lastIndex=e.lastIndex;if(!_49.exec(s)){throw"Missing ')'";}
_52={func:e.func,lastIndex:_49.lastIndex,markRE:e.markRE};}}
if(!_52){_52=_45(s,_4f,_46);}
if(_51){_52.func=(function(f){return function(_55){return!f(_55);};})(_52.func);_52.markRE=null;}
return _52;};_4d=function(_56){var _57=_4e(_56);while(1){var l=_57.lastIndex;_4a.lastIndex=l;var m=_4a.exec(s);var _5a;var _5b;if(m&&m.index==l){_5a=!m[1];_5b=_4e(_4a.lastIndex);}else{try{_5b=_4e(l);}
catch(e){return _57;}
_5a=_47;}
_57.func=(function(_5c,_5d,_5e){return _5e?function(_5f){return _5c(_5f)||_5d(_5f);}:function(_60){return _5c(_60)&&_5d(_60);};})(_57.func,_5b.func,_5a);_57.lastIndex=_5b.lastIndex;if(!_57.markRE){_57.markRE=_5b.markRE;}else{if(_5b.markRE){_57.markRE=_57.markRE+"|"+_5b.markRE;}}}};var _61=_4d(0);this.evalFunc=_61.func;if(_61.markRE){this.markRegExp=new RegExp(_61.markRE,_46.caseSensitive?"mg":"img");}};abego.BoolExp.prototype.exec=function(){return this.evalFunc.apply(this,arguments);};abego.BoolExp.prototype.getMarkRegExp=function(){return this.markRegExp;};abego.BoolExp.prototype.toString=function(){return this.s;};abego.MultiFieldRegExpTester=function(re,_63,_64){this.re=re;this.fields=_63?_63:["title","text","tags"];this.withExtendedFields=_64;};abego.MultiFieldRegExpTester.prototype.test=function(_65){var re=this.re;for(var i=0;i<this.fields.length;i++){var s=store.getValue(_65,this.fields[i]);if(typeof s=="string"&&re.test(s)){return this.fields[i];}}
if(this.withExtendedFields){return store.forEachField(_65,function(_69,_6a,_6b){return typeof _6b=="string"&&re.test(_6b)?_6a:null;},true);}
return null;};abego.TiddlerQuery=function(_6c,_6d,_6e,_6f,_70){if(_6e){this.regExp=new RegExp(_6c,_6d?"mg":"img");this.tester=new abego.MultiFieldRegExpTester(this.regExp,_6f,_70);}else{this.expr=new abego.BoolExp(_6c,abego.parseTiddlerFilterTerm,{defaultFields:_6f,caseSensitive:_6d,withExtendedFields:_70});}
this.getQueryText=function(){return _6c;};this.getUseRegExp=function(){return _6e;};this.getCaseSensitive=function(){return _6d;};this.getDefaultFields=function(){return _6f;};this.getWithExtendedFields=function(){return _70;};};abego.TiddlerQuery.prototype.test=function(_71){if(!_71){return false;}
if(this.regExp){return this.tester.test(_71);}
return this.expr.exec(_71);};abego.TiddlerQuery.prototype.filter=function(_72){return abego.select(_72,this.test,this);};abego.TiddlerQuery.prototype.getMarkRegExp=function(){if(this.regExp){return"".search(this.regExp)>=0?null:this.regExp;}
return this.expr.getMarkRegExp();};abego.TiddlerQuery.prototype.toString=function(){return(this.regExp?this.regExp:this.expr).toString();};abego.PageWiseRenderer=function(){this.firstIndexOnPage=0;};merge(abego.PageWiseRenderer.prototype,{setItems:function(_73){this.items=_73;this.setFirstIndexOnPage(0);},getMaxPagesInNavigation:function(){return 10;},getItemsCount:function(_74){return this.items?this.items.length:0;},getCurrentPageIndex:function(){return Math.floor(this.firstIndexOnPage/this.getItemsPerPage());},getLastPageIndex:function(){return Math.floor((this.getItemsCount()-1)/this.getItemsPerPage());},setFirstIndexOnPage:function(_75){this.firstIndexOnPage=Math.min(Math.max(0,_75),this.getItemsCount()-1);},getFirstIndexOnPage:function(){this.firstIndexOnPage=Math.floor(this.firstIndexOnPage/this.getItemsPerPage())*this.getItemsPerPage();return this.firstIndexOnPage;},getLastIndexOnPage:function(){return Math.min(this.getFirstIndexOnPage()+this.getItemsPerPage()-1,this.getItemsCount()-1);},onPageChanged:function(_76,_77){},renderPage:function(_78){if(_78.beginRendering){_78.beginRendering(this);}
try{if(this.getItemsCount()){var _79=this.getLastIndexOnPage();var _7a=-1;for(var i=this.getFirstIndexOnPage();i<=_79;i++){_7a++;_78.render(this,this.items[i],i,_7a);}}}
finally{if(_78.endRendering){_78.endRendering(this);}}},addPageNavigation:function(_7c){if(!this.getItemsCount()){return;}
var _7d=this;var _7e=function(e){if(!e){var e=window.event;}
abego.consumeEvent(e);var _80=abego.toInt(this.getAttribute("page"),0);var _81=_7d.getCurrentPageIndex();if(_80==_81){return;}
var _82=_80*_7d.getItemsPerPage();_7d.setFirstIndexOnPage(_82);_7d.onPageChanged(_80,_81);};var _83;var _84=this.getCurrentPageIndex();var _85=this.getLastPageIndex();if(_84>0){_83=createTiddlyButton(_7c,"Previous","Go to previous page (Shortcut: Alt-'<')",_7e,"prev");_83.setAttribute("page",(_84-1).toString());_83.setAttribute("accessKey","<");}
for(var i=-this.getMaxPagesInNavigation();i<this.getMaxPagesInNavigation();i++){var _87=_84+i;if(_87<0){continue;}
if(_87>_85){break;}
var _88=(i+_84+1).toString();var _89=_87==_84?"currentPage":"otherPage";_83=createTiddlyButton(_7c,_88,"Go to page %0".format([_88]),_7e,_89);_83.setAttribute("page",(_87).toString());}
if(_84<_85){_83=createTiddlyButton(_7c,"Next","Go to next page (Shortcut: Alt-'>')",_7e,"next");_83.setAttribute("page",(_84+1).toString());_83.setAttribute("accessKey",">");}}});abego.LimitedTextRenderer=function(){var _8a=40;var _8b=4;var _8c=function(_8d,_8e,_8f){var n=_8d.length;if(n==0){_8d.push({start:_8e,end:_8f});return;}
var i=0;for(;i<n;i++){var _92=_8d[i];if(_92.start<=_8f&&_8e<=_92.end){var r;var _94=i+1;for(;_94<n;_94++){r=_8d[_94];if(r.start>_8f||_8e>_92.end){break;}}
var _95=_8e;var _96=_8f;for(var j=i;j<_94;j++){r=_8d[j];_95=Math.min(_95,r.start);_96=Math.max(_96,r.end);}
_8d.splice(i,_94-i,{start:_95,end:_96});return;}
if(_92.start>_8f){break;}}
_8d.splice(i,0,{start:_8e,end:_8f});};var _98=function(_99){var _9a=0;for(var i=0;i<_99.length;i++){var _9c=_99[i];_9a+=_9c.end-_9c.start;}
return _9a;};var _9d=function(c){return(c>="a"&&c<="z")||(c>="A"&&c<="Z")||c=="_";};var _9f=function(s,_a1){if(!_9d(s[_a1])){return null;}
for(var i=_a1-1;i>=0&&_9d(s[i]);i--){}
var _a3=i+1;var n=s.length;for(i=_a1+1;i<n&&_9d(s[i]);i++){}
return{start:_a3,end:i};};var _a5=function(s,_a7,_a8){var _a9;if(_a8){_a9=_9f(s,_a7);}else{if(_a7<=0){return _a7;}
_a9=_9f(s,_a7-1);}
if(!_a9){return _a7;}
if(_a8){if(_a9.start>=_a7-_8b){return _a9.start;}
if(_a9.end<=_a7+_8b){return _a9.end;}}else{if(_a9.end<=_a7+_8b){return _a9.end;}
if(_a9.start>=_a7-_8b){return _a9.start;}}
return _a7;};var _aa=function(s,_ac){var _ad=[];if(_ac){var _ae=0;var n=s.length;var _b0=0;do{_ac.lastIndex=_ae;var _b1=_ac.exec(s);if(_b1){if(_ae<_b1.index){var t=s.substring(_ae,_b1.index);_ad.push({text:t});}
_ad.push({text:_b1[0],isMatch:true});_ae=_b1.index+_b1[0].length;}else{_ad.push({text:s.substr(_ae)});break;}}while(true);}else{_ad.push({text:s});}
return _ad;};var _b3=function(_b4){var _b5=0;for(var i=0;i<_b4.length;i++){if(_b4[i].isMatch){_b5++;}}
return _b5;};var _b7=function(s,_b9,_ba,_bb,_bc){var _bd=Math.max(Math.floor(_bc/(_bb+1)),_8a);var _be=Math.max(_bd-(_ba-_b9),0);var _bf=Math.min(Math.floor(_ba+_be/3),s.length);var _c0=Math.max(_bf-_bd,0);_c0=_a5(s,_c0,true);_bf=_a5(s,_bf,false);return{start:_c0,end:_bf};};var _c1=function(_c2,s,_c4){var _c5=[];var _c6=_b3(_c2);var pos=0;for(var i=0;i<_c2.length;i++){var t=_c2[i];var _ca=t.text;if(t.isMatch){var _cb=_b7(s,pos,pos+_ca.length,_c6,_c4);_8c(_c5,_cb.start,_cb.end);}
pos+=_ca.length;}
return _c5;};var _cc=function(s,_ce,_cf){var _d0=_cf-_98(_ce);while(_d0>0){if(_ce.length==0){_8c(_ce,0,_a5(s,_cf,false));return;}else{var _d1=_ce[0];var _d2;var _d3;if(_d1.start==0){_d2=_d1.end;if(_ce.length>1){_d3=_ce[1].start;}else{_8c(_ce,_d2,_a5(s,_d2+_d0,false));return;}}else{_d2=0;_d3=_d1.start;}
var _d4=Math.min(_d3,_d2+_d0);_8c(_ce,_d2,_d4);_d0-=(_d4-_d2);}}};var _d5=function(_d6,s,_d8,_d9,_da){if(_d9.length==0){return;}
var _db=function(_dc,s,_de,_df,_e0){var t;var _e2;var pos=0;var i=0;var _e5=0;for(;i<_de.length;i++){t=_de[i];_e2=t.text;if(_df<pos+_e2.length){_e5=_df-pos;break;}
pos+=_e2.length;}
var _e6=_e0-_df;for(;i<_de.length&&_e6>0;i++){t=_de[i];_e2=t.text.substr(_e5);_e5=0;if(_e2.length>_e6){_e2=_e2.substr(0,_e6);}
if(t.isMatch){createTiddlyElement(_dc,"span",null,"marked",_e2);}else{createTiddlyText(_dc,_e2);}
_e6-=_e2.length;}
if(_e0<s.length){abego.createEllipsis(_dc);}};if(_d9[0].start>0){abego.createEllipsis(_d6);}
var _e7=_da;for(var i=0;i<_d9.length&&_e7>0;i++){var _e9=_d9[i];var len=Math.min(_e9.end-_e9.start,_e7);_db(_d6,s,_d8,_e9.start,_e9.start+len);_e7-=len;}};this.render=function(_eb,s,_ed,_ee){if(s.length<_ed){_ed=s.length;}
var _ef=_aa(s,_ee);var _f0=_c1(_ef,s,_ed);_cc(s,_f0,_ed);_d5(_eb,s,_ef,_f0,_ed);};};(function(){function alertAndThrow(msg){alert(msg);throw msg;}
if(version.major<2||(version.major==2&&version.minor<1)){alertAndThrow("YourSearchPlugin requires TiddlyWiki 2.1 or newer.\n\nCheck the archive for YourSearch plugins\nsupporting older versions of TiddlyWiki.\n\nArchive: http://tiddlywiki.abego-software.de/archive");}
abego.YourSearch={};var _f2;var _f3;var _f4=function(_f5){_f2=_f5;};var _f6=function(){return _f2?_f2:[];};var _f7=function(){return _f2?_f2.length:0;};var _f8=4;var _f9=10;var _fa=2;var _fb=function(s,re){var m=s.match(re);return m?m.length:0;};var _ff=function(_100,_101){var _102=_101.getMarkRegExp();if(!_102){return 1;}
var _103=_100.title.match(_102);var _104=_103?_103.length:0;var _105=_fb(_100.getTags(),_102);var _106=_103?_103.join("").length:0;var _107=_100.title.length>0?_106/_100.title.length:0;var rank=_104*_f8+_105*_fa+_107*_f9+1;return rank;};var _109=function(_10a,_10b,_10c,_10d,_10e,_10f){_f3=null;var _110=_10a.reverseLookup("tags",_10f,false);try{var _111=[];if(config.options.chkSearchInTitle){_111.push("title");}
if(config.options.chkSearchInText){_111.push("text");}
if(config.options.chkSearchInTags){_111.push("tags");}
_f3=new abego.TiddlerQuery(_10b,_10c,_10d,_111,config.options.chkSearchExtendedFields);}
catch(e){return[];}
var _112=_f3.filter(_110);var _113=abego.YourSearch.getRankFunction();for(var i=0;i<_112.length;i++){var _115=_112[i];var rank=_113(_115,_f3);_115.searchRank=rank;}
if(!_10e){_10e="title";}
var _117=function(a,b){var _11a=a.searchRank-b.searchRank;if(_11a==0){if(a[_10e]==b[_10e]){return(0);}else{return(a[_10e]<b[_10e])?-1:+1;}}else{return(_11a>0)?-1:+1;}};_112.sort(_117);return _112;};var _11b=80;var _11c=50;var _11d=250;var _11e=50;var _11f=25;var _120=10;var _121="yourSearchResult";var _122="yourSearchResultItems";var _123;var _124;var _125;var _126;var _127;var _128=function(){if(version.extensions.YourSearchPlugin.styleSheetInited){return;}
version.extensions.YourSearchPlugin.styleSheetInited=true;setStylesheet(store.getTiddlerText("YourSearchStyleSheet"),"yourSearch");};var _129=function(){return _124!=null&&_124.parentNode==document.body;};var _12a=function(){if(_129()){document.body.removeChild(_124);}};var _12b=function(e){_12a();var _12d=this.getAttribute("tiddlyLink");if(_12d){var _12e=this.getAttribute("withHilite");var _12f=highlightHack;if(_12e&&_12e=="true"&&_f3){highlightHack=_f3.getMarkRegExp();}
story.displayTiddler(this,_12d);highlightHack=_12f;}
return(false);};var _130=function(){if(!_125){return;}
var root=_125;var _132=findPosX(root);var _133=findPosY(root);var _134=root.offsetHeight;var _135=_132;var _136=_133+_134;var _137=findWindowWidth();if(_137<_124.offsetWidth){_124.style.width=(_137-100)+"px";_137=findWindowWidth();}
var _138=_124.offsetWidth;if(_135+_138>_137){_135=_137-_138-30;}
if(_135<0){_135=0;}
_124.style.left=_135+"px";_124.style.top=_136+"px";_124.style.display="block";};var _139=function(){if(_124){window.scrollTo(0,ensureVisible(_124));}
if(_125){window.scrollTo(0,ensureVisible(_125));}};var _13a=function(){_130();_139();};var _13b;var _13c;var _13d=new abego.PageWiseRenderer();var _13e=function(_13f){this.itemHtml=store.getTiddlerText("YourSearchItemTemplate");if(!this.itemHtml){alertAndThrow("YourSearchItemTemplate not found");}
this.place=document.getElementById(_122);if(!this.place){this.place=createTiddlyElement(_13f,"div",_122);}};merge(_13e.prototype,{render:function(_140,_141,_142,_143){_13b=_143;_13c=_141;var item=createTiddlyElement(this.place,"div",null,"yourSearchItem");item.innerHTML=this.itemHtml;applyHtmlMacros(item,null);refreshElements(item,null);},endRendering:function(_145){_13c=null;}});var _146=function(){if(!_124||!_125){return;}
var html=store.getTiddlerText("YourSearchResultTemplate");if(!html){html="<b>Tiddler YourSearchResultTemplate not found</b>";}
_124.innerHTML=html;applyHtmlMacros(_124,null);refreshElements(_124,null);var _148=new _13e(_124);_13d.renderPage(_148);_13a();};_13d.getItemsPerPage=function(){var n=(config.options.chkPreviewText)?abego.toInt(config.options.txtItemsPerPageWithPreview,_120):abego.toInt(config.options.txtItemsPerPage,_11f);return(n>0)?n:1;};_13d.onPageChanged=function(){_146();};var _14a=function(){if(_125==null||!config.options.chkUseYourSearch){return;}
if((_125.value==_123)&&_123&&!_129()){if(_124&&(_124.parentNode!=document.body)){document.body.appendChild(_124);_13a();}else{abego.YourSearch.onShowResult(true);}}};var _14b=function(){_12a();_124=null;_123=null;};var _14c=function(self,e){while(e!=null){if(self==e){return true;}
e=e.parentNode;}
return false;};var _14f=function(e){if(e.target==_125){return;}
if(e.target==_126){return;}
if(_124&&_14c(_124,e.target)){return;}
_12a();};var _151=function(e){if(e.keyCode==27){_12a();}};addEvent(document,"click",_14f);addEvent(document,"keyup",_151);var _153=function(text,_155,_156){_123=text;_f4(_109(store,text,_155,_156,"title","excludeSearch"));abego.YourSearch.onShowResult();};var _157=function(_158,_159,_15a,_15b,_15c,_15d){_128();_123="";var _15e=null;var _15f=function(txt){if(config.options.chkUseYourSearch){_153(txt.value,config.options.chkCaseSensitiveSearch,config.options.chkRegExpSearch);}else{story.search(txt.value,config.options.chkCaseSensitiveSearch,config.options.chkRegExpSearch);}
_123=txt.value;};var _161=function(e){_15f(_125);return false;};var _163=function(e){if(!e){var e=window.event;}
_125=this;switch(e.keyCode){case 13:if(e.ctrlKey&&_127&&_129()){_127.onclick.apply(_127,[e]);}else{_15f(this);}
break;case 27:if(_129()){_12a();}else{this.value="";clearMessage();}
break;}
if(String.fromCharCode(e.keyCode)==this.accessKey||e.altKey){_14a();}
if(this.value.length<3&&_15e){clearTimeout(_15e);}
if(this.value.length>2){if(this.value!=_123){if(!config.options.chkUseYourSearch||config.options.chkSearchAsYouType){if(_15e){clearTimeout(_15e);}
var txt=this;_15e=setTimeout(function(){_15f(txt);},500);}}else{if(_15e){clearTimeout(_15e);}}}
if(this.value.length==0){_12a();}};var _166=function(e){this.select();clearMessage();_14a();};var args=_15c.parseParams("list",null,true);var _169=getFlag(args,"buttonAtRight");var _16a=getParam(args,"sizeTextbox",this.sizeTextbox);var btn;if(!_169){btn=createTiddlyButton(_158,this.label,this.prompt,_161);}
var txt=createTiddlyElement(_158,"input",null,null,null);if(_15a[0]){txt.value=_15a[0];}
txt.onkeyup=_163;txt.onfocus=_166;txt.setAttribute("size",_16a);txt.setAttribute("accessKey",this.accessKey);txt.setAttribute("autocomplete","off");if(config.browser.isSafari){txt.setAttribute("type","search");txt.setAttribute("results","5");}else{txt.setAttribute("type","text");}
if(_169){btn=createTiddlyButton(_158,this.label,this.prompt,_161);}
_125=txt;_126=btn;};var _16d=function(){_12a();var _16e=_f6();var n=_16e.length;if(n){var _170=[];for(var i=0;i<n;i++){_170.push(_16e[i].title);}
story.displayTiddlers(null,_170);}};var _172=function(_173,_174,_175,_176){invokeMacro(_173,"option",_174,_175,_176);var elem=_173.lastChild;var _178=elem.onclick;elem.onclick=function(e){var _17a=_178.apply(this,arguments);_146();return _17a;};return elem;};var _17b=function(s){var _17d=["''","{{{","}}}","//","<<<","/***","***/"];var _17e="";for(var i=0;i<_17d.length;i++){if(i!=0){_17e+="|";}
_17e+="("+_17d[i].escapeRegExp()+")";}
return s.replace(new RegExp(_17e,"mg"),"").trim();};var _180=function(){var i=_13b;return(i>=0&&i<=9)?(i<9?(i+1):0):-1;};var _182=new abego.LimitedTextRenderer();var _183=function(_184,s,_186){_182.render(_184,s,_186,_f3.getMarkRegExp());};var _187=TiddlyWiki.prototype.saveTiddler;TiddlyWiki.prototype.saveTiddler=function(_188,_189,_18a,_18b,_18c,tags,_18e){_187.apply(this,arguments);_14b();};var _18f=TiddlyWiki.prototype.removeTiddler;TiddlyWiki.prototype.removeTiddler=function(_190){_18f.apply(this,arguments);_14b();};config.macros.yourSearch={label:"yourSearch",prompt:"Gives access to the current/last YourSearch result",handler:function(_191,_192,_193,_194,_195,_196){if(_193.length==0){return;}
var name=_193[0];var func=config.macros.yourSearch.funcs[name];if(func){func(_191,_192,_193,_194,_195,_196);}},tests:{"true":function(){return true;},"false":function(){return false;},"found":function(){return _f7()>0;},"previewText":function(){return config.options.chkPreviewText;}},funcs:{itemRange:function(_199){if(_f7()){var _19a=_13d.getLastIndexOnPage();var s="%0 - %1".format([_13d.getFirstIndexOnPage()+1,_19a+1]);createTiddlyText(_199,s);}},count:function(_19c){createTiddlyText(_19c,_f7().toString());},query:function(_19d){if(_f3){createTiddlyText(_19d,_f3.toString());}},version:function(_19e){var t="YourSearch %0.%1.%2".format([version.extensions.YourSearchPlugin.major,version.extensions.YourSearchPlugin.minor,version.extensions.YourSearchPlugin.revision]);var e=createTiddlyElement(_19e,"a");e.setAttribute("href","http://tiddlywiki.abego-software.de/#YourSearchPlugin");e.innerHTML="<font color=\"black\" face=\"Arial, Helvetica, sans-serif\">"+t+"<font>";},copyright:function(_1a1){var e=createTiddlyElement(_1a1,"a");e.setAttribute("href","http://www.abego-software.de");e.innerHTML="<font color=\"black\" face=\"Arial, Helvetica, sans-serif\">© 2005-2008 <b><font color=\"red\">abego</font></b> Software<font>";},newTiddlerButton:function(_1a3){if(_f3){var r=abego.parseNewTiddlerCommandLine(_f3.getQueryText());var btn=config.macros.newTiddler.createNewTiddlerButton(_1a3,r.title,r.params,"new tiddler","Create a new tiddler based on search text. (Shortcut: Ctrl-Enter; Separators: '.', '#')",null,"text");var _1a6=btn.onclick;btn.onclick=function(){_12a();_1a6.apply(this,arguments);};_127=btn;}},linkButton:function(_1a7,_1a8,_1a9,_1aa,_1ab,_1ac){if(_1a9<2){return;}
var _1ad=_1a9[1];var text=_1a9<3?_1ad:_1a9[2];var _1af=_1a9<4?text:_1a9[3];var _1b0=_1a9<5?null:_1a9[4];var btn=createTiddlyButton(_1a7,text,_1af,_12b,null,null,_1b0);btn.setAttribute("tiddlyLink",_1ad);},closeButton:function(_1b2,_1b3,_1b4,_1b5,_1b6,_1b7){var _1b8=createTiddlyButton(_1b2,"close","Close the Search Results (Shortcut: ESC)",_12a);},openAllButton:function(_1b9,_1ba,_1bb,_1bc,_1bd,_1be){var n=_f7();if(n==0){return;}
var _1c0=n==1?"open tiddler":"open all %0 tiddlers".format([n]);var _1c1=createTiddlyButton(_1b9,_1c0,"Open all found tiddlers (Shortcut: Alt-O)",_16d);_1c1.setAttribute("accessKey","O");},naviBar:function(_1c2,_1c3,_1c4,_1c5,_1c6,_1c7){_13d.addPageNavigation(_1c2);},"if":function(_1c8,_1c9,_1ca,_1cb,_1cc,_1cd){if(_1ca.length<2){return;}
var _1ce=_1ca[1];var _1cf=(_1ce=="not");if(_1cf){if(_1ca.length<3){return;}
_1ce=_1ca[2];}
var test=config.macros.yourSearch.tests[_1ce];var _1d1=false;try{if(test){_1d1=test(_1c8,_1c9,_1ca,_1cb,_1cc,_1cd)!=_1cf;}else{_1d1=(!eval(_1ce))==_1cf;}}
catch(ex){}
if(!_1d1){_1c8.style.display="none";}},chkPreviewText:function(_1d2,_1d3,_1d4,_1d5,_1d6,_1d7){var _1d8=_1d4.slice(1).join(" ");var elem=_172(_1d2,"chkPreviewText",_1d5,_1d7);elem.setAttribute("accessKey","P");elem.title="Show text preview of found tiddlers (Shortcut: Alt-P)";return elem;}}};config.macros.foundTiddler={label:"foundTiddler",prompt:"Provides information on the tiddler currently processed on the YourSearch result page",handler:function(_1da,_1db,_1dc,_1dd,_1de,_1df){var name=_1dc[0];var func=config.macros.foundTiddler.funcs[name];if(func){func(_1da,_1db,_1dc,_1dd,_1de,_1df);}},funcs:{title:function(_1e2,_1e3,_1e4,_1e5,_1e6,_1e7){if(!_13c){return;}
var _1e8=_180();var _1e9=_1e8>=0?"Open tiddler (Shortcut: Alt-%0)".format([_1e8.toString()]):"Open tiddler";var btn=createTiddlyButton(_1e2,null,_1e9,_12b,null);btn.setAttribute("tiddlyLink",_13c.title);btn.setAttribute("withHilite","true");_183(btn,_13c.title,_11b);if(_1e8>=0){btn.setAttribute("accessKey",_1e8.toString());}},tags:function(_1eb,_1ec,_1ed,_1ee,_1ef,_1f0){if(!_13c){return;}
_183(_1eb,_13c.getTags(),_11c);},text:function(_1f1,_1f2,_1f3,_1f4,_1f5,_1f6){if(!_13c){return;}
_183(_1f1,_17b(_13c.text),_11d);},field:function(_1f7,_1f8,_1f9,_1fa,_1fb,_1fc){if(!_13c){return;}
var name=_1f9[1];var len=_1f9.length>2?abego.toInt(_1f9[2],_11e):_11e;var v=store.getValue(_13c,name);if(v){_183(_1f7,_17b(v),len);}},number:function(_200,_201,_202,_203,_204,_205){var _206=_180();if(_206>=0){var text="%0)".format([_206.toString()]);createTiddlyElement(_200,"span",null,"shortcutNumber",text);}}}};var opts={chkUseYourSearch:true,chkPreviewText:true,chkSearchAsYouType:true,chkSearchInTitle:true,chkSearchInText:true,chkSearchInTags:true,chkSearchExtendedFields:true,txtItemsPerPage:_11f,txtItemsPerPageWithPreview:_120};for(var n in opts){if(config.options[n]==undefined){config.options[n]=opts[n];}}
config.shadowTiddlers.AdvancedOptions+="\n<<option chkUseYourSearch>> Use 'Your Search' //([[more options|YourSearch Options]]) ([[help|YourSearch Help]])// ";config.shadowTiddlers["YourSearch Help"]="!Field Search\nWith the Field Search you can restrict your search to certain fields of a tiddler, e.g"+" only search the tags or only the titles. The general form is //fieldname//'':''//textToSearch// (e."+"g. {{{title:intro}}}). In addition one-character shortcuts are also supported for the standard field"+"s {{{title}}}, {{{text}}} and {{{tags}}}:\n|!What you want|!What you type|!Example|\n|Search ''titles "+"only''|start word with ''!''|{{{!jonny}}} (shortcut for {{{title:jonny}}})|\n|Search ''contents/text "+"only''|start word with ''%''|{{{%football}}} (shortcut for {{{text:football}}})|\n|Search ''tags only"+"''|start word with ''#''|{{{#Plugin}}} (shortcut for {{{tags:Plugin}}})|\n\nUsing this feature you may"+" also search the extended fields (\"Metadata\") introduced with TiddlyWiki 2.1, e.g. use {{{priority:1"+"}}} to find all tiddlers with the priority field set to \"1\".\n\nYou may search a word in more than one"+" field. E.g. {{{!#Plugin}}} (or {{{title:tags:Plugin}}} in the \"long form\") finds tiddlers containin"+"g \"Plugin\" either in the title or in the tags (but does not look for \"Plugin\" in the text). \n\n!Boole"+"an Search\nThe Boolean Search is useful when searching for multiple words.\n|!What you want|!What you "+"type|!Example|\n|''All words'' must exist|List of words|{{{jonny jeremy}}} (or {{{jonny and jeremy}}}"+")|\n|''At least one word'' must exist|Separate words by ''or''|{{{jonny or jeremy}}}|\n|A word ''must "+"not exist''|Start word with ''-''|{{{-jonny}}} (or {{{not jonny}}})|\n\n''Note:'' When you specify two"+" words, separated with a space, YourSearch finds all tiddlers that contain both words, but not neces"+"sarily next to each other. If you want to find a sequence of word, e.g. '{{{John Brown}}}', you need"+" to put the words into quotes. I.e. you type: {{{\"john brown\"}}}.\n\nUsing parenthesis you may change "+"the default \"left to right\" evaluation of the boolean search. E.g. {{{not (jonny or jeremy)}}} finds"+" all tiddlers that contain neither \"jonny\" nor \"jeremy. In contrast to this {{{not jonny or jeremy}}"+"} (i.e. without parenthesis) finds all tiddlers that either don't contain \"jonny\" or that contain \"j"+"eremy\".\n\n!'Exact Word' Search\nBy default a search result all matches that 'contain' the searched tex"+"t. E.g. if you search for {{{Task}}} you will get all tiddlers containing 'Task', but also '~Complet"+"edTask', '~TaskForce' etc.\n\nIf you only want to get the tiddlers that contain 'exactly the word' you"+" need to prefix it with a '='. E.g. typing '=Task' will find the tiddlers that contain the word 'Tas"+"k', ignoring words that just contain 'Task' as a substring.\n\n!~CaseSensitiveSearch and ~RegExpSearch"+"\nThe standard search options ~CaseSensitiveSearch and ~RegExpSearch are fully supported by YourSearc"+"h. However when ''~RegExpSearch'' is on Filtered and Boolean Search are disabled.\n\nIn addition you m"+"ay do a \"regular expression\" search even with the ''~RegExpSearch'' set to false by directly enterin"+"g the regular expression into the search field, framed with {{{/.../}}}. \n\nExample: {{{/m[ae][iy]er/"+"}}} will find all tiddlers that contain either \"maier\", \"mayer\", \"meier\" or \"meyer\".\n\n!~JavaScript E"+"xpression Filtering\nIf you are familiar with JavaScript programming and know some TiddlyWiki interna"+"ls you may also use JavaScript expression for the search. Just enter a JavaScript boolean expression"+" into the search field, framed with {{{ { ... } }}}. In the code refer to the variable tiddler and e"+"valuate to {{{true}}} when the given tiddler should be included in the result. \n\nExample: {{{ { tidd"+"ler.modified > new Date(\"Jul 4, 2005\")} }}} returns all tiddler modified after July 4th, 2005.\n\n!Com"+"bined Search\nYou are free to combine the various search options. \n\n''Examples''\n|!What you type|!Res"+"ult|\n|{{{!jonny !jeremy -%football}}}|all tiddlers with both {{{jonny}}} and {{{jeremy}}} in its tit"+"les, but no {{{football}}} in content.|\n|{{{#=Task}}}|All tiddlers tagged with 'Task' (the exact wor"+"d). Tags named '~CompletedTask', '~TaskForce' etc. are not considered.|\n\n!Access Keys\nYou are encour"+"aged to use the access keys (also called \"shortcut\" keys) for the most frequently used operations. F"+"or quick reference these shortcuts are also mentioned in the tooltip for the various buttons etc.\n\n|"+"!Key|!Operation|\n|{{{Alt-F}}}|''The most important keystroke'': It moves the cursor to the search in"+"put field so you can directly start typing your query. Pressing {{{Alt-F}}} will also display the pr"+"evious search result. This way you can quickly display multiple tiddlers using \"Press {{{Alt-F}}}. S"+"elect tiddler.\" sequences.|\n|{{{ESC}}}|Closes the [[YourSearch Result]]. When the [[YourSearch Resul"+"t]] is already closed and the cursor is in the search input field the field's content is cleared so "+"you start a new query.|\n|{{{Alt-1}}}, {{{Alt-2}}},... |Pressing these keys opens the first, second e"+"tc. tiddler from the result list.|\n|{{{Alt-O}}}|Opens all found tiddlers.|\n|{{{Alt-P}}}|Toggles the "+"'Preview Text' mode.|\n|{{{Alt-'<'}}}, {{{Alt-'>'}}}|Displays the previous or next page in the [[Your"+"Search Result]].|\n|{{{Return}}}|When you have turned off the 'as you type' search mode pressing the "+"{{{Return}}} key actually starts the search (as does pressing the 'search' button).|\n\n//If some of t"+"hese shortcuts don't work for you check your browser if you have other extensions installed that alr"+"eady \"use\" these shortcuts.//";config.shadowTiddlers["YourSearch Options"]="|>|!YourSearch Options|\n|>|<<option chkUseYourSearch>> Use 'Your Search'|\n|!|<<option chkPreviewText"+">> Show Text Preview|\n|!|<<option chkSearchAsYouType>> 'Search As You Type' Mode (No RETURN required"+" to start search)|\n|!|Default Search Filter:<<option chkSearchInTitle>>Title ('!') <<option chk"+"SearchInText>>Text ('%') <<option chkSearchInTags>>Tags ('#') <<option chkSearchExtendedFiel"+"ds>>Extended Fields<html><br><font size=\"-2\">The fields of a tiddlers that are searched when you don"+"'t explicitly specify a filter in the search text <br>(Explictly specify fields using one or more '!"+"', '%', '#' or 'fieldname:' prefix before the word/text to find).</font></html>|\n|!|Number of items "+"on search result page: <<option txtItemsPerPage>>|\n|!|Number of items on search result page with pre"+"view text: <<option txtItemsPerPageWithPreview>>|\n";config.shadowTiddlers["YourSearchStyleSheet"]="/***\n!~YourSearchResult Stylesheet\n***/\n/*{{{*/\n.yourSearchResult {\n\tposition: absolute;\n\twidth: 800"+"px;\n\n\tpadding: 0.2em;\n\tlist-style: none;\n\tmargin: 0;\n\n\tbackground: #ffd;\n\tborder: 1px solid DarkGra"+"y;\n}\n\n/*}}}*/\n/***\n!!Summary Section\n***/\n/*{{{*/\n.yourSearchResult .summary {\n\tborder-bottom-width:"+" thin;\n\tborder-bottom-style: solid;\n\tborder-bottom-color: #999999;\n\tpadding-bottom: 4px;\n}\n\n.yourSea"+"rchRange, .yourSearchCount, .yourSearchQuery {\n\tfont-weight: bold;\n}\n\n.yourSearchResult .summary ."+"button {\n\tfont-size: 10px;\n\n\tpadding-left: 0.3em;\n\tpadding-right: 0.3em;\n}\n\n.yourSearchResult .summa"+"ry .chkBoxLabel {\n\tfont-size: 10px;\n\n\tpadding-right: 0.3em;\n}\n\n/*}}}*/\n/***\n!!Items Area\n***/\n/*{{{*"+"/\n.yourSearchResult .marked {\n\tbackground: none;\n\tfont-weight: bold;\n}\n\n.yourSearchItem {\n\tmargin-to"+"p: 2px;\n}\n\n.yourSearchNumber {\n\tcolor: #808080;\n}\n\n\n.yourSearchTags {\n\tcolor: #008000;\n}\n\n.yourSearc"+"hText {\n\tcolor: #808080;\n\tmargin-bottom: 6px;\n}\n\n/*}}}*/\n/***\n!!Footer\n***/\n/*{{{*/\n.yourSearchFoote"+"r {\n\tmargin-top: 8px;\n\tborder-top-width: thin;\n\tborder-top-style: solid;\n\tborder-top-color: #999999;"+"\n}\n\n.yourSearchFooter a:hover{\n\tbackground: none;\n\tcolor: none;\n}\n/*}}}*/\n/***\n!!Navigation Bar\n***/"+"\n/*{{{*/\n.yourSearchNaviBar a {\n\tfont-size: 16px;\n\tmargin-left: 4px;\n\tmargin-right: 4px;\n\tcolor: bla"+"ck;\n\ttext-decoration: underline;\n}\n\n.yourSearchNaviBar a:hover {\n\tbackground-color: none;\n}\n\n.yourSe"+"archNaviBar .prev {\n\tfont-weight: bold;\n\tcolor: blue;\n}\n\n.yourSearchNaviBar .currentPage {\n\tcolor: #"+"FF0000;\n\tfont-weight: bold;\n\ttext-decoration: none;\n}\n\n.yourSearchNaviBar .next {\n\tfont-weight: bold"+";\n\tcolor: blue;\n}\n/*}}}*/\n";config.shadowTiddlers["YourSearchResultTemplate"]="<!--\n{{{\n-->\n<span macro=\"yourSearch if found\">\n<!-- The Summary Header ============================"+"================ -->\n<table class=\"summary\" border=\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\">"+"<tbody>\n <tr>\n\t<td align=\"left\">\n\t\tYourSearch Result <span class=\"yourSearchRange\" macro=\"yourSearc"+"h itemRange\"></span>\n\t\t of <span class=\"yourSearchCount\" macro=\"yourSearch count\"></span>\n"+"\t\tfor <span class=\"yourSearchQuery\" macro=\"yourSearch query\"></span>\n\t</td>\n\t<td class=\"yourSea"+"rchButtons\" align=\"right\">\n\t\t<span macro=\"yourSearch chkPreviewText\"></span><span class=\"chkBoxLabel"+"\">preview text</span>\n\t\t<span macro=\"yourSearch newTiddlerButton\"></span>\n\t\t<span macro=\"yourSearch openAllButton\"></span>\n\t\t<span macro=\"yourSearch lin"+"kButton 'YourSearch Options' options 'Configure YourSearch'\"></span>\n\t\t<span macro=\"yourSearch linkB"+"utton 'YourSearch Help' help 'Get help how to use YourSearch'\"></span>\n\t\t<span macro=\"yourSearch clo"+"seButton\"></span>\n\t</td>\n </tr>\n</tbody></table>\n\n<!-- The List of Found Tiddlers ================="+"=========================== -->\n<div id=\"yourSearchResultItems\" itemsPerPage=\"25\" itemsPerPageWithPr"+"eview=\"10\"></div>\n\n<!-- The Footer (with the Navigation) ==========================================="+"= -->\n<table class=\"yourSearchFooter\" border=\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\"><tbody"+">\n <tr>\n\t<td align=\"left\">\n\t\tResult page: <span class=\"yourSearchNaviBar\" macro=\"yourSearch naviBar"+"\"></span>\n\t</td>\n\t<td align=\"right\"><span macro=\"yourSearch version\"></span>, <span macro=\"yourSearc"+"h copyright\"></span>\n\t</td>\n </tr>\n</tbody></table>\n<!-- end of the 'tiddlers found' case ========="+"================================== -->\n</span>\n\n\n<!-- The \"No tiddlers found\" case ================="+"========================== -->\n<span macro=\"yourSearch if not found\">\n<table class=\"summary\" border="+"\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\"><tbody>\n <tr>\n\t<td align=\"left\">\n\t\tYourSearch Resu"+"lt: No tiddlers found for <span class=\"yourSearchQuery\" macro=\"yourSearch query\"></span>.\n\t</td>\n\t<t"+"d class=\"yourSearchButtons\" align=\"right\">\n\t\t<span macro=\"yourSearch newTiddlerButton\"></span>\n\t\t<span macro=\"yourSearch linkButton 'YourSearch Options'"+" options 'Configure YourSearch'\"></span>\n\t\t<span macro=\"yourSearch linkButton 'YourSearch Help' help"+" 'Get help how to use YourSearch'\"></span>\n\t\t<span macro=\"yourSearch closeButton\"></span>\n\t</td>\n <"+"/tr>\n</tbody></table>\n</span>\n\n\n<!--\n}}}\n-->\n";config.shadowTiddlers["YourSearchItemTemplate"]="<!--\n{{{\n-->\n<span class='yourSearchNumber' macro='foundTiddler number'></span>\n<span class='yourSea"+"rchTitle' macro='foundTiddler title'/></span> - \n<span class='yourSearchTags' macro='found"+"Tiddler field tags 50'/></span>\n<span macro=\"yourSearch if previewText\"><div class='yourSearchText' macro='fo"+"undTiddler field text 250'/></div></span>\n<!--\n}}}\n-->";config.shadowTiddlers["YourSearch"]="<<tiddler [[YourSearch Help]]>>";config.shadowTiddlers["YourSearch Result"]="The popup-like window displaying the result of a YourSearch query.";config.macros.search.handler=_157;var _20a=function(){if(config.macros.search.handler!=_157){alert("Message from YourSearchPlugin:\n\n\nAnother plugin has disabled the 'Your Search' features.\n\n\nYou may "+"disable the other plugin or change the load order of \nthe plugins (by changing the names of the tidd"+"lers)\nto enable the 'Your Search' features.");}};setTimeout(_20a,5000);abego.YourSearch.getStandardRankFunction=function(){return _ff;};abego.YourSearch.getRankFunction=function(){return abego.YourSearch.getStandardRankFunction();};abego.YourSearch.getCurrentTiddler=function(){return _13c;};abego.YourSearch.closeResult=function(){_12a();};abego.YourSearch.getFoundTiddlers=function(){return _f2;};abego.YourSearch.getQuery=function(){return _f3;};abego.YourSearch.onShowResult=function(_20b){highlightHack=_f3?_f3.getMarkRegExp():null;if(!_20b){_13d.setItems(_f6());}
if(!_124){_124=createTiddlyElement(document.body,"div",_121,"yourSearchResult");}else{if(_124.parentNode!=document.body){document.body.appendChild(_124);}}
_146();highlightHack=null;};})();}
//%/
''Designed by'' @@position:relative;+++^20em^*[Skye]<<tiddler SideBarOptions>>
===@@
@@padding:0.6em;<<slider chkSliderSideBarTabs SideBarTabsSlider 'using TiddlyWiki Technology' 'tiddlers, timeline, all, tags'>>@@
| source file:|{{{C:\Documents and Settings\Administrador\Desktop\Casa Ecologica\background.jpg}}}|
| attached on:|20 Julho 2009 by Skye|
| embedded:|[[background.jpg|background.jpg]] - {{{type=image/jpeg, size=67852 bytes, encoded=91885 bytes}}}|
| local file:|/%LOCAL_LINK%/[[./background.jpg|./background.jpg]]|
| remote link:|//none//|
image
<<<
usage: {{{[img[tooltip|background.jpg]] or [img[tooltip|background.jpg][link]]}}}
[img[tooltip|background.jpg]]
<<<
/% DO NOT EDIT BELOW THIS POINT
---BEGIN_DATA---
image/jpeg;base64,
/9j/4AAQSkZJRgABAgEASABIAAD/4QoIRXhpZgAATU0AKgAAAAgABwESAAMAAAAB
AAEAAAEaAAUAAAABAAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAIAAAExAAIAAAAc
AAAAcgEyAAIAAAAUAAAAjodpAAQAAAABAAAApAAAANAACvyAAAAnEAAK/IAAACcQ
QWRvYmUgUGhvdG9zaG9wIENTMiBXaW5kb3dzADIwMDk6MDc6MjAgMTM6MzY6NDgA
AAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAB9KADAAQAAAABAAABswAAAAAAAAAG
AQMAAwAAAAEABgAAARoABQAAAAEAAAEeARsABQAAAAEAAAEmASgAAwAAAAEAAgAA
AgEABAAAAAEAAAEuAgIABAAAAAEAAAjSAAAAAAAAAEgAAAABAAAASAAAAAH/2P/g
ABBKRklGAAECAABIAEgAAP/tAAxBZG9iZV9DTQAB/+4ADkFkb2JlAGSAAAAAAf/b
AIQADAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMTGBEMDAwMDAwRDAwMDAwMDAwM
DAwMDAwMDAwMDAwMDAwMDAwMDAENCwsNDg0QDg4QFA4ODhQUDg4ODhQRDAwMDAwR
EQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgAiwCgAwEi
AAIRAQMRAf/dAAQACv/EAT8AAAEFAQEBAQEBAAAAAAAAAAMAAQIEBQYHCAkKCwEA
AQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUDDDMBAAIR
AwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZE
k1RkRcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm
9jdHV2d3h5ent8fX5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUy
gZEUobFCI8FS0fAzJGLhcoKSQ1MVY3M08SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi
8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vYnN0dXZ3eHl6e3x//a
AAwDAQACEQMRAD8A9VSSSSUpQsLhG2ASY11U1Czln9YJKVFv7zf80/8Ak0os/eb/
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
AAAAAAAAAQA4QklNBAoAAAAAAAEAADhCSU0nEAAAAAAACgABAAAAAAAAAAI4QklN
A/UAAAAAAEgAL2ZmAAEAbGZmAAYAAAAAAAEAL2ZmAAEAoZmaAAYAAAAAAAEAMgAA
AAEAWgAAAAYAAAAAAAEANQAAAAEALQAAAAYAAAAAAAE4QklNA/gAAAAAAHAAAP//
//////////////////////////8D6AAAAAD/////////////////////////////
A+gAAAAA/////////////////////////////wPoAAAAAP//////////////////
//////////8D6AAAOEJJTQQAAAAAAAACAAA4QklNBAIAAAAAAAIAADhCSU0EMAAA
AAAAAQEAOEJJTQQtAAAAAAAGAAEAAAACOEJJTQQIAAAAAAAQAAAAAQAAAkAAAAJA
AAAAADhCSU0EHgAAAAAABAAAAAA4QklNBBoAAAAAA00AAAAGAAAAAAAAAAAAAAGz
AAAB9AAAAAwAUwBlAG0AIABUAO0AdAB1AGwAbwAtADkAAAABAAAAAAAAAAAAAAAA
AAAAAAAAAAEAAAAAAAAAAAAAAfQAAAGzAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAA
AAAAAAAAAAAAAAAAEAAAAAEAAAAAAABudWxsAAAAAgAAAAZib3VuZHNPYmpjAAAA
AQAAAAAAAFJjdDEAAAAEAAAAAFRvcCBsb25nAAAAAAAAAABMZWZ0bG9uZwAAAAAA
AAAAQnRvbWxvbmcAAAGzAAAAAFJnaHRsb25nAAAB9AAAAAZzbGljZXNWbExzAAAA
AU9iamMAAAABAAAAAAAFc2xpY2UAAAASAAAAB3NsaWNlSURsb25nAAAAAAAAAAdn
cm91cElEbG9uZwAAAAAAAAAGb3JpZ2luZW51bQAAAAxFU2xpY2VPcmlnaW4AAAAN
YXV0b0dlbmVyYXRlZAAAAABUeXBlZW51bQAAAApFU2xpY2VUeXBlAAAAAEltZyAA
AAAGYm91bmRzT2JqYwAAAAEAAAAAAABSY3QxAAAABAAAAABUb3AgbG9uZwAAAAAA
AAAATGVmdGxvbmcAAAAAAAAAAEJ0b21sb25nAAABswAAAABSZ2h0bG9uZwAAAfQA
AAADdXJsVEVYVAAAAAEAAAAAAABudWxsVEVYVAAAAAEAAAAAAABNc2dlVEVYVAAA
AAEAAAAAAAZhbHRUYWdURVhUAAAAAQAAAAAADmNlbGxUZXh0SXNIVE1MYm9vbAEA
AAAIY2VsbFRleHRURVhUAAAAAQAAAAAACWhvcnpBbGlnbmVudW0AAAAPRVNsaWNl
SG9yekFsaWduAAAAB2RlZmF1bHQAAAAJdmVydEFsaWduZW51bQAAAA9FU2xpY2VW
ZXJ0QWxpZ24AAAAHZGVmYXVsdAAAAAtiZ0NvbG9yVHlwZWVudW0AAAARRVNsaWNl
QkdDb2xvclR5cGUAAAAATm9uZQAAAAl0b3BPdXRzZXRsb25nAAAAAAAAAApsZWZ0
T3V0c2V0bG9uZwAAAAAAAAAMYm90dG9tT3V0c2V0bG9uZwAAAAAAAAALcmlnaHRP
dXRzZXRsb25nAAAAAAA4QklNBCgAAAAAAAwAAAABP/AAAAAAAAA4QklNBBQAAAAA
AAQAAAADOEJJTQQMAAAAAAjuAAAAAQAAAKAAAACLAAAB4AABBKAAAAjSABgAAf/Y
/+AAEEpGSUYAAQIAAEgASAAA/+0ADEFkb2JlX0NNAAH/7gAOQWRvYmUAZIAAAAAB
/9sAhAAMCAgICQgMCQkMEQsKCxEVDwwMDxUYExMVExMYEQwMDAwMDBEMDAwMDAwM
DAwMDAwMDAwMDAwMDAwMDAwMDAwMAQ0LCw0ODRAODhAUDg4OFBQODg4OFBEMDAwM
DBERDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCACLAKAD
ASIAAhEBAxEB/90ABAAK/8QBPwAAAQUBAQEBAQEAAAAAAAAAAwABAgQFBgcICQoL
AQABBQEBAQEBAQAAAAAAAAABAAIDBAUGBwgJCgsQAAEEAQMCBAIFBwYIBQMMMwEA
AhEDBCESMQVBUWETInGBMgYUkaGxQiMkFVLBYjM0coLRQwclklPw4fFjczUWorKD
JkSTVGRFwqN0NhfSVeJl8rOEw9N14/NGJ5SkhbSVxNTk9KW1xdXl9VZmdoaWprbG
1ub2N0dXZ3eHl6e3x9fn9xEAAgIBAgQEAwQFBgcHBgU1AQACEQMhMRIEQVFhcSIT
BTKBkRShsUIjwVLR8DMkYuFygpJDUxVjczTxJQYWorKDByY1wtJEk1SjF2RFVTZ0
ZeLys4TD03Xj80aUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9ic3R1dnd4eXp7fH
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
AQA4QklNBAYAAAAAAAcACAAAAAEBAP/hOrFodHRwOi8vbnMuYWRvYmUuY29tL3hh
cC8xLjAvADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVT
ek5UY3prYzlkIj8+Cjx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8i
IHg6eG1wdGs9IjMuMS4xLTExMSI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0
cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAg
IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5z
OmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyI+CiAgICAgICAg
IDxkYzpmb3JtYXQ+aW1hZ2UvanBlZzwvZGM6Zm9ybWF0PgogICAgICA8L3JkZjpE
ZXNjcmlwdGlvbj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIK
ICAgICAgICAgICAgeG1sbnM6eGFwPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8x
LjAvIj4KICAgICAgICAgPHhhcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3Ag
Q1MyIFdpbmRvd3M8L3hhcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhhcDpDcmVh
dGVEYXRlPjIwMDktMDctMjBUMTM6MzY6NDgtMDM6MDA8L3hhcDpDcmVhdGVEYXRl
PgogICAgICAgICA8eGFwOk1vZGlmeURhdGU+MjAwOS0wNy0yMFQxMzozNjo0OC0w
MzowMDwveGFwOk1vZGlmeURhdGU+CiAgICAgICAgIDx4YXA6TWV0YWRhdGFEYXRl
PjIwMDktMDctMjBUMTM6MzY6NDgtMDM6MDA8L3hhcDpNZXRhZGF0YURhdGU+CiAg
ICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJk
ZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4YXBNTT0iaHR0cDovL25zLmFk
b2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RSZWY9Imh0
dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiPgog
ICAgICAgICA8eGFwTU06RG9jdW1lbnRJRD51dWlkOjU1QTZEQkExNEE3NURFMTE5
RTU5OURGMDc0NzZENzYwPC94YXBNTTpEb2N1bWVudElEPgogICAgICAgICA8eGFw
TU06SW5zdGFuY2VJRD51dWlkOjU2QTZEQkExNEE3NURFMTE5RTU5OURGMDc0NzZE
NzYwPC94YXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eGFwTU06RGVyaXZlZEZy
b20gcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICA8c3RSZWY6
aW5zdGFuY2VJRD51dWlkOjU0QTZEQkExNEE3NURFMTE5RTU5OURGMDc0NzZENzYw
PC9zdFJlZjppbnN0YW5jZUlEPgogICAgICAgICAgICA8c3RSZWY6ZG9jdW1lbnRJ
RD51dWlkOjU0QTZEQkExNEE3NURFMTE5RTU5OURGMDc0NzZENzYwPC9zdFJlZjpk
b2N1bWVudElEPgogICAgICAgICA8L3hhcE1NOkRlcml2ZWRGcm9tPgogICAgICA8
L3JkZjpEZXNjcmlwdGlvbj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJv
dXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNv
bS90aWZmLzEuMC8iPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZm
Ok9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjAwMDAv
MTAwMDA8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0
aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRp
ZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAg
ICAgPHRpZmY6TmF0aXZlRGlnZXN0PjI1NiwyNTcsMjU4LDI1OSwyNjIsMjc0LDI3
NywyODQsNTMwLDUzMSwyODIsMjgzLDI5NiwzMDEsMzE4LDMxOSw1MjksNTMyLDMw
NiwyNzAsMjcxLDI3MiwzMDUsMzE1LDMzNDMyO0MxRkY0NzNDNTM5MkQxMjk2MThC
NzdFODExQ0E2RTUyPC90aWZmOk5hdGl2ZURpZ2VzdD4KICAgICAgPC9yZGY6RGVz
Y3JpcHRpb24+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAg
ICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8x
LjAvIj4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjUwMDwvZXhpZjpQ
aXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj40
MzU8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpDb2xvclNw
YWNlPjE8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6TmF0aXZlRGln
ZXN0PjM2ODY0LDQwOTYwLDQwOTYxLDM3MTIxLDM3MTIyLDQwOTYyLDQwOTYzLDM3
NTEwLDQwOTY0LDM2ODY3LDM2ODY4LDMzNDM0LDMzNDM3LDM0ODUwLDM0ODUyLDM0
ODU1LDM0ODU2LDM3Mzc3LDM3Mzc4LDM3Mzc5LDM3MzgwLDM3MzgxLDM3MzgyLDM3
MzgzLDM3Mzg0LDM3Mzg1LDM3Mzg2LDM3Mzk2LDQxNDgzLDQxNDg0LDQxNDg2LDQx
NDg3LDQxNDg4LDQxNDkyLDQxNDkzLDQxNDk1LDQxNzI4LDQxNzI5LDQxNzMwLDQx
OTg1LDQxOTg2LDQxOTg3LDQxOTg4LDQxOTg5LDQxOTkwLDQxOTkxLDQxOTkyLDQx
OTkzLDQxOTk0LDQxOTk1LDQxOTk2LDQyMDE2LDAsMiw0LDUsNiw3LDgsOSwxMCwx
MSwxMiwxMywxNCwxNSwxNiwxNywxOCwyMCwyMiwyMywyNCwyNSwyNiwyNywyOCwz
MDtEMTFCM0MzNEY1MjdBRUNERDAyNjc2QzBBQ0Q4MUU4OTwvZXhpZjpOYXRpdmVE
aWdlc3Q+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICAgICA8cmRmOkRlc2Ny
aXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczpwaG90b3Nob3A9
Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iPgogICAgICAgICA8
cGhvdG9zaG9wOkhpc3RvcnkvPgogICAgICAgICA8cGhvdG9zaG9wOkNvbG9yTW9k
ZT4zPC9waG90b3Nob3A6Q29sb3JNb2RlPgogICAgICAgICA8cGhvdG9zaG9wOklD
Q1Byb2ZpbGU+c1JHQiBJRUM2MTk2Ni0yLjE8L3Bob3Rvc2hvcDpJQ0NQcm9maWxl
PgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1w
bWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAKPD94cGFja2V0IGVuZD0idyI/Pv/iDFhJQ0NfUFJPRklMRQABAQAADEhM
aW5vAhAAAG1udHJSR0IgWFlaIAfOAAIACQAGADEAAGFjc3BNU0ZUAAAAAElFQyBz
UkdCAAAAAAAAAAAAAAABAAD21gABAAAAANMtSFAgIAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEWNwcnQAAAFQAAAAM2Rlc2MA
AAGEAAAAbHd0cHQAAAHwAAAAFGJrcHQAAAIEAAAAFHJYWVoAAAIYAAAAFGdYWVoA
AAIsAAAAFGJYWVoAAAJAAAAAFGRtbmQAAAJUAAAAcGRtZGQAAALEAAAAiHZ1ZWQA
AANMAAAAhnZpZXcAAAPUAAAAJGx1bWkAAAP4AAAAFG1lYXMAAAQMAAAAJHRlY2gA
AAQwAAAADHJUUkMAAAQ8AAAIDGdUUkMAAAQ8AAAIDGJUUkMAAAQ8AAAIDHRleHQA
AAAAQ29weXJpZ2h0IChjKSAxOTk4IEhld2xldHQtUGFja2FyZCBDb21wYW55AABk
ZXNjAAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAEnNSR0IgSUVD
NjE5NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAABYWVogAAAAAAAA81EAAQAAAAEWzFhZWiAAAAAAAAAAAAAAAAAA
AAAAWFlaIAAAAAAAAG+iAAA49QAAA5BYWVogAAAAAAAAYpkAALeFAAAY2lhZWiAA
AAAAAAAkoAAAD4QAALbPZGVzYwAAAAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNo
AAAAAAAAAAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAAAAAALklFQyA2
MTk2Ni0yLjEgRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAAAAAA
AAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNlIC0gc1JH
QgAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAACxSZWZlcmVuY2UgVmll
d2luZyBDb25kaXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAsUmVmZXJl
bmNlIFZpZXdpbmcgQ29uZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAdmlldwAAAAAAE6T+ABRfLgAQzxQAA+3MAAQTCwADXJ4A
AAABWFlaIAAAAAAATAlWAFAAAABXH+dtZWFzAAAAAAAAAAEAAAAAAAAAAAAAAAAA
AAAAAAACjwAAAAJzaWcgAAAAAENSVCBjdXJ2AAAAAAAABAAAAAAFAAoADwAUABkA
HgAjACgALQAyADcAOwBAAEUASgBPAFQAWQBeAGMAaABtAHIAdwB8AIEAhgCLAJAA
lQCaAJ8ApACpAK4AsgC3ALwAwQDGAMsA0ADVANsA4ADlAOsA8AD2APsBAQEHAQ0B
EwEZAR8BJQErATIBOAE+AUUBTAFSAVkBYAFnAW4BdQF8AYMBiwGSAZoBoQGpAbEB
uQHBAckB0QHZAeEB6QHyAfoCAwIMAhQCHQImAi8COAJBAksCVAJdAmcCcQJ6AoQC
jgKYAqICrAK2AsECywLVAuAC6wL1AwADCwMWAyEDLQM4A0MDTwNaA2YDcgN+A4oD
lgOiA64DugPHA9MD4APsA/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoEqAS2BMQE
0wThBPAE/gUNBRwFKwU6BUkFWAVnBXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYnBjcG
SAZZBmoGewaMBp0GrwbABtEG4wb1BwcHGQcrBz0HTwdhB3QHhgeZB6wHvwfSB+UH
+AgLCB8IMghGCFoIbgiCCJYIqgi+CNII5wj7CRAJJQk6CU8JZAl5CY8JpAm6Cc8J
5Qn7ChEKJwo9ClQKagqBCpgKrgrFCtwK8wsLCyILOQtRC2kLgAuYC7ALyAvhC/kM
EgwqDEMMXAx1DI4MpwzADNkM8w0NDSYNQA1aDXQNjg2pDcMN3g34DhMOLg5JDmQO
fw6bDrYO0g7uDwkPJQ9BD14Peg+WD7MPzw/sEAkQJhBDEGEQfhCbELkQ1xD1ERMR
MRFPEW0RjBGqEckR6BIHEiYSRRJkEoQSoxLDEuMTAxMjE0MTYxODE6QTxRPlFAYU
JxRJFGoUixStFM4U8BUSFTQVVhV4FZsVvRXgFgMWJhZJFmwWjxayFtYW+hcdF0EX
ZReJF64X0hf3GBsYQBhlGIoYrxjVGPoZIBlFGWsZkRm3Gd0aBBoqGlEadxqeGsUa
7BsUGzsbYxuKG7Ib2hwCHCocUhx7HKMczBz1HR4dRx1wHZkdwx3sHhYeQB5qHpQe
vh7pHxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDwIRwhSCF1IaEhziH7IiciVSKCIq8i
3SMKIzgjZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgllyXHJfcmJyZXJocmtyboJxgn
SSd6J6sn3CgNKD8ocSiiKNQpBik4KWspnSnQKgIqNSpoKpsqzysCKzYraSudK9Es
BSw5LG4soizXLQwtQS12Last4S4WLkwugi63Lu4vJC9aL5Evxy/+MDUwbDCkMNsx
EjFKMYIxujHyMioyYzKbMtQzDTNGM38zuDPxNCs0ZTSeNNg1EzVNNYc1wjX9Njc2
cjauNuk3JDdgN5w31zgUOFA4jDjIOQU5Qjl/Obw5+To2OnQ6sjrvOy07azuqO+g8
JzxlPKQ84z0iPWE9oT3gPiA+YD6gPuA/IT9hP6I/4kAjQGRApkDnQSlBakGsQe5C
MEJyQrVC90M6Q31DwEQDREdEikTORRJFVUWaRd5GIkZnRqtG8Ec1R3tHwEgFSEtI
kUjXSR1JY0mpSfBKN0p9SsRLDEtTS5pL4kwqTHJMuk0CTUpNk03cTiVObk63TwBP
SU+TT91QJ1BxULtRBlFQUZtR5lIxUnxSx1MTU19TqlP2VEJUj1TbVShVdVXCVg9W
XFapVvdXRFeSV+BYL1h9WMtZGllpWbhaB1pWWqZa9VtFW5Vb5Vw1XIZc1l0nXXhd
yV4aXmxevV8PX2Ffs2AFYFdgqmD8YU9homH1YklinGLwY0Njl2PrZEBklGTpZT1l
kmXnZj1mkmboZz1nk2fpaD9olmjsaUNpmmnxakhqn2r3a09rp2v/bFdsr20IbWBt
uW4SbmtuxG8eb3hv0XArcIZw4HE6cZVx8HJLcqZzAXNdc7h0FHRwdMx1KHWFdeF2
Pnabdvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7wnwhfIF84X1BfaF+AX5ifsJ/
I3+Ef+WAR4CogQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauGDoZyhteHO4efiASI
aYjOiTOJmYn+imSKyoswi5aL/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q1pE/kaiS
EZJ6kuOTTZO2lCCUipT0lV+VyZY0lp+XCpd1l+CYTJi4mSSZkJn8mmia1ZtCm6+c
HJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2oiailqMGo3aj5qRWpMelOKWpphqm
i6b9p26n4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24ri2uoa8Wr4uwALB1sOqx
YLHWskuywrM4s660JbSctRO1irYBtnm28Ldot+C4WbjRuUq5wro7urW7LrunvCG8
m70VvY++Cr6Evv+/er/1wHDA7MFnwePCX8Lbw1jD1MRRxM7FS8XIxkbGw8dBx7/I
Pci8yTrJuco4yrfLNsu2zDXMtc01zbXONs62zzfPuNA50LrRPNG+0j/SwdNE08bU
SdTL1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724DcBdyK3RDdlt4c3qLfKd+v4Dbg
veFE4cziU+Lb42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG6dDqW+rl63Dr++yG7RHt
nO4o7rTvQO/M8Fjw5fFy8f/yjPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5OPnH+lf6
5/t3/Af8mP0p/br+S/7c/23////uAA5BZG9iZQBkQAAAAAH/2wCEAAEBAQEBAQEB
AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQECAgICAgICAgICAgMD
AwMDAwMDAwMBAQEBAQEBAQEBAQICAQICAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD
AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA//AABEIAbMB9AMBEQACEQEDEQH/3QAE
AD//xAGiAAAABgIDAQAAAAAAAAAAAAAHCAYFBAkDCgIBAAsBAAAGAwEBAQAAAAAA
AAAAAAYFBAMHAggBCQAKCxAAAgEDBAEDAwIDAwMCBgl1AQIDBBEFEgYhBxMiAAgx
FEEyIxUJUUIWYSQzF1JxgRhikSVDobHwJjRyChnB0TUn4VM2gvGSokRUc0VGN0dj
KFVWVxqywtLi8mSDdJOEZaOzw9PjKThm83UqOTpISUpYWVpnaGlqdnd4eXqFhoeI
iYqUlZaXmJmapKWmp6ipqrS1tre4ubrExcbHyMnK1NXW19jZ2uTl5ufo6er09fb3
+Pn6EQACAQMCBAQDBQQEBAYGBW0BAgMRBCESBTEGACITQVEHMmEUcQhCgSORFVKh
YhYzCbEkwdFDcvAX4YI0JZJTGGNE8aKyJjUZVDZFZCcKc4OTRnTC0uLyVWV1VjeE
haOzw9Pj8ykalKS0xNTk9JWltcXV5fUoR1dmOHaGlqa2xtbm9md3h5ent8fX5/dI
WGh4iJiouMjY6Pg5SVlpeYmZqbnJ2en5KjpKWmp6ipqqusra6vr/2gAMAwEAAhED
EQA/AN/j37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3W
AIiuTq+p5BB+t/pf/Ye/de64yyxRkRPb9zixa3144v8AX37r3WUakAVY7qvA9Y+g
/wBf37r3XtUn/HP/AJPX37r3XHTIedWm/wDZ+tv8L+/de69ok/46e/de6yqCAATc
/k/19+69137917r3v3Xuve/de697917r3v3XuotXKsMTSkm6JIQoBOo6DYWH9D79
17oH23bk4I6NUil1feVQLeBz6dR08WP49+6909UO56+WdYpaeRwT+oxMn1/HPA9+
690IdNKJYVcxMptyp1A/1/pb37r3WeMq66ipHJFrN/xv37r3XOy/0P8Atm9+6917
6fpJA/ppJ/3v37r3Xuf9Uf8Akg/8U9+691wYLf1DUf68r/sLe/de646Y/wDUf8nN
7917r2mP/Uf8nN7917r2mP8A1H/Jze/de69ZfoIrj6/rP1+nv3XuvKBfiKxH+1n6
+/de66Mha7BggTh72Nj/AL0ffuvddKyyC4nQ/wCHp4/2F/fuvdZPLGfpKlx9foef
+I9+6917yJ/x1X/ePfuvddF1b6TqLf6w/wCJHv3Xuurj/lYX/br/ANHe/de69cf8
rC/7df8Ao737r3Xrj/lYX/br/wBHe/de69YH/d6n/kk/9Fe/de69pH/HZf8AbL/x
X37r3XFhYracDn8af8P9q9+691zblCPMv0PPp5+v+Pv3XumN0rFkf7SRSxBDj0my
/wBf1e/de6xpDkGkvNIo55uBbg/1B9+690+ohVV/dUCw5Fuf95Hv3Xuudj/x3H+8
f9He/de69dRy8wYf04+v+wPv3Xuu9cP+qX/kr/jfv3Xuuw8X4Zb/AOvf37r3XLyJ
/qh7917r3kT/AFQ9+6917yJ/qh7917r3kT/VD37r3Xetf6/7wf8Ainv3XuumYEEA
/wC9/wBffuvddR/n/Yf8T7917rJ7917r/9Df49+691737r3Xvfuvde9+691737r3
Xvfuvde9+691737r3Xvfuvde9+691gm0KUJTUS4A5IsT+eP6e/de6CzfsmTGWxMV
FUmFJJI1Kji92Fxx9b+/de6zvtvsF3ZoN7QQQsbx07Y4O0KfhC97sR/X37r3XX92
Ox/+e7p//PYP+K+/de6yDbnYgAvvWmb/AB/h4F/8baD7917rv+7nYn/PaU3/AJwD
/oz37r3UhMBvsKA+8oCwHJ/h6/X/AGNvfuvdcv4Dvj/nsoP/AD3p/wAV9+6917+A
74/57KD/AM96f8V9+6917+A74/57KD/z3p/xX37r3Xv4Dvj/AJ7KD/z3p/xX37r3
Xv4Dvj/nsoP/AD3p/wAV9+691xGA38Cx/vlSmMjgHGRm31vcke/de66jwO8RTqp3
ZREqzEyfwuK1yeeCLg+/de6zjb28L6zuim8tra1xsa3/AKcAW+nv3Xusv8F3r/z1
VP8A+e9P+Ke/de69/Bd6/wDPVU//AJwL/wAU9+6917+C71/56qn/APOBf+Ke/de6
7/g+9Rx/eamb/H7JR/sLW9+6917+Eb1/56Sm/wDOMf8AFPfuvdZ48Vu0L+5uCF2v
9Vpgot/rW9+691z/AIXur/nexf8AnOP+Ke/de69/C91f872L/wA5x/xT37r3Xv4X
ur/nexf+c4/4p7917ryY7dCzBWzkRBQn/gOD+f6Wt7917rktDuXyShs3HYK2n/Jh
9R/QWHv3Xum7CLkTS55cpkFq5Y6tVhkVdHhSx9JH1uffuvdZcRjJKnySGpbSCRwT
/U/0P049+6904x4OQvKPuXGlgPq/NwTxz7917rN/AX/5Wm/27/8AFffuvde/gL/8
rTf7d/8Aivv3XuvfwF/+Vpv9u/8AxX37r3Xv4C//ACtN/t3/AOK+/de69/AX/wCV
pv8Abv8A8V9+6917+Byr+mqY3+vqb/iT7917r38Fn/5WW/5KPv3XuskeGkF9dQxF
uOSffuvdZBh2v/nz/t2P+8H37r3XJMXJDqMc5LMLG9xx/sPfuvddnGSsPVP9eTYt
/sfx7917riuJsbGdjxe3Nvr/AEv7917rn/CV/wCOzf7z/wAV9+6912MY0fMcpv8A
Tn6W/wBv7917rl9lUf8AHUe/de65LRzA3aQEf09+691k+1f+o/33+x9+69177V/6
j/ff7H37r3XvtX/qP99/sffuvddimkHII9+69134Jf8AVD/bD37r3XJYpFOpiCB/
re/de6zx/n/Yf8T7917rJ7917r//0d/j37r3Xvfuvde9+691737r3Xvfuvde9+69
1737r3Xvfuvde9+691737r3WK95bfjT/AE/I/wCN+/de6C3eh/38WC/6i4B/0L79
17oUQkYkZlJ8hHIJNh/iB+PfuvdYlUxCYzTalcseBbSLWI4vz7917rpDZF8cy+O3
outzb8XP5Pv3Xuuep/8Ajsn/ACR7917rmJUAAaRSw+pAI/4j37r3Xfni/wBWP95/
4p7917rkJYzyGHv3XuveRP8AVD37r3XvIn+qHv3XuveRP9UPfuvdcSxJurgD+lr/
AO829+6911dvpqS39NJ9+6911d/+Og/5J/417917r13/AOOg/wCSf+Ne/de65An8
yXP/AAX/AI17917rvV/tf/Jvv3XuuJLfiQAf8F/417917rq7/wDHQf8AJP8Axr37
r3XIWt6zqP8AWxHH+wA9+6913+3/AL7V7917r37f++1e/de69+3/AL7V7917rw/W
NP00m/8AxH159+691zt/Tg/1t/t/9v7917pFYhHD7sVhcmtbSPx/mn+nv3Xupu2k
dMdID+oyXH/JR/r/AIe/de6U9m/1VifrwPfuvdes3+q/3ge/de69Zv8AVf7wPfuv
des3+q/3ge/de69Zv9V/vA9+6916zf6r/eB7917rosE/W31+nH/FPfuvdcfPF/qx
/vP/ABT37r3XvIjfpccfXi/v3Xuu9X+1/wDJvv3XuvarfWT/AJN9+6911rH/AB0H
+2Hv3Xuvax/x0H+2Hv3Xuvax/wAdB/th7917r2sf8dB/th7917r2sf8AHQf7Ye/d
e69qB+kg/wCSffuvdd6v9r/5N9+6917V/tf/ACb7917r2r/a/wDk337r3Xv1ca73
/wBp9+6917x/4/7x/wAb9+691wkXShN78j8e/de65xm4P9Px/vPv3Xuudxe359+6
91//0t/j37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3W
H/d3/IPv3Xugu3p/x8WC/wCouD/on37r3QqEpzf8GxPI5t/X37r3SW3JuKowaRGn
xkleJLXCsFAHH9ffuvdJob13Q3qh6+yssR5SVZ4VV1/qFZdQH+v7917rv++e7P8A
n3WW/wDOmn/4p7917rmN5bmsNWwsmp/KmeK4/wADZLe/de67/vluX/nhMl/1Pi/6
M9+691lXdu5mAP8AcPJ8/wDN+H/oz37r3XL+9m5v+eDyf/nRD/0Z7917r397Nzf8
8Hk//OiH/oz37r3Xv72bm/54PJ/+dEP/AEZ7917rmu7Nx252RklP9PuIf+jR7917
rl/evcX/ADxWS/8AOiH/AIp7917r3969xf8APFZL/wA6If8Ainv3Xuvf3r3F/wA8
Vkv/ADoh/wCKe/de6yLujcTC/wDczIjn6Goh/wCKe/de65f3m3F/zxuQ/wDOiH/i
nv3Xuu/7zbi/Ozcj/wCdMP8A0affuvde/vNuH/njMj/50w/9G+/de65DcueP6to1
6H+hnjP+xuB7917rv+8md/55Su/6mp/xT37r3Xv7yZ3/AJ5Su/6mp/xT37r3Xv7y
Z3/nlK7/AKmp/wAU9+691lizuZkJd9sVselSBeZBf6H+lvfuvdZY8zlmZAdtVoBA
u3nSw5/xFrj37r3SYxmWyoq9zINs1mlqljfzqbnQw9+69044jKZWPHn/AH7dYPWP
SJ0Jb1Hni5Hv3Xung5jKgD/ftVpv/wA304/5N9+6911/Gcr/AM8zW/8AU9P+jffu
vde/jOV/55mt/wCp6f8ARvv3XuvfxnK/88zW/wDU9P8Ao337r3Xv4zlf+eZrf+p6
f9G+/de69/Gcr/zzNb/1PT/o337r3WWLL5Jyde36qG30Lyo2r/WsvFvfuvdZv4pX
f86eb/kpf+Ke/de67/itcPri5U/12HP+2t7917r38WrP+de/+39+691zTJ1jkj+H
ObC/1/4r7917rn99V/8AOtf/AG49+691776r/wCda/8Atx7917r331X/AM61/wDb
j37r3Xvvqv8A51r/AO3Hv3XuvffVf/Otf/bj37r3XNK2rZrfw6QcfUMvv3Xus33V
V/yoyf8AJS+/de6991Vf8qMn/JS+/de6991Vf8qMn/JS+/de65JUzlgHpWiX/Vsw
IH+2559+691l85/1I/259+691jllLoRYDkf737917rlE35B+n0/3m/v3Xuslze/5
9+691//T3+Pfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfu
vdYtX7tvxp/33+8+/de6C3en/HxYL/qLg/6J9+690KrAG1x9WF/8ffuvdBn2K7ou
E0sy3zNGpAJAK3BKm31U/wBPfuvdCWSqfm1xwt+OBYBR9B7917rjex5D2P1JY2H+
wvf37r3XO5HAW4/rf/ivv3XuvXb/AFP+8j37r3XViebkf4f0/wB59+6917Sf9Uf9
5/4r7917rvi2ksb/AJN7H+v19+691wEiD0glj/iSb/n6n37r3XLUPzcH+l29+691
66/1P+3b37r3Xrr/AFP+3b37r3Xrr/U/7dvfuvddXX/VMP8AYn/iffuvdeuv+rb/
AG5/4p7917rkPobEn/X/AN69+69167f6n/eR7917roNb9R5/4j/Ye/de671r/X/e
D/xT37r3XR1NyjAD83H59+6911aT/VL/ALb37r3XrNc6rt6Ta3A/1ueLn37r3WIv
ICgWJyOL8j+v5P59+690ksK9S9TupWR1b7ptAYhjcxsAB/sD7917qbtxK2KlkE7M
95Lrq9RAueB9bWHv3XulGDKpbUuoX9Om3A/N/fuvdctbf8c2/wB49+6912H/ANUC
v9L/AJ/23v3Xuu9a/wBf94P/ABT37r3XRJb9BAt9bj37r3XVpP8AVL/tvfuvdcgH
F7lT/Ti3v3XuuLeX+zp/33+v7917rwEh/UEP9P8Aiffuvdd2P9E/2x9+6916zfjS
P9Yf8a9+6916z/1H++/2Hv3XuvWf+o/33+w9+6916z/1H++/2Hv3Xuuxq/JBH++/
w9+691yP+H19+691jPk/BBP++/w9+691x/e/2n37r3XY8v5Kge/de65Wf+o/33+w
9+6917STw1iP6f74e/de6940/wBSPfuvdY5UVUuAAbj37r3XobBbf7Yf7E39+691
z/3Z/vv9T7917r//1N/j37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvd
e9+691737r3WH/d3/IPv3Xugu3p/x8WC/wCouD/on37r3Qqt/Z/4MPfuvdBj2N+n
Cf8Aa6o/97Hv3XuhM0oZA1/WBwL/AI/1vfuvdBlvPd2Zw1RHT42iaW55YqDqP9Bf
m3v3XuuFLX73raaGr+5o6bzrq+3kpwXi/wBpYgWJ9+691n829/8AnYUH/nN/xr37
r3Xfn7B/3W9FIn4cUq2b/br7917r3n7E/wCmP/zkX/o337r3XIy7/spLUgJve1OB
/vAX37r3WHJZbeWJo3qql6OyqSf2FtwCf6fTj37r3WDB53eWcxsOTpmo/FM8iKPt
1/3WbE/T37r3Tr599f1o/wDzmX/inv3XuveffX9aP/zmX/inv3XuveffX9aP/wA5
l/4p7917r3n31/Wj/wDOZf8Ainv3XuveffX9aP8A85l/4p7917riZt6E/uRo54u0
UQVLf0sB9ffuvdYanI7to01NTMw+v6fz/vVvfuvdcsZlN3ZKB54o6eNUlaPTJEGc
2/P0vb37r3Tj5N5/9Mn/AFI/6R9+6913r3kfrJRJ/gYBz/j9Pfuvde1bx/470P8A
5zj/AIp7917riq7qeX96enJEZI8cekD/ABtxz7917qbD/H/2xJMn0H9k+oXH1NrH
j37r3TdtZq0T7qNawdxXlksP7Ihfgjj8+/de67pa3LTwS/aoeJABYfT1f15+vv3X
upIqM5EWFRV0tHe2haiPUXH5KcfT37r3XL77Kf8AO3xv/Ug/8U9+691liqcvJfRk
aCW310Q20/6/p/N/fuvdZjLmhx95Rf7CIH/eQCPfuvdcC2cf6SwTW/45Jp0/6/A+
vv3XuurZ3+g/23v3XuuLS5uHllvq+lh/T/kfv3XuuSVGZYj08G/4/wBf/D37r3Um
OTKNfyLYfjj37r3WTVX/AOp/3j37r3XtVf8A6n/ePfuvde1V/wDqf949+6917VX/
AOp/3j37r3XtVf8A6n/ePfuvdY5ZK9Vva3P+t7917r0U1axHA/H+349+691L8lb/
AE5/3j37r3XvJXf0/wB49+6912r1rG3/ABH/ABP09+691k/y3/fW9+6912Puv7d9
P5tb/YfTn6+/de679f8AtX+8+/de68dX51W/xv7917qRCOL/ANPp/tz7917rl/uz
/ff6n37r3X//1d/j37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+6
91737r3WLV+7bi2n37r3QW70/wCPiwX/AFFwf9E+/de6E8LNql8rI0RuY1UEMot9
Cfy3v3Xugs7JEmvbpjbSFylGTruQAHXlrfUgfn37r3QpuL6XBB5WzDi4IHI/wN/f
uvdBL2E5XP4lQzAHH1LEA2DEM1iRflhbj37r3S7wMEdRg8c0iSMWguWDeonUeeT/
AIe/de6dVoadDdUmJ/2ph/xX37r3U1PQoVUIA+g/2P8Are/de65aj/qT/vP/ABT3
7r3XROlS9mJ/1N/9hxf6X9+690H3Zb1B2RmWRWWUImm3DAaxcgg8e/de691UHGyM
SHFntKWB/qWvf/Y+/de6EX37r3XA2vyzD/AX/wCKe/de66uv+rb/AG5/4p7917ro
ui8Esfz+f+Ne/de668sf9W/5O/4r7917rpi7eMxX06vUT/T83uTce/de6bM9GWw9
cqli5ibSQSGDEj9J+ot7917pObHkkNGY2ZyEYhgzFgWGq5J/J49+690utN2J1t/r
A/4+/de6xoDd7uw9Ztc/719Pfuvdc7f83P8Aef8Ajfv3XuuDKNV/Wx0kBlPA/wBp
PPv3XusiAqig/heb/X37r3SHwro0u8DHJrK1xBI/snxPwP6e/de6cNrG+OkJ5Pl+
p+v6m9+691wyUccu58OsrEqKaoIiPKMebXX+vv3XunJsRTElrKLMpFgLf6309+69
1zkoo0NQYQqgQvewA58Z9+691B2z+5h6fX638s4Lv6idLn+0bn6e/de6fV9M0tlJ
+nC8W/17W/p7917rLqP/ABzf/ko/8V9+691FrTekmBLREqArE83v+OfqPfuvdRsS
yrSWaXU1zcsxJH1/ryPfuvdOMUiaf1g8nn37r3WTyJ/qh7917rovGeCw9+691xvH
/q/95/417917r37Z+jf77/be/de67sn9T/vv9h7917qHXIjU7D1tbn0nSR/jewPv
3XuoccUatT2WYEqCbvck2P1t9ffuvdOiInrsXX186j/h+L/Qe/de6yvbRweQLj/H
8f7H37r3XUblhYixH+2I/wBj+ffuvdZffuvde9+691737r3WCo/zR/1x/vfv3Xuu
MJN7fgf8b+vv3XupNh9bc/19+691/9bf49+691737r3Xvfuvde9+691737r3Xvfu
vde9+691737r3Xvfuvde9+691h/3d/yCf9559+690F+8gW3HglH1+7p/95Kge/de
6cdy7maAZKGkkMMlFTzB3cjTrUA3FgeB7917pI7HiffGPatyVctUKGuTxhCTYpqI
v9P6e/de6G1lCRqq/RSoH+sPfuvdAt2U+ncWIBJ5x1TpA551MPp/Un37r3SowO9N
r0GGoKauzlFT1MMAWaGWRhJGwYkqyhCR9ffuvdOy9g7LY2XceOJ/5aOP97jHv3Xu
uX9+tof876jb/EPKQf8AWISx9+6917+/e0P+d7Sf8lS/9Ge/de6wJvnaMkzr/HqW
45A1yW/3lb+/de6Sm/8Ac23sztvIYyizVMZpWgjJUvxqe1voCL39+691mweA3rh8
VR0OGzGGGOWGOSD7mCSSf9xAzanAIIv7917p1+07J/53G3//ADkk/wCjffuvdd/b
dljgZPAMP9V9q/P+3X37r3XvtuzP+djgP/OVv+jffuvdZUpux7evJYG9/wDlVf8A
4hPfuvdcvtexf+dngf8Azlk/6M9+6910aXfxVhJksTq03BihZVtf+hA59+691wnx
28JRHHPlccEkABAjZf8AXHIv/tvfuvdNG36Td8ENbFR5bCaErZU/dgZ21C/9oe/d
e6fUpt/Asz5fAsvNrUsgA/1+PfuvdNsuX3HSSNFW7h25BJe6qYW5X+v09+691w/j
+Y/56fbn/Ulv+Ke/de65x5vLTFkG5sC0xRtCJG4H0/URb6g+/de6eMcm7pNDy5HG
Tw/lo4ydQuP95t/h7917qLgFlVt3iZoWk++JYwiwv4Xvq/x9+69067W/4tsn/LU/
9DN7917rDk3jXdeF1tpY0tRp/APJ9+690pFq6V7gMPqBz/X/AIi3v3Xuss2gRVJX
k+Jy1uf91n/ex7917pl2sB/B4CALGScjj+sh9+691hnmytRX1UWKmpYjAEE33KM4
a99OjTcC3v3XuveHdv8Ayt4v/qS//Rvv3XuvfbbmkBWepxzA/TREwsf8bjn37r3X
KKizsSlRPQ83/wB1N+f6+/de6yrT55QB56H/AGEbe/de65eDPf8AHei/6lt7917r
sRZ4ciei/wCpbe/de65aM/8A8d6H/qW3/FffuvddhM9+Z6L/AGEbf8V9+6913ozv
/Hej/wCpZ/4r7917rhJDl3jkWaen06SR40Km/wDieePfuvdYftq3VSnzpYBfz/r/
AOP+Pv3Xupaw1YM5eVWHk4C/W39STe3v3XupFMxZ9LG5X6Ef4f4+/de6nXGoD824
/wB99ffuvdcvfuvde9+691737r3WCo/zR/11/wB79+691wh/V/vv6H37r3Ur37r3
X//X3+Pfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3XvfuvdM9
fVQUMRqMhUBBHIWiCEoWUWshA/Vf37r3Re+y93UX8YwVbqnFBTzwvO0DBZQoZSxu
B+L/AOP09+690xw0eb7CzFQadKmmw0k1oJrlXnpiPrK/pD3K+/de6F7H7DO0KJps
HPOZ1GpoA7COWQC4JUE6uffuvdPU29aKhoaeKpmVs1PH66QElo5zcBSLcDj37r3W
DE4Cavn/AI5uDTJJYmnib6IjchbH+v8AT37r3SqG39v1Q874XGu0ouxeigLG3HqJ
jufp7917rw2vtwfTB4of61DTj/rn7917rmNuYACww2Mt/wBQVP8A9e/fuvdd/wB3
cD/zpsZ/5xU//Xv37r3Xht3AA3GGxlz/ANMVP/179+6913/d/BfT+EY4XIJtRwDk
G4PCfUEe/de6dVjRFVFRVVQFVQAAAOAAPwAPfuvdcrD+g/2w9+69137917r3v3Xu
ve/de697917rFJ9G/wCCf8T7917ruwKLcAsEBF/qOPr/AF9+690hdnf53M35tkJ7
X5/r7917pdAAnkCxTkW45/w9+690gds0NHWfx56ulgqnTLTJG00SSMiAcIhK6lUX
+g49+690/rhMYGv/AAyh5P8Ayrr+T/re/de6h57F42nxzyw0FJFICAHjgRHFxyNS
gN7917p3wP8AxbKb/lmP97b37r3SYwgVqneoLEE1cvANrDwSeq39b/n37r3UbC17
4vEQSKfIGYqS1zqZnIFyL/19+691myQzeQmgqKGCC8SFWklTU4LA2ETAcAj6+/de
6xQw7sQ8xUnH58fP5/w9+691P8+5VjaOeKJmkvYxp+Pp6v6+/de6zUU2apoSn2qB
edKhCFW5+oAtzf37r3UGOfJQT1E9VH4fKyaSo0lwDzq4F/fuvdLamlMsEMhI5Fjz
+bfn8fj37r3XNwAzuzMFVRcA/wC829+690zyZenjq6qIs3ojT6Hjn62sD9ffuvdd
yZqFZljhR530qX0XIAP5Pv3XupiV0TTFWIQGMMdfGk2vb/fW9+691zoJ1mSS0qSl
ZXHp/C3sPfuvdT/fuvde9+691737r3XFvwPwWAP+Pv3XumiZitdEoNluBp/AH+A+
g9+691xrYmnrFhErxKYtR0NpBP8Ajax9+691yjxQUAieT6DkMb34/Pv3XuuYxxV9
RqZL2sPW30/x59+691k+yP8Aysyf9TG/4r7917rDPTtDH5BUSMQQLFyb3/wJPv3X
unOAkxqSST/jz7917rhVf5lv9h/vfv3XuuUAHjBtz/X8/wC39+691m9+691//9Df
49+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+690V7dG/pK
l87VCkmnosNk58ZIQoZBNDa5vp/w9+690k8TtTJZfKYnMZcBcHlZIvBFIPxLcLZb
j/YcD37r3Ru8fQ0eNgjoqGnWCGnQRqVUKNI/xFueffuvdI/cu8YMRro6CQT5Fr6I
mJY6rcDTbi/v3Xukrt7ZX8Zrf7xZ4PDWPIJliPFjckW5BAHv3Xuhj8Y0aH5jQDSP
ywUcfW9+B7917rNGQyKQpUEcKeCB/S3v3Xuufv3Xuve/de697917r3v3Xuve/de6
97917r3v3Xuve/de697917r3v3Xuve/de6xSfRv+Cf8AE+/de65DlQ350f8AEX9+
690hNm/53Nf9rCf/AIn37r3S8ANx/wAFA/2Pv3XukZs8EHPgj6Zmf/eh/X37r3Sz
0gc2J/w44/5F7917ph3Jc4uSwN9Q4+v9f6X9+691JwQIxlLf/jmP97Pv3Xuktgwo
rd6MTZhUyqR/RfA5v/vHv3Xumad402pTzx+q2SpYj9Po85v9B7917oU0VVRQLoAq
/Q2B4H+3t7917rnpDfR34/o3v3XuughBuGJ/4Ob/AO249+691yuT9CpH+x/4j37r
3TXmVX7CV3AugBH9Pr/j7917rvGHyY6Egm9uPre/+92t7917qZKGVHNjJqAGnkgf
T6+/de6TFYqCurNNOSxhi5Kn68X/AN59+691A+3WGuaWoWWJZoo0j8fpBawvf6ce
/de6ltQStWkxFypjBHkNx/xv37r3TtgY5I4ZlkEQtKwGhbN9edX9R7917p+9+691
737r3XvfuvdcW/s/8GHv3Xumeo/4Hxf8GHv3Xusk1v4iuo2HgPPv3XunJCtgQ1xY
fn/Ae/de696GJGq554v/AMa9+6913oH+P+8f8U9+691ErUAgJ5/Uv+9+/de6kQf5
tffuvdcar/Mt/sPfuvdcoP8ANr7917rN7917r//R3+Pfuvde9+691737r3Xvfuvd
e9+691737r3Xvfuvde9+691hDAhnNxclACeOPzz/AF9+690E3Yma8FVgttUeRqqG
tyWRi8k9PJolSByL+r8L7917pcw7cwtLRDHy0tJJHMP3/LGo+9qW4NTOBbyTPbk8
n37r3QbZ2hztBmMRFIKZcDR1UUkSIDohjRh+kFjYj37r3TtuDeU1VI1BhfI+o6PL
H9eR+oG34N/z7917qZtvZccUqZfI2qKxxrHl9TD6ng34Nz7917oSwFKj0gD8KQOP
9h+Pfuvdd2H9B7917rv37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde
9+691737r3Xvfuvde9+691ik+jf8E/4n37r3XIfoA/Ogcf7D37r3QTU0kqY3ICmk
eGWTcMyGSKyuVJPpLWJt7917p9/u3k6qJX/i9bCWTjTKbj/W9+6911BsWKJTfM5S
CSQ65ft6nxiVz9ZH+upj/X37r3Wf+5Uf/PQZ3/zt/wCNe/de68dlxGNozm8rMrG+
iao8ik2sOLj37r3WGfBV2MpyaXIVLKgJVWc2FhcAf7b37r3WHapmbH7geoUeZpJA
729Un7Mly5/J9+690zTgDaFOAAAcrREgfT/Pn8fT8e/de6FtRfg/QBbf4cfj37r3
XOwH0Fvfuvde9+6916wH0FvfuvdM2e/4tk/+un/Qw9+691IxQAoYQP8AUj/eh791
7qZEbpz/AFPv3XuuRijLFiiljYFrC5A+gJ/NvfuvdQclLHT05mkgM3j5UBdRU/1+
nHv3Xum2LLXZGFJMAyCx02/HH+29+6916DJiONgKKpZjK5YRKCeT9WPv3Xusv8Yb
/nX5D/kge/de67XLF3jU01VThmsGnWysf9SOOW9+6907uhcoyswHp+hI4PN/p791
7rtr+RT+LDj/AB1e/de6a5/+B8f/AAYf77/X9+6913U/8D4/+WZ/4j37r3TiABGt
gB9PoP8AX9+691zQCxNhe/1tz+Pz7917rJ7917puymo0p0/XyR/7bV/sffuvde+5
EYjT/Dkggf0HPP19+691nqV8iD1WT6k/8b9+691HjMSkAzNz9fVwPr/hbn37r3Uv
zw2t5R/r35/29vfuvdf/0t/j37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xv
fuvdYSLyENbQFuL8DVfnn37r3QD71xlPWbwy9dJKBPhdrNk6YC11eMrpt/rW9+69
0y7Al3Hv3DHIvkJB9vXeJG18qq34/s/09+690sMztrPUmOy+RyOWNTTUWNqJ0iMj
sSYkL2t+OF9+690odg4jHtgcTmVjEkuQokqGDKG0lyeRz+B7917pftwwMZ+i8rf+
n4sOffuvdZ1N1BIsSPp7917rv37r3Xvfuvde9+691737r3Xvfuvde9+691737r3X
vfuvde9+691737r3Xvfuvde9+691737r3WKT6N/wT/iffuvdchyob86P+Iv7917o
KKNlWgrLjn+8cvNh/U/k+/de6E+n0vTR2e14gDYji/5Pv3XuuYVkVVW0gt+pgST/
ALEH37r3Xd5P9Qn/ACS3v3XuutRDetT+CNA/x/N/fuvdQMuyfaOPJoYqbeq1uPz/
AI+/de6Sm1xbHZ8+TyEyym/9P2ZOPfuvdMlR/wAejT/9rWi/63n37r3QtL9T/rL/
AL17917rn7917r3v3Xuve/de6Zs//wAWyf8A14/+hx7917qTi/8AgFD/AMFH+9D3
7r3UuH9H+xPv3Xusvv3XumvMu8eOqWjKBgn9s2FtQ/P9ffuvddUrO1PRMRDdlS5B
+t15sb8n37r3U9RpZgRGg+t1I1H/AFwfx7917rJcf6v/AHlf+Ke/de6Yc8CUobE/
8C1+h+vH+Hv3XunnX440v/S3P/E8j37r3XerUVYfTj/Wve/v3Xumuo/4Hxf8GHv3
XuuVT/wPj/5Zn/iPfuvdOVv20H54/wCJ9+691yW4U2+oP0/2349+6917U/8Aqf8A
eD7917qHXljT8i37ifg/19+691DqIW1RWvz9bX4/2w/r7917p38YaIIx4sLn/ff1
9+691HajhPGq39ef+kvfuvdYf4dD9NfH+8/7e/8AX37r3X//09/j37r3Xvfuvde9
+691737r3Xvfuvde9+691737r3XvfuvdYZfrGP6uAf8AEWPHv3XugO3aqndm8yQL
jrqe3+HrHv3XuoHxvN9jVJ+n+5Of6f6x59+690LW8+Noblb8/wAHr+f+qd/+K+/d
e6jdc/8AHjbX4/5dFN/vIPv3XulmFUG4AB/r7917rl7917r3v3XusMihvq7oP6g2
H449+691x8gVQtpSLG7gc/1/2/v3XuuSkExsGOmx4b6n/E/4+/de65Kbswu3P0/o
ODfT7917rwJA0qSzD8nkf15N/fuvddKZgfUFt/hyf9h9PfuvddF5C1kUWH1Lf63v
3XuuTByBptfm/JA9+6915jwqs2lmPGk25/wvzb37r3XlsCU1lm+pueRf+nv3XuuS
kEeltQv9b35/p7917rl7917rFJ9G/wCCf8T7917rkP0AfnQOP9h7917oI4+MZUkf
U7okUn/C549+690KtOqrDGAAB4FuLfXj8+/de6kr9Bbjge/de679+691737r3TPm
kT7KQlVvYi5H+Hv3XukjtO38O3CABYTSWt/yxk9+6900VH/Ho0//AGtaL/reffuv
dC0v1P8ArL/vXv3Xuufv3Xuve/de697917pmz/8AxbJ/9eP/AKHHv3XupOL/AOAU
P/BR/vQ9+691Lh/R/sT7917rL7917pi3LxgsiRwRCCD/AEPkQX/3n37r3U6gVfs6
H0jikp2HH0YxJdh/ib+/de6lqAbsRc3tc/049+691zsP6D/bD37r3TFnOP4eB9Pv
ox7917p7KqzWYAjT9D9Pr7917rgbKvA4D8AD/iPfuvdM8z661FtY6hzaxH0/N7/X
37r3UyehMriQylWAsHuf9tyffuvdNlBS1JesElbM6q5CXIKrx+PfuvdTmoZnjRRW
SDjm1rkj8jnn37r3XFMZML6q2f8A2DAf717917rm9A4UE1EstmUlGPpIv7917rPL
YVMSkenSeP8AYC359+691MA9Tckjjgnj6f09+691ysP6D/bD37r3XrD+g/2w9+69
1//U3+Pfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691hl/VF/wAtB/vR
9+690CG7P+Pr3p/4jqf/AKH9+6902/G7/jxan/tZz/70ffuvdC3vT/jzty/9qev/
APcdvfuvdRuuf+PF2t/2qKb/AHo+/de6Wvv3Xuve/de697917purchQUSlq+sgpk
BFjLIEHP0vf8n37r3XEZbG/btV/f0hokUlp/KuhQB/ab9IFvfuvdZKeuoaikWupp
4pqORSyTRkPGygkEow4IuPfuvdcoq+jlVXSVDqNlA5JN7cWHPv3XuslRPBTxtJNI
sEf5lb0qPz+rj37r3UCDL4uaQJDk4Z3JsI0lVmJ+lrD37r3WWry+PoZI4ampiilk
NljZgH5+np/x9+691mmq6WmVJpqgLHIBoLMNJuB7917rlLLB4hVFwY4h5NSkEEG3
1PPHv3XusdPU01VH99G14+VuP9pIH+8e/de6lJpUWW7A+rjn9X+xv7917rvyr/X/
AHr/AIr7917rixDK5H0C2/3m/v3XuuY5UN+dH/EX9+690Eaf8Wuo/wDDpk/3s+/d
e6FaD/Mx/wDLBf8AevfuvdSB9B/rD/evfuvdd+/de697917ppzXNDIP9f/ej7917
pHbTFsfuIf8AN6T/AK0ye/de6aaj/j0af/ta0X/W8+/de6Fpfqf9Zf8Aevfuvdc/
fuvde9+691737r3TNn/+LZP/AK8f/Q49+691Jxf/AACh/wCCj/eh7917qXD+j/Yn
37r3WX37r3TFub/ixZL/AJYD/rbH7917pwoP+AdF/wBQVN/1qT37r3UpPp/sf+IH
v3Xuufv3XumHOf8ALu/6jo/fuvdPn9v/AJB/4n37r3WNpEiBLmwL6R/rn37r3TK5
Vq5WT/VcWta39Rb37r3T23LBCTYpyfxf/XPF/fuvdNmPjCvWkNcGQi3/ACD9R791
7pyCXVLMQVWwI/Pv3XuuiHHJl4/wPv3XuolTUmBQ5bUpdVsSPyRf37r3WOWQSVkI
S5AHNvze3v3XunQfqb/Yf717917rl7917r3v3Xuv/9Xf49+691737r3Xvfuvde9+
691737r3Xvfuvde9+691737r3XBgDpJH0YW9+690BO6yf75bzW/H+jmbj8frHv3X
uofxx/48eq4A/wByc/AFh+k+/de6Fnef/Hn7l/7U9f8A+47e/de6jdc/8eNtf/tU
U3+9H37r3S19+691737r3XvfuvdAd2D/ABN97bZpaXE0WXoKjH1jVdLVFgrTKz+O
RwtiSgHHv3Xuoufiq6PObPxsWNoFpq3HVTZDDq5+1qJfogcXDWUe/de6jRxVeNqK
mh+6FFRtUwLLiqeUfZ4hXYXii1G6CQG5v7917qTuWrqMe1VQ4qojeKZ6ZaesSVWM
TSWB0sCV5Y/19+691h/jFa+d29tbKzTVXgp6lsgGsY6nyR3iLstidIPHv3XunrYW
Lx9Pk8+WhH7cqGnYi5iu3PjJP+t/tvfuvdQq96l967njnooq6lgpKF6eeckmjZgC
xTkhf9f37r3Tjj5oq6shhyNWhx6BtDvKqpcL+kM1v0n37r3USPJZFckmLllkXbbT
SKMgh1GZb20M3K6UH09+691zzdRUUVNko9vVctTTCnRkjBDLG5Ya2Qjm59+690y5
nceZnxOGoqKpq6LJRyI9W8PpeSIgel7/AFX37r3Q246RpMZRykeSXwxiZn/UzhQH
Ykfkt7917pzX0xksqi/JC8gj8fX8+/de6xpLql0D9IQcfge/de6CJJL4mtsf07un
At9QB+P9gffuvdC3SkmnhJ5Jp1/3r37r3UofQf6w/wB69+69137917rgSQw/xt/v
f+9+/de6ac2f8jl/4IT/AL37917pIbS/4t24f+W0n/WmT37r3TVUf8ejT/8Aa1ov
+t59+690LS/U/wCsv+9e/de65+/de697917r3v3XumLcZIxU9jb1J/vZP+9j37r3
UjEkmjpx/tP9Tz6R9effuvdOMX6T/wAGb/e/fuvdZPfuvdMW5v8AixZL/lgP+tsf
v3XunCg/4B0X/UFTf9ak9+691KT6f7H/AIge/de65+/de6T+d/Xih+DkI7j+vHv3
Xun0/U/8EP8Avfv3XumPLTmNQL+kJqtx+r+v+J9+691gjkX7yjCEeuj1sP6v/qrf
1v7917pQfXQTzcLc/wCP59+690044nyZA/0q9I/wX+n+tx7917p5HDED6AcD+n09
+691yKqeCB/tvfuvdN1ZFGy2KKQWU8j8i1j/ALD37r3UT1Lk6NforQyFgPoxA4P+
NvfuvdPa/QH8n6n/AGPv3XuuXv3Xuve/de6//9bf49+691737r3Xvfuvde9+6917
37r3Xvfuvde9+691737r3XFv7P8AwYe/de6Afdf/AB+e8/8AxHM3/Q49+691E+OP
/Hj1X/azn/6F9+690LO9P+PO3L/2p6//ANx29+691G65/wCPF2t/2qKb/ej7917p
a+/de697917r3v3XumySgp3yUNeYk+4hheJZT+r1g8D/AAP+w9+691hmxVFVZCky
M9KjVtEjrBKR+jVz6T9PfuvdQZtv4udsg70cMlXlGRqw3LDVGNKMWBupA9+691hp
drYqGjNFLSwuiOrpIWJYsp1Lck/QN7917qcMHimrEyb0cIroUKl1sxA06V5vxwPf
uvdZYaGio/LOkAWSpYFuLk6Wvzb37r3XJMdTGqrKlqdD/EY44pz9WkWMWUP/AIAe
/de6gttvCtTmhehh+3uXD3IKknV9b/19+691OXE496aOh+2iWjg/zcC/Qm1ixB5F
/fuvdQqPb+Mpg/2qhY5WKup/NjfSNVzx7917qUcRiTO9W9NEZCixepeAE+hA+gPv
3XunBYAtOYoiYwSStuOD9B/gPfuvdZgwA0MQdKDUSfqQOffuvdRRV061fg1AO0Ys
Bb6cfXnge/de6CaNNOJrT/qt3Tt/rXv7917oXKT/AIDQ/wDUOv8AvXv3XupY+g/1
h/vXv3Xuu/fuvdY2/Wv+w/3v37r3TVm/+Acv/BD/AMT7917pIbR/4tu4f+W0n/Wm
T37r3TVUf8ejT/8Aa1ov+t59+690LS/U/wCsv+9e/de65+/de697917r3v3XumHc
n/Fpm/4Mn/E+/de6kYn/AIBwf8F/6J9+6905RfpP/Bm/3v37r3WT37r3TFub/ixZ
L/lgP+tsfv3XunCg/wCAdF/1BU3/AFqT37r3UpPp/sf+IHv3Xuufv3Xuk/nf85iv
+1gn/Qp9+690+n6n/gh/3v37r3SdzSal0g8mO/P+w9+691iii0VtBc3P2Fxb/b+/
de6Ug+kY/FlP+39+6900Y79eR/6jR/xPv3XunofrP+t/xT37r3XP37r3UWVdUgX+
tvr7917qHMoXKUNv+OMw5/Fh+PfuvdOS/wBj/kL37r3WT37r3Xvfuvdf/9ff49+6
91737r3Xvfuvde9+691737r3Xvfuvde9+691737r3WKQ8x/8HHv3XugL3b/x+G8j
+f8ARxUf9Dj37r3UD42knY9Xck/7k5v+hT7917oWt7f8ebub/tT1/wD1ob37r3WD
rn/jxdrf9qim/wB6Pv3Xulr7917r3v3Xuve/de66KgkEjkfQ/ke/de679+691wWN
FZ2VQGk/WefV/r8+/de66MUZXSVGn+n+xv8A737917rtYo0LFVAL21H+tvpf/W9+
691yKhvqL+/de679+691xZFZSjKCp+oP+39+6914IobUFAa1r/4D6D37r3XQijWw
CgaWLD/Bj9T/AK59+6915o0YWZQRe9vxc/n37r3XKwtb8Wt/sPfuvdYmULra2qyc
Lzz9f8ffuvdBrLHkZs/RSo7wxtVBHAvZov8AUEn6A+/de6bGIOKrFH9jds6X4/F+
L2/Hv3XuhXpP+A0P/UOv+9e/de6lj6D/AFh/vXv3Xuu/fuvdcCbOOL8Af63P19+6
9005v/gHL/wQ/wDE+/de6Ru1TbF7jI4Plk/60ye/de6bqr/jy6UgWP8AFqIE/k/v
f19+690LSfpU/kqt/wDbe/de65e/de697917r3v3XumHcn/Fpm/4Mn/E+/de6k4k
3o6fi1l/2/pHv3XunGL9J/4M3+9+/de6ye/de6Z8/GJsRWxltIaMf059SnTyR9ff
uvdcqRvHQ0KtOoYRRrquBcBRZTfmwA9+6905I8ZHpdW/rYj37r3XO4/qP9uPfuvd
MWcZVONYgNaujt9OD/X/AGHv3XunpvVexI9F/fuvdYVijlDeVFkIOm7C/H9Pfuvd
Nc405KBVFkVBGAPwtz6f629+691NqquOkkVpNZTQQEjQub8W4H9P6+/de6Z4MlSx
TyMIqsJI2tx4WIZ/wxuPr7917pwOXpiQwSqAt+IGF7/1+vv3Xuvfxem/1FX/ANSn
/wCKe/de68uVpi62jnDEgBpIyqi/HLEce/de67eVWyMJIvpVgh/oGHNuffuvdOxt
+kcH8WH0/P8Ah9ffuvddgEfUk+/de679+691/9Df49+691737r3Xvfuvde9+6917
37r3Xvfuvde9+691737r3WKT6x/8HH+9j37r3QF7t/4/DeX/AIjip/6HHv3Xum/4
2/8AHj1n/azm/wChT7917oW97f8AHmbm/wC1PX/9aG9+691g65/48Xa3/aopv96P
v3Xulr7917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v
3Xuve/de697917r3v3Xuve/de6xn0s7fUhB6R9eL+/de6CCtyuZO56CJKdkpjXga
tJAtb+pGk+/de68wC4qrt9Tuycv/AIMSb/69/fuvdCvSf8Bof+odf969+691LH0H
+sP969+69137917rG361/wBh/vfv3XumrN/8A5f+CH/iffuvdI3av/Fq3H/y1k/6
0ye/de6bar/jyqb/ALW9F/1uHv3XuhbT9C/8FX/eh7917rl7917r3v3Xuve/de6Y
dyf8Wmb/AIMn/E+/de6kYn/gHB/wX/on37r3TlF+k/8ABm/3v37r3WT37r3TTmIa
mopDDTQxzM5swkfQFAsQQbgH37r3TE9Jl7QRigpysYAv5eBYW/qffuvdcqeLM04d
hQQOWc/7tvYfj8+/de6keXN/86yD/qYf+K+/de6xSRZKrlpFq6SOmjinVw6MWJP9
CL/T37r3SpDfu6P6R8f7f6+/de64xmxa36S5H/FP8fp7917prqB/uRiP4uB/vPv3
Xuu6iVhkkjV9JERIIAJ/BIsQfz7917pzbU0fDm5tzpF72v8A09+6915CQoVpefwd
Ivb/AHn37r3XK5/46H/kkf8AFPfuvdQMkNVNYuT+7HxpA/tf4Ae/de6xO8MFZFcg
EqeCf8B9CffuvdOQnQq7ryFtcj8/8i9+691FeuC/0Fvr9P8AC3v3Xuon8S/2r/ef
fuvdf//R3+Pfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691ik+sf/Bx/
vY9+690Be7f+Pw3l/wCI4qf+hx7917pv+NfOxao/k5ioU/6wIAH+2Pv3Xuhe3uB/
c/c4/H8EyB/2P20n/FPfuvdROtzfYm1if+dRTf8ARXv3Xult7917r3v3Xuve/de6
97917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve
/de64mwJ4503v/re/de6i/bwPOrtEhZAJFbSAQ/A1AgfXn37r3QTRAHE5Enm28Kg
/X/g3v3XuhbpLGngFvrCv5/H9PfuvdZmfRbgkW/H++/w9+691xWYOSBwfp/rfi/0
sffuvdcjwwvz9P8AC3P+Hv3XumrN/wDAOX/gh/4n37r3SO2p/wAWvcX/AC2k/wCt
Unv3XuoQhlm2tGix+REqopQvJ9aS+lrA349+690pFz1ekCJ9qzyBAGbQwuRa39Pf
uvdQBns3q5pW03/o30/21/fuvdT33FWrD/wBbycc2b/Y/k+/de6kf3gqgsZNCxLi
54Yfj/Xt7917purcxJk46ij+1KCPxki9yxJ+n+Hv3XulVjUKUUAI0tb8/UXX8g+/
de6cAtibfQ/j8D+p/wBc+/de65e/de697917rqwvqtz/AF9+6914ADgce/de679+
6910VDWuL2Nx/r+/de660KW1W9X9ffuvddkCx/w5/wBj/X37r3TDUsf4pEt+Ptme
3+1i9m/1/fuvdeqQBkIHAszU/Lfk3PPv3XunkcRrb8/X/bH/AIp7917rmEUgG3Nh
z7917rvQv9P95P8AxX37r3TfkwFpSRwQ8djz/X37r3XKOlgnVJZYw0gBAY3/ANb3
7r3WKpVYqdvGNPI+n+x/rf37r3WSCCGSAM8YZja55BP09+69177Kk/44D/ko+/de
6//S3+Pfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691ik+sf/Bx/vY9+
690Be7f+Pw3l/wCI4qf+hx7917pv+Nf/AB4lT/2uan/oYe/de6F/e/8Ax6G5/wDt
R5D/ANxpffuvdQutv+PD2t/2qKf/AKK9+690t/fuvde9+691737r3Xvfuvde9+69
1737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3XA/U/8A
BD/vfv3XuuC/5z/p2P8AiPfuvdBBD/xaMj/4d9R/0V7917oWqMf5PT/8sEHv3Xus
sk8UbCN2szfQc839+6912EUHUt/6255/PF/6+/de69yWB0kfT/e/9b37r3TZmgTR
y2B/Qf8AiffuvdIva1zitxheWMslh+f809/fuvdT9oSOcIVljLaZ1Chh9fXyeeDb
37r3S1ZVZiFjX08EkAXJH+tzb37r3WTSPp4kt/Sy/wDFPfuvdcBENLAxpzawsp+n
+w9+691yYLrQaVtz/qeOPpb37r3SUgjJz9dEY1Mdo2HFwPoebfT6+/de6VP62aO2
kIBb+hHH0+n09+691lRdItckfi/49+691y9+691737r3Xvfuvde9+691737r3Xvf
uvde9+691xYXH+tz7917pgqF/wBy8Z/6Ym4t9P8AfW9+691zqv8AgbTf9Q4/3v37
r3TwP82v+JH+9W/4j37r3WUfQf6w/wB69+69137917puyn/ARv8Ag6f737917qTS
/wCZX/Y+/de6iVv/AAHb/XH/ABPv3Xus9N/wGH+w/wB6X37r3WT37r3X/9Pf49+6
91737r3Xvfuvde9+691737r3Xvfuvde9+691737r3WCUnyRD8ah7917oCd3sRvDe
YHH/ABjmo5/w1Dj37r3UL41f8eHUf9rio/3se/de6GDe/wDx6G5/+1HkP/caX37r
3ULrb/jw9rf9qin/AOivfuvdLf37r3Xvfuvde9+691737r3Xvfuvde9+691737r3
Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691xP1PHOg8/8R7917rGv
+c/6dj/iPfuvdBbhsXLl6DPQR1XgZNxVckQ0g6ZQeHvy17e/de6nw4HeqHSdylY1
4Rft0PpvwLgX9+691zbbe6Zn8su4Szr6UbxBLL+OAOffuvdSVwm7lGkbj4/xiU/7
yQT7917rg+I3ghFtwFxa5tCvH+9e/de6zNhtyTPAs+aMlOwAnQRW1c2NyP8AD37r
3UHbcf26bwgWbyinq3jT/m2PA5K/7Ej37r3TrsyRpsawkswWTgEf4k+/de6YcllM
22erKSlyRpoIZFVIvGG4I/qffuvdKOD+NQxrLJVNUC1/02D/AJ/pwffuvdTI84Us
KiBowLAub2JJ+vP09+69073VwamM+QabqL8fS/8AvB9+690npsXkqid62hrvsHn4
mGgP5ApOn68rb37r3XAYjcYJb+O8m1/2V/Hv3XuuKYncURJGbLlvrqiva3+39+69
1k/h+4/+duP+pI/4p7917rkMduI/XL/9YlH+9j37r3Xf8O3D/wA7j/rEnv3Xuvfw
/cK/8vXV/h41/wCIt7917rr7LcX/ADsh/wBS/wDjfv3XuuS0W4AfVkQeP+OY/wCJ
9+691z+0z3/Ow/6xj37r3XYpM7fmvuP+CAe/de6bZaPMNXq5rRqA8QbSB6D9R9Of
fuvdTzDU0dTHVV8/nhVPEFVL2J+hsBz7917qXNmadHiRQwViL+g3/P8AtvfuvddV
GZhQxrGXW7KD+2W4/pzx7917rpc1EajQxk0WPHjb6gf19+6912+Qgro3gS7OHWyl
SvAP5Jt7917p1pb+IA/j/fH37r3UavFoWtwLr7917rNTf8Bh/sP96X37r3WT37r3
X//U3+Pfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691Hl/zkX/Bh/wAT
7917oCN4f8flvP8A8RxUf9DD37r3UT41f8eHUf8Aa4qP97Hv3Xuhg3v/AMehuf8A
7UeQ/wDcaX37r3ULrb/jw9rf9qin/wCivfuvdLf37r3Xvfuvde9+691737r3Xvfu
vde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691wP1P/
AAQ/737917rgv+c/6dj/AIj37r3QfbMijaXPO7MCM7UgKL2Nifrbj37r3QhuykAX
+rD8H/H37r3XAqhtz+LfQ+/de668cf8AX/eG/wCK+/de68xSONvqb/gX5/p7917r
tXW0QKsNQuv+FzwDz7917oP8CkaTb7MZNmyLk3vwfBJ9L29+69047H/4t0n/AC0/
4k+/de6YJlgbc2TMt9Qnj0kG1gSL8G/v3XuhOptBgj0j06RwR/h7917qNU0cVUjR
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
Lj/Y2v7917rkRf8AJ/2B9+690iN9oBhWILAiVfobA/4kfQn37r3ThtXnE0BPJ8J5
/wBiffuvdJzAH/LOwWAAK5UgWFhxC55H5+nv3XunfZr+TH1LlUBM1iUGm99X55/r
7917pXogVTFclV4BJu1jzyffuvdc1UKLD37r3XYUAkj6ta/+w9+69137917ri1iQ
CAQb/X/Dn37r3XCP1hWP1UkC3A54+nv3XukpiyBujPqFUWp6ZrgWJJseT+ffuvde
oud3Z5fwcbRcf64APv3XulbpDJpPKlQCP8PfuvdcgLAAfQC3+29+691gliTwSpb0
sGJH+J/Pv3XumHbbl6Scm1xWSR8D+wDYD37r3SiRVXVYW9R9+691k9+691xcBl0s
LhvSR/gffuvdJjAtc5WQgXgrZYY7cWjUXAIt/j7917pSRkkA/wCqXUR+Lk+/de6y
+/de697917r3v3Xuve/de697917r3v3XuuLIG+pb/YG3v3XuutAta7W/1/fuvdf/
0t/j37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuv
de9+691Gm0ywTro8g0spVhcNcf0/pb37r3QN9kLHTLtZI4UgSTJ0SyeJQhALrquQ
Ln37r3Q0RqqWVP0qoC834sLc+/de6CrLf8ze2l/4bOW/6Gl9+691xxX/ADMLJ/8A
Bn/6FHv3XuhYb+3/AMg+/de65J+kf7H/AHs+/de65e/de697917r3v3Xuve/de69
7917qPJUJG5Qn1AA/wCwPv3XuuxJrXi1j/vv6+/de6DTsJamWp2rTU9TT07T5Rk0
zoW1EqP8DYe/de6zLh9+U8Tw47O4aFVZiiyUZewufrZeLe/de6yQ4rsQm9XnsPKW
AUmGiaNdNv8AU6OT7917p12jgchgoq4V9RTzvUVMk94Y9H6ub/61vfuvdJXBOww+
5HHpkq81VU6fg6mPFuPfuvdL7AUrUeOp4JP86Qrve1/9e1hb37r3T8CDe34Nj791
7rv37r3SK35/xZG/5ar/AL17917qZtIWxFH/ALVCbf8AJRPv3Xuk5t//AIFdhf8A
a2P/AFpk9+69067K/wCLbUf8tx/xPv3XulqP1N/sP969+691y9+691737r3Xvfuv
dcT+pf8AY/717917rhD+j/Yn37r3STxn/H1bg/6hqX/el9+6913Q/wDH4Z3/ALVt
F/0T7917pXj6D/WH+9e/de679+691jl/zb/8FPv3Xuk1tj/gJUf9R8v+9n37r3Sn
X+1/wY+/de65e/de64t/Z/4MPfuvdJfA/ozf/ayn/wB6Hv3XulJF+lP+WY/3v37r
3Wb37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvdf/9Pf49+691737r3X
vfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3XvfuvdYmPpawAu
2k2H1B4N/wDHn37r3QP9p+iTbIFiBmqGOxF7rrX6/wCPv3XuhfYNqujKqhSGB/Bs
CD9OAB7917oJd2DKUO+Nubgx2HrMzHQ4eso6laO3+72YkDg2YhuOPfuvdIGuqezk
zlbn8DtuWmNYxaKmroVkkhQixWQW5Y+/de66j3P38WPkwNEFP0P2S8f7ZPfuvdSj
uTvb/nT0A/wNEt/94Hv3Xuuv7yd7f86fH/8AnEP+jffuvdZBuXvKwvhqG/5tRrb/
AHr37r3Xf95e8f8AnTUX/nGvv3XuuQ3H3kRf+DUP/nGv/FPfuvdd/wB4u8v+dNQ/
+ca/8U9+691xOb7nc65cRTB/yEplVePpxb629+691nTcPc6CwxNMR/tVKh/3m3v3
Xusf33ZOSyONqc9t4zRYmp+8pTSQKn7xAU6/6jSPfuvdCHLvXLrZV2hlmlYaXKBb
X+pt+fr/AF9+691wO788dL/3NzV1twpAWw/qBxf37r3Uk7yyxhLDZucEpW1iUI/3
kXt7917pI4zKV8MqQV23chj6WfKmr8cwAkadr+u5AUof6X9+690Mkbq7eZleFzEQ
ivYLp/HAvyD7917qRCFCkq2ok3bm/q9+691m9+690guwaiKHDosziNHnTUxBIC3s
fp9PfuvdMu390tHRxx0NFNlIIHSBWpbekMf7RI+o9+6905YGiro/731lXTSUEeSq
2qYkqP1ECJ/UCABp/Hv3XupWyNRx1Uoljf8Af4KjheTwffuvdLhAwW7kMx+pX6H/
AFvfuvdc/fuvde9+691737r3XE/qX/Y/717917rhD+j/AGJ9+690kcWb7r3EP6U9
L/vQ9+691zorDeGdJYAHG0P1/Fgtz7917pWAt+CrD8W/H+xuPfuvdc7/AE/x44I+
v+39+691jlI0OCwXgg3I/of8f6+/de6Tm2xpo5yDqByE30/Fj9fqffuvdKSN1fVp
B4Y3/wBf37r3WT37r3XR/H+v/vQJ9+690mcEovml+oOSkv8A19X1Hv3Xun3Wsbxp
qCjx355P1+nv3Xus3kS36x9Pr/vr+/de64iQA+qRCP6fn37r3XIuDYI6g/4+/de6
7XVcXZT/AK3v3Xuufv3Xuve/de697917r3v3Xuv/1N/j37r3Xvfuvde9+691737r
3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691hf9J/5aD/AHse/de6
CDtb/O7a/wC17Q/9Dr7917oX5RpBYOE1Muot9LAWIH9CQPfuvdITcm9/7vZWkxMG
GrMvUVtO9TFFjwNfjj/UeRYn37r3TEvZGTZ2/wCMe7vAH+tY/wCwuLe/de6kL2Jk
yAf9H27f+SV/4k39+6911/pHyo4GwNzi34ZE1f7Hg+/de69/pIyv/PA7l/5IT/o3
37r3XIdj5U/8wFuQf66p/wBG+/de69/pGyv/ADwW4/8AklP+jffuvdch2Nk7c7D3
Jf8A4Kn/AEZ7917rv/SNkv8AnhNyf8kp/wBe/fuvdZF7DyJFzsXco/6dxn/oke/d
e67/ANIWR/54bcv/AFLj/wCKe/de6yNvzJ+HyrsncP1tpZUDcH+gX37r3XUO/MpK
P+PI3CtuLlUsT/yTce/de64jfuWE3jk2XnFFr30LextbmxHv3Xusr76yII07NzpH
APpU/n/Bbe/de6aM3n8tmRjYqfb+TotNajP9ygD2H5440ce/de6FKJJBHC8uldMI
EgYEkNbn/X9+691JjKsLoVIv9V4H+x/x9+691z9+69025OgpMpA9DWQLLFKhuzKC
EJ445B1e/de6DHBzT7PfLY+iwGRyFOK8FJacKRax+l73Av8A19+690+VG5q2qp6q
JNt5mPUjq3nFwCV/sjmw9+6906bQgkp8UxlpmpGkkDaZVAJvfmw+v9PfuvdKtPIC
3lZDyNOnggf439+691kuP6j/AG49+6913cH6G/v3Xuve/de64n9S/wCx/wB69+69
1jivpH9AWv7917pI4r/j69x/9Q9L/vQ9+691CalnqN2Z0QuVP8NohwbXOlePfuvd
PIxGQKoPvTGQDcE/Xg/0/p7917pix2OyVWlVbI38crqLOSBpb+n49+6905x4qvjn
lDVZlX7dbAMb3/JP4sffuvdSNqqYqCcOb3rZx/sb8j+nv3XulNGytqsumxI5ABP+
PHv3Xusnv3Xuvf0/w/5F7917pMbdIaTND/q5yX/2349+691kyktWKyOGiaIT+Em0
q6l0fnj+vHv3Xuuol3Cyi70P0/MVh9B7917rmYtwfXyUN/x+3/xr37r3XUP8fZyG
korD+kdv8Pxz7917rLTT5T+ILBUvTNBocsI1s2oA2N7X9+690++/de697917r3v3
Xuve/de6/9Xf49+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde
9+691737r3XvfuvdYebsGU6dWoED/e/fuvdB5vrbWU3CKN6F4UagqYqyASC4M0JD
Rh+VupI59+690GW7d7dq7RmgaoosTWw1QDMIYSfGeALWvwB/X37r3TFit97hqtzU
G6NwU1NGuPoZ6OKClR1109QWaVnDfWX1ce/de6FRe4sAVBWiyBX8Eqb/AO8qT9ff
uvdcv9MWC/5Ua/8A5J/6Q9+691zHb2DIBNDXgH6em9/+TPfuvddjt3CuQEoa5h+S
Vtb/AJM9+690/bY3vR7ora+lpopYftAukSCzeoC+rgfk/wCPv3XulnGXAbzN6lP4
4BB+n9OR7917rJGxZbn63Pv3Xusnv3Xuve/de697917rq3N7n/Wvx7917rzDULXI
/wAVNj/t/fuvdeUaRa5P+LG5/wBv7917rv37r3XRANri9jcf7D37r3WIQgM7FmOs
EEEkj/YA8e/de65qAtkUAKFvx/r+/de65A3v/gSPfuvdRI5xLM8RIsjXFjzx9D/X
37r3WYKo8pX0ktqZh+T+L+/de671EqLqW1Dm34/H0J9+691jMalFj0SBFIIsRe4N
+ef6+/de6T+ers1TT0iYyiNRHKjmdtKsUYfpH5+vv3XumCbMbsQ+nFMf8PGP8P6q
PfuvdKXb9XlqqOdspSNTFWXxXULrFufwPoT7917p/PlNraR/W/8Avj7917rCwqvI
ljGUF9XBB5HH1Pv3Xus0alF0sQTc8j37r3SOxaTLuvcjuto2pqYxn+ot+ffuvdc6
A33jn/rxjqEf7wv09+690rBbVcFjweG5H0Pv3XukrtliVrQfo1ZOp4/Gr37r3SmK
jTJLchypTjgaV+nA9+690wbZ5o6i5JtkJjzz+SPfuvdKdfzwBYkcD37r3XL37r3X
RNrf4m3+8E/8R7917pL7e9M+ZA/OTf6/7H37r3WasYx5mBx9TTMDfnjn6e/de6f4
/wDNgj8rf/ePfuvdcgxKk/0v/vXv3XuuI4AP5Zuf9ufp7917pmkcpnKeNf0yQSM3
+uAfp+PfuvdPvv3Xuve/de697917r3v3Xuv/1t/j37r3Xvfuvde9+691737r3Xvf
uvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691gJnDG4Up+LDm39CLn8e/d
e65frUWJQj6i+k/7bnj37r3UKroaOuVRUwR1PhOkiQaiP6+/de6ZJ9sbdkkV5KWI
FvpHxb/Wtf6e/de6lDau31GkYqnsP9TELf7D37r3Xv7r7f8A+dVB/wBSx7917rg2
2cD5I0GLgHDc+P6f7z/j7917rFUbfwVNT1Uq4uAmKNm4juLqhPAuffuvdMewo8dM
K+vpaRYJZpSrkLpuEawt/tvfuvdL1mEfpcFiber6gc/kn/X9+691IUBVAH0+v+39
+691y9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3XvfuvddHjn/AA9+
691xB4Y/i5P+8e/de6CuuhymQ3RHHQVn28KU7rIusqS4/PB59+6905jbu4CZF/if
BP11ng24Fr/n37r3XL+B7niRFiyIIAOq7seffuvdcf4Puz/nYL/yWffuvdZosVux
Q3+5KIfThmY3/wBb8e/de6ynG7tYi+QgW351N/xHv3XuuDYvdRspr4Tb6FWI+vPP
Nx7917rr+DboN75GNf8AWdv+K+/de6wSYnOwKXny6KADb90gE2P159+6913S4vNz
0wmXKB+TyJCQRf6cf09+6913tyGrh3BuD7qoE96an02OrSbc8+/de6nY7/j8dw/9
q+h/3pffuvdK0fX/AGB/3o+/de6Sm1/pV/8AUdP/ANDn37r3SqP+Zk/5D9+690nt
sf8AASo/6j5f97Pv3XulOv8Aa/4MffuvdcvfuvdcH+qf8HH+9N7917pMYC/3OYP4
/iT8f439+691lyH/ABd4P+oZ/wDiffuvdKCP/Mr/AME/4j37r3Xa/ob/AGP+9e/d
e68P0p/wYf72ffuvdMk//F/o/wDqGl/3o+/de6f/AH7r3Xvfuvde9+691737r3X/
19/j37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuv
de9+691jWPSxbW5BN9JJIH+tf37r3WSw/p7917rhoX1WGkvyxH1J/r7917riIY7L
dFYr9GIBP+3PPv3XushF/wAsP9Y+/de660/7U3+39+691EkdRV08bB9TI5Rl/T6b
X1n/AB9+690nN35tMBhais4aWqZKZIm+rNUAxAqORxf37r3UvauLfG4Olppgqzuj
SyOgFyZj5Bcjm6hrf4W9+690oREoTQbsP6nk/W/19+691zAsAOeP6+/de679+691
737r3Xvfuvde9+691737r3Xvfuvde9+691737r3XvfuvdcW/A/qbf7f37r3XVvqn
4Kn/AF+ePfuvdBzjlvvORbkBKeUj/GwJ5+n19+690Irei7C92YXB+nP9ALc+/de6
ye/de697917rHJ+ASwBvfSbH8e/de64rEUFldj/wYn37r3UepqIcfBLUzOdKi7E3
Jv8AgWufr7917pJxPlczO06yNDiSeGQ6ZyB9bW/wPv3XuomdwscGOkqYq+tk/CrL
ISAbc/0+v+t7917p62bHowkJLu5Z31Fzf6W+g/2Pv3XuoOKfTuvcSaSV+3p+FHP9
OffuvdNE1RmIN6ZQY6GB/uKOmRvODwEAsRY8n37r3T+Zt4o51RY5kI9Nr3B/x5Bs
PfuvdN1DS7kxiS+GOkcyyvK2oMfVIbkCwvpv7917pwiq90fufc01GIypKlFa9z/U
X9+691m2j5Gx87TALJ99OWVfoLHjj8e/de6U66/IwsNHJv8Am9/fuvdZffuvdcCG
JX6WDX/N/offuvdJbbrE1ObDD9OTe1vz9f6+/de655Bm/jlMtvSaZgTb+pP0/Hv3
XulIPSqoP9SBz/Q8f7f37r3XL6XUfTST/wAR7917rofpT/gw/wB7Pv3XumOoP+/g
oh/Wmm/3gH37r3Sg9+691737r3Xvfuvde9+691//0N/j37r3Xvfuvde9+691737r
3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691
737r3Xvfuvde9+6903zBh52lkWPSRJE97MI09Ti/4uPfuvdBuYX3luWCqkAbCYYs
rxP/AJuebkowAILaX/1/fuvdCpF+hfTpsNIA/ovA/wBbge/de6ye/de697917r3v
3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917ri39n/gw9+6917+3
/wAg/wDE+/de6DrG/wDH6zf9Q03+9H37r3Qhy/pH/Bl/3v37r3WT37r3XvfuvdY3
/H+x/wCI9+6914uFjLsbAAm5/wAL+/de6R0gkzeRibXehoSRVRXH7jEnRdeL2B9+
690rY0VEjSBI1gUW0gAWA+lgOPfuvdJ3c5vjJQBZABpt9Pzf37r3XPaH/Fkp/wDg
7/70vv3Xum7Eav737j02v4Kb63/qLe/de6jNJKu86wA2X7SnsQD/AEW3P+Pv3Xul
ozy61ERDD+2Prx/vNvfuvdYK011h4QAPyR9PfuvdcvuJoqYGZQzFSOOCOPqfx791
7po2o2ujqm5H+Xzn/efz7917pTBvUQbfm3+39+69105K+q/A/H+3Pv3XuogyEJkE
RNiTpvfi5/2Hv3XumLAC9Rl2Ui38Te9uL/U8/wCwPv3XuueQ/wCL3Tf8sD/vfv3X
ulIfqn+sv+9+/de65H6n/gh/3v37r3XQ/Sn/AAYf72ffuvdMVR/x8ND/ANQ03/Qp
9+690offuvde9+691737r3Xvfuvdf//R3+Pfuvde9+691737r3Xvfuvde9+69173
7r3Xvfuvde9+691737r3Xvfuvde9+691737r3XG5Fz9Rz+n6/wCx/Hv3XusH3K6r
aJPrb9Pv3Xuu1qFLEaJFA/tMpC/7f37r3WYMG5UqR/gbn/ePfuvdYy0uo2ChQbAn
8/71/vfv3XusclXHDczBoo1/VM4KxL/rueB7917oPNw5Cr3I8uBwjxmLyIKnIQvq
Ma/2lidW0EEfXn37r3SxxeKgw+Op8fExYoo1uVGqV+Cxc355/wAffuvdPY+gt9Pf
uvdd+/de64OxUXAv/h/tvfuvdeL2DE2AVdXP+Aub/wCt7917oMv9KOIgMkdRS5CW
SOeWIvR0rTQERsV4kuLtxyPfuvdZH7RwyhSuOzDg/wBKNhb/AIr7917rtu0MKphU
0GWBmbTZqUqV/wASLm49+691kXsvEPJGiUOTOuQoSaZhpt9Tb8+/de6yQ9i4yWZo
mosghDFVvCbtY8G1h9R7917rGeycYHCihyJ/fMTWgJso/tcgc+/de6yf6SMOELtS
ZFQJCgBgPIH9rj6f63v3Xusq9hYx5ERKLIlGH6zTkW/2Avf37r3WN+wcagYvRZAa
Z9CgU7cr/qvpwOffuvdY6nsrD0zxg0eScyAciAgC5/1jc8+/de6T0O6cTFnRkaal
yj1E0TL4JYSpKte5QC9/r/Qe/de6Uc3YNIjCJ8HuBnuP83QOy3/rqva3v3Xusy7/
AKU3vhM8v/VA5/4ke/de65f39o/+dNnv/Pe//FffuvdcH7AohYHC58g/n+HuBx/j
f+vv3XusZ3xS1VLNoxWXjVPS7S0zIAD9ST9BYH37r3TltdaJ4amupHqCta4ZkrBo
W6/8cxbkf19+690qCs3ATQqj6AH/AI17917pN7rMi4qQs0MaKRqUvpJXm5QGwvb3
7r3Sf27u7FRU0mPo6bIVAowGeQQllLOBq9QHAuOPfuvdStt10GQ3NuGWFZY3MFNr
V7AjkW4te/v3XuugS++auJiQn2tPz9P7Km349+690uHeGOTSW8bEcaTYn/X9+691
7XOT9BoJsCR+P6n88j37r3XZjXS51lw6lSCbgcH9P9PfuvdJ7ar/AORVpsPTkKlQ
Bx+lvqf9t7917pUAgsARYhQ5Itb8cf7z7917ro/uK6twpB5W/wCCPz7917pCzjTl
Y40e48i3ubnj+g+t/fuvdOe3h4jlB9Sck/JHP9ffuvdSa2LVmacgO1qZmsgueCR9
P9h7917p7Ry1i0cgta3pP+839+691m4PJuLjTzx7917rr8qv4HP+N+T7917pjmUt
nqV/9RBKvH+IP19+690/+/de697917r3v3Xuve/de6//0t/j37r3Xvfuvde9+691
737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691hVfFrYszamJA+
tv8AYce/de64K8zMSsaBR9S11J/21/fuvdZVU3JLagfqvBUf63Hv3XusE09HSAtN
NT0/H1lkSMW/5CI9+690ksrvOgoVZKINlZz+lKYiddX4AKC1r/4+/de6TsdLuzdw
Y14GLxMp5p1YrKynjlSQ19J9+690u8Ht6h29RiloEBIHMjn1sT9SxufqffuvdPCK
yAmRiWa/05C/617e/de6yoCqgE3Ivz/sSffuvdcvfuvdcWFweLn8f7f37r3UeqAe
nq04BNPKLj6i8bc+/de6LXs6gzmSo62joFpmRMnXFZJms/Mp+t/wP9f37r3Skk2z
vPGwT1UhoXSJS5HlB4H+Go/717917ptwGP3PujHjKxJRDRVzU+kSC14DZiORzyPf
uvdSslh94YvFVlaYKINTBpf1j+oH9ffuvdScXt7dWVhpMneki8sUZK6/yRy319+6
913kNv7mxlBkKyQUzeBHn1aha1/68j37r3ULE4bce4cTT1sIpl1SAN6hyLcnlh79
17qdksPuXEYipqn+1vAHt6ubC3IBufz7917rLQ4PdORxtBWKKYieFJSC3PN+bfTk
e/de66y+Bz1MlPPLHTaFZQfV/rHk/T37r3Siye6dubWGI/jVLfJ1FH5aY00Pk/av
+XuNP+29+691Npuy8BVxh4ErpH/44x05Z7/0twT7917rL/pBoRwcPngf8ce9j/rG
/Pv3Xuvf6QaD/nUZ3/z3v/xX37r3Xj2BQFSf4TnOCLg49/oT9bm449+691gfe9BW
0mSSHG5SNvBIi+SjZNbGJgpNxxYn/H37r3Xtq5UUu2ca1bRVzy3nIVKcyMoMhILW
tpuD7917pwk3vRRsV/huUNiRxSt+P9h7917qHX7lxGRiFPU4rKS+VW0EUbtpOk/q
P9nk+/de6TG2ctSbf/jNTUUNXDTsU0K8NiwLWAK/8a9+690vcLW4WuyNXNjYpIqt
oYpKzXGYwY3AMdv6nn37r3TOOd9VYH1+0puPz+hb8e/de6fshTzy1yFLhUYN9fwf
959+690+GS0IA5bSF45/Fv639+6914LaLUfqw5/p9D7917pM7W/4A13/AGsqr/oY
+/de6VP0cW/tRgc/4m3/ABHv3XuspX0kDg2+o/r/ALDn37r3SWTGyfxRZ2F11Xvz
9b/m97Ee/de69gAWky/5tkm/xAP9L/j37r3U7J4+WuqIliqJaUrGbyxW1EX/AE3P
49+691FXA1i/8vms+lvqPfuvdZBhKkXMmWrHUD6Xv/vAt7917rLHiG5P8RrSR+Sb
H/ezf/be/de66pMWI68VZrKqYojJ45R6DquL3/w9+690/wDv3Xuve/de697917r3
v3Xuv//T3+Pfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfu
vde9+691737r3WBA4dzKy2Lftrfi34PP0Pv3Xugi7L3FUQDHY3DZIw1ddkIKGfxu
LwpOyq0i3NhIg9+6911N1bkXUInYe66dxYM0WgqWIv8Ak6fz7917pMHbbYLeOHwG
d3JXZzG5PH1NXJUZWRUlSaBmVYlIYrocr7917ocMXgsJj0jlxtHTRgrdJYvVqB/I
bURyffuvdPTLqFtRH+t/vuffuvde0+m1zc/2voffuvdcUjKizO0n+L2JHv3Xusg4
/qf9f37r3XvfuvdcFWzudRN7ek/Rf9b/AF/fuvdYKi3hrLHnwP8A7D9prW9+690C
HTSmQZoMxPgyNWwP5YtPaxvf6e/de6F/PG+Grj/WCT/ej/xT37r3SB6aJbaD3/53
OT/2Hrj9+690od+ySx7L3BIshDpRuQbD6CROPfuvdZdjFm2xh5GlZzJSQXv9P0fT
+v0Hv3Xus+8pCNp59wOUoJ7D8enSf8D7917ph6udm2pRMTy5Rj/yEOR/rce/de6y
9jTSR7TyToxDfuLcf0449+690/bPu21cFdjdsbBc/kkqffuvdcN1+nFhfr+6vJ+o
t/yP37r3SPqcfjshu3bMORgjqEXb0jp5iSS6n0r+Bb37r3WajhxVDvQUVNS0sMTw
SS3QgBXX9IA+lr+/de6EpJjI8giZJFRtJsw9Jt9PSPfuvdZWlCj/AFTf6leT/r29
+6912ra+RqA5BVltf/b+/de64vBG6lSijVa9lHPv3XuuaIsahFFlH0H/ACL37r3X
BoY2Nyqk/wDBV/4ke/de64SLoTVGVRkvYmwBvxzx/j7917pK7wCQbfqpPEkrB4NV
gLnVIL/pH0F/fuvdRsH44NxZeGKMqExeOlAseS8aMR/sD7917qCNab2rKhykZFNC
FV20qwAUDk/4D37r3S8XzSMzFICv4ZH1E/4e/de65FGW7ELb/b2/P09+691jWYkS
qw9MaEjSOfp7917pg2qFNFWBdVmyNQbkW/UxuP8AYe/de6VQS7Bif0jSLf4G/P8A
j7917rJ7917roqDY25Bv7917pLbbNzmj/wBXSU8f4D/jXv3XulOP1A/nQOfz9ffu
vdciL/kj/W9+691xPpF7k825PH/I/fuvdcC2mRU5syklieQRwLf6/v3XusKyxws4
eUt6gADY/X+lvfuvdStVm0kgX/SL8n+vv3XusSyks6WGtSLC/wBR+b8n8e/de65+
RBwzKG/Iv7917rlrW19Qt7917r//1N/j37r3Xvfuvde9+691737r3Xvfuvde9+69
1737r3Xvfuvde9+691737r3Xvfuvde9+691G0xvMXLklBYoT6QQf1f7f37r3RWc5
iTlot5bipqt77dz5aNdXIEChxb6/T37r3Tvsan3lvzCTZaTdldjI2qA0C0rK7qqg
ixuRY2X37r3UvdnX9XTx0u56/c9fmKnHRimEdfaNCJObagf6+/de6G3armTb2KYq
iE0q+lDqUepvoSTf37r3Sg9+691737r3Xvfuvde9+691737r3XEfqb/Yf717917q
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
x5+n/E+/de6y7b1l8wdWsfxZ+fpxx/vXv3XumekjqjLuAwQR+T7+Qlm4BS3IuRp+
nv3XusuHllkr0RYEL/bOr3K2vc/4cj37r3SmkNOj09PNDEtQVDghUJAB54AHv3Xu
mjdEMS09PKihWaphFwLcEgD6WPv3XupuMMNNJVq8ixmR0OokD6KP6/X37r3Tv9zT
/wDK4n/JS+/de65LPAxstUhNjxqX+nv3XuoddJCaJh90gFxZrrc8ni17+/de6x64
/wCGW+4jtp/VdL/X/X+vv3Xuv//R3+Pfuvde9+691737r3Xvfuvde9+691737r3X
vfuvde9+691737r3Xvfuvde9+691737r3XWoXtfm9vz7917oNex9rVm46XGtSS6G
xmQgyBQC5m+3YN4uASNdvr7917phev7JeWaWlwwSCYgxIZz6V0hR+bi9vfuvdYlr
e1lVl/hiG/0JlF1/1vfuvdZErO1Qo1Y6Mn8kyqL8/wBPfuvdcvvO1P8AnWx/9TV9
+6912KvtL84+Mf4eRffuvdd/d9pf86+P/qYPfuvdchVdokX+xiH+HkX/AIr7917r
v7ntD/lSi/6mL/xX37r3XMT9nEc0cQP/AC1T/ivv3Xuu/P2d/wAqcX/U1P8Aivv3
XuuYqOzAOaKIn/lpH/xX37r3Xf3PZf8AypRf9TI/+K+/de699z2X/wAqUX/UyP8A
4r7917r33PZf/KlF/wBTI/8Aivv3XusqVPYun9yiXVf+y6EW/H0v7917rn9z2D/y
pj/kpf8Ainv3Xuvfcdgn/lFC/wCHpP8Asfp7917r3n7B/wCVcf7ZffuvdcfN2Fqv
4BptYrZeTf8Ar+PfuvdSBV79C2+xUm311D/b/T37r3XFJt+eo/aAEtflh/xPv3Xu
ufn35/yqr/yUPfuvde8+/P8AlVX/AJKHv3Xuveffn/Kqv/JQ9+691xap34imQ0iu
EHMfkCk/4j+vv3XukzVNBlsrjshuaglg/hkU0PiVWkE/l4LXVSRpuffuvdZXh6s5
jfGzEgm7faVBIN7n6cHn/D37r3XnpOrkUvT412mKOsZWnqQwLKQDduOCffuvdTdq
VldFjziMPTytTY53cSyI0RdJX1KtmCk6QffuvdKjBZ/J5DJZXG1VN4Bi0ibzckzG
S3BueLe/de6Wvq0EX1tYG1rfXn/H37r3SPoAf75bguCAcbR2P1vfTzx7917pZBls
Ofx/Q/8AFPfuvdctQ/qP9v7917rq5/C3H9bj37r3Xrt/qf8AeR7917rg4Y6SAAVY
Hkjn/D37r3XJdZN2XTxb63/Pv3XukhS6V3PUXu1qRjwPzc8f0+nv3Xuu9u3ByzLd
NeTL2034/p9T9ffuvddnCVSrX6MrIor6oykCIDxhhbR9Px/tvfuvdRKOkXE5mnpw
7ylqN9dRpP1F+B+OffuvdKWWjjleGZdTThLBmuPSTyTcce/de6Z9yx/5FTRliGWe
KS4BN9DC4/r7917pvSCGrzNPFM7vFUQPI0IDIAyKNN2H+t7917pQ/wABxX/HJ/8A
qY/v3XuuxhcZFd1jcED6+Rza/B/3j37r3UWvxVEKAn12W1jqb+p+o+vv3Xuov8Oo
f4Vr0vbT9NT/ANb/ANffuvdf/9Lf49+691737r3Xvfuvde9+691737r3Xvfuvde9
+691737r3Xvfuvde9+691737r3XvfuvdcSgP04N739+691HVqgSFWTUl/wBX/G72
9+691nJsbarf4ab29+6911q/2v8A5N9+6917V/tf/Jvv3Xuvav8Aa/8Ak337r3XR
J/Etv8NA9+69116v+Ov/AFjHv3Xuver/AI6/9Yx7917r3q/46/8AWMe/de65gNb9
d/8AHSB7917ruzf6r/eB7917rgdV/wDOW/w0A+/de669X/HX/rGPfuvde9X/AB1/
6xj37r3XvV/x1/6xj37r3XMMAOW1H+um3+8D37r3Xetf6/7wf+Ke/de64mVBwSf9
t7917rrzJ/j/ALb37r3XvMn+P+29+6917zJ/j/tvfuvde8yf4/7b37r3XvMn+P8A
tvfuvdchIp5B/wB4Pv3Xuu9a/wBf94P/ABT37r3WJ3fUoSMOh/WSbW/pwfr7917r
HJGgsftYm/qSqMf95F/fuvdcTFDdf8kgIYcnRGfp+P029+691yWCi/s00At/zYjH
+2svv3XuuQVo76Ik5+mlVW/+vp9+690icI8h3NuguALRU9rC3+H0vb6e/de6WshY
atIJJRPp+PfuvdJGkZk3hny06RL/AA6iK69PB9P9SPfuvdKvyxBAZZ4pBa4PkRf9
iLEX9+6902z5rE07aJahYz+SDrt/rgE/X37r3WCLcmGDN46wv9LjSVUf4gmwPv3X
us/95cV/x3H+8f8AFffuvdYpdzYYafJNcFgBbmx/rYG/v3XuucGdxs0wjp6hbsB+
q3H+PJJ9+6900Sx19LlmrqQx1RlTxeMuiix/tXv/AF9+691DxtVnoVrj9lEC+QP+
7k/P+x9+6906tkc5GbNQxXLX/wA8h+v0P19+69021rZ6WaOsVoqYLaENeNtIY3vw
b/7z7917rI8e49SeLNQyObAx+OMfX6m/0JHv3XuuMuPzs8ka1mQi0LybmP8AH14P
09+691IoDbNRaquKURQulgUH1FvqD7917pZeaP8A46Rf9TF9+6914yoQbSxjj6h1
a3+Nvz7917psr2D0JC1CG5/Gnnk/69re/de6xWP8M0fcR30W+iW/3v37r3X/09/j
37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+
691xIY/Rrcf0B59+691xCyflwR/wUf8AFPfuvdZPfuvde9+6910VB5I/3v37r3XW
hf6f7yf+K+/de69Y/g2H9LX9+6916zf6r/eB7917ropfkn/eP+N+/de668f+P+8f
8b9+691yCkcBv94Hv3XuvWb/AFX+8D37r3XIf4m/+Pv3Xuve/de697917r3v3Xuu
iD+Db/YX9+6911Zv9V/vA9+6916zf6r/AHge/de69Zv9V/vA9+6916zf6r/eB791
7r1m/wBV/vA9+6916zf6r/eB7917r1m/1X+8D37r3XrN/qv94Hv3XuvWb/Vf7wPf
uvdcTGGILEm30tx/vX19+6913o5uDb/YX/4n37r3XTK5tpcC178fX+n+HHv3XuuY
Fv8AE/k2tf37r3XBxJb0vbg86R/Tj37r3SHwUT/3k3G0jj92OCw+unSefx7917pb
MNOohrEKoPF7Afnn+vv3Xug4lxUOT3jn0kkeO2Mo7aGYX4X62/p7917p1fZ2Ojhu
Jp9SgFj5pDq/wte/59+690y1OBxlDU0sJqXb7hgLuS2i/wCSG/3r37r3Sgfa9EwW
OZwYwAyOFCkk/j0gXFvfuvdcP7p4n/jof+TvfuvdZodqYwE6G1G3IIP0/wBj7917
pOPhKRs9Lj45WTwUf3hlW3Njbx2+tx7917pRRbep5TDIauQlQHKhmFx9SD7917rk
m1qZfKBUy/uT+e+tuB/qfqPfuvdc5NsQO2r7qUcWt5GP9Ofr/h7917rm22qVqX7f
zSajOkxkLtey/VfqRz7917rsbcotYbyzcEH9bfj37r3Xcm2sfLKZXkmKkEFBK4+v
5+vv3XuuEe0sGuq0MpZzct5pAxt/iLW49+691k/unhv+OU//AJ0y/wDFffuvddrt
jFwESwRzCRQQpNRIw54PBNvfuvdZ/wCDUxhMDRvz/b8jW/r+ePfuvdcf4JTePxaH
t/qvIbf763v3Xuv/1N/j37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvd
e9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xv
fuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737
r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+69
1wbTcX+oDaf9tz/vHv3XukDg5o4dxZ9Xqo0usVg1uDq/xIvb37r3SyEo/dYVMMwK
rZVdAV/xPqI59+690laFh/fHcBGjnGUf+7E/2m1+ePfuvdKsTIvDTRRAAX1SRtq/
wHq9+690gN6ViU81JUxItUYnDFYjcj/kgm/09+6902jtKNNMP8CrXaNFDEXtcC3A
Ke/de65f6Uk/50Fb/vv+QPfuvddjtJDx/Aa0X4H15/w4Qe/de6l4LNR5DPS1bUj0
nlofFea4tySL6rD8f19+690IaNpYA1ELroFolKKb/wCrB1C49+691m1p/Rf+pqf9
He/de65LIt+Av/UxD/0UffuvdcvIP9p/5LX37r3XvIP9p/5LX37r3XvIP9p/5LX3
7r3XCSZFW7SJGPy5ZSB/sP8AH37r3WH7qD/lci/5M/4r7917r33ETcLVxE/gen/i
Df37r3Xev/ppj/33/IXv3Xuva/8Appj/AN9/yF7917r/1d/j37r3Xvfuvde9+691
737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9
+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfu
vde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3
Xvfuvde9+691737r3Xvfuvde9+691jZNTo1/06hb+oIt7917pLy7OxU9dW1sqy6q
1UDrHKyadJJJBAvzf37r3WEbHwaMxX70GUWP+VyEen+gtx7917pK43a+Gbem4YAl
YCMbRamNXJYhtI4H9Rf37r3Sqk2PhnVhesDEWVvu5BpP9bD6/wCx9+6901R7IrqS
Rno8soXnSKiIz6f6fqBv7917qUuA3SpP+5nFlfx/uLjuP9c6Bf37r3XP+Bbo/wCd
xi//AD1p/wBG+/de67GD3Sp4zGK/x/3Fx/T829P19+691wfauUqZVerysDKAAywU
whJH5AKgW9+6904f3Nw5IdzWNIF0lxVSLf8Ar6RwPfuvdcv7nYf/AKbP/OuT/inv
3Xuuxs/Djkfef+dcnv3XuuX90cR/Sr/86pPfuvde/ujiP6Vf/nVJ7917r390cR/S
r/8AOqT37r3XJdp4lTcCqv8A41LsP9sQR7917rJ/djF/6mf/AKnH/o337r3XY21j
FN1E4P8AXzH/AIp7917rl/d2h/1VR/1Ob37r3XD+BUH9J/8Aqe/v3Xuv/9bf49+6
91737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvd
e9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xv
fuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737
r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3XE/qX/Y/wC9
e/de6QmK/wCP83H/ANqyg/6GX37r3S99+691737r3Xvfuvde9+691737r3Xvfuvd
e9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691H9+691/
/9ff49+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737
r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+69
1737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde
9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3WNi
Q8YCk3LAkf2ePqffuvdB8lZR4reOarKqoCpU0NJCqaTdGiKkkkXuDb37r3Skk3Xt
6K3kylOhIuARLf8A3iM+/de6x/3w2z/zt6b/AG03/Xr37r3XY3ftxuFysDn8hVl4
/wBvGPfuvdd/3t2//wA7GL/kmT/o337r3XY3Xt88DIxf8kyf9Ge/de65f3pwH/Oy
h/20n/Rnv3Xuu13Pg3Nkr4nP9FV7/wC8qB7917rn/ePEf8ra/wC2Pv3Xuu13DiGN
vu0H+uG/4gH37r3XP+P4j/ldj/2z/wDRvv3Xuvfx/Ef8rsf+2f8A6N9+6917+P4j
/ldj/wBs/wD0b7917rwz2IP/ACmxj/XD/wDRvv3XuuX8dxH/ACvQ/wDJ/wD0b791
7r38cxX4rYmP9Bqv/vKj37r3Xv45jP8AlZX/AGx/4p7917rF/GMb/wArSf7Zv+Ke
/de6/9Df49+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+69
1737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde
9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvf
uvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r
3XEi5U3tYnj+vv3XumqfEUc1U9TLTpKZQFe6KSAv5JP9T7917riMXjFkYvjqfTpA
BeCNgSP6XU829+691z/h2H/511H/AOcsX/Rvv3XuuS4zFn/N4+iB/N6aMcf7AD37
r3XL+FUP/KjQ/wDnMn/FPfuvde/hlCvP2VCP+qZP+JHv3Xuu/wCHUP8Ayp0H/nPH
/wAU9+691xfGULCxo6Q83/ahRG/24H09+691i/hOP/5UV/2y/wDFPfuvddjFUA+l
Ev8AySv/ABT37r3Xf8Lof+VJf+SU/wCKe/de69/C6H/lSX/klP8Ainv3Xuvfwuh/
5Ul/5JT/AIp7917r38Lof+VJf+SU/wCKe/de69/C6H/lSX/klP8Ainv3Xuuxi6G/
/ANR/jpT/inv3Xuuf8Kof+VZf9snv3Xuvfwqh/5Vl/2ye/de6//R3+Pfuvde9+69
1737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde
9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvf
uvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r
3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+6910Rf8A1+bH+nv3XusH
ic+K78xuWNifUD+D/X37r3WbSLk/Un+vP+2Hv3Xuu7D+g/2w9+6916wH0A9+6913
7917roi/B9+691x0D/H/AHj/AIp7917rsKByL+/de65e/de697917r3v3Xuve/de
697917r3v3Xuve/de66IDCxv/sDb37r3XDxL/Vv+Sj7917r3iX+rf8lH37r3X//S
3+Pfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691
737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9
+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfu
vde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3
Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+6917
37r3Xvfuvde9+691737r3Xvfuvde9+691737r3X/09/j37r3Xvfuvde9+691737r
3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691
737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9
+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfu
vde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3
Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+6917
37r3Xvfuvde9+691/9Tf49+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r
3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691
737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9
+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfu
vde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3
Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvdf/V3+Pf
uvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r
3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691
737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9
+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfu
vde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3
Xvfuvde9+691737r3Xvfuvde9+691737r3X/2Q==
---END_DATA---
%/
| source file:|{{{F:\TiddlyWiki\TWExperiments\jQuery\images\book.gif}}}|
| attached on:|31 May 2009 by YourName|
| embedded:|[[book.gif|book.gif]] - {{{type=image/gif, size=572 bytes, encoded=775 bytes}}}|
| local file:|/%LOCAL_LINK%/[[./images/book.gif|./images/book.gif]]|
| remote link:|/%REMOTE_LINK%/[[http://www.symbex.net.au/Wiki/images/book.gif|http://www.symbex.net.au/Wiki/images/book.gif]]|
image
<<<
usage: {{{[img[tooltip|book.gif]] or [img[tooltip|book.gif][link]]}}}
[img[tooltip|book.gif]]
<<<
/% DO NOT EDIT BELOW THIS POINT
---BEGIN_DATA---
image/gif;base64,
R0lGODlhEAAOAOZcAGpqc32HqGBlif7+/qXf+pzO5o2a6Jil8urw+mZzx4aT4v78
/uHp+pys9Jun9G16zZC5zZmm84+d65Gd7Gt5zYqa5Wl2ypaj8Ovt7HKA03uI2aOv
rtHP0Kapq2BrtFZlwWRxx4KRqWNnflddgpSg7oOQ3298z1ppw19twYeU5Jej8ff3
+aKswo6a6XqH2V1qwEBOQ1RhuHF+0FhnvZyo9Pj3+md1yVFbmn+M3Fpnvn6K266x
r3yj0IWVzZejrMzOzWBuxJuv74GO34SR4T9TRmFwyoqW5bCzsml0t5CSoEdepWpq
dHZ7mnaD1mNwxXiI63iF15Of7VNhuE5dtHWC03d4gGBwzlpee52p9mVkZ0hWr3B5
lv///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAACH5BAEAAFwALAAAAAAQAA4AAAeZgFyCg1wBW1mEiYKGERMK
AoqLWlhYFwZCVJCEPj2UWA5RKRomTppcAFcEDZQqLSVNFi9SV4IAT1sEQTQkRjoy
IDNTSiOnVlpbBQcSQ1AUKDEeRVqIV8bIFTgZCTlIH0RbLILVxxAuD0AnWiJJCAyD
41s8NjdbHAMrG4jvxkshPwMYjmSpoqgakwU1OgyMJAhGlR0LGQ6KmCgQADs=
---END_DATA---
%/
[[community planning : featured methods|http://www.communityplanning.net/methods/methods.php]]
| source file:|{{{C:\Documents and Settings\Administrador\Desktop\resilience\computer_link.png}}}|
| attached on:|25 Junho 2009 by Skye|
| embedded:|[[computer_link.png|computer_link.png]] - {{{type=image/png, size=792 bytes, encoded=1072 bytes}}}|
| local file:|/%LOCAL_LINK%/[[./computer_link.png|./computer_link.png]]|
| remote link:|//none//|
image
<<<
usage: {{{[img[tooltip|computer_link.png]] or [img[tooltip|computer_link.png][link]]}}}
[img[tooltip|computer_link.png]]
<<<
/% DO NOT EDIT BELOW THIS POINT
---BEGIN_DATA---
image/png;base64,
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK
6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAKqSURBVDjL
fVPRS1NhFP/du+suJLFN3VRcrQjZQxor7DECwSh6CHHgMgNB6kF871+IHtxeJTFi
ENFLVA/hy9yLYLWtLbSRFGbqbJtt624T57Z7O+fbEozqG+c7996d8/v9zjnfJxmG
gf+tWCz2qFarjVerVYU8yAs7ODhg/1T6F0AikbBQwpzVavWq6jFUKAm6DhFNOTab
FQsLr6H8LTkej1/l5I6Ojp7W1lasf90Gs+u6Ad3QCchAncAqlQqUZDJZqdfrZjIR
9Fsm+3w+/6dk5HJ5AtIxdOWa+KZwstN5EoXCT8Fu8M9glYYwfiFOtNksePXyBc72
nRfs/J9QwKicfG8uRmESJIn2xiY8W1HT8ODuRcH4PrYMVtt9/UZDAUtlVg60tbVD
lmVIZHLT+JkBDL3B2HduQDwbzR7IrIDeCUCGyWQ6YnLT8+LmMWP2+DrmCwFRllBQ
bY5HkiWYFOWQXXgugXxjcg3G+U8PUS7WhAoBwBs3hEtgxhM2E7TUKtTKNroc7fjy
LQ3VaEepvIf9/X2M1yeRKWWRiEcbTWQAuVmnVsjj848PGBrowejEbZTLZZzZ2oIR
WsKb5SWMjY1BVVXs7OwgGo0ik8k0AFpaFNyf9CASiSCZNOHS4CBm/AF8XF1Fd3cX
+vv7RZLf7xe+t9eNkZFhbGxsQCEZM+Fw6DIDLS4uOt1ut4PnefqUC5F3b+Hz+ejY
2lAqlZDNZjE7O4tR3y3UqnuwWCw4che8Xu8zh8MxfGdqSnnyOEgXKQKFGsvHmReX
xGOnGExPTyMYDNYPAQKBgF3TtAzL8ng86HE66VgB6XQaa2tronaXy4XOzk4GyW1u
bsrhcPj74WWiEnI0iRjdvguhUAh2ux1ms1lMcHd3d4L8drFYfL6ystJCZaupVCpL
im7+AjUfrZnK+fliAAAAAElFTkSuQmCC
---END_DATA---
%/
| source file:|{{{F:\TiddlyWiki\TW jQuery\TreeView\images\disk.gif}}}|
| attached on:|6 June 2009 by YourName|
| embedded:|[[disk.gif|disk.gif]] - {{{type=image/gif, size=1225 bytes, encoded=1661 bytes}}}|
| local file:|//none//|
| remote link:|/%REMOTE_LINK%/[[http://www.symbex.net.au/Wiki/images/disk.gif|http://www.symbex.net.au/Wiki/images/disk.gif]]|
image
<<<
usage: {{{[img[tooltip|disk.gif]] or [img[tooltip|disk.gif][link]]}}}
[img[tooltip|disk.gif]]
<<<
/% DO NOT EDIT BELOW THIS POINT
---BEGIN_DATA---
image/gif;base64,
R0lGODlhFAAUAPcAAAAhvQAhxgAhzgAp1gAp5wAp7wAx5wgYYwgYewgYzgghnAgh
zggh1ggh3ggptQgpzggp1ggp3ggp5wgp7wgp9wgx3ggx5wg5xhAYWhAYrRAYvRAY
3hAhnBAhrRAh1hAh3hAh5xAppRAprRAxjBAxtRAxxhAxzhAx1hA5xhA5zhA59xBC
1hghaxgphBgpnBgptRgxhBgxjBgxlBgxzhgx1hg57xhC3hhC7yEpcyEpjCExWiEx
eyExjCE5Yykxeyk5jClCrSlKvSlKxilS1ila1iljpSlztTE5YzFCxjFKnDFKxjFS
nDFalDFazjGczjlClDlSjDlSxjlS3jla1jljxjlzxjmE1jmUvTmUxjmUzjmcxkJS
UkJSnEJStUJSzkJS1kJahEJatUJavUJjhEJjtUKUxkKUzkKU50pSvUpac0pz50qE
50qM70rO70rO91JjlFJ751KEzlKE3lKE51KE71KMzlKM3lKM51LO71LO91pje1pj
hFpjjFpjlFpre1prhFprjFp7vVp71lqE51qE71qM1lqM51q991rG91rO71rO92Nr
a2NrjGNzlGN7vWOEnGOEpWOExmOEzmOE52OMzmOM72trc2trnGt7jGt7pWt7zmuE
pWuU53NzjHOExnOMxnOc1nOc53uEpXuM1nuM3nuc1nuc3nul3oSEjISMnISc3oSl
3oS974yEjIyUpYyUtYyc54yltYy974y995SUlJSUnJSUpZScnJScpZSlrZS955S9
75S995yUnJyUpZycnJylzpy1vZy1xpy195y956WlxqW1xqW93q2tra2txq3G57Wl
tbW11rXG57XW9729vb3Ozr3O573e973n98bG3sbO78bW78be58bn98bv98bv/87O
xs7e587e987n987n/87v787v987v/87399bW1tbW59bn59bn79bn99bv79bv/9b3
99b3/97n597n797n997n/97v3t7v797v99739973/+fe7+f39+f3/+f/9+/v7+/3
9/f39////////////ywAAAAAFAAUAAAI/gBlyYHDydm1a9GOCfPk6NEjUJMmAdPH
bxCAB0Gu3YsHLVgmF0DA9Ahjo8SPZPsGLXigpFu7bchqvdHwZdMYMTcqhGhETiUE
JNWoxUSVpsOXXJjC5CTBp5fKBUqaFevVytKRDl6M4VJqIUQfWoMemAhy7FWqRVt0
oCFVjVmXGxJE8Kk16IIaU5984GCBgcWPJFyeKLkx4QWjWnMqEIjwwIMHEB88RGCw
wAOECBVk7KE1Z4CFFDNm0KAxA4VpFDNSrCDCQ0+vOw+GyNK1a9cwYsR25eY1q1Ac
GHroLpiSbd06dfOMq6M3b546WJpy7Ok1Z4GXaefOoXt3ztw7d+7Qr3krFYnHdDYB
okhr166cPXPk3JVrZ44b+RGb1ziggk0evXT/rUPPPfokt4okmvUiBwdkSGMOONyc
A8413nQHDjbkmVeLIAgsMU024GQTzogkZjPNKZHssEctlDBhxCGJ4NEGInnggUiM
iRxyxm/TjQJFEVaUcUUWZWBxRRlFYlFGFY740Akt5bjCCCB/+PFHlVZeeWUjonRi
yy/86IMMLbXQcgstvZxZpppk/vJMQAAAOw==
---END_DATA---
%/
| source file:|{{{F:\TiddlyWiki\TW jQuery\TreeView\images\file.gif}}}|
| attached on:|31 May 2009 by YourName|
| embedded:|[[file.gif|file.gif]] - {{{type=image/gif, size=145 bytes, encoded=199 bytes}}}|
| local file:|/%LOCAL_LINK%/[[file:///F:/TiddlyWiki/TW jQuery/TreeView/images/file.gif|file:///F:/TiddlyWiki/TW jQuery/TreeView/images/file.gif]]|
| remote link:|/%REMOTE_LINK%/[[http://www.symbex.net.au/Wiki/images/file.gif|http://www.symbex.net.au/Wiki/images/file.gif]]|
image
<<<
usage: {{{[img[tooltip|file.gif]] or [img[tooltip|file.gif][link]]}}}
[img[tooltip|file.gif]]
<<<
/% DO NOT EDIT BELOW THIS POINT
---BEGIN_DATA---
image/gif;base64,
R0lGODlhDwAOALMAAGpsYoy3oamMQdS9fDmJdP////9tcH98XwAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAACH5BAEAAAUALAAAAAAPAA4AAAQ+sBRBK5VYiizH5l82eCBX
jCS2GayRhZOpvkVgHwWg0XKM4azCAaATZnA9pAQ3sAUIhOWxZ/xRlcKDdsuVRAAA
Ow==
---END_DATA---
%/
| source file:|{{{F:\TiddlyWiki\TW jQuery\TreeView\images\folder-closed.gif}}}|
| attached on:|4 June 2009 by YourName|
| embedded:|[[folder-closed.gif|folder-closed.gif]] - {{{type=image/gif, size=887 bytes, encoded=1202 bytes}}}|
| local file:|/%LOCAL_LINK%/[[file:///F:/TiddlyWiki/TW jQuery/TreeView/images/folder-closed.gif|file:///F:/TiddlyWiki/TW jQuery/TreeView/images/folder-closed.gif]]|
| remote link:|/%REMOTE_LINK%/[[http://www.symbex.net.au/Wiki/images/folder-closed.gif|http://www.symbex.net.au/Wiki/images/folder-closed.gif]]|
image
<<<
usage: {{{[img[tooltip|folder-closed.gif]] or [img[tooltip|folder-closed.gif][link]]}}}
[img[tooltip|folder-closed.gif]]
<<<
/% DO NOT EDIT BELOW THIS POINT
---BEGIN_DATA---
image/gif;base64,
R0lGODlhEAAOAPcAAJdaH+C6eP/inq1zLf/////Sg59oJMOHNAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAACH5BAEAAAQALAAAAAAQAA4AAAhUAAkIHEiwoMGDBw8oPIBw
4ACCDxEeEECxQIAACxUSZNiQo8CJFEOKBABRpEkBEQUOOCkyJQEDBWLKnGmAIICZ
OAuQHAhgQE6ZOwcaGEq0aMOjBAICADs=
---END_DATA---
%/
| source file:|{{{F:\TiddlyWiki\TW jQuery\TreeView\images\folder.gif}}}|
| attached on:|31 May 2009 by YourName|
| embedded:|[[folder.gif|folder.gif]] - {{{type=image/gif, size=141 bytes, encoded=190 bytes}}}|
| local file:|/%LOCAL_LINK%/[[file:///F:/TiddlyWiki/TW jQuery/TreeView/images/folder.gif|file:///F:/TiddlyWiki/TW jQuery/TreeView/images/folder.gif]]|
| remote link:|/%REMOTE_LINK%/[[http://www.symbex.net.au/Wiki/images/folder.gif|http://www.symbex.net.au/Wiki/images/folder.gif]]|
image
<<<
usage: {{{[img[tooltip|folder.gif]] or [img[tooltip|folder.gif][link]]}}}
[img[tooltip|folder.gif]]
<<<
/% DO NOT EDIT BELOW THIS POINT
---BEGIN_DATA---
image/gif;base64,
R0lGODlhEAAOALMAAJdaH+C6eP/inq1zLf/////Sg59oJMOHNAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAACH5BAEAAAQALAAAAAAQAA4AAAQ6kMhJq7336IPnoB92CGQR
BJtGcR0rjWQsA6A83HhODDEvx4WPoRAkGo8hQPGInAAGzCbFQK1aO1hCBAA7
---END_DATA---
%/
/***
|''Name:''|ForEachTiddlerPlugin|
|''Version:''|1.0.8 (2007-04-12)|
|''Source:''|http://tiddlywiki.abego-software.de/#ForEachTiddlerPlugin|
|''Author:''|UdoBorkowski (ub [at] abego-software [dot] de)|
|''Licence:''|[[BSD open source license (abego Software)|http://www.abego-software.de/legal/apl-v10.html]]|
|''Copyright:''|© 2005-2007 [[abego Software|http://www.abego-software.de]]|
|''TiddlyWiki:''|1.2.38+, 2.0|
|''Browser:''|Firefox 1.0.4+; Firefox 1.5; InternetExplorer 6.0|
!Description
Create customizable lists, tables etc. for your selections of tiddlers. Specify the tiddlers to include and their order through a powerful language.
''Syntax:''
|>|{{{<<}}}''forEachTiddler'' [''in'' //tiddlyWikiPath//] [''where'' //whereCondition//] [''sortBy'' //sortExpression// [''ascending'' //or// ''descending'']] [''script'' //scriptText//] [//action// [//actionParameters//]]{{{>>}}}|
|//tiddlyWikiPath//|The filepath to the TiddlyWiki the macro should work on. When missing the current TiddlyWiki is used.|
|//whereCondition//|(quoted) JavaScript boolean expression. May refer to the build-in variables {{{tiddler}}} and {{{context}}}.|
|//sortExpression//|(quoted) JavaScript expression returning "comparable" objects (using '{{{<}}}','{{{>}}}','{{{==}}}'. May refer to the build-in variables {{{tiddler}}} and {{{context}}}.|
|//scriptText//|(quoted) JavaScript text. Typically defines JavaScript functions that are called by the various JavaScript expressions (whereClause, sortClause, action arguments,...)|
|//action//|The action that should be performed on every selected tiddler, in the given order. By default the actions [[addToList|AddToListAction]] and [[write|WriteAction]] are supported. When no action is specified [[addToList|AddToListAction]] is used.|
|//actionParameters//|(action specific) parameters the action may refer while processing the tiddlers (see action descriptions for details). <<tiddler [[JavaScript in actionParameters]]>>|
|>|~~Syntax formatting: Keywords in ''bold'', optional parts in [...]. 'or' means that exactly one of the two alternatives must exist.~~|
See details see [[ForEachTiddlerMacro]] and [[ForEachTiddlerExamples]].
!Revision history
* v1.0.8 (2007-04-12)
** Adapted to latest TiddlyWiki 2.2 Beta importTiddlyWiki API (introduced with changeset 2004). TiddlyWiki 2.2 Beta builds prior to changeset 2004 are no longer supported (but TiddlyWiki 2.1 and earlier, of cause)
* v1.0.7 (2007-03-28)
** Also support "pre" formatted TiddlyWikis (introduced with TW 2.2) (when using "in" clause to work on external tiddlers)
* v1.0.6 (2006-09-16)
** Context provides "viewerTiddler", i.e. the tiddler used to view the macro. Most times this is equal to the "inTiddler", but when using the "tiddler" macro both may be different.
** Support "begin", "end" and "none" expressions in "write" action
* v1.0.5 (2006-02-05)
** Pass tiddler containing the macro with wikify, context object also holds reference to tiddler containing the macro ("inTiddler"). Thanks to SimonBaird.
** Support Firefox 1.5.0.1
** Internal
*** Make "JSLint" conform
*** "Only install once"
* v1.0.4 (2006-01-06)
** Support TiddlyWiki 2.0
* v1.0.3 (2005-12-22)
** Features:
*** Write output to a file supports multi-byte environments (Thanks to Bram Chen)
*** Provide API to access the forEachTiddler functionality directly through JavaScript (see getTiddlers and performMacro)
** Enhancements:
*** Improved error messages on InternetExplorer.
* v1.0.2 (2005-12-10)
** Features:
*** context object also holds reference to store (TiddlyWiki)
** Fixed Bugs:
*** ForEachTiddler 1.0.1 has broken support on win32 Opera 8.51 (Thanks to BrunoSabin for reporting)
* v1.0.1 (2005-12-08)
** Features:
*** Access tiddlers stored in separated TiddlyWikis through the "in" option. I.e. you are no longer limited to only work on the "current TiddlyWiki".
*** Write output to an external file using the "toFile" option of the "write" action. With this option you may write your customized tiddler exports.
*** Use the "script" section to define "helper" JavaScript functions etc. to be used in the various JavaScript expressions (whereClause, sortClause, action arguments,...).
*** Access and store context information for the current forEachTiddler invocation (through the build-in "context" object) .
*** Improved script evaluation (for where/sort clause and write scripts).
* v1.0.0 (2005-11-20)
** initial version
!Code
***/
//{{{
//============================================================================
//============================================================================
// ForEachTiddlerPlugin
//============================================================================
//============================================================================
// Only install once
if (!version.extensions.ForEachTiddlerPlugin) {
if (!window.abego) window.abego = {};
version.extensions.ForEachTiddlerPlugin = {
major: 1, minor: 0, revision: 8,
date: new Date(2007,3,12),
source: "http://tiddlywiki.abego-software.de/#ForEachTiddlerPlugin",
licence: "[[BSD open source license (abego Software)|http://www.abego-software.de/legal/apl-v10.html]]",
copyright: "Copyright (c) abego Software GmbH, 2005-2007 (www.abego-software.de)"
};
// For backward compatibility with TW 1.2.x
//
if (!TiddlyWiki.prototype.forEachTiddler) {
TiddlyWiki.prototype.forEachTiddler = function(callback) {
for(var t in this.tiddlers) {
callback.call(this,t,this.tiddlers[t]);
}
};
}
//============================================================================
// forEachTiddler Macro
//============================================================================
version.extensions.forEachTiddler = {
major: 1, minor: 0, revision: 8, date: new Date(2007,3,12), provider: "http://tiddlywiki.abego-software.de"};
// ---------------------------------------------------------------------------
// Configurations and constants
// ---------------------------------------------------------------------------
config.macros.forEachTiddler = {
// Standard Properties
label: "forEachTiddler",
prompt: "Perform actions on a (sorted) selection of tiddlers",
// actions
actions: {
addToList: {},
write: {}
}
};
// ---------------------------------------------------------------------------
// The forEachTiddler Macro Handler
// ---------------------------------------------------------------------------
config.macros.forEachTiddler.getContainingTiddler = function(e) {
while(e && !hasClass(e,"tiddler"))
e = e.parentNode;
var title = e ? e.getAttribute("tiddler") : null;
return title ? store.getTiddler(title) : null;
};
config.macros.forEachTiddler.handler = function(place,macroName,params,wikifier,paramString,tiddler) {
// config.macros.forEachTiddler.traceMacroCall(place,macroName,params,wikifier,paramString,tiddler);
if (!tiddler) tiddler = config.macros.forEachTiddler.getContainingTiddler(place);
// --- Parsing ------------------------------------------
var i = 0; // index running over the params
// Parse the "in" clause
var tiddlyWikiPath = undefined;
if ((i < params.length) && params[i] == "in") {
i++;
if (i >= params.length) {
this.handleError(place, "TiddlyWiki path expected behind 'in'.");
return;
}
tiddlyWikiPath = this.paramEncode((i < params.length) ? params[i] : "");
i++;
}
// Parse the where clause
var whereClause ="true";
if ((i < params.length) && params[i] == "where") {
i++;
whereClause = this.paramEncode((i < params.length) ? params[i] : "");
i++;
}
// Parse the sort stuff
var sortClause = null;
var sortAscending = true;
if ((i < params.length) && params[i] == "sortBy") {
i++;
if (i >= params.length) {
this.handleError(place, "sortClause missing behind 'sortBy'.");
return;
}
sortClause = this.paramEncode(params[i]);
i++;
if ((i < params.length) && (params[i] == "ascending" || params[i] == "descending")) {
sortAscending = params[i] == "ascending";
i++;
}
}
// Parse the script
var scriptText = null;
if ((i < params.length) && params[i] == "script") {
i++;
scriptText = this.paramEncode((i < params.length) ? params[i] : "");
i++;
}
// Parse the action.
// When we are already at the end use the default action
var actionName = "addToList";
if (i < params.length) {
if (!config.macros.forEachTiddler.actions[params[i]]) {
this.handleError(place, "Unknown action '"+params[i]+"'.");
return;
} else {
actionName = params[i];
i++;
}
}
// Get the action parameter
// (the parsing is done inside the individual action implementation.)
var actionParameter = params.slice(i);
// --- Processing ------------------------------------------
try {
this.performMacro({
place: place,
inTiddler: tiddler,
whereClause: whereClause,
sortClause: sortClause,
sortAscending: sortAscending,
actionName: actionName,
actionParameter: actionParameter,
scriptText: scriptText,
tiddlyWikiPath: tiddlyWikiPath});
} catch (e) {
this.handleError(place, e);
}
};
// Returns an object with properties "tiddlers" and "context".
// tiddlers holds the (sorted) tiddlers selected by the parameter,
// context the context of the execution of the macro.
//
// The action is not yet performed.
//
// @parameter see performMacro
//
config.macros.forEachTiddler.getTiddlersAndContext = function(parameter) {
var context = config.macros.forEachTiddler.createContext(parameter.place, parameter.whereClause, parameter.sortClause, parameter.sortAscending, parameter.actionName, parameter.actionParameter, parameter.scriptText, parameter.tiddlyWikiPath, parameter.inTiddler);
var tiddlyWiki = parameter.tiddlyWikiPath ? this.loadTiddlyWiki(parameter.tiddlyWikiPath) : store;
context["tiddlyWiki"] = tiddlyWiki;
// Get the tiddlers, as defined by the whereClause
var tiddlers = this.findTiddlers(parameter.whereClause, context, tiddlyWiki);
context["tiddlers"] = tiddlers;
// Sort the tiddlers, when sorting is required.
if (parameter.sortClause) {
this.sortTiddlers(tiddlers, parameter.sortClause, parameter.sortAscending, context);
}
return {tiddlers: tiddlers, context: context};
};
// Returns the (sorted) tiddlers selected by the parameter.
//
// The action is not yet performed.
//
// @parameter see performMacro
//
config.macros.forEachTiddler.getTiddlers = function(parameter) {
return this.getTiddlersAndContext(parameter).tiddlers;
};
// Performs the macros with the given parameter.
//
// @param parameter holds the parameter of the macro as separate properties.
// The following properties are supported:
//
// place
// whereClause
// sortClause
// sortAscending
// actionName
// actionParameter
// scriptText
// tiddlyWikiPath
//
// All properties are optional.
// For most actions the place property must be defined.
//
config.macros.forEachTiddler.performMacro = function(parameter) {
var tiddlersAndContext = this.getTiddlersAndContext(parameter);
// Perform the action
var actionName = parameter.actionName ? parameter.actionName : "addToList";
var action = config.macros.forEachTiddler.actions[actionName];
if (!action) {
this.handleError(parameter.place, "Unknown action '"+actionName+"'.");
return;
}
var actionHandler = action.handler;
actionHandler(parameter.place, tiddlersAndContext.tiddlers, parameter.actionParameter, tiddlersAndContext.context);
};
// ---------------------------------------------------------------------------
// The actions
// ---------------------------------------------------------------------------
// Internal.
//
// --- The addToList Action -----------------------------------------------
//
config.macros.forEachTiddler.actions.addToList.handler = function(place, tiddlers, parameter, context) {
// Parse the parameter
var p = 0;
// Check for extra parameters
if (parameter.length > p) {
config.macros.forEachTiddler.createExtraParameterErrorElement(place, "addToList", parameter, p);
return;
}
// Perform the action.
var list = document.createElement("ul");
place.appendChild(list);
for (var i = 0; i < tiddlers.length; i++) {
var tiddler = tiddlers[i];
var listItem = document.createElement("li");
list.appendChild(listItem);
createTiddlyLink(listItem, tiddler.title, true);
}
};
abego.parseNamedParameter = function(name, parameter, i) {
var beginExpression = null;
if ((i < parameter.length) && parameter[i] == name) {
i++;
if (i >= parameter.length) {
throw "Missing text behind '%0'".format([name]);
}
return config.macros.forEachTiddler.paramEncode(parameter[i]);
}
return null;
}
// Internal.
//
// --- The write Action ---------------------------------------------------
//
config.macros.forEachTiddler.actions.write.handler = function(place, tiddlers, parameter, context) {
// Parse the parameter
var p = 0;
if (p >= parameter.length) {
this.handleError(place, "Missing expression behind 'write'.");
return;
}
var textExpression = config.macros.forEachTiddler.paramEncode(parameter[p]);
p++;
// Parse the "begin" option
var beginExpression = abego.parseNamedParameter("begin", parameter, p);
if (beginExpression !== null)
p += 2;
var endExpression = abego.parseNamedParameter("end", parameter, p);
if (endExpression !== null)
p += 2;
var noneExpression = abego.parseNamedParameter("none", parameter, p);
if (noneExpression !== null)
p += 2;
// Parse the "toFile" option
var filename = null;
var lineSeparator = undefined;
if ((p < parameter.length) && parameter[p] == "toFile") {
p++;
if (p >= parameter.length) {
this.handleError(place, "Filename expected behind 'toFile' of 'write' action.");
return;
}
filename = config.macros.forEachTiddler.getLocalPath(config.macros.forEachTiddler.paramEncode(parameter[p]));
p++;
if ((p < parameter.length) && parameter[p] == "withLineSeparator") {
p++;
if (p >= parameter.length) {
this.handleError(place, "Line separator text expected behind 'withLineSeparator' of 'write' action.");
return;
}
lineSeparator = config.macros.forEachTiddler.paramEncode(parameter[p]);
p++;
}
}
// Check for extra parameters
if (parameter.length > p) {
config.macros.forEachTiddler.createExtraParameterErrorElement(place, "write", parameter, p);
return;
}
// Perform the action.
var func = config.macros.forEachTiddler.getEvalTiddlerFunction(textExpression, context);
var count = tiddlers.length;
var text = "";
if (count > 0 && beginExpression)
text += config.macros.forEachTiddler.getEvalTiddlerFunction(beginExpression, context)(undefined, context, count, undefined);
for (var i = 0; i < count; i++) {
var tiddler = tiddlers[i];
text += func(tiddler, context, count, i);
}
if (count > 0 && endExpression)
text += config.macros.forEachTiddler.getEvalTiddlerFunction(endExpression, context)(undefined, context, count, undefined);
if (count == 0 && noneExpression)
text += config.macros.forEachTiddler.getEvalTiddlerFunction(noneExpression, context)(undefined, context, count, undefined);
if (filename) {
if (lineSeparator !== undefined) {
lineSeparator = lineSeparator.replace(/\\n/mg, "\n").replace(/\\r/mg, "\r");
text = text.replace(/\n/mg,lineSeparator);
}
saveFile(filename, convertUnicodeToUTF8(text));
} else {
var wrapper = createTiddlyElement(place, "span");
wikify(text, wrapper, null/* highlightRegExp */, context.inTiddler);
}
};
// ---------------------------------------------------------------------------
// Helpers
// ---------------------------------------------------------------------------
// Internal.
//
config.macros.forEachTiddler.createContext = function(placeParam, whereClauseParam, sortClauseParam, sortAscendingParam, actionNameParam, actionParameterParam, scriptText, tiddlyWikiPathParam, inTiddlerParam) {
return {
place : placeParam,
whereClause : whereClauseParam,
sortClause : sortClauseParam,
sortAscending : sortAscendingParam,
script : scriptText,
actionName : actionNameParam,
actionParameter : actionParameterParam,
tiddlyWikiPath : tiddlyWikiPathParam,
inTiddler : inTiddlerParam, // the tiddler containing the <<forEachTiddler ...>> macro call.
viewerTiddler : config.macros.forEachTiddler.getContainingTiddler(placeParam) // the tiddler showing the forEachTiddler result
};
};
// Internal.
//
// Returns a TiddlyWiki with the tiddlers loaded from the TiddlyWiki of
// the given path.
//
config.macros.forEachTiddler.loadTiddlyWiki = function(path, idPrefix) {
if (!idPrefix) {
idPrefix = "store";
}
var lenPrefix = idPrefix.length;
// Read the content of the given file
var content = loadFile(this.getLocalPath(path));
if(content === null) {
throw "TiddlyWiki '"+path+"' not found.";
}
var tiddlyWiki = new TiddlyWiki();
// Starting with TW 2.2 there is a helper function to import the tiddlers
if (tiddlyWiki.importTiddlyWiki) {
if (!tiddlyWiki.importTiddlyWiki(content))
throw "File '"+path+"' is not a TiddlyWiki.";
tiddlyWiki.dirty = false;
return tiddlyWiki;
}
// The legacy code, for TW < 2.2
// Locate the storeArea div's
var posOpeningDiv = content.indexOf(startSaveArea);
var posClosingDiv = content.lastIndexOf(endSaveArea);
if((posOpeningDiv == -1) || (posClosingDiv == -1)) {
throw "File '"+path+"' is not a TiddlyWiki.";
}
var storageText = content.substr(posOpeningDiv + startSaveArea.length, posClosingDiv);
// Create a "div" element that contains the storage text
var myStorageDiv = document.createElement("div");
myStorageDiv.innerHTML = storageText;
myStorageDiv.normalize();
// Create all tiddlers in a new TiddlyWiki
// (following code is modified copy of TiddlyWiki.prototype.loadFromDiv)
var store = myStorageDiv.childNodes;
for(var t = 0; t < store.length; t++) {
var e = store[t];
var title = null;
if(e.getAttribute)
title = e.getAttribute("tiddler");
if(!title && e.id && e.id.substr(0,lenPrefix) == idPrefix)
title = e.id.substr(lenPrefix);
if(title && title !== "") {
var tiddler = tiddlyWiki.createTiddler(title);
tiddler.loadFromDiv(e,title);
}
}
tiddlyWiki.dirty = false;
return tiddlyWiki;
};
// Internal.
//
// Returns a function that has a function body returning the given javaScriptExpression.
// The function has the parameters:
//
// (tiddler, context, count, index)
//
config.macros.forEachTiddler.getEvalTiddlerFunction = function (javaScriptExpression, context) {
var script = context["script"];
var functionText = "var theFunction = function(tiddler, context, count, index) { return "+javaScriptExpression+"}";
var fullText = (script ? script+";" : "")+functionText+";theFunction;";
return eval(fullText);
};
// Internal.
//
config.macros.forEachTiddler.findTiddlers = function(whereClause, context, tiddlyWiki) {
var result = [];
var func = config.macros.forEachTiddler.getEvalTiddlerFunction(whereClause, context);
tiddlyWiki.forEachTiddler(function(title,tiddler) {
if (func(tiddler, context, undefined, undefined)) {
result.push(tiddler);
}
});
return result;
};
// Internal.
//
config.macros.forEachTiddler.createExtraParameterErrorElement = function(place, actionName, parameter, firstUnusedIndex) {
var message = "Extra parameter behind '"+actionName+"':";
for (var i = firstUnusedIndex; i < parameter.length; i++) {
message += " "+parameter[i];
}
this.handleError(place, message);
};
// Internal.
//
config.macros.forEachTiddler.sortAscending = function(tiddlerA, tiddlerB) {
var result =
(tiddlerA.forEachTiddlerSortValue == tiddlerB.forEachTiddlerSortValue)
? 0
: (tiddlerA.forEachTiddlerSortValue < tiddlerB.forEachTiddlerSortValue)
? -1
: +1;
return result;
};
// Internal.
//
config.macros.forEachTiddler.sortDescending = function(tiddlerA, tiddlerB) {
var result =
(tiddlerA.forEachTiddlerSortValue == tiddlerB.forEachTiddlerSortValue)
? 0
: (tiddlerA.forEachTiddlerSortValue < tiddlerB.forEachTiddlerSortValue)
? +1
: -1;
return result;
};
// Internal.
//
config.macros.forEachTiddler.sortTiddlers = function(tiddlers, sortClause, ascending, context) {
// To avoid evaluating the sortClause whenever two items are compared
// we pre-calculate the sortValue for every item in the array and store it in a
// temporary property ("forEachTiddlerSortValue") of the tiddlers.
var func = config.macros.forEachTiddler.getEvalTiddlerFunction(sortClause, context);
var count = tiddlers.length;
var i;
for (i = 0; i < count; i++) {
var tiddler = tiddlers[i];
tiddler.forEachTiddlerSortValue = func(tiddler,context, undefined, undefined);
}
// Do the sorting
tiddlers.sort(ascending ? this.sortAscending : this.sortDescending);
// Delete the temporary property that holds the sortValue.
for (i = 0; i < tiddlers.length; i++) {
delete tiddlers[i].forEachTiddlerSortValue;
}
};
// Internal.
//
config.macros.forEachTiddler.trace = function(message) {
displayMessage(message);
};
// Internal.
//
config.macros.forEachTiddler.traceMacroCall = function(place,macroName,params) {
var message ="<<"+macroName;
for (var i = 0; i < params.length; i++) {
message += " "+params[i];
}
message += ">>";
displayMessage(message);
};
// Internal.
//
// Creates an element that holds an error message
//
config.macros.forEachTiddler.createErrorElement = function(place, exception) {
var message = (exception.description) ? exception.description : exception.toString();
return createTiddlyElement(place,"span",null,"forEachTiddlerError","<<forEachTiddler ...>>: "+message);
};
// Internal.
//
// @param place [may be null]
//
config.macros.forEachTiddler.handleError = function(place, exception) {
if (place) {
this.createErrorElement(place, exception);
} else {
throw exception;
}
};
// Internal.
//
// Encodes the given string.
//
// Replaces
// "$))" to ">>"
// "$)" to ">"
//
config.macros.forEachTiddler.paramEncode = function(s) {
var reGTGT = new RegExp("\\$\\)\\)","mg");
var reGT = new RegExp("\\$\\)","mg");
return s.replace(reGTGT, ">>").replace(reGT, ">");
};
// Internal.
//
// Returns the given original path (that is a file path, starting with "file:")
// as a path to a local file, in the systems native file format.
//
// Location information in the originalPath (i.e. the "#" and stuff following)
// is stripped.
//
config.macros.forEachTiddler.getLocalPath = function(originalPath) {
// Remove any location part of the URL
var hashPos = originalPath.indexOf("#");
if(hashPos != -1)
originalPath = originalPath.substr(0,hashPos);
// Convert to a native file format assuming
// "file:///x:/path/path/path..." - pc local file --> "x:\path\path\path..."
// "file://///server/share/path/path/path..." - FireFox pc network file --> "\\server\share\path\path\path..."
// "file:///path/path/path..." - mac/unix local file --> "/path/path/path..."
// "file://server/share/path/path/path..." - pc network file --> "\\server\share\path\path\path..."
var localPath;
if(originalPath.charAt(9) == ":") // pc local file
localPath = unescape(originalPath.substr(8)).replace(new RegExp("/","g"),"\\");
else if(originalPath.indexOf("file://///") === 0) // FireFox pc network file
localPath = "\\\\" + unescape(originalPath.substr(10)).replace(new RegExp("/","g"),"\\");
else if(originalPath.indexOf("file:///") === 0) // mac/unix local file
localPath = unescape(originalPath.substr(7));
else if(originalPath.indexOf("file:/") === 0) // mac/unix local file
localPath = unescape(originalPath.substr(5));
else // pc network file
localPath = "\\\\" + unescape(originalPath.substr(7)).replace(new RegExp("/","g"),"\\");
return localPath;
};
// ---------------------------------------------------------------------------
// Stylesheet Extensions (may be overridden by local StyleSheet)
// ---------------------------------------------------------------------------
//
setStylesheet(
".forEachTiddlerError{color: #ffffff;background-color: #880000;}",
"forEachTiddler");
//============================================================================
// End of forEachTiddler Macro
//============================================================================
//============================================================================
// String.startsWith Function
//============================================================================
//
// Returns true if the string starts with the given prefix, false otherwise.
//
version.extensions["String.startsWith"] = {major: 1, minor: 0, revision: 0, date: new Date(2005,11,20), provider: "http://tiddlywiki.abego-software.de"};
//
String.prototype.startsWith = function(prefix) {
var n = prefix.length;
return (this.length >= n) && (this.slice(0, n) == prefix);
};
//============================================================================
// String.endsWith Function
//============================================================================
//
// Returns true if the string ends with the given suffix, false otherwise.
//
version.extensions["String.endsWith"] = {major: 1, minor: 0, revision: 0, date: new Date(2005,11,20), provider: "http://tiddlywiki.abego-software.de"};
//
String.prototype.endsWith = function(suffix) {
var n = suffix.length;
return (this.length >= n) && (this.right(n) == suffix);
};
//============================================================================
// String.contains Function
//============================================================================
//
// Returns true when the string contains the given substring, false otherwise.
//
version.extensions["String.contains"] = {major: 1, minor: 0, revision: 0, date: new Date(2005,11,20), provider: "http://tiddlywiki.abego-software.de"};
//
String.prototype.contains = function(substring) {
return this.indexOf(substring) >= 0;
};
//============================================================================
// Array.indexOf Function
//============================================================================
//
// Returns the index of the first occurance of the given item in the array or
// -1 when no such item exists.
//
// @param item [may be null]
//
version.extensions["Array.indexOf"] = {major: 1, minor: 0, revision: 0, date: new Date(2005,11,20), provider: "http://tiddlywiki.abego-software.de"};
//
Array.prototype.indexOf = function(item) {
for (var i = 0; i < this.length; i++) {
if (this[i] == item) {
return i;
}
}
return -1;
};
//============================================================================
// Array.contains Function
//============================================================================
//
// Returns true when the array contains the given item, otherwise false.
//
// @param item [may be null]
//
version.extensions["Array.contains"] = {major: 1, minor: 0, revision: 0, date: new Date(2005,11,20), provider: "http://tiddlywiki.abego-software.de"};
//
Array.prototype.contains = function(item) {
return (this.indexOf(item) >= 0);
};
//============================================================================
// Array.containsAny Function
//============================================================================
//
// Returns true when the array contains at least one of the elements
// of the item. Otherwise (or when items contains no elements) false is returned.
//
version.extensions["Array.containsAny"] = {major: 1, minor: 0, revision: 0, date: new Date(2005,11,20), provider: "http://tiddlywiki.abego-software.de"};
//
Array.prototype.containsAny = function(items) {
for(var i = 0; i < items.length; i++) {
if (this.contains(items[i])) {
return true;
}
}
return false;
};
//============================================================================
// Array.containsAll Function
//============================================================================
//
// Returns true when the array contains all the items, otherwise false.
//
// When items is null false is returned (even if the array contains a null).
//
// @param items [may be null]
//
version.extensions["Array.containsAll"] = {major: 1, minor: 0, revision: 0, date: new Date(2005,11,20), provider: "http://tiddlywiki.abego-software.de"};
//
Array.prototype.containsAll = function(items) {
for(var i = 0; i < items.length; i++) {
if (!this.contains(items[i])) {
return false;
}
}
return true;
};
} // of "install only once"
// Used Globals (for JSLint) ==============
// ... DOM
/*global document */
// ... TiddlyWiki Core
/*global convertUnicodeToUTF8, createTiddlyElement, createTiddlyLink,
displayMessage, endSaveArea, hasClass, loadFile, saveFile,
startSaveArea, store, wikify */
//}}}
/***
!Licence and Copyright
Copyright (c) abego Software ~GmbH, 2005 ([[www.abego-software.de|http://www.abego-software.de]])
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this
list of conditions and the following disclaimer in the documentation and/or other
materials provided with the distribution.
Neither the name of abego Software nor the names of its contributors may be
used to endorse or promote products derived from this software without specific
prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.
***/
| source file:|{{{C:\Documents and Settings\Administrador\Desktop\resilience\house.png}}}|
| attached on:|25 Junho 2009 by Skye|
| embedded:|[[house.png|house.png]] - {{{type=image/png, size=3279 bytes, encoded=4440 bytes}}}|
| local file:|/%LOCAL_LINK%/[[./house.png|./house.png]]|
| remote link:|//none//|
image
<<<
usage: {{{[img[tooltip|house.png]] or [img[tooltip|house.png][link]]}}}
[img[tooltip|house.png]]
<<<
/% DO NOT EDIT BELOW THIS POINT
---BEGIN_DATA---
image/png;base64,
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAA3XAAAN
1wFCKJt4AAAKTWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVN3WJP3Fj7f
92UPVkLY8LGXbIEAIiOsCMgQWaIQkgBhhBASQMWFiApWFBURnEhVxILVCkidiOKg
KLhnQYqIWotVXDjuH9yntX167+3t+9f7vOec5/zOec8PgBESJpHmomoAOVKFPDrY
H49PSMTJvYACFUjgBCAQ5svCZwXFAADwA3l4fnSwP/wBr28AAgBw1S4kEsfh/4O6
UCZXACCRAOAiEucLAZBSAMguVMgUAMgYALBTs2QKAJQAAGx5fEIiAKoNAOz0ST4F
ANipk9wXANiiHKkIAI0BAJkoRyQCQLsAYFWBUiwCwMIAoKxAIi4EwK4BgFm2MkcC
gL0FAHaOWJAPQGAAgJlCLMwAIDgCAEMeE80DIEwDoDDSv+CpX3CFuEgBAMDLlc2X
S9IzFLiV0Bp38vDg4iHiwmyxQmEXKRBmCeQinJebIxNI5wNMzgwAABr50cH+OD+Q
5+bk4eZm52zv9MWi/mvwbyI+IfHf/ryMAgQAEE7P79pf5eXWA3DHAbB1v2upWwDa
VgBo3/ldM9sJoFoK0Hr5i3k4/EAenqFQyDwdHAoLC+0lYqG9MOOLPv8z4W/gi372
/EAe/tt68ABxmkCZrcCjg/1xYW52rlKO58sEQjFu9+cj/seFf/2OKdHiNLFcLBWK
8ViJuFAiTcd5uVKRRCHJleIS6X8y8R+W/QmTdw0ArIZPwE62B7XLbMB+7gECiw5Y
0nYAQH7zLYwaC5EAEGc0Mnn3AACTv/mPQCsBAM2XpOMAALzoGFyolBdMxggAAESg
gSqwQQcMwRSswA6cwR28wBcCYQZEQAwkwDwQQgbkgBwKoRiWQRlUwDrYBLWwAxqg
EZrhELTBMTgN5+ASXIHrcBcGYBiewhi8hgkEQcgIE2EhOogRYo7YIs4IF5mOBCJh
SDSSgKQg6YgUUSLFyHKkAqlCapFdSCPyLXIUOY1cQPqQ28ggMor8irxHMZSBslED
1AJ1QLmoHxqKxqBz0XQ0D12AlqJr0Rq0Hj2AtqKn0UvodXQAfYqOY4DRMQ5mjNlh
XIyHRWCJWBomxxZj5Vg1Vo81Yx1YN3YVG8CeYe8IJAKLgBPsCF6EEMJsgpCQR1hM
WEOoJewjtBK6CFcJg4Qxwicik6hPtCV6EvnEeGI6sZBYRqwm7iEeIZ4lXicOE1+T
SCQOyZLkTgohJZAySQtJa0jbSC2kU6Q+0hBpnEwm65Btyd7kCLKArCCXkbeQD5BP
kvvJw+S3FDrFiOJMCaIkUqSUEko1ZT/lBKWfMkKZoKpRzame1AiqiDqfWkltoHZQ
L1OHqRM0dZolzZsWQ8ukLaPV0JppZ2n3aC/pdLoJ3YMeRZfQl9Jr6Afp5+mD9HcM
DYYNg8dIYigZaxl7GacYtxkvmUymBdOXmchUMNcyG5lnmA+Yb1VYKvYqfBWRyhKV
OpVWlX6V56pUVXNVP9V5qgtUq1UPq15WfaZGVbNQ46kJ1Bar1akdVbupNq7OUndS
j1DPUV+jvl/9gvpjDbKGhUaghkijVGO3xhmNIRbGMmXxWELWclYD6yxrmE1iW7L5
7Ex2Bfsbdi97TFNDc6pmrGaRZp3mcc0BDsax4PA52ZxKziHODc57LQMtPy2x1mqt
Zq1+rTfaetq+2mLtcu0W7eva73VwnUCdLJ31Om0693UJuja6UbqFutt1z+o+02Pr
eekJ9cr1Dund0Uf1bfSj9Rfq79bv0R83MDQINpAZbDE4Y/DMkGPoa5hpuNHwhOGo
EctoupHEaKPRSaMnuCbuh2fjNXgXPmasbxxirDTeZdxrPGFiaTLbpMSkxeS+Kc2U
a5pmutG003TMzMgs3KzYrMnsjjnVnGueYb7ZvNv8jYWlRZzFSos2i8eW2pZ8ywWW
TZb3rJhWPlZ5VvVW16xJ1lzrLOtt1ldsUBtXmwybOpvLtqitm63Edptt3xTiFI8p
0in1U27aMez87ArsmuwG7Tn2YfYl9m32zx3MHBId1jt0O3xydHXMdmxwvOuk4TTD
qcSpw+lXZxtnoXOd8zUXpkuQyxKXdpcXU22niqdun3rLleUa7rrStdP1o5u7m9yt
2W3U3cw9xX2r+00umxvJXcM970H08PdY4nHM452nm6fC85DnL152Xlle+70eT7Oc
Jp7WMG3I28Rb4L3Le2A6Pj1l+s7pAz7GPgKfep+Hvqa+It89viN+1n6Zfgf8nvs7
+sv9j/i/4XnyFvFOBWABwQHlAb2BGoGzA2sDHwSZBKUHNQWNBbsGLww+FUIMCQ1Z
H3KTb8AX8hv5YzPcZyya0RXKCJ0VWhv6MMwmTB7WEY6GzwjfEH5vpvlM6cy2CIjg
R2yIuB9pGZkX+X0UKSoyqi7qUbRTdHF09yzWrORZ+2e9jvGPqYy5O9tqtnJ2Z6xq
bFJsY+ybuIC4qriBeIf4RfGXEnQTJAntieTE2MQ9ieNzAudsmjOc5JpUlnRjruXc
orkX5unOy553PFk1WZB8OIWYEpeyP+WDIEJQLxhP5aduTR0T8oSbhU9FvqKNolGx
t7hKPJLmnVaV9jjdO31D+miGT0Z1xjMJT1IreZEZkrkj801WRNberM/ZcdktOZSc
lJyjUg1plrQr1zC3KLdPZisrkw3keeZtyhuTh8r35CP5c/PbFWyFTNGjtFKuUA4W
TC+oK3hbGFt4uEi9SFrUM99m/ur5IwuCFny9kLBQuLCz2Lh4WfHgIr9FuxYji1MX
dy4xXVK6ZHhp8NJ9y2jLspb9UOJYUlXyannc8o5Sg9KlpUMrglc0lamUycturvRa
uWMVYZVkVe9ql9VbVn8qF5VfrHCsqK74sEa45uJXTl/VfPV5bdra3kq3yu3rSOuk
626s91m/r0q9akHV0IbwDa0b8Y3lG19tSt50oXpq9Y7NtM3KzQM1YTXtW8y2rNvy
oTaj9nqdf13LVv2tq7e+2Sba1r/dd3vzDoMdFTve75TsvLUreFdrvUV99W7S7oLd
jxpiG7q/5n7duEd3T8Wej3ulewf2Re/ranRvbNyvv7+yCW1SNo0eSDpw5ZuAb9qb
7Zp3tXBaKg7CQeXBJ9+mfHvjUOihzsPcw83fmX+39QjrSHkr0jq/dawto22gPaG9
7+iMo50dXh1Hvrf/fu8x42N1xzWPV56gnSg98fnkgpPjp2Snnp1OPz3Umdx590z8
mWtdUV29Z0PPnj8XdO5Mt1/3yfPe549d8Lxw9CL3Ytslt0utPa49R35w/eFIr1tv
62X3y+1XPK509E3rO9Hv03/6asDVc9f41y5dn3m978bsG7duJt0cuCW69fh29u0X
dwruTNxdeo94r/y+2v3qB/oP6n+0/rFlwG3g+GDAYM/DWQ/vDgmHnv6U/9OH4dJH
zEfVI0YjjY+dHx8bDRq98mTOk+GnsqcTz8p+Vv9563Or59/94vtLz1j82PAL+YvP
v655qfNy76uprzrHI8cfvM55PfGm/K3O233vuO+638e9H5ko/ED+UPPR+mPHp9BP
9z7nfP78L/eE8/sl0p8zAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMA
APn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAB7ElEQVR42pSTv2tTURSAv3v7
3kvTQPIkoFWHZFF7E2hVrBFcHIxCE6eH1EonkaKjGFw6tG7Bqf4Y6tQli/XHYBPw
D/A/EHlbXMRa2/BiUYkhedch9tmXUCFnulzO991zDufCAeEpVayAroD2lHrIMLEH
e0ppT6k9SXFoeLE4o8s3b/xXIvrhmutuFJRi/dxZtidOceTwOCe8JlNra9Rcl4JS
1w65bnVAsB9+U5xh9/gxlMoyFo3SarUY2/xKtlwekIh+uHr7Fp1kknQqTSqVAkBr
aLfb7NbrnCyVQhKxH373oETHMMnlLmDbdtCa1hoA3/f5ubVFcm4ukIgK6IJSvH9U
xms2OT+dIx6PI4QICXzfD86GEIzm89RcFwO4A6xOnT7D/dI9NqpvA/DJyjNWHj9F
ixF0p4UwRtHd3ywvLdHupczKeXi+MJkhEU8AoNQEmYwim830XhSSkfSV3sRTeZAW
WmsWJjPMw7rs79OyLEzTxDCM4P5L4wcAH+o7dLt+kAswIJBSIqXEkp8B6GDx8VMD
gG/eLzoiElokY2Cz/g7P5ygAly5OczUaQ+pxLkuT7U1CFRj9Ffybfu+l794Ootk4
cPUDQSQSwbZtEokEAokQEIvFcBxnALIsK/wXrs86rwCH4WL15YvXd/8MAFb41aNn
hEKxAAAAAElFTkSuQmCC
---END_DATA---
%/
| source file:|{{{C:\Documents and Settings\Administrador\Desktop\resilience\layout_sidebar.png}}}|
| attached on:|25 Junho 2009 by Skye|
| embedded:|[[layout_sidebar.png|layout_sidebar.png]] - {{{type=image/png, size=479 bytes, encoded=650 bytes}}}|
| local file:|/%LOCAL_LINK%/[[./layout_sidebar.png|./layout_sidebar.png]]|
| remote link:|//none//|
image
<<<
usage: {{{[img[tooltip|layout_sidebar.png]] or [img[tooltip|layout_sidebar.png][link]]}}}
[img[tooltip|layout_sidebar.png]]
<<<
/% DO NOT EDIT BELOW THIS POINT
---BEGIN_DATA---
image/png;base64,
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK
6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAFxSURBVDjL
pZO/S1ZRGMc/5/aqIFhYKCKBOGTttYT1JziJsw26uQit/gHOOgQR7tHi0tjmWIGD
PyIoGgQd1BCqe+8532/Dfd/7evEtFR84nOE853O+z/c5T7DNTaIF8GL98zIwATwD
HoONCchkWSALIAklTvta/vrw/u0nyLycfRSwzfzap9e+Zqy+3bHtSgHwHODN1nEt
7X+FLUzfZe/HaV6XgDzWOXwwOgBACL0v7x/mAPz+U/bXANuDnVe/HOVXMs8phS5A
bnWkXTWUxHlAAFh6v4iUkM2rmQ2+HfzseXly/A5WAiCrABWtKApGxu5R5GWdPDTY
31h1CbEBqDwviwhAnheNF8tkytTsixS7gFArKNug8nITY3HOg3bXY4ztPTWS+25d
7KkduwBFGQgpJrY/7mGrTjz7VfRWoGqIWgBJ+g5MvlvYvOD2P0uwT7o/MWlzbuXD
lO2nSMNSBAsrYUVwwhLV5NqgM8h2AcJNx/kvz3X5EBChVawAAAAASUVORK5CYII=
---END_DATA---
%/
| source file:|{{{F:\TiddlyWiki\TW Help\ScienceImages\mainmenugray7ef.gif}}}|
| attached on:|26 May 2009 by YourName|
| embedded:|[[mainmenugray7ef.gif|mainmenugray7ef.gif]] - {{{type=image/gif, size=105 bytes, encoded=142 bytes}}}|
| local file:|//none//|
| remote link:|//none//|
image
<<<
usage: {{{[img[tooltip|mainmenugray7ef.gif]] or [img[tooltip|mainmenugray7ef.gif][link]]}}}
[img[tooltip|mainmenugray7ef.gif]]
<<<
/% DO NOT EDIT BELOW THIS POINT
---BEGIN_DATA---
image/gif;base64,
R0lGODlhAQBkAPMPALa2trm5ub29vb+/v8TExMbGxsvLy9HR0dfX19vb29zc3OHh
4efn5+vr6+zs7O7u7iH5BAAAAAAALAAAAAABAGQAAAQW8D3X2FIJHVPIEAEgjmRp
nmiqrqwZAQA7
---END_DATA---
%/
[[community planning : methods : planning for real|http://www.communityplanning.net/methods/planning_for_real.php]]
| source file:|{{{F:\TiddlyWiki\TWExperiments\jQuery\images\minus.gif}}}|
| attached on:|31 May 2009 by YourName|
| embedded:|[[minus.gif|minus.gif]] - {{{type=image/gif, size=837 bytes, encoded=1133 bytes}}}|
| local file:|/%LOCAL_LINK%/[[./images/minus.gif|./images/minus.gif]]|
| remote link:|/%REMOTE_LINK%/[[http://www.symbex.net.au/Wiki/images/minus.gif|http://www.symbex.net.au/Wiki/images/minus.gif]]|
image
<<<
usage: {{{[img[tooltip|minus.gif]] or [img[tooltip|minus.gif][link]]}}}
[img[tooltip|minus.gif]]
<<<
/% DO NOT EDIT BELOW THIS POINT
---BEGIN_DATA---
image/gif;base64,
R0lGODlhCQAJAPcAAAAAAICAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAACH5BAEAAP8ALAAAAAAJAAkAAAgiAAMIHEjwn8GD/wQiPKhw
YcIA/wBIlPjQYUWHDRcS3BggIAA7
---END_DATA---
%/
<!--{{{-->
<div class='toolbar' ><span macro='toolbar -closeTiddler closeOthers +editTiddler deleteTiddler > fields syncing permalink references jump'></span><span macro='uploadTiddler'></span><span style="padding-right:2em;" macro='tagger'></div></div>
<div class='title' macro='view title'></div>
<div class='tagging' macro='tagging'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<!--}}}-->
| source file:|{{{F:\TiddlyWiki\TWExperiments\jQuery\images\openbook.gif}}}|
| attached on:|31 May 2009 by YourName|
| embedded:|[[openbook.gif|openbook.gif]] - {{{type=image/gif, size=397 bytes, encoded=540 bytes}}}|
| local file:|/%LOCAL_LINK%/[[./images/openbook.gif|./images/openbook.gif]]|
| remote link:|/%REMOTE_LINK%/[[http://www.symbex.net.au/Wiki/images/openbook.gif|http://www.symbex.net.au/Wiki/images/openbook.gif]]|
image
<<<
usage: {{{[img[tooltip|openbook.gif]] or [img[tooltip|openbook.gif][link]]}}}
[img[tooltip|openbook.gif]]
<<<
/% DO NOT EDIT BELOW THIS POINT
---BEGIN_DATA---
image/gif;base64,
R0lGODlhEAAQANU5AKat0evq6d7d3Zy12tji9pKp16WkuXZ/q7O2xo2MjLi4qoOc
zby8rLS0s8G/u7i2prKxr6WnpJKp2MbU8cTEw7/P772+rFx6tnCLws/b8+bl5cPG
09fh9b/Arru4uK+smfPy6Tlcoqyxr9HQzq2yss/b9LK0p8bT8XCLw4Oczv//+0lq
q8jIyD5Uf2aAtMrO4XRzcy5Sm6WkoZ6z3tnZ2Ts7O0RERMPDw////////wAAAAAA
AAAAAAAAAAAAAAAAACH5BAEAADkALAAAAAAQABAAAAaqwBoqRywajbUU7EgkJAzF
WqGwLN5gCcABmqvNCJ7qNSL4bA63rqSEI8GuAhzugUAUbrXFSS6CxeUmLwEzNjUY
FXI0DjRyOAovNIQ1FxOJECyNDJCSKxlyIzKYchabhSEcOBoUoY0dpTUxBDgCDaxy
LwCDNjctMQMBNDIvOAEAAC8ghDm8vsEsMgChNCrKy70DMjIDLtzc1dYuMS4tvTHm
LTZGNzbsN+7v7kEAOw==
---END_DATA---
%/
| source file:|{{{C:\Documents and Settings\Administrador\Desktop\resilience\photo.png}}}|
| attached on:|25 Junho 2009 by Skye|
| embedded:|[[photo.png|photo.png]] - {{{type=image/png, size=589 bytes, encoded=800 bytes}}}|
| local file:|/%LOCAL_LINK%/[[./photo.png|./photo.png]]|
| remote link:|//none//|
image
<<<
usage: {{{[img[tooltip|photo.png]] or [img[tooltip|photo.png][link]]}}}
[img[tooltip|photo.png]]
<<<
/% DO NOT EDIT BELOW THIS POINT
---BEGIN_DATA---
image/png;base64,
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK
6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHfSURBVDjL
pZO9a5NhFMV/bxowYvNRjf1IoCDo0KFJBVHEVbeCi5N/gM6KruLi6KiDKA6KIC6C
QwdtBxfRrUGHFlTQIlikjTFpkua55zo8r7aDipALd3keOOdwzrmJuzPMZF/cOPFX
BMmRHJMTTJiJYCIEESy+ZQGqczPIDNxxd/AMDriBu+MSCkJmSA4CJ8Pym+UIIAs0
177S3Wz9F3O+WGCiMrmjwM3pbrZ4fvo17kR237XAtcolRvdOA+L+9TscHB/HTGQA
lLqwuHWbxa1b9JMVTBDSHRi82qijbgPXNsGEpx5kouYo+2jpI/3kCUudiwzUJBgM
AoQAjf4ZFtZP0mq/x0xIYPJUQQoQLHAsX8fMeNk7y4DVCGKw0q7ytHmByx/u/lYg
OVnJUbBomAa8azWYr5b50unRGZln48ccYzrH5/VTtHuTKIxQk8dUdgMEE/XyN2YP
TFHJHaZWFPIan/KriEccqT5ExJi15FiwWCSTo+CYiYk9h5CL4NvIhSOmctOxCwgh
3J3vauAWnc8GEzInt2+U3s1nuEWwmPlOByzthuSUSyV+XUDWTOAJxbEyhcJ+pPgx
c/4KnbUFQOTKx3n74B5uQhI4JEkMMHl8ddZ3d/tfzH+aZNhrzDDk/ARfG6G/LNZP
QgAAAABJRU5ErkJggg==
---END_DATA---
%/
| source file:|{{{C:\Documents and Settings\Administrador\Desktop\resilience\photo_add.png}}}|
| attached on:|25 Junho 2009 by Skye|
| embedded:|[[photo_add.png|photo_add.png]] - {{{type=image/png, size=707 bytes, encoded=958 bytes}}}|
| local file:|/%LOCAL_LINK%/[[./photo_add.png|./photo_add.png]]|
| remote link:|//none//|
image
<<<
usage: {{{[img[tooltip|photo_add.png]] or [img[tooltip|photo_add.png][link]]}}}
[img[tooltip|photo_add.png]]
<<<
/% DO NOT EDIT BELOW THIS POINT
---BEGIN_DATA---
image/png;base64,
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK
6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJVSURBVDjL
pZNLSJRhFIafGf/QTJ008zKKIWTgQkdByMxW5SJQgmjVToKCcNNlIQTRosCNu3Ih
gbsWCSG6ELwUlJi1KS3FCymUDCWh43VG5zvntPgnaxMIfXA23+J9H973nICZ8T/P
G3l0+p8KqoaqIWo4UUQUJ4pzihP/zwMoqalERcAMMwMLYoAJmBmmijpFRVA1UDCC
TL6f9AVUHLHlH8TXNg7knB3KoTBc9IfAxIivbTB84R1m+O721wD3w7fIOlwGKD0P
ujleUICIEgTQVAqjO12M7jxhNzCHKLjUJAXerkbQ+BSmezhRLJVB0Gf2sWuPLrEb
6OXl9g2SGsMJJB04B1O7TQyunGFj6wsiiiqIWoogJeDEUZcdQUR4nbhEknlfRGBu
q4S+2HVuLz7dJ1A1PFVDnfiBaZLpjSmaS/KJbifYTmtmdbOGXL3Ct5WzbCWKUJdG
tZrfyt8CTpRI/k+qjhUTzjhJdUhRq+Zr9jzKM8p2n5OIecR3Enw8dYJEfB0P8EQN
dYaIUphejpribA81xVCKM8qIzqyTuRXkXGMdpXkVvJruY+LzG7xMxXOiqBgZR7JI
dA5g4ov5nfs7sFhRzuWWFiQoRIqbGJnppb6qgd6FfjwRBQsQys0nJycPVb/Syqt3
2V4eBJShF8McCmRxsfIaAHfOdzPwqQsJ9PsEi7Oz+7v923myvdUnUCMWckxHx5mM
jtHe1EPHUCsZaemkGQQOco31beGHpeWhew3VjVQU1bLw/QPjU2MsL613Bg56zvVt
4Q7gJpANbAJdE4+j7b8A7WGuGfrlZ+8AAAAASUVORK5CYII=
---END_DATA---
%/
| source file:|{{{C:\Documents and Settings\Administrador\Desktop\resilience\Blank\picture.png}}}|
| attached on:|4 Julho 2009 by Skye|
| embedded:|[[picture.png|picture.png]] - {{{type=image/png, size=606 bytes, encoded=820 bytes}}}|
| local file:|/%LOCAL_LINK%/[[./picture.png|./picture.png]]|
| remote link:|//none//|
image
<<<
usage: {{{[img[tooltip|picture.png]] or [img[tooltip|picture.png][link]]}}}
[img[tooltip|picture.png]]
<<<
/% DO NOT EDIT BELOW THIS POINT
---BEGIN_DATA---
image/png;base64,
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK
6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHwSURBVDjL
pZM9a1RBFIafM/fevfcmC7uQjWEjUZKAYBHEVEb/gIWFjVVSWEj6gI0/wt8gprPQ
ykIsTP5BQLAIhBVBzRf52Gw22bk7c8YiZslugggZppuZ55z3nfdICIHrrBhg+ePa
a1WZPyk0s+6KWwM1khiyhDcvns4uxQAaZOHJo4nRLMtEJPpnxY6Cd10+fNl4DpwB
TqymaZrJ8uoBHfZoyTqTYzvkSRMXlP2jnG8bFYbCXWJGePlsEq8iPQmFA2MijEBh
tpis7ZCWftC0LZx3xGnK1ESd741hqqUaqgMeAChgjGDDLqXkgMPTJtZ3KJzDhTZp
mtK2OSO5IRB6xvQDRAhOsb5Lx1lOu5ZCHV4B6RLUExvh4s+ZntHhDJAxSqs9TCDB
qsc6j0iJdqtMuTROFBkIcllCCGcSytFNfm1tU8k2GRo2pOI43h9ie6tOvTJFbORy
DsJFQHKD8fw+P9dWqJZ/I96TdEa5Nb1AOavjVfti0dfB+t4iXhWvyh27y9zEbRRo
bG7z6fgVeqSoKvB5oIMQEODx7FLvIJo55KS9R7b5ldrDReajpC+Z5z7GAHJFXn1e
xedVbG36ijwOmJgl0kS7lXtjD0DkLyqc70uPnSuIIwk9QCmWd+9XGnOFDzP/M5xx
BInhLYBcd5z/AAZv2pOvFcS/AAAAAElFTkSuQmCC
---END_DATA---
%/
| source file:|{{{C:\Users\Skye\EduCore\ParqueFuturo\PosGradSustentability\programa.png}}}|
| attached on:|30 Julho 2009 by Skye|
| embedded:|[[programa.png|programa.png]] - {{{type=image/png, size=42849 bytes, encoded=58024 bytes}}}|
| local file:|/%LOCAL_LINK%/[[./programa.png|./programa.png]]|
| remote link:|//none//|
image
<<<
usage: {{{[img[tooltip|programa.png]] or [img[tooltip|programa.png][link]]}}}
[img[tooltip|programa.png]]
<<<
/% DO NOT EDIT BELOW THIS POINT
---BEGIN_DATA---
image/png;base64,
iVBORw0KGgoAAAANSUhEUgAABJEAAAGqCAIAAAA0qUIsAACAAElEQVR42uy9DVAj
553nT+0/lUpd5bZyW7Wzqd3UXupu75at2r2k9iWBqr3KXWWrMrnd3KZuz7O7dbmr
rNdge5gQZ2Z8LrtMzDAgg0bukRkNlhmMNYQBzMgKIUKjwRgZywQzWowVBnMCYywT
rCVYo1URzGBKo/8jtV765emnu4UQevl+qsvWtLqffp6nW+L56Hme31MVBwAAAAAA
+SAajbrdbrPZ3AwAUMBkMjmdznA4jG8M7VShCgAAAAAADs7q6irHcR6PZ3NzE7UB
gBLE1rxeL/mwBAIB1AacDQAAAACgQESjUdIGDQaDqAoAtBAKhchHBr1tcDYAAAAA
gALhdrs9Hg/qAQDteL1eu92OeoCzAQAAAAAUArPZjCGRAOgiHA6bTCbUA5wNAAAA
AKAQNDc3l2W5lrnaqqqqelfiRS23jBsN8MGBswEAAAAAlGvT01VfddTWkzAw4l+6
TuB9jRe3A6qfQvl15ypP55ZYHnReJlnlouPZCeSrFHA2OBsAAAAAQKk6m6uecMTS
dkTt8uK0haLjEJxNZG1wNjgbAAAAAACcjdmCJr7mEkibq76qnuPb1Zn+p8RRROwy
TW1yDI+gMZ3ZJ2phy45MXpAT7RUfk2rTK6UuyBLrMC2tfEmaknPZ/2QUWWwalPIq
natQ89l0BLdASy2JbEfLjVCoWLo1pRNM5ir9tob651NLlNVFsTLp1bMJjkkPo1WL
LAPZas7so1cdnA3OBgAAAABQnM6Wng0maEInW7lZi8kagrD5z78vaEVnExA2rSlH
JpNKGQnlbcFATfE52evUcgH6YYK9Gsd7ss9VSZleZIqzVWk8V6nm5bdAWy2pl46a
MZouyuxGdEaV7OYx6j+dGq0KmFdXcjaVJ1P8oCs8OXA2OBsAAAAAQEFZWlpyOBxW
q9VgMLCbntkAHtkWdEYXBO9Le2wy7fHMadRGOu1IxZY3tSeH8a7sMKF4apQ2kS3I
zmW/y74E2zQUq0u55hUrQbmWtJYuh/qndpNpq39hrhQEi3519SeH+mSKn3PFUsDZ
4GwAAAAAAAVhY2Ojq6uru7t7enqavN7d3WU2PQWjxKoonSXZVi19lJ3SYEVhu1l2
pAZnE5yWHV5IbXFLDxOJhOgc+jBGegbYviRImVJkjc6mVF3KNS8TG/Va0lg6LfWv
aINKD4lyOE/BYamDNF5dk7MpPJnivEgvAWeDswEAAAAAFIa5uTmLxbKwsBCLxTQ1
PcVt2XSng9AclPrZmLPFaCMA6c19Sstb0NfE6mKiHVbofjZqkTU7G726lGteJifq
tZRLP5v2+j94P1u6mC5tV9fkbPInU2Js1CcHzgZnAwAAAAA4fHw+n9VqjUaj2pue
fLx8WTucNj9J1hMitQzJqLT0a/YkMQ3tctk5yZdj9MMKO59NocianI1+LrPmWf11
6rWk+0YIUz6c+WyCf9I69ChXzyaancWm9mRK+9gUnhw4G5wNAAAAAOBwWVpa6uzs
3N7e1tP0lCob3859JpD4Lx+Jr0oxWoMsiqPieDNqvEe5e2RXWhOMGaQGJBS22nOK
W6joD/Jzheu/uVihH9lxI2muRTuXWfPiW6CpllTjRtJeU1Km90elD8wtbqQ0IeWr
056NZMBLah+gUizQ7F6FqoOzwdkAAAAAAA6NWCxmsVhCoRD1XbPZvLm5qSe9Ilhi
W6GtX1+M2cojxVrzlUc4HDaZTKgHOBsAAAAAQH7weDxut1vpXfIWOaA8zKHc17iG
sxULXq/XbrejHuBsAAAAAAB5YH9/32w2U0dF8kSjUY7jNjY2SrygwmlPABwiW1tb
5CMTDodRFXA2AAAAAIA8MDc353A42Mesrq6SNqjH4yGNUdQYAEoQT5ueniYflkAg
gNqAswEAAAAA5Aer1bqysqJ6WDQaHRkZMZvNzQAABUwmk91uRw8bnA0AAAAAIG8Q
E+vs7BSuxgYAAHA2AAAAAIBiwev1jo6Ooh4AAHA2AAAAAIBixGazLS4uoh4AAHA2
AAAAAIBipLW1dWdnR8uR0WjU7XZjPlt5zLlyOp2YcwXgbAAAAAAAxU4kEiEOpuXI
TNxInYtrg2KE2JrX60VsQwBnAwAAAAAodubn54eHh1UP49dnCwaDqLFyIhQKYQ0x
AGcDAAAAAChqJiYmpqenVQ9zu90ejwfVVX54vV673Y56AHA2AAAAAIAipa+vb2lp
SfUws9mMIZFlSTgcNplMqAcAZwMAAAAAKFKIjGkZGtfc3Iy6KldwcwGcDQAAAACg
eGlpadGymjarWb/M1VaJqHcJ38r+Kz8cRpolhtYqEN8ZxTPgbADOBgAAAABQpPCR
RbQcqeZsQh9w1VdVulQVibORO6HlMDgbgLMBAAAAABQpKysrfX19+Xa25J5abln4
VnIPV0/tiJPsFB2aSMYleC29XPq99Ju0BCUWI3lT7XLU02vr6/kSJs4mrxMJjgkz
ln2d8CYulSlhkvKcCPbRVUt49cwRtHSktwHOBuBsAAAAAAClic/nczqd+Xe2hEik
lSbjbBllSb8pfCVIJHmo4KXgdSYpya5USgF6gvJsCd9Uuxzt9KQoZQooTInqbOmS
CzogaXWQ7RWj9qOJr55NXVYiigJWMXs+4WwAzgYAAAAAUKR4PB6v1yvfH4lE/H7/
6Ohod3c3x3EtLS06nS3dw0MRLaWRfRljEfYOCV9TPZBhIvKBgQKj0345eoKyAjKd
TdSFuCxJKnMh+RUZV+f/QS2R8L5QiwZnA3A2AAAAAIASwel0EjcT7gmFQgMDAwaD
weFwzM3NBYNB4m+xWCwf/Wx0ZxN0Bul3Ntb4RXnfkqjfqSrbQaXN2USX0+Vs2dNS
XiWqAUG62YGdsoLJKi3tbPISaVVYOBuAswEAAAAAFDtEz1ZXVzP/nJqaMhqNs7Oz
8kiS+pxNPmJPtQ9KNOIx5342aoJsbSlAP5s8fWo/G60CFa+ecTat0V7gbADOBgAA
AABQevT29mYWZ3M6neSfOzs7upv1jLiRbGeT7tTW8UWdz5Z8OUZPkKZC2VfanU1p
PhvFvgTT3GiTz6g5kYxzZHgcNUmqY4o6BhHrH8DZAAAAAABKjc7OTl7SPB6PzWbb
39+P59Cs17I+m0J/lGAwYCYWonZni8vjRtISlHiMZBihDmfLnp6IBCnPTPbqyUiU
WaviI0uqxo1UHtUpTp4eN5IyMFJwZ1jDJuFsAM4GAAAAAFCkGAwG8t/19XWz2azU
w8ZDDtjc3ESNxWXaqQY7ssjREw6HTSYTbimAswEAAAAAFB27u7vExMgLm83m8/nY
B7vdbo/HA1HT0m1VWs7m9Xrtdjs+DgDOBgAAAABQdGxubvb09Kyvr3d2dsqDjkiI
RqMcx21sbKDeyomtrS1yWzNzGgGAswEAAAAAFBGBQMBut2vvQFtdXSXte3Iwaeij
9kod4mnT09PkhpLHALUB4GwAAAAAAMXI7Oys0+kkrXbtDhaNRkdGRsxmczMocUwm
EzF29LABOBsAAAAAQPEyPj5+48YNxJ8AAMDZAAAAAACKkaGhoZ/85CfDw8OoCgAA
nA0AAAAAoOiwWq3Xrl2bmZlBVQAA4GwAAAAAqHR8vmhbm7upqaAzwc6dM1296qTO
WYrFYgaDobOzU1coyGg06na7MZ8NFPM8PafTiXl6cDYAAAAAAH0MDa02NXFnznhO
ntysr48XbDt5Mnz6tLetjRIbkDRqOY5rbW3d3d3VWIpM3Egsrg2KFvJge71exMOE
swEAAAAA6MDnixJhO3UqWEhbE24NDaGODukaXAsLCzabzWKxaCwFvz5bMBjEDQXF
TygUwrpzcDYAAAAAAK20tbnPnPEclbDxm8HgtdvtwlxNTEz09/ePjo5qLIX2ZdwA
KAa8XukzD+BsAAAAAAB0mprMBR4SKd8aG8OSmP49PT2Dg4N+v19jKcxmM4ZEghIi
HA5jHQs4GwAAAACAJpqbm49W2PiNZCOTpZ2dnfb2do7jotGo9lIUT5Uuc7VVVVX1
rsSLWm4Zzxgo/ocWwNkAAAAAUJLOVneCO1ZVVX1csqf+eB3j+MS77MNUnW1mZqav
r6+3t/cQmr8JnyI2lfn/4Sgb72u8uB0QV32VZu+TFyqzh11e7bVxkHpLVono5IPf
BVI9GXLw40N8DOBscDYAAAAAgEI5W5XAvjTK2EGcLRaLXUqytLR0iM5WKrjqCVpl
hOFsxVArvMYKL3Sw60ocMKFverUNzgbgbAAAAEBloK+TQrE/4Iiaj2rOVn/8eH1V
tUsuY3V1rupUB0d6T/Ldbzwg2i8/jO1s4+PjFoulu7ubyFv+mr/p7phaIkCyfrZs
X42w/jN7k7dLeLzquan7LNmbOVT7XeYHV7pE0kbPrZqzsfIsyZgsn4lcJOqN7BmT
1oMsK6rZIwdk3hFlmFY/jNQoPZDUQgpLwXGiveJjKMURnZO4mKte1qWnN9twNjgb
AAAAAI7E2DQ2w4uyj0fd2erix6tTIySFzkZ2HqtZTuwkUneMO1FHHxuZOexETW3G
/ajOtrGxYbPZ2tvbn3vuOe0z2bQ0f7Ot+2RjWuxsWYcQ3B/By+TJAbqzUc8VuAR1
r/bRjun5cALNoV5Rl7PRUmDnU9ifJUpHXkxN2VOpNdEr5dSY1ahUCtpORnEEJRd+
zg+SbTgbnA0AAAAAR2Bsma4bocNRfmMX99tQ+wEyzet0t4aLlaA+tre35+bmXC7X
wMCA1Wo1m82tra3NSVSdLdFXJrGyRO+ZsMOttuYExdkyb6UPU+xqaz4wTGWT9exQ
G+ta5Ceudi790sI8aJW2bAiT7NnMcwWPigC5szHKS8unUh8jvZjs7KUPoyiTvH7U
tEzx86C5FCrFEQaREb4W5lBntuFscDYAAAAAFN7YuGXJiCxKH4u83U/5oV/UjtSW
oAZisdjCwkJPT097ezuxNY/HEwgENjc3I5HI/v5+XFs/G99LdqxmmdqTVle3XHOM
4WxCUv6m1M/24osvPv3003nuZxPXW6qVTR/jJ6hqxrA79rliQa+iuIE0dYWRdBID
U7miyiOnWl5GPpWdTVpMzdlLJc2+rmpqSmakvRQqxVFzthyyDWeDswEAAACg8Mam
7FKyjgB6X0f6MPUQf6yeBSpEzGw2W3d39+LiotL0MI3OlhKz4zn0s2kKRnKY89nY
/WziA6UmreZs8nOTLX/aSEKd/WxiJ6Hce/Z8LqacKJdXez8btZjas5csnktz/VD2
MS6QQz8btTi59bOxsw1ng7MBAAAAoODGJm+xUjofaO3dKkmQcuXmtWKCTKLRqMlk
mpqaYsuPRmeTh5HUO58tc1jh40ay5rNJ9Fl+T5MvxyTvMc6VugFtupM2ZZM+BOTf
9NzqcTa1PCvMBGP2UGWKqSt74jCSlOuyU2PGjdRdCvpdU3W2XLINZ4OzAQAAAKBw
yiaZNpRutCp3PtB7M5Sb1+mGqKaABmKI+fT09Lhc6odrd7ZUHBG1uJHJ7rXlmmPy
uJGKAyMbGqTrs127di2v67OlbxctbqSCEkvmH2bveDKSIOtcwcg44VxHXXEjpcqW
af6zBF5bPxstBWGEDeWZlnKZlRVTV/bE0kWpH/VfKxTXZ9NYimzBacVRd7Ycsw1n
g7MBAAAAoPD6RtEqQR+L/EBWPwBr6pTW9aeWlpY6Ozu1DC9saTGfPLmpfSG1w9iM
xrDJZMpkaWdnp729neM47bPazGbz5uYmnkVQKoTDomcewNkAAAAAUChnU+xjkR8o
7cZRGhvJSlAZm83m9/u1HHntmvvsWc/ROtv161673S7MVU9Pz+DgoMYiENxut8fj
wbMISgWvV/rMAzgbAAAAACqISCRiMpk0xvCIRqMGA9fQsHFUwjY4uMVxXDgcFuZq
YmKiv79/dHRUY5FJKUgiGxsbuPug+NnaojzzAM4GAAAAgArC4XBMTU1pP351dbWj
gzMYPI2NWwVTtYaGxJBIu32aNF4DgYAkSwsLCzabzWKx6CoFScrj8ZAGMZ4BUJwQ
T5uepj/zAM4GAAAAgErB7/d3dnbu7e3pOisajY6MjJjN5uYCYjKZ7HY7tbeB7CTt
2tbW1t3d3SIvBQB5eeYBnA0AAAAA5cz+/n4kEllaWhoeHu7q6iqDFmEsFmtvbyfy
ieGOAAA4GwAAAABYLuT1eou/36alpYVksr+/f2ZmhuS5PCrfarVeu3aNlAjPIQAA
zgYAAAAACrFYrLe3l4jQ+vp62YhQCTE0NPSTn/xkeHgYVQEAgLMBAAAAgILL5XI4
HBqjL4K8Mz4+fuPGDV1rWEWjUbfbjflsoLxnxDmdTsyIg7MBAAAAIBGE0Gq1onvt
CJmdnSVtU47jNMaBzMSNxOLaoIwhtub1ehF5Es4GAAAAgHhvby9xANTDEUKapP39
/RoXy+bXZwsGg6g3UAmEQiGs8AZnAwAAACqatbU1XSuDgcOACFhPT8/6+npnZ6fq
CFWNagdA2eD1eu12O+oBzgYAAABUKKQlRNpDqIejJRqN8pPZbDabz+djH2w2mzEk
ElQU4XBY12xPAGcDAAAAyof9/f329naNc6jAodLS0kJux/r6OlGynZ0dxpHNzc2o
LlBp4LGHswEAAAAVyurqaldXF+qhGCCqFolEyAuPx2Oz2RghYdQbr676qgy13LL8
gGWutqrelXtmD3p+/qHmiJ1N7YU4pOKq3qbDqBMd54pQzGChngU4G5wNAAAAqFDG
k6AeigEiz6FQiH/tdDp7e3uVetvYjddkYzvbhk54Qf59oEScrYgLUZDbVJD6hLPB
2QAAAABwqNhstpWVFdRDMTAwMLC0tJT559TUlNFonJ2dlYckYTZeSeNf0vZPt6nJ
/2vr6xO9J/Vjwna2oEcltStxJMfVi3emzSLZ55JIJ73fRTkwri0dfl/ysGXhOcu0
XAnPU+hSq6+XFUSezdQeSbZlpdBeXeyM6b1Nipmh1ST93tGyTb1NavXJ2pl8PSZI
VlZLmZubyo8rh2zA2eBsAAAAQIVDZKC9vT0ajaIqigGn00kMTbgnFAr19/cTc3M4
HHNzc8FgkB88yWq8yl1A1OCWy4zgBGE7O9PrI3g/+zLZyJaeT9cQtXRquYBQ2pIv
A9RcJXZSXIx1Lfa5glQopdBeXeyM6b1N1OzTa1Lx3slzQztJtT7Vnc1FfaGUnxyy
AWeDswEAAAAVDhEAhGIrHrxeLzWCP7lNfr9/ZGSku7ub47iWlhYVZ1Nq9VKb1NST
6UcKk87sFe6UiYh6OqlTMtIm6nKTFokpOmydoJ7LzJKO6mJnTO9tEqXGviO53btM
+qr1KUBmuXqcTXhpndmAs8HZAAAAgAonEAj09fWhHoqEhYUFp9Op5UhW45UmParO
JoiFobHxnW59i3bKrq2ejmAkpMjdaLkSiQRDwBgWIT5XNUsaq4uZMfq4P8ZtEkUm
SSeYz3sn7tXUUp8aK1nTLdCZDTgbnA0AAACocKampiYmJlAPRUIwGOzv7z+os7Hn
s9F7YGRD0wrez5ZqwbsyzXharrSVkuGZlGvq7mfTnzG9t4naB5fPe0fLIrs+8+Vs
OWQDzgZnAwAAACocu90+NzeHeigSotGoxnUXcowbqakbhNWrk9N8NrV0xH0tqX9R
cyUZM6jL2ajnqs9n01Zd7IzpvU0HzIz2OtdenzSpyuafNgCV9m5O2YCzwdkAAACA
Cqenp2d1dRX1UCTEYjGTySSPEplL45W68JdCa14wMC0dDZI1nk1n3Eh6OrRTMtah
lCvqoESNzkY/l7+IctxIjdXFzpje2yR6Qx7vJOd7R6lzrfUpVU0+Z1y9MEBK5uKS
d6Xp6MwGnA3OBgAAAFQ4ZrM5HA6jHooHi8Wi5Y6QG7e5uYnqApUD+VwgYBKcDQAA
AKhEWlpatPTqgIJht9uFS7Qp4Xa7qREmAShXvF4v+XSgHuBsAAAAQGWxvb1tNBpR
D0UFMbGZmRnVw6LRKMdxGxsbqDFQCWxtbZEHHoMC4GwAAABAxUFa/FarFfVQVCws
LAwPD2s5cnV1lbRiieOR5izqDZQrxNOmp6fJox4IBFAbcDYAAACg4iBtII2R5UEh
W6jaJ+1Eo9GRkRGz2dwMQJlCPg52ux09bHA2AAAAoEKZn58nLX7UQ7HR2tq6u7uL
egAAwNkAAACASmdqampychL1UGz09vYuLi6iHgAAcDYAAACg0iHChtiDRYjX63W5
XKgHAACcDQAAAKh0RkdH5+bmUA/FBh8Tcn9/X8uRbrcb89nKbPqW0+nE9C0AZwMA
AABAgpGRkfn5edRDEdLV1bWyssI+JhM3EotrlxPE1rxeL8IkAjgbAAAAABL09fWR
dj/qoQiZm5tzOByMA/i+uGAwiLoqS0KhEJYjA3A2AAAAAMRtNtva2hrqoQjZ3983
m83b29tKB7jdbsxFLG+8Xq/dbkc9ADgbAAAAUNH09PSgo6ZoIUpGxEzpXWJ0GBJZ
3uhaqQ8AOBsAAABQnnR2dmLwVdESi8UsFksoFKK+29zcfHiXXuZqq6qq6l2JF7Xc
Mu7FUXGodxkAOBsAAABQApjN5kgkgnooWpaWlohXU0dIslvzvHTx1OteNYCczfua
9rNTF6x5/PHaHC6oluxBvTGRjI6C5LEA2fRyShjOBuBsAAAAAJwNzlbs+Hw+q9Ua
jUa1t+YTdpC1HFf9wZ2n4KaT52SP0NkOljCcDcDZAAAAgErHYDDs7u6iHopf24hd
Ly4uamvNE0kTu0HWFhJvcakuOKHHJbxOtFPQTydIK3OYxD2ypz8zLjQTjckK8yl8
V3K67OqJgZv19ZnOQMXEJSdSS5HemUww9QYjt8kxo1y9hipKVv6YpjzA2QCcDQAA
AABoEZYs6+vrnZ2d3d3dMzMzGxsbxLQV7x3RAWm3WkbakqqQNSBeGAQdQMlzA8Ik
pG8u0y9BGQGoNVlKvmnjCSlXTzpVOhVm4mqlEO3MGiM7QbV0splULItq3xs+oQDO
BgAAAMDZ0CIsJRYXFx0Oh9VqNRgMLGeTaUB6X1bU4pnwIirekElOmK5M2uRmojVZ
5rviHkLp1RUvodLTKCuFcCc1UUaCmjMpOixTe+x6wCcUwNkAAAAAOBtahOV37ygW
IOxnE010S+xUCA2ZGb1XRXEw2TlUZ9OSrMaLUq8u0yvFxPWkIxEvlQS1Jy5yNiGs
yYb4hAI4GwAAAFDRxGIxtAjL0bfZvUwZQ2D0swm641R6qJjOpilZ5rs6+tmYiefS
z6Yxwdz62bQGI8EnFMDZAAAAgIomGo1yHId6KDtnE8/zEsWNzM7WEmiXwD/4gBlS
IZHN29I7n42ZrIIFSa2MNVVM6XRa4lrns+nLrYZMapwZCGcDcDYAAAAAZIhEImaz
GfVQfs6WcQ9aVMNUpEV23MhsxERhHEVGtEN695rGZIWqKX6XnhrN01QSF641Ry1F
+mzBuawElXSRlUlqHlRWYYCzATgbAAAAAGeDs5Uq5N5tbm7qPEm5W2eZqz/sNdyA
TsLhsMlkQj0AOBsAAAAAZwMlidvt9ng8eXO2Q1xMGuSI1+u12+2oBwBnAwAAAOBs
oCThpyNubGzkI7HUMEAoW/GwtbVF7m84HEZVADgbAAAAAGcDpcrq6ipp1ns8HtK+
R22UDcTTpqenyZ0NBAKoDQBnAwAAAOBscLbSJhqNjoyMkPvYDMoFk8lkt9vRwwbg
bAAAAACAswEAAICzAQAAAHA2AAAAcDYAAAAAwNkAAADA2QAAAAA4GwAAADgbAAAA
AOBsAAAA4GwAAAAAnA3OBgAAAM4GAAAAwNkAAADA2QAAAAAAZwMAAABnAwAAAMqG
aDTKcRzqgYrPF21rczc1Vfpa1efOma5edWJ9ZwDgbAAAAAA4Avb391tbW1EPcoaG
VpuauDNnPCdPbtbXxyt5O3kyfPq0t62NCwQCeDAAgLMBAAAAoNA0NzejEiT4fFEi
bKdOBSvc1oRbQ0Ooo4NDbxsAcDYAAAAAwNmOnrY295kzHniaZDMYvHa7HY8HAHA2
AAAAAMDZjpimJjOGRMq3xsawyWTC4wEAnA0AAAAABaWlpSUWi6EeJB4LQ6NuMHwA
4GwAAAAAKDQmk2l7exv1oNfZ6uqWa45VVR+P153gjlXVH6/LvyDxlyD85pcez/sl
css2nA0AOBsAAAAACo3ZbI5EIqiHnJ3t8Dq1Mlp1GFoIZwMAwNkAAAAAOFsZOltd
nau6Ksmx+mpZP1vydQqJziXeOsbVVEvfVTole6Gq2q9+U3CJ7H7BRZOZ4ffID0gc
c7y+SrBTcgwj23A2AOBsAAAAAICzlZKzHa+uOlaznLEgobMlRai25gS9F4v3ouy5
x7gTmk6R9rOJMsAnkkw541qZA07U1FZVu9Kalzo9u1NbtuFsAMDZAAAAAHDEWCyW
ra2tCq+E/f39hYUFh8NhtVoNBoOSswnlhz2fTXikfCyi3lPEfiXscEu4lihloYCl
DxbuZI+NlOcBzgYAnA0AAAAAR4zNZltbW6vkGvD7/Wazubu7e3p6mujr7u6uorOJ
Ped4NcXZjqcHHVZpdjbVU6gdbklppDqbEGEHmnyPeh7gbADA2fKMzxdta3M3NZmb
AThSzp0zXb3qDIfD+LQDAOBsxUwsFnM4HBaLRVIDufWz8b7Ej1FkDHSUjUtUP0Vn
PxtLusQjKtXzAGcDAM6WT4aGVpuauDNnPFgEE9uRbydPhk+f9ra1cYFAAB94AACc
rZiFrb+/f29vT/JWjvPZpFYmGo5IdzZtp2iYzybqMZMekH5BdzZmHuBsAMDZ8obP
FyXCdupUELaArXi2hoZQRweH3jYAAJytOPF4PL29vfv7+/K3mHEjU2umUeNGJiJ8
iKNKqo6N1HKKwuhH+khLYcDJjH3Jhz6mC5L4JyMP4r9rcDYA4GwHoK3NfeaMB5KA
rdg2g8Frt9vxmQcAFDPka2phYaHSSh0OhzmOU1pMvKXFjGE78s1oDJtMJnxkAICz
5UhTE75bsRXj1tiIP28AgGJnZGRkfn6+0ko9MDDg8/mU3r12zX32LH4Llm7Xr+OH
SADgbAeAMYYh7xs/fqD6eOIFP14cGzYsPwoAgLOVEBsbGxzHxWIxpQOi0ajBwDU0
bOCvWGYbHNwilYYB/wDA2YrC2dgRk5KDv8m72SHgR/K9qRrWSV+hdKbGHuKvNAi+
mDfqhAE4GwAAzlauOByO6elp9jGrq6sdHZzB4Gls3KrsudmJIZF2+zQRNgTWAgDO
VizOhg3OBmcDAFQUo6Ojc3NzlVPe/f399vZ2pZlsQqLRKBFas7nS1xAymUx2ux09
bADA2Q7R2RKt8GQQpCrBIiSZuEnJd9PRb5NrU371m4LQTMkwvpL1JQWrUmb9RB7E
SbaciywdWuLC5V9qUkGcBGtfpgvyjfsEjnGMq6lm5Ee0cotiysrRqNhZFZ0iCDZF
rSVG6RQDYWWK/EBy5dCaVE6O1SxncpUZoap2a2SL2IhV7RsPZDOQqWHpYcJnSbmM
cDYAQAkxOTnp8Xgqp7x+v39oaAj3HQAAiszZBE3qzKIliWlp1S7e0wRSxN13H2XZ
Sv5g4fqVEtWRr4WiuJYLvygKLXGpBWXWVBEYgmTJS36nLPFsfxe/U1woasrKq74w
s0pfqUahlhilk98ayb1LhSQW7Be8zhRNelFGVdDXKlVcrEZ2C5hlhLMBAEoIT5LK
KS8RNkb0EQAAAEflbMJOpHQ7O60imVAi/AuqAygMBUylILQa+VnUd9mJ81YjcBWV
DiLGTunYP2bKuWZVtNILtVdN7mzSPNBujfjeCexa9JqSPWoKWpY01VuxSmWUOBs/
sMRms01NTWFsCQAAzna0tLe3R6NR3HcAAChmZxOSNpZEn4+SGklXpZQvTKmkFrQM
iLv1aInLPYRcTrJkp7paiPv6lERUknIuWRVrDJ+g0vKdrNIp3Rqdzka5NQpVkRdn
UyqjvJ8tEokEAgHibBaLpa+vLxQK4YsAAABnKzzk25jjONx0BkRo3W43ZvEB9hRH
p9OJn6HhbIfqbPLJY0kBOJ5q3FP7UsQDBWUDFPX3s1ETp1rNIfSzKaaca1al/WzU
WlIpHfXW6HE2+q05tH42dhnZYyOJvJG/hV6vF98FAIBiYGZmxuVyVUhh5+fnBwYG
cNOVWF1dJU5LHH5zcxO1AZQgtkaaMQglCmc7LGdTmnjGL7mW2p9poAsOyDqbtCmf
Mgfd89loiUtnfPHztRQvrawWwklcfHQNyXw25ZT1ZpU+n02hlhilo19al7PRLkqp
igeyxpi87wrOVsc6jOZ+isNHqfPZdnZ2ent7Jycn8XUAACgGjRkZGamQwo6PjxNH
xU2nEo1GSSs8GAyiKoAWQqEQluyDsx2Ws0miCAqOoUcWkY98O5EKeCgOk6g/biRj
WB0vDNXVytEdmc6mFjeSmbLOrGajg4grhFpLjNJRb43esZFqt0Z62LEarlqqatmV
9xiHMZ4E+bI2SjFI9vf3u7u70dsGAICzFZLe3t6VlRXcdCput7uiZjaCg0OaMXa7
HfUAZ9NKS4v55MnNMlroTCX8SRGmXFp5KNhmNIZNJhP7F03MbQMAHC1+v9/hcFRI
YY1GYyQSwU2nYjabMSQS6CIcZrVzAJxNyrVr7rNnPXA2OFuxbdevq/z+NDs729PT
gy8FAMARsra2ZrPZKqGke3t7ra2tsVgMN50KFqcBeGzA4TpbNBo1GLiGho1K0ABs
pbINDm6pjvMmTYfOzk50tQEA4GwFYGtry2Kx4I4XuvG9zNVW1buO7vzSQWNJE4cR
ah5/PP8Vo7+y4WxwNn2srq52dHAGg6excQu2gO0It4aGxJBIu31aYzwlr9c7PDyM
7wUAwFERDAZ7e3sroaQLCwuYewNnK3lnyxx1GBUDZwOH7WzxZG/byMgIVhQBxbBu
CWkWaIykRJ7b9vZ2jNUBABwVkUiE/OmshJJ6vd6JiQnc8Vwb3676dEwvblmyJ93K
Jy3+Wo4T7RUfk+oiEpxDOUWceG19fVYjXJQDRb4heztzBl1FZIWi5lBYQHlehCkf
JA/CklLTEWf4mXGhX1HvRSLB9B4Xo47pxyjmAc4GZwOgIunu7kYcMwAAnO2wIcLm
8/lwx3NqfAtkhTTsk4KT/r/gVbKVT9uZUQKhGmXFQHqKJPEq2fmCIwX+IUs8sZNi
XkqFCijmUO5s1JRzyAO1pNR0ZLmmXlh8L4RKJ70b1IyxbxacDc4GQCUzOTlZOQva
AgDgbEeF3W7HD2TC++73+0dHR7u7uzmOa2lpYTW+Ka32bIs/276n6g29xZ8+Xc2I
BHtpV6STOZJ5mMo4QNUcMjKgOQ/0kiodoFSxavdClAdmxtg3C84GZwOgkllbW+vq
6kI9AACOhN3d3fb29kooqc1mQyz7eHIp5IGBAYPB4HA45ubmgsEg8bdYLKbibJLm
vahxn35bg7Nlh+MxjEh2SuIf1CvK3KJKPkRQOqQzzkxDWw6VU9adB3lJldJRqiXV
eyFMjD4QlN6lppgHOBucDeSMzxdta3M3NWE639Fz7pzp6lWnxvls8eT62i0tLXt7
e3iMAQBHQoW0uiwWSzQarfB7PTU1ZTQaZ2dn5fOoD7+fLaEA0tF4eetnoyUueZ+l
ncqJKDkbJWX9eVAsqXI6OfazMSOL0AeyMssCZ4OzgRwYGlptauLOnPGU09ripbud
PBk+fdrb1qYpbiRPV1fXxsYGnmQAAJzt8DAYDBUe8MnpdPb29u7s7Oh/DATN9vRL
hTlUys4mfVdZ83KYz0ZNXDIkUOpL0kKNURMRnJmdI0ZNOZc80EpKzwbD2dTuBfUA
dhHYeYCzwdlADvh8USJsp04FIUtFFvQ/1NHBaextGx4e9vv9eJgBAHC2Q2Jvb4/j
uEq+yx6Px2az7e/v5/oYaIsbSXnNj8BLy4gkRqJiL1b6WM1xIymJq4/ukxaKmkhm
ZzLCZVaT5CnnlAdKSanpMJxN5V7Qbx81Y8ybBWeDs4GD0NbmPnPGA0cqws1g8Gpc
C2hycnJ8fBwPMwDgSDAYDGU/PHtzc7O7u7tib/H6+rrZbFbqYeMhB2C+H9BFOBw2
mUyoBzgb0ERTkxlDIotza2zU+l22uLg4MDCAhxkAcCSQxnokEinvMi4tLVXygto2
m011nQO32+3xePBxANrxer1Ypx7OBrTS3NwMOyraTeOYgVAoZLFY8DADAErd2QTL
8LJX4pWeQZ8uoxKNXQczMzNOp7My7+/6+npnZ6fqXL5oNMpxHCZXA41sbW2RB0Z7
xDUAZ4Oz0Z2t7gR3rEpC/fE6RbuQH199nGUjdXXLNckTfvNLjx9TTjmZLOu6kgTZ
F1VPRFaKYzXLxe9s5C+l0Wgs+LOTbg3lr1UEAChFSIM+Xw0vtfh0h2hlbNxu9/T0
dGXeX+0daKurq6QVTg4mzXF8LoAS5OuCfJrIo6I91hqAswG2s4lk6URNbdUx7oQ2
uaqrc1UztU27jGnVrbw5m6QUtTUnit3Z4sn5JOyZBofobACAyqa3tzcYDObpW4XW
YSbofRN/50jiIijHUUgknAiEIFgyS0dfHmFgYGBpaaky7y9pW2t3sGg0OjIyYjZj
6SCgiMlkstvt6GGDs4HDcjbhHl7JhJ1v9OPTjic5XvDP2q9+M3Uif3xNtaibLpMs
9V1Rysfqq9POJs+e2O4U35U5W9YDhV1w2T3Ji0oLVc3VHEuYnqjGmLV3cGfr6elZ
XV3V51miqFzJcFaZto+rXmH9TkGrSDFsl76WEACg1LHZbGtra/lISbR0ryDWH33F
XskeSpRyUYg8bQkqYLFYQqFQBd7czc1NRIkAAMDZSsnZhP1sx6tTgwYTO6tddGcT
dFIxjhe/SB1Wd7yevxb7XWHKiZ1pmxLtlPUNMt6VOlvin0n7EpRFkqW0JSbsLlvG
KpazyWvj4M42Ojo6Ozt7AGerkgVVprdmmEvB5NISAgCUOkNDQ/npgxKt40Ttc5ON
naR+/2QOo4c1ZyZIY3d312AwMMLclzE+n294eBgPOQAAzlbMziaZ2iXsNEsLTOK1
SL3EgxVlwiM7Xv5C2ehk76ZTE/aJiXdKBzeqvKthVh61yNRklfMsrQ2Gs/GYk9hs
NofDMT09vb6+LpkOToSNaNsBnI3aTpKv3yls37Dns+melgIAKFFGRkbm5+fznqzw
S0RxiSqRswkRL7gs+5pSW/NKRDAYtFqtFXtzZ2Zm8JADAOBsxexsad9IdGFl3UYw
tC/1p1HiJ5J+NvbxB3I28UWPVyedTaRSKW9UGOHJele+Ha8WhWORZinrtMuMsZHU
2lDtZ9ve3o5EIqTd4Pf7JycnibwZjUYiaZnh4OQtTWsHHdDZxO2eVItKthOjIwGA
s+XP2RJfKqlvE9bYSNrvRMrLBysmSINIi6YfxcT4fNG2NndTU1HP7Dp3znT1qpMx
s8hisegKBRmNRt1uN+azgeKfU+d0OjGnDs5Wbs6WHu9H6VNizX/LjG9kHl98/WyK
U+AoU+xy7GfTGnyFMTZyZ2dndna2s7PT6/XGYjF+6I5qLOZD7mfT3RICAJQBpOmj
uniXVkvLfuWQLxGZbokGT0q/akQjtyUz2+hffbQEaQwNDS0uLuoqytDQalMTd+aM
p8hXQD15Mnz6tLetjR7Bj/xNaW1tJX9fNJY6EzcSi2uDIofYGmk+IXYlnK0MnS0V
mj89+Uo+JYwdN5Jx/EGc7bDns9F75zKT3GS9fNL5bAInFEovO3u65rPt7e0NDAzw
qwZ1dXVpCEOSbdWIJ7FpdDbmfDb9LSEAQBngSZKXpARhjET2ViUJfUT9HUoaRlJx
bCQrQRoGg2F7e1t7KXy+KBG2U6eCpbIWaENDqKODslLWxsaG9sU/+fXZ8hRBFIBC
EAqFsEYcnK3cnC0z1yslG4LAj4LIHIozwRSOz4OzZdZ5O4y4kcItKV2iC1E1NVny
erGq8eu8cdWUuJGsgZENDZpikMRiMd7WSJvJ7XZrbxIlI0XqdrZsArS4kXpbQgAA
OFuRs7S0ZLPZdJ3S1uY+c8ZTKsLGbwaD1263Swqia1Co9mXcACgevF7Kkw/gbMVI
S4u5yEdulNyWr1XdjMawxgjLa2trVquV/7lIfXgkAADA2TTT29urd/RUU1Pp/WFt
bKT8xSHC5vf7NZbabDZjSCQoOcLhMFazgLOVBteuuc+e9UC0itDZrl/X8dtPT0/P
4uKizWabm5vDUw0AKCRTU1OTk5NlWTSv19vf36/3LKUBLEW+SUZ2xGIxjuOi0aj2
UuOzAEoRPLpwttKAfB0bDFxDwwZcq6i2wcEtXWOs19fXyfFLS0vkv/ilEwBQSObm
5nIIq1jkRCKR8fFx8o2qayabqrNlxvPzEw1y/3GQGeU4L862srLS29tbbg3fg8bH
ylN8LfVkqOsT6s6C1lV38hY2TGNCqYkUNY8/nv9ZFPrLAmeDs5UMq6urHR2cweBp
bNyCLB31RPDEkEi7fTqHWEYLCwtGo3FgYKCtrc3tdmNOLQCgMMzPz4+MjKgeFovF
yNeUw+GwWq0Gg6H4o4GfO3fu4sWLPT09pHSzs7Pa19RmOdshuNZhOBspLLlNupZK
h7PlMxllZdNFkTqb+mL3cDY4G1AgGo2Sv0lYUKVI1gyx2+25Gdf29vbY2BhJgTQ1
iraAra2tpClAnrdIJIKPHgAV4myBQMBisXR3d09PT29tbWkPH3+0kHyS3Pr9/qGh
oc7OTg2xeVnOJglARQ2Ild2ZiHelvGyMdLEZUTrJJUMT4bIEq4lSwoMxnI2oNblZ
uiZIqzR8BSFB0w3qhFBw6ahW2VCfyRBWVdKl0gWt8OwyoMKmuezIpPZwor3iY+RZ
opwiTlwUXouWN0Z5s0U7/k3ROwpllK4Vr7BOTzq7iRp01UuCriaSqa9XrkHaAhg6
6pxZP5Q7Lkmr9plx5nVzeRjUbjGcDc4GCsz778dfeCFephMocsftdpNWxezsbCgU
0v6TcIHZ29vb3Nz0eDwcxy0sLOCuAVD2zjY5OUm+mtbW1kq6mCT/RGNMJlN/fz8p
ERE5siccDkciEYmCauxno677Il7ARpOziVaaSS7Jw0uaIJCyNGKzkrNtb28TL+3r
67Nardpnsmlo+AqiEIuX9EztzqzuKViFJk5baU/YdSQUDcqRyaQUl+yjZol6CnWR
G+p6gOzyCotGW1dQUpy0ZMrOkJRQ8FJ2QDK/tBpUrhZqueh1Tilttn6od1wotNJ+
NoVc6X8Y2LcYzgZnA4W0NYsl/tBD8UcfhbOJmJ6ettlsxIhKJcNbW4k5e6XyczsA
QImFhQVGwCSXy0Ukp4S+mtgQQ1tcXPR4PERTSbl6e3vNSYxGo3BAgaqzJVVK2FGW
6XkTrmSj7mwiJUufrrjWqCB9qrMdEG1VKOpCEnWKLcs7fEQ9Ri4FQ6IfSV1Ind52
Z54iGmCY2SvcSc2S9sTlZcyMjKSlLOlnY67TI8mlYs7phc2ko62ALKdTdTZ2rvQ8
DOxbDGeDs4FC2hr/14U4G8LaC5sRpMWQw1z5o4U0etDVBkCps7a2prSC2fT0tNVq
LRth04gmZ5MuNJrWs3SHmx5nEyI9hd+OZw9S72cjdzPf/WxpRZMOY8s2uFNtavog
PflS6fIxgLIjNTibNEvaTpHlkz75TFPiSjkXupjSSvGanI1dwzJVVioXpc7pjiRx
L/rIRPnl2LnS9TCwbzGcrfDO5vNF29rcTU2Yf1URPPFET2PjUn19TPjX5fTp6bIs
7LlzpqtXnXrns3k8HqfTWXKfZ5/PNz4+ju81AMrS2YgAmEymCpy5WvB+NqmGyWe7
pcZJqo2NzBQh3/PZBF1q9C4mpWY6M5gEvT+J5hL0jh1ZlvLWz5Zb4nFWuemjP7X3
szFzrtLPRq1zanaFV1EeT5ljP5u2h4F9i+FsBXa2oaHVpibuzBkPFoPGVn7byZPh
06e9bW364kZ2dXVtbGyU3Od5fn4ezgZAuTobafd7vd4KrJA8z2cTjH5MzFhTns+W
SYeqeenXisuHHmLcSKmuZCexSfVN1kkineMkGSJHnXImT4rdsZPJEl2r9M9nyznx
5KusnVALq9PZqJPc9M1nU6hzujtXyXrzsnec4Wxqd1B7xti3GM5WSGfz+aJE2E6d
CqJxj62sg/6HOjq0rs8WiUSIs5Xi53kqCb7XACg/Z9va2jKZTEUbDKkYnE0lbmQ1
x/ezpVWNX9WNq2bFjaTHGsmcnoxFSQ8d2dBwuOuzCYawZUILJlrZfFjAKsVYEdkY
g8Ixfsy4kbSkJHE7MlohyZKCVmWP1Rw3UiVxUcwQSc5FIy0phdXbz5aKGyk0Ft1x
I9VGGFLqh3bHWc6mlivtDwPzFsPZCulsbW3uM2c8aNNjK/vNYPAypvULmZycnJiY
KMXP89DQEOazAVDqhEKh7u5uyU6Xy+XxeCqzQlpazAcfB1TgldyMxjBxbGEpYrEY
x3HaZ7WZzebNzU099cSObAFAIQiHpU8+yJuzNTWZMSQSWyVsjY2avkf4P6s6/1IW
BSTnRtJMwNrfAJQ4kUiEtNfln+5S/F7KC9euuc+ezeXH5eQcNlE0kYL9xbl+nfIr
4ejoqN/v11hqt9ut09LhbODo8Xq1/j4OdDsbY8gBNmxltmnpr5+Zmenv7y/FD/PS
0pL8t3kAQBk4GyOSZCUQjUYNBq6hYaNU/tYMDiZWXpH/gkb+vhBt015qkkgpzqwG
FQu/5hB+Oy4NZzteTR/YXWYbe4hFgQdg5JzJ3/uN5n/Md/r8j5qMZyATueuAj0pu
lazqbOTrpnS7qux2O2kQ4EsNgPJztpGRkQqfqrq6utrRwRkMnsbGrSKeOJ0YEmm3
T5NmKzXqFREwi8Wiq9QkKY/HQ/424XMBihnScJqeVnzyAZwN24Gc5y//Yu7v856s
qrOlV8s5kkeF7Wzki4YIm664XsXD9va2wWAouQXlSpednR3SsF5fX19bWyNPzvz8
PBFm0rRyuVykeU382ZbGarWaZZCbpXfVCpPJJEmkt7c3c5Xh4WFy3dHRUZIH8oeT
5Ic8yWtJyJ9SPBil7mykJRQKhSq8WqLRKHnISc0U8+oy5HNKPv5KP/zFYrHW1tbd
3d0yKzUA7CcfHLqzJbsyUmSa18louYrrSCYa4tX1wlMUI+Rm4jIlwi4JQzNVSU8/
xtVUy7JBD+ukL7fUd1UCT1VRV3epUiwyOwOya6W6oWrq0yGtljMp8KGHpR1WykeK
lp2R1WHd3//o/n+4+6UvfUFaY7RqFLpW5tJf/abS3RTWA+2OVLuoj4ryA5BIk1TR
N+4Tv2bGCtPlbKQx5HA4yDcOaeCW6CeZtwV8o+XLxzY2NojzzM7OTkxMkAbT0NAQ
8aKuri7SciJNLvIgdXQYTaaLFy8SH3vh2Wf7TKaXOG7kwoWxp54af+opz5kzrz30
0Mz99//s29/2/tVfvXn8+Ftk+5M/mf3DP3yT337rt25VVf2T9u2zn33rD/7gVuZ0
khRJ8K//+o2/+RsvuRDZvve918h1n3rq1Y4OJ8f9hOTHbP5RMm9XSD5Jbvk/q6Tp
39nZScoyMDBAyjU+Pk5Uc3Fxkcin3gV/QcGcbW9vz2g06lraCxQtFosFwx0BAPl0
NuECJtS1JhOxbpONb4mzSRYzUXI29pIp4tNlK6UIOnP4nfc9oDu3Su9SFmaRX+4+
4SWoedZaXfy1Mu+mJkzzr3mByb4WCYnqkSp1+N13vl57UVZSSnEkYxoz/nbffUp3
M1FXSkllutcoj4ryAyCUQLkYU9fkYTgbafqQJlEwGJyfnyeeQxripCE7NTWl67fP
YnOM9vZ2/Ayvq8ZIdQmtjDgMeRJINZLG8XPPPd/dfc1qvX7pktNsvtHaOvn9708/
8MDsX/7l/H/+z77f+Z23dOlW8Wyf/7y/tnaOyN53v+sjmtfU9BrHuS9dGnv++Ze7
uwet1ivkg0BqgNRDf38/b3SkfkgtkboiNYbHpmCQ7yJyIzL/DAQCumLEg2KGfLIw
iB0AkE9no+qNsFWtOjaSf011NqHMCGWAckXq6eyZWtpyS31XnLHUARRfok/lkuZZ
ewYEeRaokei1NCnVIxna/Jfkdd3dL/7rx+UuTa2KzIo0GcNMdOsp3k3poEdq6eSP
ivYHQPlZUnk++a4Gg8FgNpt7enqGh4eJqpXBT56kBeBwOPB1RmV/f39ra2thYcHj
8djtdtL2JXefiNmlS5cvX/5RZ+fLbW1j//f/vvrd777xta/dKl0fy6PX/fmfz/2v
//WzRx99zWC4YTa/TGrp2WcvE4UwmUzkU0PqkNQkqU9Sq5W5VlhhEA4KIF9TFRvl
v/zw+XzkTw/qAQCQZ2c7Xl0lGdonGL1GaRwfr87uZDmbbKCd8CzhFVVPP0hu5e+K
R2+mMia/nERy1PJMz4BgRJ9g1GVBnO3vSArfvU11IWo1iodHCqqFptASGZPWTLom
5Y+K9gdASeCp/q83bmQpOgmREAwi59nZ2QkGg6RV5HQ6bTabKcnzz/c+99xP2tsn
Hn10+jvf8dXW+j/zmUp3M73bpz4192d/5v+7v/snUoekJru6ftrd3cdxHKleUs+k
tkmdr62toTvuMJyNNPGx7mLZsLm5qWv1qmg06na7MZ+t7CeDkW9R/B0HOTobbxTy
cWiiyWAycco0vjP9Ldr72ahX1NjPlltu5e/q7WdTzTMjA/KOLC0mdnBn+/z/1/CP
ifls1xTui2I1pq5yPOVd7H42es2kJ7PRHxXND8BB+tnK7zM8NTU1MjJSsV9hkUhk
fn5+fHy8v7+fNGsuXbJcudJvtY62tr5SV/czohlENmBch7d9+cv+f/iH2aeeevXy
5Z9cuXKN1D8Rud7eXnJH5ubmtra2MAvr4M7W2dmJsIHlBPmMaLyhmbiRFbs0X4VA
bM3r9SLoIsjV2aTt46QGCMRDydmks6oEzejErC3GfDbqFenNdMEEs+ROUUQKbblV
eldlPpv4cuw8a6ku2rUO19n+5D+88F0tfVbp4ggznLyD0hgn9PlstKSk/WkKE/BU
H4ADzmcrJ3Z3dyttHe39/f21tTXy541IGt+NduVK36VLrqamN//bf/N/7nPz8Kgj
3D772bf+63/1nz07azbffPHFIX6CXF9f39TU1MrKCsZS5uZsLS0tqLpyQuNi2fz6
bMFgEDVWIYRCISxuBnJxtkwDXRIMUGngnCxuZLa5n0nnWA1XLY/1V81lfEN+RfWw
k1WK52rJ7cHjRrLzzM4AJfrl4TvbXx/336fcf0WtRrHJK40jlZ4lSer3vyEdBMt4
VNQfgBO640Y2NJShs42OjpI//2X/PbW3t7e0tORyubq7u4mjXrny4uXLRNJe/9u/
nYekFbnC/Y//8fYTT/ysp2f8xRd/RO6dxWIh93FhYQHtEo3Otr29rWsoHSh+1tfX
Ozs7VbugNaodKCe8Xq/dbkc9ALqztbSYT57cLNqln9knVovD32PDxtiMxnCZNX1I
q5c0gks33CUb0qBZW1ubmpoinpbsqxnq6nr1H//R92//LSStdAdSvvP97/svX36t
v9/OcZzZbB4ZGQkEAhg/yXC21dVVm82GCikzyD31+XzsY8gHBEMiKw3yZx2/0QBF
Z7t2zX32rKfQnpbpllGIDqJxowbQx4aNul2/Xm4/Xw0NDZVfzOj9/f2lpSV+ubyr
V3/03HM3Hnxw9vd//20IT5ltX/ziz7/73Z8TD+/vHzQajf39/QsLC+X6A8RBnI0P
qIMKKTPW19eJkrFj9pTlBGyg/bMPgNTZotGowcA1NGyUVvs7Y32SwXvYsFG3wcGt
Mhsmvra21t3dXU4dFCsrK8PDw+Q22WwDly+/9t//+9uI7lgh4ye/8Y13zOZ/un79
xwaDgcib3+/H9K1Mu83j8Xi9XjRWyg9yZ202G+NRL1zbfZmrrap35fdIPYceZTHZ
2TyUmoGzgVydLZ4cetHRwRkMnsbGLTTusZXT1tCQGBJpt0+XWTgmompE2Ii2lUFZ
iEhPTU11dnb29PRduuT95jcXEOmxYpcT+NrXbpNn4Ec/GiTy5nA4ymDtxIO325xO
J5FYNFbKEnJze3t7lXrbitHZjjrRQufoKAoBZwMsZ4snwxONjIxgAZDy5tFH3Y2N
SxW47Indbi+zgAflsYg2cc7+/n5iazab6/7756Fq2DLy9r//98+vXnW3t7fbbLby
+G0i53Yb+YxUZg1UCFNTU0ajcXZ2Vj5ogtl2d9WnZ5dwy5I9accgvlHLcdK9ggNT
+7InjiVOqa+vTb8WJsW/Fr6gJp5JLZlOer+LciA7k5JTkoctC89Z5jOjWjqpgNVL
riUspnLNuBRrWKm69GQMzgZ0ORvIU+9H/J134nZ73GyO37hRdNm7eDF+6xbuUskT
jUZLPb5/MBgkbfGuLqvJNP2VryzAUrBRt6997TbHvWa1dleauZHme0tLC/+6p6cH
MTbLm1AoRMycfKs7HI65uTny9RiJRJhtd4EfEBNI+kv6/4JXSXOQ7ky8ktmKSMlo
MkN1Nkri4usIXEd+pKAoaunUcgGhtCVfBoRHZ7NKKx37WuxzKTUtrWHZOfozBmcD
cLaCsbERv3kz/uyz8e99LzUk79Sp+O3bxZXJ7e1E9pgTnkFpMDIyMjk5WaKZJ22R
4eHhS5cszzzzs9/9XT+0BJvq9vnP+43GW88+20menAqxF35hLv61yWRCaJZKgHw3
+v1+8vXe3d1N7j6RdsW2O6XVn1WCrDNQpYuiTTQl0+Rs1MQz2cjspeWNWhZ6OqlT
MtIm6nKTFp9WOva1NNaMjhrWnzE4G4CzHbYCvflm3GaLP/44ZRpVEXZnkSxZLLhv
JU8wGDSbzSXahltcXCRtkRdeuPGlL/0cKoJN1/YHf7Dw/PNuo9FInqJKaL6Tjzn/
ur29Hd97lQnL2Si9VUJZYhpFduSerDvogM4m9paUr1DzptWjxMURuVvqElXy8YrS
UaOar6WxZlRrWG/G4GwAznaojI0pxr24eLEYM/zSS/HRUdy30oYPPbK0tFSKOR8Z
Gbl8uevhh9/CvDVsOW9NTT8nTxF5lso7sGTG2ba3tzPyBuBsNEMT+VH6tbZeIPn4
wCLuZ0uZkiujbAktYg03pI/DVPFMxZrR15OpM2NwNgBnO2yIAlGd7f33izG3bW3x
1VXctNJmdna2FFfXJcI2PDzc23v1619fhHVgO/gktxdfvDYwMFDG2ra+vt7d3c2/
wILacDaWtKVfKsy2khmFUBjYziY4NDtvS83ucprPppaOsNOrSpgn4YmSWX36nY1d
M9prOIeMwdkAnK0AyHvbzp8vxnzu7MQfeST+ySe4YyXM9va20Wjc2toquZx7PJ6e
nqvV1fPwDWx52f7oj27bbNfGx8fL9cO+trbGq9rCwkIZRIgF+Xa2uNa4kQo6JAtg
yNuQOPihYDRfMrKjJmfLnqQ9biQ9HdopGQUSZ094LVrptDkbs2ZcempYd8bgbADO
VhgkvW1TU8WYyZWVuNGIe1XauJOI//ww/wII/kRonvycf/hRXn/91xp72FbH5L+M
1PmK3iL4bN+pq0pltW7syLNdJDV5++KyqGbytX3964vkucrPTxiMOG5H9CHKOJvX
6y1jNQVsyBO+ubmJeqgowuGwyWRCPQA426EQCsW///2UsBVtYEavN97Xh3tVwgSD
QaPRKAg9IhkvIm1OCkMQp1qeR6RtDofj2WdfOYhpxOMfX6z1lZCz1Y0Vg2pSazK+
fPF2eTgb2SwWz/Dw8EEf0JSVUZztCD9Efr+f715zOp2zs7P4AqzY3+k8Hg/qoaLw
er12ux31AOBs+efOnfiTTyaMiO9tK9p5B+Qb4OZN3K4Spru7e3p6WtTQFC8+Km5y
Kg/kVxockl4Y1BVXWvpTeXALE5PJ9Bd/MafPNJY3agUdVkLTqL34cSZlgRTxYvDx
2Bj/7sdcczIi/NjGxVQlJJwhc272xLo7CmZ4+2K29jK+IdEPYVZTzvZA1c8vCqt9
bJV5ljTbiQwoZkm0KdQDq+svnXJ2j2IitRuCQoh0i1n/d+qymZdVWjZNxQT1+uTX
v/7WAWMqJp/pZFQDepDuI/sQzc/Pj4yMkBd9fX0rKyv4AqxM+CUfNjY2UBUVwtbW
FrnjWI8RwNnyz85OYvZaZqGssbEijT5CsFjifj/uWKmyvr5uNpv39vaUW57ixiVj
irPigH7hxANKyCvWJHImzc3Nn/nMW3lxtjpZz1G6lX9bZErLGzV17L95vDbIeqJE
KiU//pCcTZDtqhWFLIlqSbkemM4m7gBUTkSpWjTXf7bs7LcoCWbe0rKR5yo/Ez/0
xnY7/A/R1NQUvwZj3sZ/gtJkdXWVNOI9Hg8eg/KGeNr09DS514FAALUB4Gx55pNP
4iZTvFQmh//wh4kxnKBE6enpWVhYYLQ3pc0/Wb+bhuamcixmaYr6pO3ChQu//dtv
5GFsJN9Rk3UYoQulxSDT4hf2KaV7eJKuwqcv778SGE7qePlAR3Vno42N1OBsdFGh
SFe2E4xeDyqn851aiYwxEpG+peW6qYKkFI6vfHEZU28JE0nVc+ZeKN0axe03f3P6
6aefPkRnO7oPkcvlmpmZ2dnZMRqNsVgM34GVTDQaHRkZIfbeDMoXk8lkt9vRwwbg
bIdCV1f8hRfipfLH9OzZxCLgoBRZW1vr6upSaLcpTLGRr7iqo7nJXFdUJXUpe3t7
BoPhvvteOoCzpRvxokGDkndTgwyzzX3+4JQLCe1FdqToisljkufSeq4OydmUBFKQ
JeG7rHrQ7GysRCS3IJ2CjvpnlFHwlugeibOn7Wm5774ft7W1Kfc/H8zZjvRD1N/f
HwgEVldXe3t78R0IQGEgHzqv13v79u07d+7gtxIAZysTBgfjzz5bMsK2sxM/fRo3
rVQZGhryUwe2SiIkSF1O51QcakqisVw59rMtLy8/+WTbpz51K7exkdpcRYOzyRVC
NGtL6my0vq/DdzalLOXJ2bIZYycizYZ8oh21/hllpL11MGf7tV/zPfVUe37i4C/n
aT5b/j5EVqt1Y2ODNB9dLhe+AwEoDJ988kkoFFpcXJyYmBgdHZ2enl5ZWSH+hpoB
cLZSZWoq3twcv3u3ZDL80Ufxxx/HfStJtra2jEYjZe1glrBR3hf0xzGXSY0rLv2Z
83y2eHKg1/33d5FG9oGcTWnMniAGiS5n4w1BNGaPNjZScFhqmB8vFangGVqdjXqW
NNuKWdJaD5pjkGhNRFAW9frX6WwHGxv54IM/euaZZ/ITCV1Bt47wQ2QwGHZ3d/v7
+xGABIAj9zfyJ+zNN9989913I5HIvXv3UDkAzlYazM8n+qxKa8UUktsnn8StK0k8
Ho/X61VQMhGUJqfC0lKsZVKl5+UhbiQhFov19Q38n//T9elPv5m7s1FDVih1WGnp
Z6N0HIlnx0n3MzJAcbZMBnRnm3ZpbfWgI9a/YiLKfX1qBdHpbLnGICFP0QMP9Nhs
165cuZKf6R/612c71A8RKRQ/ja29vX2nOFePAUeBzxdta3M3NWFiW6E5f/78xYsX
yRfO0NCQw+Gw2WyXL18mH8+8JH7unOnqVSdmsgE4W54JhRITw955p8SyjQW1S5ey
iRpHGqBmc9fp08/8xm9M5exs0la+NB6GTmcTpEZMRjIwT3Ah+uS3sTrFsZFZ7RG9
Kz+LMp+NkSUN9aBvTW3FRETaRs8erf51O1sOsf5//dffOHv24uCgY39/3+12O0ol
DJQeZmdnh4eH/X4/aSDiOxDwDA2tNjVxZ854Tp7c5NeDxXYk2/e+d7e1da2ra+6l
l24MDo5bLG+dP/9+Y+PHOSd48mT49GlvWxsiRgI4W/6IRhO9VW++WXo5J98DJhNu
YOmxvb3d3t5eNjOhJycnBwdfam5u/9M//XFxL5CNrUi3//SfRpqbjVNTb/BP1M7O
Tmdn58TERJlFCyCqNjc3Z7Vag8EgvgZBPNnDRoTt1KkglKmotrNn/8VgeNdqvfXy
y87+/snOzrebmz84dWovh6QaGkIdHViZDcDZ8tNLEG9vj7/0UklmHv1sJcrGxkZP
T08ZFGRvb48IG2leR6PRSCTCcVdOnbJ8/vOTkBBsGrdjxzwPP/zchQvPS9o0RNuG
h4ctFsvs7Gx5DCPc3t42GAyvvvqq3W7HdyDgaWtznznjgSMV7fbgg/cefTRiNAau
XPkZ8berV1+7cGHpscfuPPxwTHsiBoMXn3oAZ8sD5HNkscRL9MdczGcrXdUxmUxr
a2sl1+gkYra+vr64uEhUrb+/v7W1dWhoaFuw3MTc3Fvnz1+8//7nv/CFVyAk2Ni2
9p3vvNjS8ix5ZpT608jD5nA4yGPW1dU1MjIyMzMTCATITvIcbpfUIiekgD/96U+t
SXZ3d/EdCHiamswYElkq28MP7z/xxC/NZn9//yTxt66uudbWtdOno6onNjaGTRgT
BeBsB8TrTUxji0ZLNf+IG1m6LC0tldxSqkajkeS5p6dnYGDA7Xb7/X5qu5k0T2/d
Iub27EMPXf6933NBTrBJtv/4H8ceeqi7re3iq696tCzCtr+/HwwGfT6fy+Xq7+8n
TyB5DsnTWHIBD/geaXz7gQzkqYALlejkt+bmXxB/u3btlf7+CbN5oanpQ7JT6Xhy
o/G0Azhb7oRC5FMXX10t4SKQBvMjj+BOgiLlnXf+38WLPU8+afov/+WlX//1N+Aq
Fb599rPTf/7nw088cdFs7p6bm6uolW2JdloslvPnz1+9ejUPa4UDOFt9vO4Ed6yq
/nhdfo7Xm5riVeqWa45VVR8vPQ3L1IDeqshMfrt+faynZ/rChSV55xucDcDZcmdn
J37+fGJBtlLnoYfildTyAaVHOBz+8Y/d584ZGxuvfOUr9n/1r34Ge6mo7dOffvOP
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
OhuxsLBgt9tTr95WUW7fmM3NbPFlALSIRtnQx6Eh1nmyvp79++KFsLjIRsQBAMA5
c//+fdI21EOJmdvo6OijR4/onW1qakrnbPJoT0IEJqm5qWc8m/pJkgNo6kOtVPuS
yXJyEig76SF5sSoWiaqyJfxJ6+SxfSorZXEqzfLKg10qznYSukm+aFIrX35+ed/I
ZK1Sz0a8J2fia3Fn9fdFux7Uc56yOOrvWnL9qDib2lWS6yTNVdQqJ6sOsfK3Ne0b
p+/mP8UdrnVIupyrZDILZxPYvBtrNpstFArB2UQcDhZLAUCnv83NCQMDQkuL8NNP
LP7W38/ib+Ew6gYAcB50dHS0t7ejHkqYTJxNjrK/llr3OdV4TuJJNFu0iUGDpFbs
xfiJEvY/acXG/hUPSW4Hq5w8JmCV1caqk+1ps6och5bUaE6yL0V9xpWG6eWlFM6m
yEY6Z9N8XzSieeo5T1mctO+ahrOlrB+dZqjeSzZZV+J3iCL+lnzzpM+Y7ps/oztc
x/2cJucad1R2zsZ/0BkZGdnf34ezMSIR1vkNfd5AFnfO8rJgtYqTl5DFPX0qTE5i
2W4AwBny6NGju3fvoh7gbPJf9NV3Vu/YpnQDRWwhwzhbQlRE2nixNqEHYLWxUoqw
VddqddpUxqCkrpXqWU0fZ0tWqYzibNI509SYDmdTeV8uataDes5TFifbOJvqVbKM
s6kWU0dsTXHzZPLGpbn5M7/D1bOkcotq5TxncTbO2tqa0+lUnZKkogy/Hy0WFjkB
4DRsbLDV3np62OIBjY2CycR0zu9n85oAAECuMJvNBoMhiplty97Z1McdyRrKepwt
9eAlzfE8sY3xCTOS9xfHoSVMRlJRoRzVlurk/yyfgySuUunGa6mNZ+NepFa6VOPZ
tK1SpcbS9o1Ue1/iZqgV/0zKecriaMUP049nSzyhjvFs2rajVkz9szVKN092b5zW
1fXe4ZdS3c8p7v+k+XVyNZ5NzsLCgsvlOlQ0KMvR2XZ3WSMbw5NArtjeZgG3Fy/E
IXDNzWz9N4dDWFlB3QAATuts9+/fD6NDNpxNbSI7ZWetTOaNVJlQIcWe8j9dEqf4
Eydv/J//lBDSSZ4xUs/J5eaj0i9RPskhXyBLa97IC1VVF7RKpzXLn2zeSLU6UdaY
jjibovtf0iHKeSMVOU9ZnPTvWpVRNc6WdML080Zq+DzfWXn76VyZWv4OZvjGpbr5
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
---END_DATA---
%/
| source file:|{{{C:\Documents and Settings\Administrador\Desktop\resilience\save.png}}}|
| attached on:|25 Junho 2009 by Skye|
| embedded:|[[save.png|save.png]] - {{{type=image/png, size=561 bytes, encoded=759 bytes}}}|
| local file:|/%LOCAL_LINK%/[[./save.png|./save.png]]|
| remote link:|//none//|
image
<<<
usage: {{{[img[tooltip|save.png]] or [img[tooltip|save.png][link]]}}}
[img[tooltip|save.png]]
<<<
/% DO NOT EDIT BELOW THIS POINT
---BEGIN_DATA---
image/png;base64,
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhk
iAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAHDSURBVDiN
lZO/ixNBFMc/M7u5hOQUlDRGiCwcXCMoIhyIVoqlhbXYHKJ/g2JnpZ0o/gOihdhY
pMmdWKiIWFyrFoFcYeNuk+wym533xiJ3+SEnxC8zw4Ph++XzHjyzde/1WxG5yVSB
uRbrI/+sta9iEbnxcPsqWx+egqoJqqBKCGo4rFVBZV6HwM71Bzx78/l2DCAa+P3i
MUGEVaXX7gMQA0ZEOPXoOYS/qf+tysssAC+Bk7furmwGkHffFwMUEWE4HK5kTpJk
icCIKFEUkSTJ6gRe5wRyMLzBYLCSudvtLs+gOkj7H4LlFryy/eQjjewrUbF/tMNM
n0njDHnrLBunj88JvAhMCqJinyuXL1Gv16nVarNrraUsS/I8Z3f3PfnaBt63ALCH
OKqKtRHtdpt+v0+v16PZbCIijMdjRqMRRVGAsagqfrEFlYCqYgy0Wq0ZdZqmlGWJ
cw7nHGVZEkIgqFBVC0OcVJ7YTjcky7JZQJZlS2bnHAFQVSrvpwHWmC97P3+d3+ys
N8ZZIE1TOp0O3nvSNF0yO+cgwIljazMCc/HOy3Vj+FS3fvNc/K1uTEwgMD0Hu7Gw
I4bAnr+Qi6kbkfDjD/3zDzpnSVtRAAAAAElFTkSuQmCC
---END_DATA---
%/
| source file:|{{{C:\Documents and Settings\Administrador\Desktop\resilience\table_save.png}}}|
| attached on:|25 Junho 2009 by Skye|
| embedded:|[[table_save.png|table_save.png]] - {{{type=image/png, size=723 bytes, encoded=979 bytes}}}|
| local file:|/%LOCAL_LINK%/[[./table_save.png|./table_save.png]]|
| remote link:|//none//|
image
<<<
usage: {{{[img[tooltip|table_save.png]] or [img[tooltip|table_save.png][link]]}}}
[img[tooltip|table_save.png]]
<<<
/% DO NOT EDIT BELOW THIS POINT
---BEGIN_DATA---
image/png;base64,
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK
6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJlSURBVDjL
lZJJa5RBEIaf7q8nGceJRMkiKCJIEEVUXMYtp+gxKBIQXC4iIjl496IomJuiv0BQ
D0HBQyCHgCIqxn29CYqKGjWZaGRiJjNfd1d5mJhE8KANzdvVTT1db1Hm8p2xE6oc
jiqLRYQoEESIUYiihCizdiQGJYo87jnQVgBwonq0q9DQxH+sk1ferP59dlGkCaDv
7UWCBEIMeAn46Gc0hum3Y1t68D7WzwIoAPtWHvqn3ycqAR8iM4AoAPTeHfknwM4N
C0hnA8IUAGBvewtXB4fZs611+u7ag2G6Ns/Eo6XKHxWYc/1DeqijmYEXY1gAYzAo
t18UaaiHchqYn6/j88gkxkI+lyBqGCtNcvP50CYXo6CASwy7C830PSqyq9DCwL2P
dBSWs2tdnv4Hnzi+f8UfVi7dKiJiHlofBRVwFvqfFkmSmparnu/jAYDrT4anEysB
SlUo/kgxRrA+CKpKJoHO9c1knaFzfTPWGhIFH4Wz3esQUaIoCULOCdVqldJEigtS
a2JiDTdejgJw4+Uo2YylUvWcvvIeayBEQabsqioo5DKCDSHUemBhx5omXFLTIEo1
BhKbwRiHIcGYBNSiavAhkKYB52PNwqoleb58n2RZ6xzeff3JeNmTMY7uzgaCpIAF
BTVC1tVxpvcD30oTuBh18FTv67VplLk+RHyIxCBTfjMIk1x4doSm3BIMlmL5I4c3
nseSpVxNcWcPrmj/28TtOX1fly6E1vw429cUaKxbBBZ+VBbRMjeQqwNnDEZV/zqy
G7qvD7YtnrO1sb6RrJtHEI8RwWhETJlXH94yUvL8AgiPWj6e64RKAAAAAElFTkSu
QmCC
---END_DATA---
%/
| source file:|{{{F:\TiddlyWiki\TWExperiments\jQuery\images\treeview-black-line.gif}}}|
| attached on:|31 May 2009 by YourName|
| embedded:|[[treeview-black-line.gif|treeview-black-line.gif]] - {{{type=image/gif, size=1877 bytes, encoded=2543 bytes}}}|
| local file:|/%LOCAL_LINK%/[[./images/treeview-black-line.gif|./images/treeview-black-line.gif]]|
| remote link:|/%REMOTE_LINK%/[[http://www.symbex.net.au/Wiki/images/treeview-black-line.gif|http://www.symbex.net.au/Wiki/images/treeview-black-line.gif]]|
image
<<<
usage: {{{[img[tooltip|treeview-black-line.gif]] or [img[tooltip|treeview-black-line.gif][link]]}}}
[img[tooltip|treeview-black-line.gif]]
<<<
/% DO NOT EDIT BELOW THIS POINT
---BEGIN_DATA---
image/gif;base64,
R0lGODlhEADwBvcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAACH5BAEAAP8ALAAAAAAQAPAGAAj/AP8JHPgPAMGDCA0iXFiQ
4UKFDglCjChwIkWLETE61MgQgMePHx9SlDhyIEeRJRumPJkwpcqSLA/GJLnS5UyT
NnPW3AlTZ0+eI29W9BmU6EWjGZFuVNqRKcqfUIsCPTo1adWlV5tmfSo1KlWvVsFi
FauVLNevXdOiXRtWbVu2Y93GhVtWbl26Z9/qnbv3bt+8fAP7FQx4sOHCiFtuVWyW
sd3EMp06xjv5b2XClw9nhkyzceTFnz13fry5dGjSpymntrwac2vNrznjBD1adW3W
t13nhr1b9lDas0UHR93bdPHYxofbVo6buW7nvKH7fkncpfXr2LNr3869e/TfwsFX
/xe/nHxz88/Rf6denv159+nhrxcqfzr9+5KR6z/OX3py9fbl1x+A/9VXIH7AEbif
fwsqOKCBDUL4IILhScjghAJeqKGDG1rI4YcehkjheCJmCOKI7aH4norxsTifiSUm
GGOFLgYoY40HwohjhDtieKOOQP4oJI1BEjkkiT12mOSJRSLZZIpPrhhli1O+eCSU
V0qZJZVbWmnkl052aSOYWJKppZlcoullmGqOyeabZcJ5ppxp0rlmnHjOmWede96p
5598AupnoIQOaqibfSIqqKKFMnpojmJC2qakdjpqKaWJYrqopo1y+iiPVV4KaqSj
TlpqpZ6K6qOpq6J6aqavbv8aa6ezftoqrLfKmiutu9qqZKipBlurqr+S2iuxTBpb
LKvLunqssM8OC22zuFKrq7W8Yutrssxy66y2yM74rbfVknutudmiu6245bJ7rrvp
wrvukvKGS++9wEqrb7T8gjutuvbm2y/A/9ZbML7KEryvvwsrPLDBDUP8MMLdSszw
xAJfrLHDG1vM8cceh0zxuCJnDPLI7aL8rsrxsjyvySUnHHPFLgcsc80Hw4xzxDtj
fLPOQP8sNM1BEz00yT13nPTJRSPddMpPrxx1y1O/fDTUV0udNdVbW2301053bTPY
WJOttdlco+112GqPzfbbZcN9ttxp07123HjPnXfde9//rffffAPud+CED264230j
LrjihTN+eM5iQ9625HY7bjnliWO+uOaNc/44z1VfDnrko09eeuWei+6z6aujfnrm
r28ee+ezf9467LfLnjvtu9uudOipB1+76r+T3jvxTBtfPOvLu3688M8PD33zuFOv
u/W8Y+978sxz77z2yM/8vffVk3+9+dmjv7345bN/vvvpw7/+0vKHT//9wEuvf/T8
gz+9+vbLX/8A+L/6FRB/yiPg/vy3QAUO0IANhOADEdg9CTJwggK8oAYduEELcvCD
HgwhBccnwgyCcITtQ+H7VBg/Fs7PhCVMYAwr6MIAyrCGB4QhDiO4QwzeUIdA/KEQ
MmkYRCIOkYQ97GAST1hEJDYxhU9cYRRbOMUXHhGKV5RiFqm4RSsa8YtO7KINaQgS
kAQEADs=
---END_DATA---
%/
| source file:|{{{F:\TiddlyWiki\TWExperiments\jQuery\images\treeview-black.gif}}}|
| attached on:|31 May 2009 by YourName|
| embedded:|[[treeview-black.gif|treeview-black.gif]] - {{{type=image/gif, size=1216 bytes, encoded=1649 bytes}}}|
| local file:|/%LOCAL_LINK%/[[./images/treeview-black.gif|./images/treeview-black.gif]]|
| remote link:|/%REMOTE_LINK%/[[http://www.symbex.net.au/Wiki/images/treeview-black.gif|http://www.symbex.net.au/Wiki/images/treeview-black.gif]]|
image
<<<
usage: {{{[img[tooltip|treeview-black.gif]] or [img[tooltip|treeview-black.gif][link]]}}}
[img[tooltip|treeview-black.gif]]
<<<
/% DO NOT EDIT BELOW THIS POINT
---BEGIN_DATA---
image/gif;base64,
R0lGODlhYACFAPcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAACH5BAEAAP8ALAAAAABgAIUAAAj/AP8JHEiwoMGDCBMqXMjw
H4CHABRCbEixosWLBCNi3Mixo0WNHkOKFAlypMmTKFOqPAmx5cOVMEkeLBmz5seB
IGna3LkwJ06eQBlGdOmwZdCjGX8K1In0qM+lTaNCNchU6k6XRq1araoVKdeuQb+C
5Sl2rM2yZmOiTRuS6Vq2Hd3CxThR4kuqcy++Rbg3b9+8gAMLBou17mCTcg8jnql4
Md7GMokShbwxMeW4jC9jfqy5cuG/nTmHljl6JOjSolFzPK1aaWuhmV/3jB3aMN+7
BVmb1e0QNW/ZwIMLF/z5N2TLw3O7Nt74ae/keCVnhe6cueLq0FNPzY7zM/fv4MOL
nR+/m7z21tNn4gaOnHv77O+p0zb/nHxx8fGTYw+/H/xQo5PJt511h/X3XX7D3Uff
ggw26GB9CxLYmYS7racehWNhSJmGxz3o4YcK+jcffCMKqBx/RU0UoH4lsnieiyf6
592HNNZoY20Octicfhbm1qOJEeYoZIM6BhbigS0mmKRwCDKZ4ksrKvmilDEiOSWT
M96o5ZZcdunll2AaFBAAOw==
---END_DATA---
%/
| source file:|{{{F:\TiddlyWiki\TWExperiments\jQuery\images\treeview-default-line.gif}}}|
| attached on:|31 May 2009 by YourName|
| embedded:|[[treeview-default-line.gif|treeview-default-line.gif]] - {{{type=image/gif, size=1993 bytes, encoded=2701 bytes}}}|
| local file:|/%LOCAL_LINK%/[[./images/treeview-default-line.gif|./images/treeview-default-line.gif]]|
| remote link:|/%REMOTE_LINK%/[[http://www.symbex.net.au/Wiki/images/treeview-default-line.gif|http://www.symbex.net.au/Wiki/images/treeview-default-line.gif]]|
image
<<<
usage: {{{[img[tooltip|treeview-default-line.gif]] or [img[tooltip|treeview-default-line.gif][link]]}}}
[img[tooltip|treeview-default-line.gif]]
<<<
/% DO NOT EDIT BELOW THIS POINT
---BEGIN_DATA---
image/gif;base64,
R0lGODlhEADwBvcAAAAAAICAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAACH5BAEAAP8ALAAAAAAQAPAGAAj/AP8JHEiwoEGBAQ4qXHgw
IcOHCx1CnEhQIkWKCTP+03ixYceLFj8yDClSIcmSBk+irLhyZMuIL03G9DizoMqX
N1vmXLkTZc+SP0UG/Ti0Y1GQNW0mZbkUYVOnT49ifLqRqtSJVyFmfbjVZVSrYL+K
bdoV5tilZWWeTZqWJtmwb9fWbJsSLlq7bPHO1TuTrlK5ffnG9Ms0ruG7gAcLxrlY
Z2Oej31GBjpZaGWil6lq3sy5M9fMSBMzFu2YNGTTklFTVm2ZNWbXRkFPhR36cF7a
s23vxY1Vdm/eWn0HB/6ZuFfdgY2bRa5YuVrmo6GXln6aemrrq7G31v6ae2znbhF7
/68tvvzt8bnN70b/m/1w98XhH1efXP5y+s3tP8cfnf90/9UBeJ2A2RG4nYHdIfid
fuGdpyB5Dka43oPpSVgfhe1h+J6G8XE4n4X5eXgfiP2R+J+JAaI4oIoFsnigiwnC
uKCI+8kI4YQ2VojjjhfmmKGPGwLZoZAf8hgikSMaWaKSJzKZopMrQtmilC9SGaOV
MyJZI5Y39siljl6GeeSXP5IZpJlDolmkmEuy2aSbT8IZpZxT0lmlnVfimaWaSerZ
5Zh+ggnooG0S+qahcSI6p6J1Mnqno3lCumegZVJ6pqVpYrqmpH8W6umhnyYa6qKj
Nlrqo6dGmuqknAq6aqegxv8qqqyk0mqqrajiqqqurL7qKq+wzipsrcPeWmyux+6a
bK/A/rpssMRGa6y0yFKrrLXMPussttBO6221314bbrbcbjtut+CmK6665J5rLrvo
ritvu/C+O2+89N5rb7784uvvvv9W2qrAvhLcrMHaIlyuwu4yXK/D+kLcL8AUSxzw
pQNjXLDGB3OcsMcLg9ywyA+THLHJE1tcMcoXZ5qxyxvD3LHMH9Mcss0j41yyzifz
nDLLK/vc8qYxEz2z0TUjfbPSOTO9s9M9Q/2z0EFLPXSfL1tdNdZFc32010mDvbTY
TZP9tNlRoz211iq3DbTbVMPN9tt0x1333Hbnjffeal//vaWmfW/9d9aBy1343Yfr
nTjfg3fd+NePhx352JOXXfnZl6ed+dqLd7653w3y+bngoQM+uuGnI5664qszXjrh
rXv+uuOzQ1675LdTnrvlu2Peu+a/cx778MGDXhd4xzOYPI3Fk768ls2jHr3q07Ne
vevPi3697Nmbvj3x3cP+/fjh016+7efjnr7u6/Pevu/vAx+/8OT/pbz9zM9vPP7Q
6+88/9rzn/QESD0CWs+A2AOg9xDIPQWKj4Hgc6D5JIg+CqrPguzDoPs0CD8Oys+D
9INg/QqTPxDuj4T9M+H/UBhAFQ7QhQWE4QFlmEAWLpCGDbThA3EYQR1O0IcVBOIF
poWYQSJu0IgdROIHlRhCHo5wIISBonBmyMQTShF5ThShFrPIxSqu8Ir38+ILxRhD
MlIRjCU0Yw3RmEI15pCNLXRjD+F4Qzk+ESphpOMO7bhFPnZRjz8EZBAFOURCFtGQ
R0RkEhW5REY20Y+QdKQV8ZhGSX6Rkm205Bg1WUZOnhGTcfTkGkFZR1G+kZR7NOUc
URlIVg7SlYWE5SFlmUhaLtIpGslIQAAAOw==
---END_DATA---
%/
| source file:|{{{F:\TiddlyWiki\TWExperiments\jQuery\images\treeview-default.gif}}}|
| attached on:|31 May 2009 by YourName|
| embedded:|[[treeview-default.gif|treeview-default.gif]] - {{{type=image/gif, size=1222 bytes, encoded=1657 bytes}}}|
| local file:|/%LOCAL_LINK%/[[./images/treeview-default.gif|./images/treeview-default.gif]]|
| remote link:|/%REMOTE_LINK%/[[http://www.symbex.net.au/Wiki/images/treeview-default.gif|http://www.symbex.net.au/Wiki/images/treeview-default.gif]]|
image
<<<
usage: {{{[img[tooltip|treeview-default.gif]] or [img[tooltip|treeview-default.gif][link]]}}}
[img[tooltip|treeview-default.gif]]
<<<
/% DO NOT EDIT BELOW THIS POINT
---BEGIN_DATA---
image/gif;base64,
R0lGODlhYACFAPcAAAAAAICAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAACH5BAEAAP8ALAAAAABgAIUAAAj/AP8JHEiwoMGDCBMqXMjw
H4CHABRCbEixosWLBCNi3Mixo0WNHkOKFAlypMmTKFOqPBmgpUuXK2OKDHCQpsyb
G206HKgTp8+GOkH2/EkUIU2ID//RXFq0KcGgPJ1KfTpQ6NSrQwVmvfrzpVeuYMOK
VTq2rFmnW8+qXTsyLVuSb4uWjBq34USJSetynIvRrd6qfwMLHszV60vCIbf6RcxQ
MeOOjh/ndIiULFPJFCNjtqh5c+aanjkbbhm6tNTFplOvRK26tUnWpvm6Xigbdty7
CXGrls3ZM+/ZwIMLjzua9HC6BW2Hhqr1OHKrzskijchU+WPmZKNjt7658/Di3KOL
ox9Pvrx5ir+jp8dcOXfe1uuP1xYff/j88/iVFhfvXfh2/oA1px1lE1X3XYDZOfff
gAaFJxl4+UUo4YTO1SechcFhSJhuB3EYW4QazhYihSS2BiGDyQHYoIopDjidZQkC
119wM8oImnb7lajjjjz+NSJ8IALnYUbv9aiag0YyhmSSf52o4I1ProgiVS5WZqB/
UB5X42xbuuYkk2CGKeaYZJY5W0AAOw==
---END_DATA---
%/
| source file:|{{{F:\TiddlyWiki\TWExperiments\jQuery\images\treeview-famfamfam-line.gif}}}|
| attached on:|31 May 2009 by YourName|
| embedded:|[[treeview-famfamfam-line.gif|treeview-famfamfam-line.gif]] - {{{type=image/gif, size=807 bytes, encoded=1092 bytes}}}|
| local file:|/%LOCAL_LINK%/[[./images/treeview-famfamfam-line.gif|./images/treeview-famfamfam-line.gif]]|
| remote link:|/%REMOTE_LINK%/[[http://www.symbex.net.au/Wiki/images/treeview-famfamfam-line.gif|http://www.symbex.net.au/Wiki/images/treeview-famfamfam-line.gif]]|
image
<<<
usage: {{{[img[tooltip|treeview-famfamfam-line.gif]] or [img[tooltip|treeview-famfamfam-line.gif][link]]}}}
[img[tooltip|treeview-famfamfam-line.gif]]
<<<
/% DO NOT EDIT BELOW THIS POINT
---BEGIN_DATA---
image/gif;base64,
R0lGODlhAQABAPcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAACH5BAEAAP8ALAAAAAABAAEAAAgEAP8FBAA7
---END_DATA---
%/
| source file:|{{{F:\TiddlyWiki\TW jQuery\TreeView\images\treeview-gold.gif}}}|
| attached on:|5 June 2009 by YourName|
| embedded:|[[treeview-gold.gif|treeview-gold.gif]] - {{{type=image/gif, size=1179 bytes, encoded=1596 bytes}}}|
| local file:|//none//|
| remote link:|/%REMOTE_LINK%/[[http://www.symbex.net.au/Wiki/images/treeview-gold.gif|http://www.symbex.net.au/Wiki/images/treeview-gold.gif]]|
image
<<<
usage: {{{[img[tooltip|treeview-gold.gif]] or [img[tooltip|treeview-gold.gif][link]]}}}
[img[tooltip|treeview-gold.gif]]
<<<
/% DO NOT EDIT BELOW THIS POINT
---BEGIN_DATA---
image/gif;base64,
R0lGODlhYACFAPcAAAAAAP//1v//////////////////////////////////////
////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
/////////////////yH5BAEAAAAALAAAAABgAIUAAAj+AAEIHEiwoMGDCBMqXMiw
ocOHECNKnEixosWLGDNq3Mixo8ePIEMKDECyZEmRKCUGOLgypcuGLQHEjPmyJsuB
M23qNLgygICTJmnudJlz5NCjRWUeHSrU6FKdQU0+Xdp06s6qVm1izfpyK9eUXr+K
DCsWJNmyHs+i5ah2rca2buPKnUtXbtSTdTNWhZs34d6+GP8CtthTgOGeUgdHFKx4
IuPGi29CVnmX7+SCli9L1kyY88XMnnGGrgh6dOnQpz2n5rx6tOvXsGNzrdw672PZ
op0qxY05927eon0CTYw7ae26xoETvM2btvLn0KNLn069uvWvxyFnb7xdcffB3+l5
OofOvLjv8GuTk5f5k6RM4rLVP5evvHz8ytfz69/Pv7///wAGKOCABJqF33o8RWdf
bAvCVthh7+FlXoII9lbhcgoeWOCGHHbo4YcgOqgferaNaCJ14823WX0rAtfga4i1
F6F7zbVYI4Uq4lifhiH26OOPQAYppEsBAQA7
---END_DATA---
%/
| source file:|{{{F:\TiddlyWiki\TWExperiments\jQuery\images\treeview-gray-line.gif}}}|
| attached on:|31 May 2009 by YourName|
| embedded:|[[treeview-gray-line.gif|treeview-gray-line.gif]] - {{{type=image/gif, size=1877 bytes, encoded=2543 bytes}}}|
| local file:|/%LOCAL_LINK%/[[./images/treeview-gray-line.gif|./images/treeview-gray-line.gif]]|
| remote link:|/%REMOTE_LINK%/[[http://www.symbex.net.au/Wiki/images/treeview-default.gif|http://www.symbex.net.au/Wiki/images/treeview-default.gif]]|
image
<<<
usage: {{{[img[tooltip|treeview-gray-line.gif]] or [img[tooltip|treeview-gray-line.gif][link]]}}}
[img[tooltip|treeview-gray-line.gif]]
<<<
/% DO NOT EDIT BELOW THIS POINT
---BEGIN_DATA---
image/gif;base64,
R0lGODlhEADwBvcAAAAAAICAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAACH5BAEAAP8ALAAAAAAQAPAGAAj/AP8JHPgvAMGDCA0iXFiQ
4UKFDglCjChwIkWLETE61MgwgMePHx9SlDhyIEeRJRumPJkwpcqSLA/GJLnS5UyT
NnPW3AlTZ0+eI29W9BmU6EWjGZFuVNqRKcqfUIsCPTo1adWlV5tmfSo1KlWvVsFi
FauVLNevXdOiXRtWbVu2Y93GhVtWbl26Z9/qnbv3bt+8fAP7FQx4sOHCiFtuVWyW
sd3EMp06xjv5b2XClw9nhkyzceTFnz13fry5dGjSpymntrwac2vNrznjBD1adW3W
t13nhr1b9lDas0UHR93bdPHYxofbVo6buW7nvKH7fkncpfXr2LNr3869e/TfwsFX
/xe/nHxz88/Rf6denv159+nhrxcqfzr9+5KR6z/OX3py9fbl1x+A/9VXIH7AEbif
fwsqOKCBDUL4IILhScjghAJeqKGDG1rI4YcehkjheCJmCOKI7aH4norxsTifiSUm
GGOFLgYoY40HwohjhDtieKOOQP4oJI1BEjkkiT12mOSJRSLZZIpPrhhli1O+eCSU
V0qZJZVbWmnkl052aSOYWJKppZlcoullmGqOyeabZcJ5ppxp0rlmnHjOmWede96p
5598AupnoIQOaqibfSIqqKKFMnpojmJC2qakdjpqKaWJYrqopo1y+iiPVV4KaqSj
TlpqpZ6K6qOpq6J6aqavbv8aa6ezftoqrLfKmiutu9qqZKipBlurqr+S2iuxTBpb
LKvLunqssM8OC22zuFKrq7W8Yutrssxy66y2yM74rbfVknutudmiu6245bJ7rrvp
wrvukvKGS++9wEqrb7T8gjutuvbm2y/A/9ZbML7KEryvvwsrPLDBDUP8MMLdSszw
xAJfrLHDG1vM8cceh0zxuCJnDPLI7aL8rsrxsjyvySUnHHPFLgcsc80Hw4xzxDtj
fLPOQP8sNM1BEz00yT13nPTJRSPddMpPrxx1y1O/fDTUV0udNdVbW2301053bTPY
WJOttdlco+112GqPzfbbZcN9ttxp07123HjPnXfde9//rffffAPud+CED264230j
LrjihTN+eM5iQ9625HY7bjnliWO+uOaNc/44z1VfDnrko09eeuWei+6z6aujfnrm
r28ee+ezf9467LfLnjvtu9uudOipB1+76r+T3jvxTBtfPOvLu3688M8PD33zuFOv
u/W8Y+978sxz77z2yM/8vffVk3+9+dmjv7345bN/vvvpw7/+0vKHT//9wEuvf/T8
gz+9+vbLX/8A+L/6FRB/yiPg/vy3QAUO0IANhOADEdg9CTJwggK8oAYduEELcvCD
HgwhBccnwgyCcITtQ+H7VBg/Fs7PhCVMYAwr6MIAyrCGB4QhDiO4QwzeUIdA/KEQ
MmkYRCIOkYQ97GAST1hEJDYxhU9cYRRbOMUXHhGKV5RiFqm4RSsa8YtO7KINaQgS
kAQEADs=
---END_DATA---
%/
| source file:|{{{F:\TiddlyWiki\TWExperiments\jQuery\images\treeview-gray.gif}}}|
| attached on:|31 May 2009 by YourName|
| embedded:|[[treeview-gray.gif|treeview-gray.gif]] - {{{type=image/gif, size=1230 bytes, encoded=1665 bytes}}}|
| local file:|/%LOCAL_LINK%/[[./images/treeview-gray.gif|./images/treeview-gray.gif]]|
| remote link:|/%REMOTE_LINK%/[[http://www.symbex.net.au/Wiki/images/treeview-gray.gif|http://www.symbex.net.au/Wiki/images/treeview-gray.gif]]|
image
<<<
usage: {{{[img[tooltip|treeview-gray.gif]] or [img[tooltip|treeview-gray.gif][link]]}}}
[img[tooltip|treeview-gray.gif]]
<<<
/% DO NOT EDIT BELOW THIS POINT
---BEGIN_DATA---
image/gif;base64,
R0lGODlhYACFAPcAAAAAAICAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAACH5BAEAAP8ALAAAAABgAIUAAAj/AP8JHEiwoMGDCBMqXMjw
H4CHABRCbEixosWLBCNi3Mixo0WNHkOKFAlypMmTKFOqPBmgpUuXK2OKDHCQpsyb
G206HKgTp8+GOkH2/EkUIU2ID/+9HFq0aFCeTaMafCqQqVSnNa9qXfpSq9eqX8OC
FfvVKlmsZ7emVbv2ZkmobWW+HRu34kSJSafW/RjS7N6Dc/8KHkw4LVeYhUda9ZvY
4uLGM7NC9ngUqdKuky8+zsxxM2eMnj87PsxYNMPSpimiTn2adV/XlGF3XA07MG3X
tlPfTbib4O29gR3rlk28uPHjVUkjl1zwd2qqSpfrFShUenOHlpdah+7cNHfrvpmD
qyfdHbz58+jTqzcZHH1705Z55y2e+3x98/fB518ffT159KFtN1B1531XIHYTaSed
geYxOJ542ynH34QUVmjhThW+h99xvQE2H3Ea6mdhiBeWWKCEDUK4oIrLBbgiUhEp
2CKLyLk443QNomjijjz2mBmJ0gG5nJCTdViQkTdSWB5xS8rWJGxPivbfgTg+WKWA
V76YHWZJhkfldV96meNhPpZp5plopqnmmggFBAA7
---END_DATA---
%/
//{{{
config.options.chkHttpReadOnly = true;
config.options.chkAutoSave = true;
config.options.chkSaveBackups = true;
config.options.chkAnimate = false;
config.options.chkShowRightSidebar= false;
config.options.chkSinglePageMode= true;
config.options.chkSinglePagePermalink= false;
if (window.location.protocol!="file:") showBackstage=false;
config.options.chkSearchTitles=true;
config.options.chkSearchText=true;
config.options.chkSearchTags=true;
config.options.chkSearchFields=true;
config.options.chkSearchTitlesFirst=false;
config.options.chkSearchList=true;
config.options.chkSearchByDate=false;
config.options.chkSearchIncremental=false;
config.options.chkSearchShadows=false;
//}}}