var config={numRssItems:20,animDuration:400,cascadeFast:20,cascadeSlow:60,cascadeDepth:5,locale:"en"};config.parsers={};config.adaptors={};config.defaultAdaptor=null;config.tasks={};config.annotations={};config.defaultCustomFields={};config.messages={messageClose:{},dates:{},tiddlerPopup:{}};config.options={chkRegExpSearch:false,chkCaseSensitiveSearch:false,chkIncrementalSearch:true,chkAnimate:true,chkSaveBackups:true,chkAutoSave:false,chkGenerateAnRssFeed:false,chkSaveEmptyTemplate:false,chkOpenInNewWindow:true,chkToggleLinks:false,chkHttpReadOnly:true,chkForceMinorUpdate:false,chkConfirmDelete:true,chkInsertTabs:false,chkUsePreForStorage:true,chkDisplayInstrumentation:false,txtBackupFolder:"",txtEditorFocus:"text",txtMainTab:"tabTimeline",txtMoreTab:"moreTabAll",txtMaxEditRows:"30",txtFileSystemCharSet:"UTF-8",txtTheme:""};config.optionsDesc={};var DEFAULT_VIEW_TEMPLATE=1;var DEFAULT_EDIT_TEMPLATE=2;config.tiddlerTemplates={1:"ViewTemplate",2:"EditTemplate"};config.views={wikified:{tag:{}},editor:{tagChooser:{}}};config.backstageTasks=["save","sync","importTask","tweak","upgrade","plugins"];config.macros={today:{},version:{},search:{sizeTextbox:15},tiddler:{},tag:{},tags:{},tagging:{},timeline:{},allTags:{},list:{all:{},missing:{},orphans:{},shadowed:{},touched:{},filter:{}},closeAll:{},permaview:{},saveChanges:{},slider:{},option:{},options:{},newTiddler:{},newJournal:{},tabs:{},gradient:{},message:{},view:{defaultView:"text"},edit:{},tagChooser:{},toolbar:{},plugins:{},refreshDisplay:{},importTiddlers:{},upgrade:{source:"http://www.tiddlywiki.com/upgrade/",backupExtension:"pre.core.upgrade"},sync:{},annotations:{}};config.commands={closeTiddler:{},closeOthers:{},editTiddler:{},saveTiddler:{hideReadOnly:true},cancelTiddler:{},deleteTiddler:{hideReadOnly:true},permalink:{},references:{type:"popup"},jump:{type:"popup"},syncing:{type:"popup"},fields:{type:"popup"}};config.userAgent=navigator.userAgent.toLowerCase();config.browser={isIE:config.userAgent.indexOf("msie")!=-1&&config.userAgent.indexOf("opera")==-1,isGecko:config.userAgent.indexOf("gecko")!=-1,ieVersion:/MSIE (\d.\d)/i.exec(config.userAgent),isSafari:config.userAgent.indexOf("applewebkit")!=-1,isBadSafari:!((new RegExp("[\u0150\u0170]","g")).test("\u0150")),firefoxDate:/gecko\/(\d{8})/i.exec(config.userAgent),isOpera:config.userAgent.indexOf("opera")!=-1,isLinux:config.userAgent.indexOf("linux")!=-1,isUnix:config.userAgent.indexOf("x11")!=-1,isMac:config.userAgent.indexOf("mac")!=-1,isWindows:config.userAgent.indexOf("win")!=-1};config.textPrimitives={upperLetter:"[A-Z\u00c0-\u00de\u0150\u0170]",lowerLetter:"[a-z0-9_\\-\u00df-\u00ff\u0151\u0171]",anyLetter:"[A-Za-z0-9_\\-\u00c0-\u00de\u00df-\u00ff\u0150\u0170\u0151\u0171]",anyLetterStrict:"[A-Za-z0-9\u00c0-\u00de\u00df-\u00ff\u0150\u0170\u0151\u0171]"};if(config.browser.isBadSafari){config.textPrimitives={upperLetter:"[A-Z\u00c0-\u00de]",lowerLetter:"[a-z0-9_\\-\u00df-\u00ff]",anyLetter:"[A-Za-z0-9_\\-\u00c0-\u00de\u00df-\u00ff]",anyLetterStrict:"[A-Za-z0-9\u00c0-\u00de\u00df-\u00ff]"}}config.textPrimitives.sliceSeparator="::";config.textPrimitives.sectionSeparator="##";config.textPrimitives.urlPattern="(?:file|http|https|mailto|ftp|irc|news|data):[^\\s'\"]+(?:/|\\b)";config.textPrimitives.unWikiLink="~";config.textPrimitives.wikiLink="(?:(?:"+config.textPrimitives.upperLetter+"+"+config.textPrimitives.lowerLetter+"+"+config.textPrimitives.upperLetter+config.textPrimitives.anyLetter+"*)|(?:"+config.textPrimitives.upperLetter+"{2,}"+config.textPrimitives.lowerLetter+"+))";config.textPrimitives.cssLookahead="(?:("+config.textPrimitives.anyLetter+"+)\\(([^\\)\\|\\n]+)(?:\\):))|(?:("+config.textPrimitives.anyLetter+"+):([^;\\|\\n]+);)";config.textPrimitives.cssLookaheadRegExp=new RegExp(config.textPrimitives.cssLookahead,"mg");config.textPrimitives.brackettedLink="\\[\\[([^\\]]+)\\]\\]";config.textPrimitives.titledBrackettedLink="\\[\\[([^\\[\\]\\|]+)\\|([^\\[\\]\\|]+)\\]\\]";config.textPrimitives.tiddlerForcedLinkRegExp=new RegExp("(?:"+config.textPrimitives.titledBrackettedLink+")|(?:"+config.textPrimitives.brackettedLink+")|(?:"+config.textPrimitives.urlPattern+")","mg");config.textPrimitives.tiddlerAnyLinkRegExp=new RegExp("("+config.textPrimitives.wikiLink+")|(?:"+config.textPrimitives.titledBrackettedLink+")|(?:"+config.textPrimitives.brackettedLink+")|(?:"+config.textPrimitives.urlPattern+")","mg");config.glyphs={browsers:[function(){return config.browser.isIE},function(){return true}],currBrowser:null,codes:{downTriangle:["\u25BC","\u25BE"],downArrow:["\u2193","\u2193"],bentArrowLeft:["\u2190","\u21A9"],bentArrowRight:["\u2192","\u21AA"]}};config.shadowTiddlers={StyleSheet:"",MarkupPreHead:"",MarkupPostHead:"",MarkupPreBody:"",MarkupPostBody:"",TabTimeline:"<<timeline>>",TabAll:"<<list all>>",TabTags:"<<allTags excludeLists>>",TabMoreMissing:"<<list missing>>",TabMoreOrphans:"<<list orphans>>",TabMoreShadowed:"<<list shadowed>>",AdvancedOptions:"<<options>>",PluginManager:"<<plugins>>",ToolbarCommands:"|~ViewToolbar|closeTiddler closeOthers +editTiddler > fields syncing permalink references jump|\n|~EditToolbar|+saveTiddler -cancelTiddler deleteTiddler|"};merge(config.options,{txtUserName:"YourName"});merge(config.tasks,{save:{text:"save",tooltip:"Save your changes to this TiddlyWiki",action:saveChanges},sync:{text:"sync",tooltip:"Synchronise changes with other TiddlyWiki files and servers",content:"<<sync>>"},importTask:{text:"import",tooltip:"Import tiddlers and plugins from other TiddlyWiki files and servers",content:"<<importTiddlers>>"},tweak:{text:"tweak",tooltip:"Tweak the appearance and behaviour of TiddlyWiki",content:"<<options>>"},upgrade:{text:"upgrade",tooltip:"Upgrade TiddlyWiki core code",content:"<<upgrade>>"},plugins:{text:"plugins",tooltip:"Manage installed plugins",content:"<<plugins>>"}});merge(config.optionsDesc,{txtUserName:"Username for signing your edits",chkRegExpSearch:"Enable regular expressions for searches",chkCaseSensitiveSearch:"Case-sensitive searching",chkIncrementalSearch:"Incremental key-by-key searching",chkAnimate:"Enable animations",chkSaveBackups:"Keep backup file when saving changes",chkAutoSave:"Automatically save changes",chkGenerateAnRssFeed:"Generate an RSS feed when saving changes",chkSaveEmptyTemplate:"Generate an empty template when saving changes",chkOpenInNewWindow:"Open external links in a new window",chkToggleLinks:"Clicking on links to open tiddlers causes them to close",chkHttpReadOnly:"Hide editing features when viewed over HTTP",chkForceMinorUpdate:"Don't update modifier username and date when editing tiddlers",chkConfirmDelete:"Require confirmation before deleting tiddlers",chkInsertTabs:"Use the tab key to insert tab characters instead of moving between fields",txtBackupFolder:"Name of folder to use for backups",txtMaxEditRows:"Maximum number of rows in edit boxes",txtFileSystemCharSet:"Default character set for saving changes (Firefox/Mozilla only)"});merge(config.messages,{customConfigError:"Problems were encountered loading plugins. See PluginManager for details",pluginError:"Error: %0",pluginDisabled:"Not executed because disabled via 'systemConfigDisable' tag",pluginForced:"Executed because forced via 'systemConfigForce' tag",pluginVersionError:"Not executed because this plugin needs a newer version of TiddlyWiki",nothingSelected:"Nothing is selected. You must select one or more items first",savedSnapshotError:"It appears that this TiddlyWiki has been incorrectly saved. Please see http://www.tiddlywiki.com/#DownloadSoftware for details",subtitleUnknown:"(unknown)",undefinedTiddlerToolTip:"The tiddler '%0' doesn't yet exist",shadowedTiddlerToolTip:"The tiddler '%0' doesn't yet exist, but has a pre-defined shadow value",tiddlerLinkTooltip:"%0 - %1, %2",externalLinkTooltip:"External link to %0",noTags:"There are no tagged tiddlers",notFileUrlError:"You need to save this TiddlyWiki to a file before you can save changes",cantSaveError:"It's not possible to save changes. Possible reasons include:\n- your browser doesn't support saving (Firefox, Internet Explorer, Safari and Opera all work if properly configured)\n- the pathname to your TiddlyWiki file contains illegal characters\n- the TiddlyWiki HTML file has been moved or renamed",invalidFileError:"The original file '%0' does not appear to be a valid TiddlyWiki",backupSaved:"Backup saved",backupFailed:"Failed to save backup file",rssSaved:"RSS feed saved",rssFailed:"Failed to save RSS feed file",emptySaved:"Empty template saved",emptyFailed:"Failed to save empty template file",mainSaved:"Main TiddlyWiki file saved",mainFailed:"Failed to save main TiddlyWiki file. Your changes have not been saved",macroError:"Error in macro <<%0>>",macroErrorDetails:"Error while executing macro <<%0>>:\n%1",missingMacro:"No such macro",overwriteWarning:"A tiddler named '%0' already exists. Choose OK to overwrite it",unsavedChangesWarning:"WARNING! There are unsaved changes in TiddlyWiki\n\nChoose OK to save\nChoose CANCEL to discard",confirmExit:"--------------------------------\n\nThere are unsaved changes in TiddlyWiki. If you continue you will lose those changes\n\n--------------------------------",saveInstructions:"SaveChanges",unsupportedTWFormat:"Unsupported TiddlyWiki format '%0'",tiddlerSaveError:"Error when saving tiddler '%0'",tiddlerLoadError:"Error when loading tiddler '%0'",wrongSaveFormat:"Cannot save with storage format '%0'. Using standard format for save.",invalidFieldName:"Invalid field name %0",fieldCannotBeChanged:"Field '%0' cannot be changed",loadingMissingTiddler:"Attempting to retrieve the tiddler '%0' from the '%1' server at:\n\n'%2' in the workspace '%3'",upgradeDone:"The upgrade to version %0 is now complete\n\nClick 'OK' to reload the newly upgraded TiddlyWiki"});merge(config.messages.messageClose,{text:"close",tooltip:"close this message area"});config.messages.backstage={open:{text:"backstage",tooltip:"Open the backstage area to perform authoring and editing tasks"},close:{text:"close",tooltip:"Close the backstage area"},prompt:"backstage: ",decal:{edit:{text:"edit",tooltip:"Edit the tiddler '%0'"}}};config.messages.listView={tiddlerTooltip:"Click for the full text of this tiddler",previewUnavailable:"(preview not available)"};config.messages.dates.months=["January","February","March","April","May","June","July","August","September","October","November","December"];config.messages.dates.days=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];config.messages.dates.shortMonths=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];config.messages.dates.shortDays=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];config.messages.dates.daySuffixes=["st","nd","rd","th","th","th","th","th","th","th","th","th","th","th","th","th","th","th","th","th","st","nd","rd","th","th","th","th","th","th","th","st"];config.messages.dates.am="am";config.messages.dates.pm="pm";merge(config.messages.tiddlerPopup,{});merge(config.views.wikified.tag,{labelNoTags:"no tags",labelTags:"tags: ",openTag:"Open tag '%0'",tooltip:"Show tiddlers tagged with '%0'",openAllText:"Open all",openAllTooltip:"Open all of these tiddlers",popupNone:"No other tiddlers tagged with '%0'"});merge(config.views.wikified,{defaultText:"The tiddler '%0' doesn't yet exist. Double-click to create it",defaultModifier:"(missing)",shadowModifier:"(built-in shadow tiddler)",dateFormat:"DD MMM YYYY",createdPrompt:"created"});merge(config.views.editor,{tagPrompt:"Type tags separated with spaces, [[use double square brackets]] if necessary, or add existing",defaultText:"Type the text for '%0'"});merge(config.views.editor.tagChooser,{text:"tags",tooltip:"Choose existing tags to add to this tiddler",popupNone:"There are no tags defined",tagTooltip:"Add the tag '%0'"});merge(config.messages,{sizeTemplates:[{unit:1024*1024*1024,template:"%0\u00a0GB"},{unit:1024*1024,template:"%0\u00a0MB"},{unit:1024,template:"%0\u00a0KB"},{unit:1,template:"%0\u00a0B"}]});merge(config.macros.search,{label:"search",prompt:"Search this TiddlyWiki",accessKey:"F",successMsg:"%0 tiddlers found matching %1",failureMsg:"No tiddlers found matching %0"});merge(config.macros.tagging,{label:"tagging: ",labelNotTag:"not tagging",tooltip:"List of tiddlers tagged with '%0'"});merge(config.macros.timeline,{dateFormat:"DD MMM YYYY"});merge(config.macros.allTags,{tooltip:"Show tiddlers tagged with '%0'",noTags:"There are no tagged tiddlers"});config.macros.list.all.prompt="All tiddlers in alphabetical order";config.macros.list.missing.prompt="Tiddlers that have links to them but are not defined";config.macros.list.orphans.prompt="Tiddlers that are not linked to from any other tiddlers";config.macros.list.shadowed.prompt="Tiddlers shadowed with default contents";config.macros.list.touched.prompt="Tiddlers that have been modified locally";merge(config.macros.closeAll,{label:"close all",prompt:"Close all displayed tiddlers (except any that are being edited)"});merge(config.macros.permaview,{label:"permaview",prompt:"Link to an URL that retrieves all the currently displayed tiddlers"});merge(config.macros.saveChanges,{label:"save changes",prompt:"Save all tiddlers to create a new TiddlyWiki",accessKey:"S"});merge(config.macros.newTiddler,{label:"new tiddler",prompt:"Create a new tiddler",title:"New Tiddler",accessKey:"N"});merge(config.macros.newJournal,{label:"new journal",prompt:"Create a new tiddler from the current date and time",accessKey:"J"});merge(config.macros.options,{wizardTitle:"Tweak advanced options",step1Title:"These options are saved in cookies in your browser",step1Html:"<input type='hidden' name='markList'></input><br><input type='checkbox' checked='false' name='chkUnknown'>Show unknown options</input>",unknownDescription:"//(unknown)//",listViewTemplate:{columns:[{name:"Option",field:"option",title:"Option",type:"String"},{name:"Description",field:"description",title:"Description",type:"WikiText"},{name:"Name",field:"name",title:"Name",type:"String"}],rowClasses:[{className:"lowlight",field:"lowlight"}]}});merge(config.macros.plugins,{wizardTitle:"Manage plugins",step1Title:"Currently loaded plugins",step1Html:"<input type='hidden' name='markList'></input>",skippedText:"(This plugin has not been executed because it was added since startup)",noPluginText:"There are no plugins installed",confirmDeleteText:"Are you sure you want to delete these plugins:\n\n%0",removeLabel:"remove systemConfig tag",removePrompt:"Remove systemConfig tag",deleteLabel:"delete",deletePrompt:"Delete these tiddlers forever",listViewTemplate:{columns:[{name:"Selected",field:"Selected",rowName:"title",type:"Selector"},{name:"Tiddler",field:"tiddler",title:"Tiddler",type:"Tiddler"},{name:"Size",field:"size",tiddlerLink:"size",title:"Size",type:"Size"},{name:"Forced",field:"forced",title:"Forced",tag:"systemConfigForce",type:"TagCheckbox"},{name:"Disabled",field:"disabled",title:"Disabled",tag:"systemConfigDisable",type:"TagCheckbox"},{name:"Executed",field:"executed",title:"Loaded",type:"Boolean",trueText:"Yes",falseText:"No"},{name:"Startup Time",field:"startupTime",title:"Startup Time",type:"String"},{name:"Error",field:"error",title:"Status",type:"Boolean",trueText:"Error",falseText:"OK"},{name:"Log",field:"log",title:"Log",type:"StringList"}],rowClasses:[{className:"error",field:"error"},{className:"warning",field:"warning"}]}});merge(config.macros.toolbar,{moreLabel:"more",morePrompt:"Reveal further commands"});merge(config.macros.refreshDisplay,{label:"refresh",prompt:"Redraw the entire TiddlyWiki display"});merge(config.macros.importTiddlers,{readOnlyWarning:"You cannot import into a read-only TiddlyWiki file. Try opening it from a file:// URL",wizardTitle:"Import tiddlers from another file or server",step1Title:"Step 1: Locate the server or TiddlyWiki file",step1Html:"Specify the type of the server: <select name='selTypes'><option value=''>Choose...</option></select><br>Enter the URL or pathname here: <input type='text' size=50 name='txtPath'><br>...or browse for a file: <input type='file' size=50 name='txtBrowse'><br><hr>...or select a pre-defined feed: <select name='selFeeds'><option value=''>Choose...</option></select>",openLabel:"open",openPrompt:"Open the connection to this file or server",openError:"There were problems fetching the tiddlywiki file",statusOpenHost:"Opening the host",statusGetWorkspaceList:"Getting the list of available workspaces",step2Title:"Step 2: Choose the workspace",step2Html:"Enter a workspace name: <input type='text' size=50 name='txtWorkspace'><br>...or select a workspace: <select name='selWorkspace'><option value=''>Choose...</option></select>",cancelLabel:"cancel",cancelPrompt:"Cancel this import",statusOpenWorkspace:"Opening the workspace",statusGetTiddlerList:"Getting the list of available tiddlers",errorGettingTiddlerList:"Error getting list of tiddlers, click Cancel to try again",step3Title:"Step 3: Choose the tiddlers to import",step3Html:"<input type='hidden' name='markList'></input><br><input type='checkbox' checked='true' name='chkSync'>Keep these tiddlers linked to this server so that you can synchronise subsequent changes</input><br><input type='checkbox' name='chkSave'>Save the details of this server in a 'systemServer' tiddler called:</input> <input type='text' size=25 name='txtSaveTiddler'>",importLabel:"import",importPrompt:"Import these tiddlers",confirmOverwriteText:"Are you sure you want to overwrite these tiddlers:\n\n%0",step4Title:"Step 4: Importing %0 tiddler(s)",step4Html:"<input type='hidden' name='markReport'></input>",doneLabel:"done",donePrompt:"Close this wizard",statusDoingImport:"Importing tiddlers",statusDoneImport:"All tiddlers imported",systemServerNamePattern:"%2 on %1",systemServerNamePatternNoWorkspace:"%1",confirmOverwriteSaveTiddler:"The tiddler '%0' already exists. Click 'OK' to overwrite it with the details of this server, or 'Cancel' to leave it unchanged",serverSaveTemplate:"|''Type:''|%0|\n|''URL:''|%1|\n|''Workspace:''|%2|\n\nThis tiddler was automatically created to record the details of this server",serverSaveModifier:"(System)",listViewTemplate:{columns:[{name:"Selected",field:"Selected",rowName:"title",type:"Selector"},{name:"Tiddler",field:"tiddler",title:"Tiddler",type:"Tiddler"},{name:"Size",field:"size",tiddlerLink:"size",title:"Size",type:"Size"},{name:"Tags",field:"tags",title:"Tags",type:"Tags"}],rowClasses:[]}});merge(config.macros.upgrade,{wizardTitle:"Upgrade TiddlyWiki core code",step1Title:"Update or repair this TiddlyWiki to the latest release",step1Html:"You are about to upgrade to the latest release of the TiddlyWiki core code (from <a href='%0' class='externalLink' target='_blank'>%1</a>). Your content will be preserved across the upgrade.<br><br>Note that core upgrades have been known to interfere with older plugins. If you run into problems with the upgraded file, see <a href='http://www.tiddlywiki.org/wiki/CoreUpgrades' class='externalLink' target='_blank'>http://www.tiddlywiki.org/wiki/CoreUpgrades</a>",errorCantUpgrade:"Unable to upgrade this TiddlyWiki. You can only perform upgrades on TiddlyWiki files stored locally",errorNotSaved:"You must save changes before you can perform an upgrade",step2Title:"Confirm the upgrade details",step2Html_downgrade:"You are about to downgrade to TiddlyWiki version %0 from %1.<br><br>Downgrading to an earlier version of the core code is not recommended",step2Html_restore:"This TiddlyWiki appears to be already using the latest version of the core code (%0).<br><br>You can continue to upgrade anyway to ensure that the core code hasn't been corrupted or damaged",step2Html_upgrade:"You are about to upgrade to TiddlyWiki version %0 from %1",upgradeLabel:"upgrade",upgradePrompt:"Prepare for the upgrade process",statusPreparingBackup:"Preparing backup",statusSavingBackup:"Saving backup file",errorSavingBackup:"There was a problem saving the backup file",statusLoadingCore:"Loading core code",errorLoadingCore:"Error loading the core code",errorCoreFormat:"Error with the new core code",statusSavingCore:"Saving the new core code",statusReloadingCore:"Reloading the new core code",startLabel:"start",startPrompt:"Start the upgrade process",cancelLabel:"cancel",cancelPrompt:"Cancel the upgrade process",step3Title:"Upgrade cancelled",step3Html:"You have cancelled the upgrade process"});merge(config.macros.sync,{listViewTemplate:{columns:[{name:"Selected",field:"selected",rowName:"title",type:"Selector"},{name:"Tiddler",field:"tiddler",title:"Tiddler",type:"Tiddler"},{name:"Server Type",field:"serverType",title:"Server type",type:"String"},{name:"Server Host",field:"serverHost",title:"Server host",type:"String"},{name:"Server Workspace",field:"serverWorkspace",title:"Server workspace",type:"String"},{name:"Status",field:"status",title:"Synchronisation status",type:"String"},{name:"Server URL",field:"serverUrl",title:"Server URL",text:"View",type:"Link"}],rowClasses:[],buttons:[{caption:"Sync these tiddlers",name:"sync"}]},wizardTitle:"Synchronize with external servers and files",step1Title:"Choose the tiddlers you want to synchronize",step1Html:"<input type='hidden' name='markList'></input>",syncLabel:"sync",syncPrompt:"Sync these tiddlers",hasChanged:"Changed while unplugged",hasNotChanged:"Unchanged while unplugged",syncStatusList:{none:{text:"...",display:null,className:"notChanged"},changedServer:{text:"Changed on server",display:null,className:"changedServer"},changedLocally:{text:"Changed while unplugged",display:null,className:"changedLocally"},changedBoth:{text:"Changed while unplugged and on server",display:null,className:"changedBoth"},notFound:{text:"Not found on server",display:null,className:"notFound"},putToServer:{text:"Saved update on server",display:null,className:"putToServer"},gotFromServer:{text:"Retrieved update from server",display:null,className:"gotFromServer"}}});merge(config.macros.annotations,{});merge(config.commands.closeTiddler,{text:"close",tooltip:"Close this tiddler"});merge(config.commands.closeOthers,{text:"close others",tooltip:"Close all other tiddlers"});merge(config.commands.editTiddler,{text:"edit",tooltip:"Edit this tiddler",readOnlyText:"view",readOnlyTooltip:"View the source of this tiddler"});merge(config.commands.saveTiddler,{text:"done",tooltip:"Save changes to this tiddler"});merge(config.commands.cancelTiddler,{text:"cancel",tooltip:"Undo changes to this tiddler",warning:"Are you sure you want to abandon your changes to '%0'?",readOnlyText:"done",readOnlyTooltip:"View this tiddler normally"});merge(config.commands.deleteTiddler,{text:"delete",tooltip:"Delete this tiddler",warning:"Are you sure you want to delete '%0'?"});merge(config.commands.permalink,{text:"permalink",tooltip:"Permalink for this tiddler"});merge(config.commands.references,{text:"references",tooltip:"Show tiddlers that link to this one",popupNone:"No references"});merge(config.commands.jump,{text:"jump",tooltip:"Jump to another open tiddler"});merge(config.commands.syncing,{text:"syncing",tooltip:"Control synchronisation of this tiddler with a server or external file",currentlySyncing:"<div>Currently syncing via <span class='popupHighlight'>'%0'</span> to:</div><div>host: <span class='popupHighlight'>%1</span></div><div>workspace: <span class='popupHighlight'>%2</span></div>",notCurrentlySyncing:"Not currently syncing",captionUnSync:"Stop synchronising this tiddler",chooseServer:"Synchronise this tiddler with another server:",currServerMarker:"\u25cf ",notCurrServerMarker:"  "});merge(config.commands.fields,{text:"fields",tooltip:"Show the extended fields of this tiddler",emptyText:"There are no extended fields for this tiddler",listViewTemplate:{columns:[{name:"Field",field:"field",title:"Field",type:"String"},{name:"Value",field:"value",title:"Value",type:"String"}],rowClasses:[],buttons:[]}});merge(config.shadowTiddlers,{DefaultTiddlers:"[[GettingStarted]]",MainMenu:"[[GettingStarted]]",SiteTitle:"My TiddlyWiki",SiteSubtitle:"a reusable non-linear personal web notebook",SiteUrl:"http://www.tiddlywiki.com/",SideBarOptions:'<<search>><<closeAll>><<permaview>><<newTiddler>><<newJournal "DD MMM YYYY" "journal">><<saveChanges>><<slider chkSliderOptionsPanel OptionsPanel "options \u00bb" "Change TiddlyWiki advanced options">>',SideBarTabs:'<<tabs txtMainTab "Timeline" "Timeline" TabTimeline "All" "All tiddlers" TabAll "Tags" "All tags" TabTags "More" "More lists" TabMore>>',TabMore:'<<tabs txtMoreTab "Missing" "Missing tiddlers" TabMoreMissing "Orphans" "Orphaned tiddlers" TabMoreOrphans "Shadowed" "Shadowed tiddlers" TabMoreShadowed>>'});merge(config.annotations,{AdvancedOptions:"This shadow tiddler provides access to several advanced options",ColorPalette:"These values in this shadow tiddler determine the colour scheme of the ~TiddlyWiki user interface",DefaultTiddlers:"The tiddlers listed in this shadow tiddler will be automatically displayed when ~TiddlyWiki starts up",EditTemplate:"The HTML template in this shadow tiddler determines how tiddlers look while they are being edited",GettingStarted:"This shadow tiddler provides basic usage instructions",ImportTiddlers:"This shadow tiddler provides access to importing tiddlers",MainMenu:"This shadow tiddler is used as the contents of the main menu in the left-hand column of the screen",MarkupPreHead:"This tiddler is inserted at the top of the <head> section of the TiddlyWiki HTML file",MarkupPostHead:"This tiddler is inserted at the bottom of the <head> section of the TiddlyWiki HTML file",MarkupPreBody:"This tiddler is inserted at the top of the <body> section of the TiddlyWiki HTML file",MarkupPostBody:"This tiddler is inserted at the end of the <body> section of the TiddlyWiki HTML file immediately after the script block",OptionsPanel:"This shadow tiddler is used as the contents of the options panel slider in the right-hand sidebar",PageTemplate:"The HTML template in this shadow tiddler determines the overall ~TiddlyWiki layout",PluginManager:"This shadow tiddler provides access to the plugin manager",SideBarOptions:"This shadow tiddler is used as the contents of the option panel in the right-hand sidebar",SideBarTabs:"This shadow tiddler is used as the contents of the tabs panel in the right-hand sidebar",SiteSubtitle:"This shadow tiddler is used as the second part of the page title",SiteTitle:"This shadow tiddler is used as the first part of the page title",SiteUrl:"This shadow tiddler should be set to the full target URL for publication",StyleSheetColors:"This shadow tiddler contains CSS definitions related to the color of page elements. ''DO NOT EDIT THIS TIDDLER'', instead make your changes in the StyleSheet shadow tiddler",StyleSheet:"This tiddler can contain custom CSS definitions",StyleSheetLayout:"This shadow tiddler contains CSS definitions related to the layout of page elements. ''DO NOT EDIT THIS TIDDLER'', instead make your changes in the StyleSheet shadow tiddler",StyleSheetLocale:"This shadow tiddler contains CSS definitions related to the translation locale",StyleSheetPrint:"This shadow tiddler contains CSS definitions for printing",TabAll:"This shadow tiddler contains the contents of the 'All' tab in the right-hand sidebar",TabMore:"This shadow tiddler contains the contents of the 'More' tab in the right-hand sidebar",TabMoreMissing:"This shadow tiddler contains the contents of the 'Missing' tab in the right-hand sidebar",TabMoreOrphans:"This shadow tiddler contains the contents of the 'Orphans' tab in the right-hand sidebar",TabMoreShadowed:"This shadow tiddler contains the contents of the 'Shadowed' tab in the right-hand sidebar",TabTags:"This shadow tiddler contains the contents of the 'Tags' tab in the right-hand sidebar",TabTimeline:"This shadow tiddler contains the contents of the 'Timeline' tab in the right-hand sidebar",ToolbarCommands:"This shadow tiddler determines which commands are shown in tiddler toolbars",ViewTemplate:"The HTML template in this shadow tiddler determines how tiddlers look"});var params=null;var store=null;var story=null;var formatter=null;var anim=typeof Animator=="function"?new Animator():null;var readOnly=false;var highlightHack=null;var hadConfirmExit=false;var safeMode=false;var showBackstage;var installedPlugins=[];var startingUp=false;var pluginInfo,tiddler;var useJavaSaver=(config.browser.isSafari||config.browser.isOpera)&&(document.location.toString().substr(0,4)!="http");function main(){var a,b,c,e,f,h,j,k,l,n,o=new Date();startingUp=true;window.onbeforeunload=function(m){if(window.confirmExit){return confirmExit()}};params=getParameters();if(params){params=params.parseParams("open",null,false)}store=new TiddlyWiki();invokeParamifier(params,"oninit");story=new Story("tiddlerDisplay","tiddler");addEvent(document,"click",Popup.onDocumentClick);saveTest();loadOptionsCookie();for(var p=0;p<config.notifyTiddlers.length;p++){store.addNotification(config.notifyTiddlers[p].name,config.notifyTiddlers[p].notify)}n=new Date();loadShadowTiddlers();l=new Date();store.loadFromDiv("storeArea","store",true);k=new Date();invokeParamifier(params,"onload");j=new Date();readOnly=(window.location.protocol=="file:")?false:config.options.chkHttpReadOnly;var g=loadPlugins();h=new Date();formatter=new Formatter(config.formatters);invokeParamifier(params,"onconfig");story.switchTheme(config.options.txtTheme);showBackstage=!readOnly;f=new Date();store.notifyAll();e=new Date();restart();refreshDisplay();c=new Date();if(g){story.displayTiddler(null,"PluginManager");displayMessage(config.messages.customConfigError)}for(var d in config.macros){if(config.macros[d].init){config.macros[d].init()}}b=new Date();if(showBackstage){backstage.init()}a=new Date();if(config.options.chkDisplayInstrumentation){displayMessage("LoadShadows "+(l-n)+" ms");displayMessage("LoadFromDiv "+(k-l)+" ms");displayMessage("LoadPlugins "+(h-j)+" ms");displayMessage("Notify "+(e-f)+" ms");displayMessage("Restart "+(c-e)+" ms");displayMessage("Macro init "+(b-c)+" ms");displayMessage("Total: "+(a-o)+" ms")}startingUp=false}function restart(){invokeParamifier(params,"onstart");if(story.isEmpty()){story.displayDefaultTiddlers()}window.scrollTo(0,0)}function saveTest(){var a=document.getElementById("saveTest");if(a.hasChildNodes()){alert(config.messages.savedSnapshotError)}a.appendChild(document.createTextNode("savetest"))}function loadShadowTiddlers(){var a=new TiddlyWiki();a.loadFromDiv("shadowArea","shadows",true);a.forEachTiddler(function(c,b){config.shadowTiddlers[c]=b.text});delete a}function loadPlugins(){if(safeMode){return false}var tiddlers=store.getTaggedTiddlers("systemConfig");var toLoad=[];var nLoaded=0;var map={};var nPlugins=tiddlers.length;installedPlugins=[];for(var i=0;i<nPlugins;i++){var p=getPluginInfo(tiddlers[i]);installedPlugins[i]=p;var n=p.Name;if(n){map[n]=p}n=p.Source;if(n){map[n]=p}}var visit=function(p){if(!p||p.done){return}p.done=1;var reqs=p.Requires;if(reqs){reqs=reqs.readBracketedList();for(var i=0;i<reqs.length;i++){visit(map[reqs[i]])}}toLoad.push(p)};for(i=0;i<nPlugins;i++){visit(installedPlugins[i])}for(i=0;i<toLoad.length;i++){p=toLoad[i];pluginInfo=p;tiddler=p.tiddler;if(isPluginExecutable(p)){if(isPluginEnabled(p)){p.executed=true;var startTime=new Date();try{if(tiddler.text){window.eval(tiddler.text)}nLoaded++}catch(ex){p.log.push(config.messages.pluginError.format([exceptionText(ex)]));p.error=true}pluginInfo.startupTime=String((new Date())-startTime)+"ms"}else{nPlugins--}}else{p.warning=true}}return nLoaded!=nPlugins}function getPluginInfo(a){var b=store.getTiddlerSlices(a.title,["Name","Description","Version","Requires","CoreVersion","Date","Source","Author","License","Browsers"]);b.tiddler=a;b.title=a.title;b.log=[];return b}function isPluginExecutable(c){if(c.tiddler.isTagged("systemConfigForce")){c.log.push(config.messages.pluginForced);return true}if(c.CoreVersion){var b=c.CoreVersion.split(".");var a=parseInt(b[0],10)-version.major;if(a==0&&b[1]){a=parseInt(b[1],10)-version.minor}if(a==0&&b[2]){a=parseInt(b[2],10)-version.revision}if(a>0){c.log.push(config.messages.pluginVersionError);return false}}return true}function isPluginEnabled(a){if(a.tiddler.isTagged("systemConfigDisable")){a.log.push(config.messages.pluginDisabled);return false}return true}function invokeMacro(b,f,g,e,d){try{var a=config.macros[f];if(a&&a.handler){a.handler(b,f,g.readMacroParams(),e,g,d)}else{createTiddlyError(b,config.messages.macroError.format([f]),config.messages.macroErrorDetails.format([f,config.messages.missingMacro]))}}catch(c){createTiddlyError(b,config.messages.macroError.format([f]),config.messages.macroErrorDetails.format([f,c.toString()]))}}function getParameters(){var a=null;if(window.location.hash){a=decodeURIComponent(window.location.hash.substr(1));if(config.browser.firefoxDate!=null&&config.browser.firefoxDate[1]<"20051111"){a=convertUTF8ToUnicode(a)}}return a}function invokeParamifier(d,b){if(!d||d.length==undefined||d.length<=1){return}for(var a=1;a<d.length;a++){var c=config.paramifiers[d[a].name];if(c&&c[b] instanceof Function){c[b](d[a].value)}}}config.paramifiers={};config.paramifiers.start={oninit:function(a){safeMode=a.toLowerCase()=="safe"}};config.paramifiers.open={onstart:function(a){if(!readOnly||store.tiddlerExists(a)||store.isShadowTiddler(a)){story.displayTiddler("bottom",a,null,false,null)}}};config.paramifiers.story={onstart:function(a){var b=store.getTiddlerText(a,"").parseParams("open",null,false);invokeParamifier(b,"onstart")}};config.paramifiers.search={onstart:function(a){story.search(a,false,false)}};config.paramifiers.searchRegExp={onstart:function(a){story.prototype.search(a,false,true)}};config.paramifiers.tag={onstart:function(a){story.displayTiddlers(null,store.filterTiddlers("[tag["+a+"]]"),null,false,null)}};config.paramifiers.newTiddler={onstart:function(a){if(!readOnly){story.displayTiddler(null,a,DEFAULT_EDIT_TEMPLATE);story.focusTiddler(a,"text")}}};config.paramifiers.newJournal={onstart:function(a){if(!readOnly){var b=new Date();var c=b.formatString(a.trim());story.displayTiddler(null,c,DEFAULT_EDIT_TEMPLATE);story.focusTiddler(c,"text")}}};config.paramifiers.readOnly={onconfig:function(a){var b=a.toLowerCase();readOnly=b=="yes"?true:(b=="no"?false:readOnly)}};config.paramifiers.theme={onconfig:function(a){story.switchTheme(a)}};config.paramifiers.upgrade={onstart:function(a){upgradeFrom(a)}};config.paramifiers.recent={onstart:function(a){var d=[];var c=store.getTiddlers("modified","excludeLists").reverse();for(var b=0;b<a&&b<c.length;b++){d.push(c[b].title)}story.displayTiddlers(null,d)}};config.paramifiers.filter={onstart:function(a){story.displayTiddlers(null,store.filterTiddlers(a),null,false)}};function Formatter(a){this.formatters=[];var b=[];for(var c=0;c<a.length;c++){b.push("("+a[c].match+")");this.formatters.push(a[c])}this.formatterRegExp=new RegExp(b.join("|"),"mg")}config.formatterHelpers={createElementAndWikify:function(a){a.subWikifyTerm(createTiddlyElement(a.output,this.element),this.termRegExp)},inlineCssHelper:function(a){var e=[];config.textPrimitives.cssLookaheadRegExp.lastIndex=a.nextMatch;var c=config.textPrimitives.cssLookaheadRegExp.exec(a.source);while(c&&c.index==a.nextMatch){var d,b;if(c[1]){d=c[1].unDash();b=c[2]}else{d=c[3].unDash();b=c[4]}if(d=="bgcolor"){d="backgroundColor"}e.push({style:d,value:b});a.nextMatch=c.index+c[0].length;config.textPrimitives.cssLookaheadRegExp.lastIndex=a.nextMatch;c=config.textPrimitives.cssLookaheadRegExp.exec(a.source)}return e},applyCssHelper:function(d,c){for(var b=0;b<c.length;b++){try{d.style[c[b].style]=c[b].value}catch(a){}}},enclosedTextHelper:function(a){this.lookaheadRegExp.lastIndex=a.matchStart;var b=this.lookaheadRegExp.exec(a.source);if(b&&b.index==a.matchStart){var c=b[1];if(config.browser.isIE){c=c.replace(/\n/g,"\r")}createTiddlyElement(a.output,this.element,null,null,c);a.nextMatch=b.index+b[0].length}},isExternalLink:function(a){if(store.tiddlerExists(a)||store.isShadowTiddler(a)){return false}var b=new RegExp(config.textPrimitives.urlPattern,"mg");if(b.exec(a)){return true}if(a.indexOf(".")!=-1||a.indexOf("\\")!=-1||a.indexOf("/")!=-1||a.indexOf("#")!=-1){return true}return false}};config.formatters=[{name:"table",match:"^\\|(?:[^\\n]*)\\|(?:[fhck]?)$",lookaheadRegExp:/^\|([^\n]*)\|([fhck]?)$/mg,rowTermRegExp:/(\|(?:[fhck]?)$\n?)/mg,cellRegExp:/(?:\|([^\n\|]*)\|)|(\|[fhck]?$\n?)/mg,cellTermRegExp:/((?:\x20*)\|)/mg,rowTypes:{c:"caption",h:"thead","":"tbody",f:"tfoot"},handler:function(f){var h=createTiddlyElement(f.output,"table",null,"twtable");var g=[];var c=null;var j;var e=0;f.nextMatch=f.matchStart;this.lookaheadRegExp.lastIndex=f.nextMatch;var d=this.lookaheadRegExp.exec(f.source);while(d&&d.index==f.nextMatch){var a=d[2];if(a=="k"){h.className=d[1];f.nextMatch+=d[0].length+1}else{if(a!=c){j=createTiddlyElement(h,this.rowTypes[a]);c=a}if(c=="c"){f.nextMatch++;if(j!=h.firstChild){h.insertBefore(j,h.firstChild)}j.setAttribute("align",e==0?"top":"bottom");f.subWikifyTerm(j,this.rowTermRegExp)}else{var b=createTiddlyElement(j,"tr",null,(e&1)?"oddRow":"evenRow");b.onmouseover=function(){addClass(this,"hoverRow")};b.onmouseout=function(){removeClass(this,"hoverRow")};this.rowHandler(f,b,g);e++}}this.lookaheadRegExp.lastIndex=f.nextMatch;d=this.lookaheadRegExp.exec(f.source)}},rowHandler:function(j,f,m){var a=0;var c=1;var h=null;this.cellRegExp.lastIndex=j.nextMatch;var g=this.cellRegExp.exec(j.source);while(g&&g.index==j.nextMatch){if(g[1]=="~"){var l=m[a];if(l){l.rowSpanCount++;l.element.setAttribute("rowspan",l.rowSpanCount);l.element.setAttribute("rowSpan",l.rowSpanCount);l.element.valign="center"}j.nextMatch=this.cellRegExp.lastIndex-1}else{if(g[1]==">"){c++;j.nextMatch=this.cellRegExp.lastIndex-1}else{if(g[2]){if(h&&c>1){h.setAttribute("colspan",c);h.setAttribute("colSpan",c)}j.nextMatch=this.cellRegExp.lastIndex;break}else{j.nextMatch++;var n=config.formatterHelpers.inlineCssHelper(j);var d=false;var b=j.source.substr(j.nextMatch,1);while(b==" "){d=true;j.nextMatch++;b=j.source.substr(j.nextMatch,1)}var k;if(b=="!"){k=createTiddlyElement(f,"th");j.nextMatch++}else{k=createTiddlyElement(f,"td")}h=k;m[a]={rowSpanCount:1,element:k};if(c>1){k.setAttribute("colspan",c);k.setAttribute("colSpan",c);c=1}config.formatterHelpers.applyCssHelper(k,n);j.subWikifyTerm(k,this.cellTermRegExp);if(j.matchText.substr(j.matchText.length-2,1)==" "){k.align=d?"center":"left"}else{if(d){k.align="right"}}j.nextMatch--}}}a++;this.cellRegExp.lastIndex=j.nextMatch;g=this.cellRegExp.exec(j.source)}}},{name:"heading",match:"^!{1,6}",termRegExp:/(\n)/mg,handler:function(a){a.subWikifyTerm(createTiddlyElement(a.output,"h"+a.matchLength),this.termRegExp)}},{name:"list",match:"^(?:[\\*#;:]+)",lookaheadRegExp:/^(?:(?:(\*)|(#)|(;)|(:))+)/mg,termRegExp:/(\n)/mg,handler:function(l){var j=[l.output];var b=0,m=null;var h,k,f,g;l.nextMatch=l.matchStart;this.lookaheadRegExp.lastIndex=l.nextMatch;var a=this.lookaheadRegExp.exec(l.source);while(a&&a.index==l.nextMatch){if(a[1]){k="ul";f="li"}else{if(a[2]){k="ol";f="li"}else{if(a[3]){k="dl";f="dt"}else{if(a[4]){k="dl";f="dd"}}}}if(!g){g=k}h=a[0].length;l.nextMatch+=a[0].length;var n;if(h>b){for(n=b;n<h;n++){var d=(b==0)?j[j.length-1]:j[j.length-1].lastChild;j.push(createTiddlyElement(d,k))}}else{if(k!=g&&h==1){l.nextMatch-=a[0].length;return}else{if(h<b){for(n=b;n>h;n--){j.pop()}}else{if(h==b&&k!=m){j.pop();j.push(createTiddlyElement(j[j.length-1].lastChild,k))}}}}b=h;m=k;var c=createTiddlyElement(j[j.length-1],f);l.subWikifyTerm(c,this.termRegExp);this.lookaheadRegExp.lastIndex=l.nextMatch;a=this.lookaheadRegExp.exec(l.source)}}},{name:"quoteByBlock",match:"^<<<\\n",termRegExp:/(^<<<(\n|$))/mg,element:"blockquote",handler:config.formatterHelpers.createElementAndWikify},{name:"quoteByLine",match:"^>+",lookaheadRegExp:/^>+/mg,termRegExp:/(\n)/mg,element:"blockquote",handler:function(d){var c=[d.output];var g=0;var b=d.matchLength;var f;do{if(b>g){for(f=g;f<b;f++){c.push(createTiddlyElement(c[c.length-1],this.element))}}else{if(b<g){for(f=g;f>b;f--){c.pop()}}}g=b;d.subWikifyTerm(c[c.length-1],this.termRegExp);createTiddlyElement(c[c.length-1],"br");this.lookaheadRegExp.lastIndex=d.nextMatch;var e=this.lookaheadRegExp.exec(d.source);var a=e&&e.index==d.nextMatch;if(a){b=e[0].length;d.nextMatch+=e[0].length}}while(a)}},{name:"rule",match:"^----+$\\n?",handler:function(a){createTiddlyElement(a.output,"hr")}},{name:"monospacedByLine",match:"^(?:/\\*\\{\\{\\{\\*/|\\{\\{\\{|//\\{\\{\\{|<!--\\{\\{\\{-->)\\n",element:"pre",handler:function(a){switch(a.matchText){case"/*{{{*/\n":this.lookaheadRegExp=/\/\*\{\{\{\*\/\n*((?:^[^\n]*\n)+?)(\n*^\/\*\}\}\}\*\/$\n?)/mg;break;case"{{{\n":this.lookaheadRegExp=/^\{\{\{\n((?:^[^\n]*\n)+?)(^\}\}\}$\n?)/mg;break;case"//{{{\n":this.lookaheadRegExp=/^\/\/\{\{\{\n\n*((?:^[^\n]*\n)+?)(\n*^\/\/\}\}\}$\n?)/mg;break;case"<!--{{{-->\n":this.lookaheadRegExp=/<!--\{\{\{-->\n*((?:^[^\n]*\n)+?)(\n*^<!--\}\}\}-->$\n?)/mg;break;default:break}config.formatterHelpers.enclosedTextHelper.call(this,a)}},{name:"wikifyComment",match:"^(?:/\\*\\*\\*|<!---)\\n",handler:function(a){var b=(a.matchText=="/***\n")?(/(^\*\*\*\/\n)/mg):(/(^--->\n)/mg);a.subWikifyTerm(a.output,b)}},{name:"macro",match:"<<",lookaheadRegExp:/<<([^>\s]+)(?:\s*)((?:[^>]|(?:>(?!>)))*)>>/mg,handler:function(a){this.lookaheadRegExp.lastIndex=a.matchStart;var b=this.lookaheadRegExp.exec(a.source);if(b&&b.index==a.matchStart&&b[1]){a.nextMatch=this.lookaheadRegExp.lastIndex;invokeMacro(a.output,b[1],b[2],a,a.tiddler)}}},{name:"prettyLink",match:"\\[\\[",lookaheadRegExp:/\[\[(.*?)(?:\|(~)?(.*?))?\]\]/mg,handler:function(a){this.lookaheadRegExp.lastIndex=a.matchStart;var b=this.lookaheadRegExp.exec(a.source);if(b&&b.index==a.matchStart){var d;var f=b[1];if(b[3]){var c=b[3];d=(!b[2]&&config.formatterHelpers.isExternalLink(c))?createExternalLink(a.output,c):createTiddlyLink(a.output,decodeURIComponent(c),false,null,a.isStatic,a.tiddler)}else{d=createTiddlyLink(a.output,decodeURIComponent(f),false,null,a.isStatic,a.tiddler)}createTiddlyText(d,f);a.nextMatch=this.lookaheadRegExp.lastIndex}}},{name:"wikiLink",match:config.textPrimitives.unWikiLink+"?"+config.textPrimitives.wikiLink,handler:function(a){if(a.matchText.substr(0,1)==config.textPrimitives.unWikiLink){a.outputText(a.output,a.matchStart+1,a.nextMatch);return}if(a.matchStart>0){var c=new RegExp(config.textPrimitives.anyLetterStrict,"mg");c.lastIndex=a.matchStart-1;var b=c.exec(a.source);if(b.index==a.matchStart-1){a.outputText(a.output,a.matchStart,a.nextMatch);return}}if(a.autoLinkWikiWords||store.isShadowTiddler(a.matchText)){var d=createTiddlyLink(a.output,a.matchText,false,null,a.isStatic,a.tiddler);a.outputText(d,a.matchStart,a.nextMatch)}else{a.outputText(a.output,a.matchStart,a.nextMatch)}}},{name:"urlLink",match:config.textPrimitives.urlPattern,handler:function(a){a.outputText(createExternalLink(a.output,a.matchText),a.matchStart,a.nextMatch)}},{name:"image",match:"\\[[<>]?[Ii][Mm][Gg]\\[",lookaheadRegExp:/\[([<]?)(>?)[Ii][Mm][Gg]\[(?:([^\|\]]+)\|)?([^\[\]\|]+)\](?:\[([^\]]*)\])?\]/mg,handler:function(a){this.lookaheadRegExp.lastIndex=a.matchStart;var c=this.lookaheadRegExp.exec(a.source);if(c&&c.index==a.matchStart){var f=a.output;if(c[5]){var d=c[5];f=config.formatterHelpers.isExternalLink(d)?createExternalLink(a.output,d):createTiddlyLink(a.output,d,false,null,a.isStatic,a.tiddler);addClass(f,"imageLink")}var b=createTiddlyElement(f,"img");if(c[1]){b.align="left"}else{if(c[2]){b.align="right"}}if(c[3]){b.title=c[3];b.setAttribute("alt",c[3])}b.src=c[4];a.nextMatch=this.lookaheadRegExp.lastIndex}}},{name:"html",match:"<[Hh][Tt][Mm][Ll]>",lookaheadRegExp:/<[Hh][Tt][Mm][Ll]>((?:.|\n)*?)<\/[Hh][Tt][Mm][Ll]>/mg,handler:function(a){this.lookaheadRegExp.lastIndex=a.matchStart;var b=this.lookaheadRegExp.exec(a.source);if(b&&b.index==a.matchStart){createTiddlyElement(a.output,"span").innerHTML=b[1];a.nextMatch=this.lookaheadRegExp.lastIndex}}},{name:"commentByBlock",match:"/%",lookaheadRegExp:/\/%((?:.|\n)*?)%\//mg,handler:function(a){this.lookaheadRegExp.lastIndex=a.matchStart;var b=this.lookaheadRegExp.exec(a.source);if(b&&b.index==a.matchStart){a.nextMatch=this.lookaheadRegExp.lastIndex}}},{name:"characterFormat",match:"''|//|__|\\^\\^|~~|--(?!\\s|$)|\\{\\{\\{",handler:function(a){switch(a.matchText){case"''":a.subWikifyTerm(a.output.appendChild(document.createElement("strong")),/('')/mg);break;case"//":a.subWikifyTerm(createTiddlyElement(a.output,"em"),/(\/\/)/mg);break;case"__":a.subWikifyTerm(createTiddlyElement(a.output,"u"),/(__)/mg);break;case"^^":a.subWikifyTerm(createTiddlyElement(a.output,"sup"),/(\^\^)/mg);break;case"~~":a.subWikifyTerm(createTiddlyElement(a.output,"sub"),/(~~)/mg);break;case"--":a.subWikifyTerm(createTiddlyElement(a.output,"strike"),/(--)/mg);break;case"{{{":var b=/\{\{\{((?:.|\n)*?)\}\}\}/mg;b.lastIndex=a.matchStart;var c=b.exec(a.source);if(c&&c.index==a.matchStart){createTiddlyElement(a.output,"code",null,null,c[1]);a.nextMatch=b.lastIndex}break}}},{name:"customFormat",match:"@@|\\{\\{",handler:function(a){switch(a.matchText){case"@@":var f=createTiddlyElement(a.output,"span");var d=config.formatterHelpers.inlineCssHelper(a);if(d.length==0){f.className="marked"}else{config.formatterHelpers.applyCssHelper(f,d)}a.subWikifyTerm(f,/(@@)/mg);break;case"{{":var b=/\{\{[\s]*([\w]+[\s\w]*)[\s]*\{(\n?)/mg;b.lastIndex=a.matchStart;var c=b.exec(a.source);if(c){a.nextMatch=b.lastIndex;f=createTiddlyElement(a.output,c[2]=="\n"?"div":"span",null,c[1]);a.subWikifyTerm(f,/(\}\}\})/mg)}break}}},{name:"mdash",match:"--",handler:function(a){createTiddlyElement(a.output,"span").innerHTML="&mdash;"}},{name:"lineBreak",match:"\\n|<br ?/?>",handler:function(a){createTiddlyElement(a.output,"br")}},{name:"rawText",match:'\\"{3}|<nowiki>',lookaheadRegExp:/(?:\"{3}|<nowiki>)((?:.|\n)*?)(?:\"{3}|<\/nowiki>)/mg,handler:function(a){this.lookaheadRegExp.lastIndex=a.matchStart;var b=this.lookaheadRegExp.exec(a.source);if(b&&b.index==a.matchStart){createTiddlyElement(a.output,"span",null,null,b[1]);a.nextMatch=this.lookaheadRegExp.lastIndex}}},{name:"htmlEntitiesEncoding",match:"(?:(?:&#?[a-zA-Z0-9]{2,8};|.)(?:&#?(?:x0*(?:3[0-6][0-9a-fA-F]|1D[c-fC-F][0-9a-fA-F]|20[d-fD-F][0-9a-fA-F]|FE2[0-9a-fA-F])|0*(?:76[89]|7[7-9][0-9]|8[0-7][0-9]|761[6-9]|76[2-7][0-9]|84[0-3][0-9]|844[0-7]|6505[6-9]|6506[0-9]|6507[0-1]));)+|&#?[a-zA-Z0-9]{2,8};)",handler:function(a){createTiddlyElement(a.output,"span").innerHTML=a.matchText}}];function getParser(b,c){if(b){if(!c){c=b.fields.wikiformat}var a;if(c){for(a in config.parsers){if(c==config.parsers[a].format){return config.parsers[a]}}}else{for(a in config.parsers){if(b.isTagged(config.parsers[a].formatTag)){return config.parsers[a]}}}}return formatter}function wikify(e,a,f,b){if(e){var c=new Wikifier(e,getParser(b),f,b);var d=new Date();c.subWikify(a);if(b&&config.options.chkDisplayInstrumentation){displayMessage("wikify:"+b.title+" in "+(new Date()-d)+" ms")}}}function wikifyStatic(d,h,b,g){var f=createTiddlyElement(document.body,"pre");f.style.display="none";var a="";if(d&&d!=""){if(!b){b=new Tiddler("temp")}var c=new Wikifier(d,getParser(b,g),h,b);c.isStatic=true;c.subWikify(f);a=f.innerHTML;removeNode(f)}return a}function wikifyPlain(c,b,a){if(!b){b=store}if(b.tiddlerExists(c)||b.isShadowTiddler(c)){return wikifyPlainText(b.getTiddlerText(c),a,tiddler)}else{return""}}function wikifyPlainText(d,a,b){if(a>0){d=d.substr(0,a)}var c=new Wikifier(d,formatter,null,b);return c.wikifyPlain()}function highlightify(d,a,e,b){if(d){var c=new Wikifier(d,formatter,e,b);c.outputText(a,0,d.length)}}function Wikifier(c,b,d,a){this.source=c;this.output=null;this.formatter=b;this.nextMatch=0;this.autoLinkWikiWords=a&&a.autoLinkWikiWords()==false?false:true;this.highlightRegExp=d;this.highlightMatch=null;this.isStatic=false;if(d){d.lastIndex=0;this.highlightMatch=d.exec(c)}this.tiddler=a}Wikifier.prototype.wikifyPlain=function(){var a=createTiddlyElement(document.body,"div");a.style.display="none";this.subWikify(a);var b=getPlainText(a);removeNode(a);return b};Wikifier.prototype.subWikify=function(b,a){try{if(a){this.subWikifyTerm(b,new RegExp("("+a+")","mg"))}else{this.subWikifyUnterm(b)}}catch(c){showException(c)}};Wikifier.prototype.subWikifyUnterm=function(b){var a=this.output;this.output=b;this.formatter.formatterRegExp.lastIndex=this.nextMatch;var d=this.formatter.formatterRegExp.exec(this.source);while(d){if(d.index>this.nextMatch){this.outputText(this.output,this.nextMatch,d.index)}this.matchStart=d.index;this.matchLength=d[0].length;this.matchText=d[0];this.nextMatch=this.formatter.formatterRegExp.lastIndex;for(var c=1;c<d.length;c++){if(d[c]){this.formatter.formatters[c-1].handler(this);this.formatter.formatterRegExp.lastIndex=this.nextMatch;break}}d=this.formatter.formatterRegExp.exec(this.source)}if(this.nextMatch<this.source.length){this.outputText(this.output,this.nextMatch,this.source.length);this.nextMatch=this.source.length}this.output=a};Wikifier.prototype.subWikifyTerm=function(b,e){var a=this.output;this.output=b;e.lastIndex=this.nextMatch;var d=e.exec(this.source);this.formatter.formatterRegExp.lastIndex=this.nextMatch;var f=this.formatter.formatterRegExp.exec(d?this.source.substr(0,d.index):this.source);while(d||f){if(d&&(!f||d.index<=f.index)){if(d.index>this.nextMatch){this.outputText(this.output,this.nextMatch,d.index)}this.matchText=d[1];this.matchLength=d[1].length;this.matchStart=d.index;this.nextMatch=this.matchStart+this.matchLength;this.output=a;return}if(f.index>this.nextMatch){this.outputText(this.output,this.nextMatch,f.index)}this.matchStart=f.index;this.matchLength=f[0].length;this.matchText=f[0];this.nextMatch=this.formatter.formatterRegExp.lastIndex;for(var c=1;c<f.length;c++){if(f[c]){this.formatter.formatters[c-1].handler(this);this.formatter.formatterRegExp.lastIndex=this.nextMatch;break}}e.lastIndex=this.nextMatch;d=e.exec(this.source);f=this.formatter.formatterRegExp.exec(d?this.source.substr(0,d.index):this.source)}if(this.nextMatch<this.source.length){this.outputText(this.output,this.nextMatch,this.source.length);this.nextMatch=this.source.length}this.output=a};Wikifier.prototype.outputText=function(a,c,b){while(this.highlightMatch&&(this.highlightRegExp.lastIndex>c)&&(this.highlightMatch.index<b)&&(c<b)){if(this.highlightMatch.index>c){createTiddlyText(a,this.source.substring(c,this.highlightMatch.index));c=this.highlightMatch.index}var e=Math.min(this.highlightRegExp.lastIndex,b);var d=createTiddlyElement(a,"span",null,"highlight",this.source.substring(c,e));c=e;if(c>=this.highlightRegExp.lastIndex){this.highlightMatch=this.highlightRegExp.exec(this.source)}}if(c<b){createTiddlyText(a,this.source.substring(c,b))}};config.macros.today.handler=function(a,c,e){var b=new Date();var d=e[0]?b.formatString(e[0].trim()):b.toLocaleString();createTiddlyElement(a,"span",null,null,d)};config.macros.version.handler=function(a){createTiddlyElement(a,"span",null,null,formatVersion())};config.macros.list.handler=function(b,g,h){var e=h[0]||"all";var f=document.createElement("ul");b.appendChild(f);if(this[e].prompt){createTiddlyElement(f,"li",null,"listTitle",this[e].prompt)}var d;if(this[e].handler){d=this[e].handler(h)}for(var c=0;c<d.length;c++){var a=document.createElement("li");f.appendChild(a);createTiddlyLink(a,typeof d[c]=="string"?d[c]:d[c].title,true)}};config.macros.list.all.handler=function(a){return store.reverseLookup("tags","excludeLists",false,"title")};config.macros.list.missing.handler=function(a){return store.getMissingLinks()};config.macros.list.orphans.handler=function(a){return store.getOrphans()};config.macros.list.shadowed.handler=function(a){return store.getShadowed()};config.macros.list.touched.handler=function(a){return store.getTouched()};config.macros.list.filter.handler=function(e){var c=e[1];var b=[];if(c){var d=store.filterTiddlers(c);for(var a=0;a<d.length;a++){b.push(d[a].title)}}return b};config.macros.allTags.handler=function(e,b,d){var k=store.getTags(d[0]);var f=createTiddlyElement(e,"ul");if(k.length==0){createTiddlyElement(f,"li",null,"listTitle",this.noTags)}for(var j=0;j<k.length;j++){var g=k[j][0];var c=getTiddlyLinkInfo(g);var h=createTiddlyElement(f,"li");var a=createTiddlyButton(h,g+" ("+k[j][1]+")",this.tooltip.format([g]),onClickTag,c.classes);a.setAttribute("tag",g);a.setAttribute("refresh","link");a.setAttribute("tiddlyLink",g)}};config.macros.timeline.handler=function(e,c,d){var j=d[0]||"modified";var b=store.reverseLookup("tags","excludeLists",false,j);var g="";var k=d[1]?b.length-Math.min(b.length,parseInt(d[1])):0;var a=d[2]||this.dateFormat;for(var m=b.length-1;m>=k;m--){var h=b[m];var l=h[j].convertToLocalYYYYMMDDHHMM().substr(0,8);if(l!=g){var f=document.createElement("ul");e.appendChild(f);createTiddlyElement(f,"li",null,"listTitle",h[j].formatString(a));g=l}createTiddlyElement(f,"li",null,"listLink").appendChild(createTiddlyLink(e,h.title,true))}};config.macros.tiddler.handler=function(g,c,f,j,e,p){f=e.parseParams("name",null,true,false,true);var m=f[0]["name"];var d=m[0];var l=m[1]||null;var k=f[0]["with"];var a=createTiddlyElement(g,"span",null,l);if(!k){a.setAttribute("refresh","content");a.setAttribute("tiddler",d)}var q=store.getTiddlerText(d);if(q){var o=config.macros.tiddler.tiddlerStack;if(o.indexOf(d)!==-1){return}o.push(d);try{var b=k?Math.min(k.length,9):0;for(var h=0;h<b;h++){var r=new RegExp("\\$"+(h+1),"mg");q=q.replace(r,k[h])}config.macros.tiddler.renderText(a,q,d,f)}finally{o.pop()}}};config.macros.tiddler.renderText=function(a,d,b,c){wikify(d,a,null,store.getTiddler(b))};config.macros.tiddler.tiddlerStack=[];config.macros.tag.handler=function(a,b,c){createTagButton(a,c[0],null,c[1],c[2])};config.macros.tags.handler=function(e,b,d,f,c,k){d=c.parseParams("anon",null,true,false,false);var h=createTiddlyElement(e,"ul");var j=getParam(d,"anon","");if(j&&store.tiddlerExists(j)){k=store.getTiddler(j)}var m=getParam(d,"sep"," ");var g=config.views.wikified.tag;var a=k.tags.length==0?g.labelNoTags:g.labelTags;createTiddlyElement(h,"li",null,"listTitle",a.format([k.title]));for(var l=0;l<k.tags.length;l++){createTagButton(createTiddlyElement(h,"li"),k.tags[l],k.title);if(l<k.tags.length-1){createTiddlyText(h,m)}}};config.macros.tagging.handler=function(f,c,e,g,d,k){e=d.parseParams("anon",null,true,false,false);var h=createTiddlyElement(f,"ul");var j=getParam(e,"anon","");if(j==""&&k instanceof Tiddler){j=k.title}var m=getParam(e,"sep"," ");h.setAttribute("title",this.tooltip.format([j]));var b=store.getTaggedTiddlers(j);var a=b.length==0?this.labelNotTag:this.label;createTiddlyElement(h,"li",null,"listTitle",a.format([j,b.length]));for(var l=0;l<b.length;l++){createTiddlyLink(createTiddlyElement(h,"li"),b[l].title,true);if(l<b.length-1){createTiddlyText(h,m)}}};config.macros.closeAll.handler=function(a){createTiddlyButton(a,this.label,this.prompt,this.onClick)};config.macros.closeAll.onClick=function(a){story.closeAllTiddlers();return false};config.macros.permaview.handler=function(a){createTiddlyButton(a,this.label,this.prompt,this.onClick)};config.macros.permaview.onClick=function(a){story.permaView();return false};config.macros.saveChanges.handler=function(a,b,c){if(!readOnly){createTiddlyButton(a,c[0]||this.label,c[1]||this.prompt,this.onClick,null,null,this.accessKey)}};config.macros.saveChanges.onClick=function(a){saveChanges();return false};config.macros.slider.onClickSlider=function(c){var d=c||window.event;var f=this.nextSibling;var b=f.getAttribute("cookie");var a=f.style.display!="none";if(config.options.chkAnimate&&anim&&typeof Slider=="function"){anim.startAnimating(new Slider(f,!a,null,"none"))}else{f.style.display=a?"none":"block"}config.options[b]=!a;saveOptionCookie(b);return false};config.macros.slider.createSlider=function(b,e,g,f){var h=e||"";var d=createTiddlyButton(b,g,f,this.onClickSlider);var a=createTiddlyElement(null,"div",null,"sliderPanel");a.setAttribute("cookie",h);a.style.display=config.options[h]?"block":"none";b.appendChild(a);return a};config.macros.slider.handler=function(b,c,e){var a=this.createSlider(b,e[0],e[2],e[3]);var d=store.getTiddlerText(e[1]);a.setAttribute("refresh","content");a.setAttribute("tiddler",e[1]);if(d){wikify(d,a,null,store.getTiddler(e[1]))}};config.macros.gradient.handler=function(f,b,e,h,d,l){var a=h?createTiddlyElement(f,"div",null,"gradient"):f;a.style.position="relative";a.style.overflow="hidden";a.style.zIndex="0";if(h){var n=config.formatterHelpers.inlineCssHelper(h);config.formatterHelpers.applyCssHelper(a,n)}e=d.parseParams("color");var k=[],g=[];for(var m=2;m<e.length;m++){var j=new RGB(e[m].value);if(e[m].name=="snap"){g[g.length-1]=j}else{k.push(j);g.push(j)}}drawGradient(a,e[1].value!="vert",k,g);if(h){h.subWikify(a,">>")}if(document.all){a.style.height="100%";a.style.width="100%"}};config.macros.message.handler=function(b,e,f){if(f[0]){var d=f[0].split(".");var c=function(g,h){if(d[h] in g){if(h<d.length-1){return(c(g[d[h]],h+1))}else{return g[d[h]]}}else{return null}};var a=c(config,0);if(a==null){a=c(window,0)}createTiddlyText(b,a.toString().format(f.splice(1)))}};config.macros.view.views={text:function(d,a,f,c,e,b){highlightify(d,a,highlightHack,b)},link:function(d,a,f,c,e,b){createTiddlyLink(a,d,true)},wikified:function(d,a,f,c,e,b){if(f[2]){d=f[2].unescapeLineBreaks().format([d])}wikify(d,a,highlightHack,b)},date:function(d,a,f,c,e,b){d=Date.convertFromYYYYMMDDHHMM(d);createTiddlyText(a,d.formatString(f[2]?f[2]:config.views.wikified.dateFormat))}};config.macros.view.handler=function(d,a,c,e,b,g){if((g instanceof Tiddler)&&c[0]){var h=store.getValue(g,c[0]);if(h){var f=c[1]||config.macros.view.defaultView;var j=config.macros.view.views[f];if(j){j(h,d,c,e,b,g)}}}};config.macros.edit.handler=function(d,a,c,f,b,n){var m=c[0];var q=c[1]||0;var j=c[2]||"";if((n instanceof Tiddler)&&m){story.setDirty(n.title,true);var k,o;if(m!="text"&&!q){k=createTiddlyElement(null,"input");if(n.isReadOnly()){k.setAttribute("readOnly","readOnly")}k.setAttribute("edit",m);k.setAttribute("type","text");k.value=store.getValue(n,m)||j;k.setAttribute("size","40");k.setAttribute("autocomplete","off");d.appendChild(k)}else{var h=createTiddlyElement(null,"fieldset",null,"fieldsetFix");var g=createTiddlyElement(h,"div");k=createTiddlyElement(g,"textarea");if(n.isReadOnly()){k.setAttribute("readOnly","readOnly")}k.value=o=store.getValue(n,m)||j;q=q||10;var p=o.match(/\n/mg);var l=Math.max(parseInt(config.options.txtMaxEditRows),5);if(p!=null&&p.length>q){q=p.length+5}q=Math.min(q,l);k.setAttribute("rows",q);k.setAttribute("edit",m);d.appendChild(h)}return k}};config.macros.tagChooser.onClick=function(f){var g=f||window.event;var h=config.views.editor.tagChooser;var b=Popup.create(this);var c=store.getTags("excludeLists");if(c.length==0){createTiddlyText(createTiddlyElement(b,"li"),h.popupNone)}for(var d=0;d<c.length;d++){var a=createTiddlyButton(createTiddlyElement(b,"li"),c[d][0],h.tagTooltip.format([c[d][0]]),config.macros.tagChooser.onTagClick);a.setAttribute("tag",c[d][0]);a.setAttribute("tiddler",this.getAttribute("tiddler"))}Popup.show();g.cancelBubble=true;if(g.stopPropagation){g.stopPropagation()}return false};config.macros.tagChooser.onTagClick=function(b){var c=b||window.event;if(c.metaKey||c.ctrlKey){stopEvent(c)}var a=this.getAttribute("tag");var d=this.getAttribute("tiddler");if(!readOnly){story.setTiddlerTag(d,a,0)}return false};config.macros.tagChooser.handler=function(a,e,h,d,g,c){if(c instanceof Tiddler){var f=config.views.editor.tagChooser;var b=createTiddlyButton(a,f.text,f.tooltip,this.onClick);b.setAttribute("tiddler",c.title)}};config.macros.refreshDisplay.handler=function(a){createTiddlyButton(a,this.label,this.prompt,this.onClick)};config.macros.refreshDisplay.onClick=function(a){refreshAll();return false};config.macros.annotations.handler=function(e,b,d,f,c,h){var g=h?h.title:null;var j=g?config.annotations[g]:null;if(!h||!g||!j){return}var k=j.format([g]);wikify(k,createTiddlyElement(e,"div",null,"annotation"),null,h)};config.macros.newTiddler.createNewTiddlerButton=function(e,h,d,j,b,l,c,g){var n=[];for(var m=1;m<d.length;m++){if((d[m].name=="anon"&&m!=1)||(d[m].name=="tag")){n.push(d[m].value)}}j=getParam(d,"label",j);b=getParam(d,"prompt",b);l=getParam(d,"accessKey",l);c=getParam(d,"focus",c);var f=getParam(d,"fields","");if(!f&&!store.isShadowTiddler(h)){f=String.encodeHashMap(config.defaultCustomFields)}var a=createTiddlyButton(e,j,b,this.onClickNewTiddler,null,null,l);a.setAttribute("newTitle",h);a.setAttribute("isJournal",g?"true":"false");if(n.length>0){a.setAttribute("params",n.join("|"))}a.setAttribute("newFocus",c);a.setAttribute("newTemplate",getParam(d,"template",DEFAULT_EDIT_TEMPLATE));if(f!==""){a.setAttribute("customFields",f)}var k=getParam(d,"text");if(k!==undefined){a.setAttribute("newText",k)}return a};config.macros.newTiddler.onClickNewTiddler=function(){var d=this.getAttribute("newTitle");if(this.getAttribute("isJournal")=="true"){d=new Date().formatString(d.trim())}var a=this.getAttribute("params");var h=a?a.split("|"):[];var j=this.getAttribute("newFocus");var e=this.getAttribute("newTemplate");var c=this.getAttribute("customFields");if(!c&&!store.isShadowTiddler(d)){c=String.encodeHashMap(config.defaultCustomFields)}story.displayTiddler(null,d,e,false,null,null);var b=story.getTiddler(d);if(c){story.addCustomFields(b,c)}var f=this.getAttribute("newText");if(typeof f=="string"){story.getTiddlerField(d,"text").value=f.format([d])}for(var g=0;g<h.length;g++){story.setTiddlerTag(d,h[g],+1)}story.focusTiddler(d,j);return false};config.macros.newTiddler.handler=function(a,c,f,b,e){if(!readOnly){f=e.parseParams("anon",null,true,false,false);var d=f[1]&&f[1].name=="anon"?f[1].value:this.title;d=getParam(f,"title",d);this.createNewTiddlerButton(a,d,f,this.label,this.prompt,this.accessKey,"title",false)}};config.macros.newJournal.handler=function(a,c,f,b,e){if(!readOnly){f=e.parseParams("anon",null,true,false,false);var d=f[1]&&f[1].name=="anon"?f[1].value:config.macros.timeline.dateFormat;d=getParam(f,"title",d);config.macros.newTiddler.createNewTiddlerButton(a,d,f,this.label,this.prompt,this.accessKey,"text",true)}};config.macros.search.handler=function(b,e,f){var d=null;var c=createTiddlyButton(b,this.label,this.prompt,this.onClick,"searchButton");var a=createTiddlyElement(b,"input",null,"txtOptionInput searchField");if(f[0]){a.value=f[0]}a.onkeyup=this.onKeyPress;a.onfocus=this.onFocus;a.setAttribute("size",this.sizeTextbox);a.setAttribute("accessKey",this.accessKey);a.setAttribute("autocomplete","off");a.setAttribute("lastSearchText","");if(config.browser.isSafari){a.setAttribute("type","search");a.setAttribute("results","5")}else{a.setAttribute("type","text")}};config.macros.search.timeout=null;config.macros.search.doSearch=function(a){if(a.value.length>0){story.search(a.value,config.options.chkCaseSensitiveSearch,config.options.chkRegExpSearch);a.setAttribute("lastSearchText",a.value)}};config.macros.search.onClick=function(a){config.macros.search.doSearch(this.nextSibling);return false};config.macros.search.onKeyPress=function(b){var c=b||window.event;switch(c.keyCode){case 13:case 10:config.macros.search.doSearch(this);break;case 27:this.value="";clearMessage();break}if(config.options.chkIncrementalSearch){if(this.value.length>2){if(this.value!=this.getAttribute("lastSearchText")){if(config.macros.search.timeout){clearTimeout(config.macros.search.timeout)}var a=this;config.macros.search.timeout=setTimeout(function(){config.macros.search.doSearch(a)},500)}}else{if(config.macros.search.timeout){clearTimeout(config.macros.search.timeout)}}}};config.macros.search.onFocus=function(a){this.select()};config.macros.tabs.handler=function(h,e,g){var b=g[0];var f=(g.length-1)/3;var a=createTiddlyElement(null,"div",null,"tabsetWrapper "+b);var j=createTiddlyElement(a,"div",null,"tabset");j.setAttribute("cookie",b);var l=false;for(var n=0;n<f;n++){var m=g[n*3+1];var c=g[n*3+2];var k=g[n*3+3];var d=createTiddlyButton(j,m,c,this.onClickTab,"tab tabUnselected");d.setAttribute("tab",m);d.setAttribute("content",k);d.title=c;if(config.options[b]==m){l=true}}if(!l){config.options[b]=g[1]}h.appendChild(a);this.switchTab(j,config.options[b])};config.macros.tabs.onClickTab=function(a){config.macros.tabs.switchTab(this.parentNode,this.getAttribute("tab"));return false};config.macros.tabs.switchTab=function(g,e){var c=g.getAttribute("cookie");var h=null;var a=g.childNodes;for(var b=0;b<a.length;b++){if(a[b].getAttribute&&a[b].getAttribute("tab")==e){h=a[b];h.className="tab tabSelected"}else{a[b].className="tab tabUnselected"}}if(h){if(g.nextSibling&&g.nextSibling.className=="tabContents"){removeNode(g.nextSibling)}var f=createTiddlyElement(null,"div",null,"tabContents");g.parentNode.insertBefore(f,g.nextSibling);var d=h.getAttribute("content");wikify(store.getTiddlerText(d),f,null,store.getTiddler(d));if(c){config.options[c]=e;saveOptionCookie(c)}}};config.macros.toolbar.createCommand=function(e,f,j,g){if(typeof f!="string"){var h=null;for(var l in config.commands){if(config.commands[l]==f){h=l}}f=h}if((j instanceof Tiddler)&&(typeof f=="string")){var d=config.commands[f];if(d.isEnabled?d.isEnabled(j):this.isCommandEnabled(d,j)){var k=d.getText?d.getText(j):this.getCommandText(d,j);var m=d.getTooltip?d.getTooltip(j):this.getCommandTooltip(d,j);var b;switch(d.type){case"popup":b=this.onClickPopup;break;case"command":default:b=this.onClickCommand;break}var a=createTiddlyButton(null,k,m,b);a.setAttribute("commandName",f);a.setAttribute("tiddler",j.title);if(g){addClass(a,g)}e.appendChild(a)}}};config.macros.toolbar.isCommandEnabled=function(d,a){var c=a.title;var b=a.isReadOnly();var e=store.isShadowTiddler(c)&&!store.tiddlerExists(c);return(!b||(b&&!d.hideReadOnly))&&!(e&&d.hideShadow)};config.macros.toolbar.getCommandText=function(b,a){return a.isReadOnly()&&b.readOnlyText||b.text};config.macros.toolbar.getCommandTooltip=function(b,a){return a.isReadOnly()&&b.readOnlyTooltip||b.tooltip};config.macros.toolbar.onClickCommand=function(a){var b=a||window.event;b.cancelBubble=true;if(b.stopPropagation){b.stopPropagation()}var c=config.commands[this.getAttribute("commandName")];return c.handler(b,this,this.getAttribute("tiddler"))};config.macros.toolbar.onClickPopup=function(c){var d=c||window.event;d.cancelBubble=true;if(d.stopPropagation){d.stopPropagation()}var a=Popup.create(this);var g=config.commands[this.getAttribute("commandName")];var f=this.getAttribute("tiddler");var b=store.fetchTiddler(f);a.setAttribute("tiddler",f);g.handlePopup(a,f);Popup.show();return false};config.macros.toolbar.invokeCommand=function(a,e,f){var d=a.getElementsByTagName("a");for(var b=0;b<d.length;b++){var g=d[b];if(hasClass(g,e)&&g.getAttribute&&g.getAttribute("commandName")){if(g.onclick instanceof Function){g.onclick.call(g,f)}break}}};config.macros.toolbar.onClickMore=function(a){var b=this.nextSibling;b.style.display="inline";removeNode(this);return false};config.macros.toolbar.handler=function(g,b,f,h,d,m){for(var n=0;n<f.length;n++){var l=f[n];switch(l){case">":var a=createTiddlyButton(g,this.moreLabel,this.morePrompt,config.macros.toolbar.onClickMore);addClass(a,"moreCommand");var j=createTiddlyElement(g,"span",null,"moreCommand");j.style.display="none";g=j;break;default:var k="";switch(l.substr(0,1)){case"+":k="defaultCommand";l=l.substr(1);break;case"-":k="cancelCommand";l=l.substr(1);break}if(l in config.commands){this.createCommand(g,l,m,k)}break}}};config.commands.closeTiddler.handler=function(a,c,b){if(story.isDirty(b)&&!readOnly){if(!confirm(config.commands.cancelTiddler.warning.format([b]))){return false}}story.setDirty(b,false);story.closeTiddler(b,true);return false};config.commands.closeOthers.handler=function(a,c,b){story.closeAllTiddlers(b);return false};config.commands.editTiddler.handler=function(c,e,d){clearMessage();var b=story.getTiddler(d);var a=b.getAttribute("tiddlyFields");story.displayTiddler(null,d,DEFAULT_EDIT_TEMPLATE,false,null,a);story.focusTiddler(d,config.options.txtEditorFocus||"text");return false};config.commands.saveTiddler.handler=function(a,c,b){var d=story.saveTiddler(b,a.shiftKey);if(d){story.displayTiddler(null,d)}return false};config.commands.cancelTiddler.handler=function(a,c,b){if(story.hasChanges(b)&&!readOnly){if(!confirm(this.warning.format([b]))){return false}}story.setDirty(b,false);story.displayTiddler(null,b);return false};config.commands.deleteTiddler.handler=function(b,d,c){var a=true;if(config.options.chkConfirmDelete){a=confirm(this.warning.format([c]))}if(a){store.removeTiddler(c);story.closeTiddler(c,true);autoSaveChanges()}return false};config.commands.permalink.handler=function(b,d,c){var a=encodeURIComponent(String.encodeTiddlyLink(c));if(window.location.hash!=a){window.location.hash=a}return false};config.commands.references.handlePopup=function(a,e){var b=store.getReferringTiddlers(e);var f=false;for(var d=0;d<b.length;d++){if(b[d].title!=e&&!b[d].isTagged("excludeLists")){createTiddlyLink(createTiddlyElement(a,"li"),b[d].title,true);f=true}}if(!f){createTiddlyText(createTiddlyElement(a,"li",null,"disabled"),this.popupNone)}};config.commands.jump.handlePopup=function(a,b){story.forEachTiddler(function(d,c){createTiddlyLink(createTiddlyElement(a,"li"),d,true,null,false,null,true)})};config.commands.syncing.handlePopup=function(a,l){var m=store.fetchTiddler(l);if(!m){return}var k=m.getServerType();var r=m.fields["server.host"];var g=m.fields["server.workspace"];if(!g){g=""}if(k){var j=createTiddlyElement(a,"li",null,"popupMessage");j.innerHTML=config.commands.syncing.currentlySyncing.format([k,r,g])}else{createTiddlyElement(a,"li",null,"popupMessage",config.commands.syncing.notCurrentlySyncing)}if(k){createTiddlyElement(createTiddlyElement(a,"li",null,"listBreak"),"div");var c=createTiddlyButton(createTiddlyElement(a,"li"),this.captionUnSync,null,config.commands.syncing.onChooseServer);c.setAttribute("tiddler",l);c.setAttribute("server.type","")}createTiddlyElement(createTiddlyElement(a,"li",null,"listBreak"),"div");createTiddlyElement(a,"li",null,"popupMessage",config.commands.syncing.chooseServer);var q=store.getTaggedTiddlers("systemServer","title");for(var p=0;p<q.length;p++){var h=q[p];var n=store.getTiddlerSlice(h.title,"Type");if(!n){n="file"}var b=store.getTiddlerSlice(h.title,"URL");if(!b){b=""}var d=store.getTiddlerSlice(h.title,"Workspace");if(!d){d=""}var o=h.title;if(k==n&&r==b&&g==d){o=config.commands.syncing.currServerMarker+o}else{o=config.commands.syncing.notCurrServerMarker+o}c=createTiddlyButton(createTiddlyElement(a,"li"),o,null,config.commands.syncing.onChooseServer);c.setAttribute("tiddler",l);c.setAttribute("server.type",n);c.setAttribute("server.host",b);c.setAttribute("server.workspace",d)}};config.commands.syncing.onChooseServer=function(c){var b=this.getAttribute("tiddler");var a=this.getAttribute("server.type");if(a){store.addTiddlerFields(b,{"server.type":a,"server.host":this.getAttribute("server.host"),"server.workspace":this.getAttribute("server.workspace")})}else{store.setValue(b,"server",null)}return false};config.commands.fields.handlePopup=function(b,f){var e=store.fetchTiddler(f);if(!e){return}var a={};store.forEachField(e,function(g,j,h){a[j]=h},true);var c=[];for(var d in a){c.push({field:d,value:a[d]})}c.sort(function(h,g){return h.field<g.field?-1:(h.field==g.field?0:+1)});if(c.length>0){ListView.create(b,c,this.listViewTemplate)}else{createTiddlyElement(b,"div",null,null,this.emptyText)}};function Tiddler(a){this.title=a;this.text="";this.modifier=null;this.created=new Date();this.modified=this.created;this.links=[];this.linksUpdated=false;this.tags=[];this.fields={};return this}Tiddler.prototype.getLinks=function(){if(this.linksUpdated==false){this.changed()}return this.links};Tiddler.prototype.getInheritedFields=function(){var b={};for(var a in this.fields){if(a=="server.host"||a=="server.workspace"||a=="wikiformat"||a=="server.type"){b[a]=this.fields[a]}}return String.encodeHashMap(b)};Tiddler.prototype.incChangeCount=function(){var a=this.fields.changecount;a=a?parseInt(a,10):0;this.fields.changecount=String(a+1)};Tiddler.prototype.clearChangeCount=function(){if(this.fields.changecount){delete this.fields.changecount}};Tiddler.prototype.doNotSave=function(){return this.fields.doNotSave};Tiddler.prototype.isTouched=function(){var a=this.fields.changecount;if(a===undefined){a=0}return a>0};Tiddler.prototype.toRssItem=function(c){var b=[];b.push("<title>"+this.title.htmlEncode()+"</title>");b.push("<description>"+wikifyStatic(this.text,null,this).htmlEncode()+"</description>");for(var a=0;a<this.tags.length;a++){b.push("<category>"+this.tags[a]+"</category>")}b.push("<link>"+c+"#"+encodeURIComponent(String.encodeTiddlyLink(this.title))+"</link>");b.push("<pubDate>"+this.modified.toGMTString()+"</pubDate>");return b.join("\n")};Tiddler.prototype.saveToRss=function(a){return"<item>\n"+this.toRssItem(a)+"\n</item>"};Tiddler.prototype.set=function(f,e,b,d,c,g,a){this.assign(f,e,b,d,c,g,a);this.changed();return this};Tiddler.prototype.assign=function(f,e,b,d,c,g,a){if(f!=undefined){this.title=f}if(e!=undefined){this.text=e}if(b!=undefined){this.modifier=b}if(d!=undefined){this.modified=d}if(g!=undefined){this.created=g}if(a!=undefined){this.fields=a}if(c!=undefined){this.tags=(typeof c=="string")?c.readBracketedList():c}else{if(this.tags==undefined){this.tags=[]}}return this};Tiddler.prototype.getTags=function(){return String.encodeTiddlyLinkList(this.tags)};Tiddler.prototype.isTagged=function(a){return this.tags.indexOf(a)!=-1};Tiddler.unescapeLineBreaks=function(a){return a?a.unescapeLineBreaks():""};Tiddler.prototype.escapeLineBreaks=function(){return this.text.escapeLineBreaks()};Tiddler.prototype.changed=function(){this.links=[];var d=this.autoLinkWikiWords()?0:1;var a=d==0?config.textPrimitives.tiddlerAnyLinkRegExp:config.textPrimitives.tiddlerForcedLinkRegExp;a.lastIndex=0;var e=a.exec(this.text);while(e){var f=a.lastIndex;if(d==0&&e[1]&&e[1]!=this.title){if(e.index>0){var c=new RegExp(config.textPrimitives.unWikiLink+"|"+config.textPrimitives.anyLetter,"mg");c.lastIndex=e.index-1;var b=c.exec(this.text);if(b.index!=e.index-1){this.links.pushUnique(e[1])}}else{this.links.pushUnique(e[1])}}else{if(e[2-d]&&!config.formatterHelpers.isExternalLink(e[3-d])){this.links.pushUnique(e[3-d])}else{if(e[4-d]&&e[4-d]!=this.title){this.links.pushUnique(e[4-d])}}}a.lastIndex=f;e=a.exec(this.text)}this.linksUpdated=true};Tiddler.prototype.getSubtitle=function(){var a=this.modifier;if(!a){a=config.messages.subtitleUnknown}var b=this.modified;if(b){b=b.toLocaleString()}else{b=config.messages.subtitleUnknown}return config.messages.tiddlerLinkTooltip.format([this.title,a,b])};Tiddler.prototype.isReadOnly=function(){return readOnly};Tiddler.prototype.autoLinkWikiWords=function(){return !(this.isTagged("systemConfig")||this.isTagged("excludeMissing"))};Tiddler.prototype.generateFingerprint=function(){return"0x"+Crypto.hexSha1Str(this.text)};Tiddler.prototype.getServerType=function(){var a=null;if(this.fields["server.type"]){a=this.fields["server.type"]}if(!a){a=this.fields.wikiformat}if(a&&!config.adaptors[a]){a=null}return a};Tiddler.prototype.getAdaptor=function(){var a=this.getServerType();return a?new config.adaptors[a]():null};function TiddlyWiki(){var a={};this.tiddlersUpdated=false;this.namedNotifications=[];this.notificationLevel=0;this.slices={};this.clear=function(){a={};this.setDirty(false)};this.fetchTiddler=function(c){var b=a[c];return b instanceof Tiddler?b:null};this.deleteTiddler=function(b){delete this.slices[b];delete a[b]};this.addTiddler=function(b){delete this.slices[b.title];a[b.title]=b};this.forEachTiddler=function(d){for(var c in a){var b=a[c];if(b instanceof Tiddler){d.call(this,c,b)}}}}TiddlyWiki.prototype.setDirty=function(a){this.dirty=a};TiddlyWiki.prototype.isDirty=function(){return this.dirty};TiddlyWiki.prototype.tiddlerExists=function(b){var a=this.fetchTiddler(b);return a!=undefined};TiddlyWiki.prototype.isShadowTiddler=function(a){return typeof config.shadowTiddlers[a]=="string"};TiddlyWiki.prototype.createTiddler=function(b){var a=this.fetchTiddler(b);if(!a){a=new Tiddler(b);this.addTiddler(a);this.setDirty(true)}return a};TiddlyWiki.prototype.getTiddler=function(b){var a=this.fetchTiddler(b);if(a!=undefined){return a}else{return null}};TiddlyWiki.prototype.getTiddlerText=function(e,d){if(!e){return d}var c=e.indexOf(config.textPrimitives.sectionSeparator);var h=null;if(c!=-1){h=e.substr(c+config.textPrimitives.sectionSeparator.length);e=e.substr(0,c)}c=e.indexOf(config.textPrimitives.sliceSeparator);if(c!=-1){var g=this.getTiddlerSlice(e.substr(0,c),e.substr(c+config.textPrimitives.sliceSeparator.length));if(g){return g}}var f=this.fetchTiddler(e);if(f){if(!h){return f.text}var k=new RegExp("(^!{1,6}"+h.escapeRegExp()+"[ \t]*\n)","mg");k.lastIndex=0;var b=k.exec(f.text);if(b){var j=f.text.substr(b.index+b[1].length);var a=/^!/mg;a.lastIndex=0;b=a.exec(j);if(b){j=j.substr(0,b.index-1)}return j}return d}if(this.isShadowTiddler(e)){return config.shadowTiddlers[e]}if(d!=undefined){return d}return null};TiddlyWiki.prototype.getRecursiveTiddlerText=function(h,c,g){var a=new RegExp("(?:\\[\\[([^\\]]+)\\]\\])","mg");var f=this.getTiddlerText(h,null);if(f==null){return c}var d=[];var e=0;do{var b=a.exec(f);if(b){d.push(f.substr(e,b.index-e));if(b[1]){if(g<=0){d.push(b[1])}else{d.push(this.getRecursiveTiddlerText(b[1],"[["+b[1]+"]]",g-1))}}e=b.index+b[0].length}else{d.push(f.substr(e))}}while(b);return d.join("")};TiddlyWiki.prototype.slicesRE=/(?:^([\'\/]{0,2})~?([\.\w]+)\:\1\s*([^\n]+)\s*$)|(?:^\|([\'\/]{0,2})~?([\.\w]+)\:?\4\|\s*([^\|\n]+)\s*\|$)/gm;TiddlyWiki.prototype.calcAllSlices=function(d){var c={};var b=this.getTiddlerText(d,"");this.slicesRE.lastIndex=0;var a=this.slicesRE.exec(b);while(a){if(a[2]){c[a[2]]=a[3]}else{c[a[5]]=a[6]}a=this.slicesRE.exec(b)}return c};TiddlyWiki.prototype.getTiddlerSlice=function(c,a){var b=this.slices[c];if(!b){b=this.calcAllSlices(c);this.slices[c]=b}return b[a]};TiddlyWiki.prototype.getTiddlerSlices=function(e,a){var c={};for(var b=0;b<a.length;b++){var d=this.getTiddlerSlice(e,a[b]);if(d){c[a[b]]=d}}return c};TiddlyWiki.prototype.suspendNotifications=function(){this.notificationLevel--};TiddlyWiki.prototype.resumeNotifications=function(){this.notificationLevel++};TiddlyWiki.prototype.notify=function(c,a){if(!this.notificationLevel){for(var b=0;b<this.namedNotifications.length;b++){var d=this.namedNotifications[b];if((d.name==null&&a)||(d.name==c)){d.notify(c)}}}};TiddlyWiki.prototype.notifyAll=function(){if(!this.notificationLevel){for(var a=0;a<this.namedNotifications.length;a++){var b=this.namedNotifications[a];if(b.name){b.notify(b.name)}}}};TiddlyWiki.prototype.addNotification=function(c,b){for(var a=0;a<this.namedNotifications.length;a++){if((this.namedNotifications[a].name==c)&&(this.namedNotifications[a].notify==b)){return this}}this.namedNotifications.push({name:c,notify:b});return this};TiddlyWiki.prototype.removeTiddler=function(b){var a=this.fetchTiddler(b);if(a){this.deleteTiddler(b);this.notify(b,true);this.setDirty(true)}};TiddlyWiki.prototype.resetTiddler=function(b){var a=this.fetchTiddler(b);if(a){a.clearChangeCount();this.notify(b,true);this.setDirty(true)}};TiddlyWiki.prototype.setTiddlerTag=function(e,b,a){var d=this.fetchTiddler(e);if(d){var c=d.tags.indexOf(a);if(c!=-1){d.tags.splice(c,1)}if(b){d.tags.push(a)}d.changed();d.incChangeCount(e);this.notify(e,true);this.setDirty(true)}};TiddlyWiki.prototype.addTiddlerFields=function(c,a){var b=this.fetchTiddler(c);if(!b){return}merge(b.fields,a);b.changed();b.incChangeCount(c);this.notify(c,true);this.setDirty(true)};TiddlyWiki.prototype.saveTiddler=function(h,a,b,c,j,k,e,f,d){var g=this.fetchTiddler(h);if(g){d=d||g.created;this.deleteTiddler(h)}else{d=d||j;g=new Tiddler()}g.set(a,b,c,j,k,d,e);this.addTiddler(g);if(f){g.clearChangeCount()}else{g.incChangeCount()}if(h!=a){this.notify(h,true)}this.notify(a,true);this.setDirty(true);return g};TiddlyWiki.prototype.incChangeCount=function(b){var a=this.fetchTiddler(b);if(a){a.incChangeCount()}};TiddlyWiki.prototype.getLoader=function(){if(!this.loader){this.loader=new TW21Loader()}return this.loader};TiddlyWiki.prototype.getSaver=function(){if(!this.saver){this.saver=new TW21Saver()}return this.saver};TiddlyWiki.prototype.allTiddlersAsHtml=function(){return this.getSaver().externalize(store)};TiddlyWiki.prototype.loadFromDiv=function(f,e,d){this.idPrefix=e;var c=(typeof f=="string")?document.getElementById(f):f;if(!c){return}var b=this.getLoader().loadTiddlers(this,c.childNodes);this.setDirty(false);if(!d){for(var a=0;a<b.length;a++){b[a].changed()}}};TiddlyWiki.prototype.importTiddlyWiki=function(f){var e=locateStoreArea(f);if(!e){return null}var c="<html><body>"+f.substring(e[0],e[1]+endSaveArea.length)+"</body></html>";var a=document.createElement("iframe");a.style.display="none";document.body.appendChild(a);var d=a.document;if(a.contentDocument){d=a.contentDocument}else{if(a.contentWindow){d=a.contentWindow.document}}d.open();d.writeln(c);d.close();var b=d.getElementById("storeArea");this.loadFromDiv(b,"store");a.parentNode.removeChild(a);return this};TiddlyWiki.prototype.updateTiddlers=function(){this.tiddlersUpdated=true;this.forEachTiddler(function(b,a){a.changed()})};TiddlyWiki.prototype.search=function(c,a,g,b){var f=this.reverseLookup("tags",g,!!b);var e=[];for(var d=0;d<f.length;d++){if((f[d].title.search(c)!=-1)||(f[d].text.search(c)!=-1)){e.push(f[d])}}if(!a){a="title"}e.sort(function(j,h){return j[a]<h[a]?-1:(j[a]==h[a]?0:+1)});return e};TiddlyWiki.prototype.getTags=function(b){var a=[];this.forEachTiddler(function(j,f){for(var h=0;h<f.tags.length;h++){var d=f.tags[h];var l=true;for(var k=0;k<a.length;k++){if(a[k][0]==d){l=false;a[k][1]++}}if(l&&b){var e=this.fetchTiddler(d);if(e&&e.isTagged(b)){l=false}}if(l){a.push([d,1])}}});a.sort(function(d,c){return d[0].toLowerCase()<c[0].toLowerCase()?-1:(d[0].toLowerCase()==c[0].toLowerCase()?0:+1)});return a};TiddlyWiki.prototype.getTaggedTiddlers=function(a,b){return this.reverseLookup("tags",a,true,b)};TiddlyWiki.prototype.getReferringTiddlers=function(c,b,a){if(!this.tiddlersUpdated){this.updateTiddlers()}return this.reverseLookup("links",c,true,a)};TiddlyWiki.prototype.reverseLookup=function(e,d,b,a){var c=[];this.forEachTiddler(function(k,g){var h=!b;for(var j=0;j<g[e].length;j++){if(g[e][j]==d){h=b}}if(h){c.push(g)}});if(!a){a="title"}c.sort(function(g,f){return g[a]<f[a]?-1:(g[a]==f[a]?0:+1)});return c};TiddlyWiki.prototype.getTiddlers=function(c,b){var a=[];this.forEachTiddler(function(e,d){if(b==undefined||!d.isTagged(b)){a.push(d)}});if(c){a.sort(function(e,d){return e[c]<d[c]?-1:(e[c]==d[c]?0:+1)})}return a};TiddlyWiki.prototype.getMissingLinks=function(a){if(!this.tiddlersUpdated){this.updateTiddlers()}var b=[];this.forEachTiddler(function(e,c){if(c.isTagged("excludeMissing")||c.isTagged("systemConfig")){return}for(var f=0;f<c.links.length;f++){var d=c.links[f];if(this.fetchTiddler(d)==null&&!this.isShadowTiddler(d)){b.pushUnique(d)}}});b.sort();return b};TiddlyWiki.prototype.getOrphans=function(){var a=[];this.forEachTiddler(function(c,b){if(this.getReferringTiddlers(c).length==0&&!b.isTagged("excludeLists")){a.push(c)}});a.sort();return a};TiddlyWiki.prototype.getShadowed=function(){var b=[];for(var a in config.shadowTiddlers){if(typeof config.shadowTiddlers[a]=="string"){b.push(a)}}b.sort();return b};TiddlyWiki.prototype.getTouched=function(){var a=[];this.forEachTiddler(function(c,b){if(b.isTouched()){a.push(b)}});a.sort();return a};TiddlyWiki.prototype.resolveTiddler=function(b){var a=(typeof b=="string")?this.getTiddler(b):b;return a instanceof Tiddler?a:null};TiddlyWiki.prototype.filterTiddlers=function(g){var e=[];if(g){var d;var f=/([^\s\[\]]+)|(?:\[([ \w]+)\[([^\]]+)\]\])|(?:\[\[([^\]]+)\]\])/mg;var c=f.exec(g);while(c){if(c[1]||c[4]){var h=c[1]||c[4];d=this.fetchTiddler(h);if(d){e.pushUnique(d)}else{if(this.isShadowTiddler(h)){d=new Tiddler();d.set(h,this.getTiddlerText(h));e.pushUnique(d)}}}else{if(c[2]){switch(c[2]){case"tag":var b=this.getTaggedTiddlers(c[3]);for(var a=0;a<b.length;a++){e.pushUnique(b[a])}break;case"sort":e=this.sortTiddlers(e,c[3]);break}}}c=f.exec(g)}}return e};TiddlyWiki.prototype.sortTiddlers=function(b,c){var a=+1;switch(c.substr(0,1)){case"-":a=-1;case"+":c=c.substr(1);break}if(TiddlyWiki.standardFieldAccess[c]){b.sort(function(e,d){return e[c]<d[c]?-a:(e[c]==d[c]?0:a)})}else{b.sort(function(e,d){return e.fields[c]<d.fields[c]?-a:(e.fields[c]==d.fields[c]?0:+a)})}return b};TiddlyWiki.isValidFieldName=function(b){var a=/[a-zA-Z_]\w*(\.[a-zA-Z_]\w*)*/.exec(b);return a&&(a[0]==b)};TiddlyWiki.checkFieldName=function(a){if(!TiddlyWiki.isValidFieldName(a)){throw config.messages.invalidFieldName.format([a])}};function StringFieldAccess(b,a){this.set=a?function(d,c){if(c!=d[b]){throw config.messages.fieldCannotBeChanged.format([b])}}:function(d,c){if(c!=d[b]){d[b]=c;return true}};this.get=function(c){return c[b]}}function DateFieldAccess(a){this.set=function(c,b){var e=b instanceof Date?b:Date.convertFromYYYYMMDDHHMM(b);if(e!=c[a]){c[a]=e;return true}};this.get=function(b){return b[a].convertToYYYYMMDDHHMM()}}function LinksFieldAccess(a){this.set=function(c,b){var d=(typeof b=="string")?b.readBracketedList():b;if(d.toString()!=c[a].toString()){c[a]=d;return true}};this.get=function(b){return String.encodeTiddlyLinkList(b[a])}}TiddlyWiki.standardFieldAccess={title:new StringFieldAccess("title",true),tiddler:new StringFieldAccess("title",true),text:new StringFieldAccess("text"),modifier:new StringFieldAccess("modifier"),modified:new DateFieldAccess("modified"),created:new DateFieldAccess("created"),tags:new LinksFieldAccess("tags")};TiddlyWiki.isStandardField=function(a){return TiddlyWiki.standardFieldAccess[a]!=undefined};TiddlyWiki.prototype.setValue=function(g,k,j){TiddlyWiki.checkFieldName(k);var m=this.resolveTiddler(g);if(!m){return}k=k.toLowerCase();var a=(j===undefined)||(j===null);var e=TiddlyWiki.standardFieldAccess[k];if(e){if(a){return}var f=TiddlyWiki.standardFieldAccess[k];if(!f.set(m,j)){return}}else{var b=m.fields[k];if(a){if(b!==undefined){delete m.fields[k]}else{var l=new RegExp("^"+k+"\\.");var c=false;for(var d in m.fields){if(d.match(l)){delete m.fields[d];c=true}}if(!c){return}}}else{j=j instanceof Date?j.convertToYYYYMMDDHHMMSSMMM():String(j);if(b==j){return}m.fields[k]=j}}this.notify(m.title,true);if(!k.match(/^temp\./)){this.setDirty(true)}};TiddlyWiki.prototype.getValue=function(c,d){var b=this.resolveTiddler(c);if(!b){return undefined}d=d.toLowerCase();var a=TiddlyWiki.standardFieldAccess[d];if(a){return a.get(b)}return b.fields[d]};TiddlyWiki.prototype.forEachField=function(c,f,d){var b=this.resolveTiddler(c);if(!b){return undefined}var e,a;for(e in b.fields){a=f(b,e,b.fields[e]);if(a){return a}}if(d){return undefined}for(e in TiddlyWiki.standardFieldAccess){if(e=="tiddler"){continue}a=f(b,e,TiddlyWiki.standardFieldAccess[e].get(b));if(a){return a}}return undefined};function Story(a,b){this.container=a;this.idPrefix=b;this.highlightRegExp=null;this.tiddlerId=function(c){var d=this.idPrefix+c;return d==this.container?this.idPrefix+"_"+c:d};this.containerId=function(){return this.container}}Story.prototype.getTiddler=function(a){return document.getElementById(this.tiddlerId(a))};Story.prototype.getContainer=function(){return document.getElementById(this.containerId())};Story.prototype.forEachTiddler=function(b){var a=this.getContainer();if(!a){return}var c=a.firstChild;while(c){var f=c.nextSibling;var d=c.getAttribute("tiddler");b.call(this,d,c);c=f}};Story.prototype.displayDefaultTiddlers=function(){this.displayTiddlers(null,store.filterTiddlers(store.getTiddlerText("DefaultTiddlers")))};Story.prototype.displayTiddlers=function(c,g,f,d,b,h,a){for(var e=g.length-1;e>=0;e--){this.displayTiddler(c,g[e],f,d,b,h)}};Story.prototype.displayTiddler=function(g,k,m,a,b,e,f,l){var j=(k instanceof Tiddler)?k.title:k;var d=this.getTiddler(j);if(d){if(f){this.closeTiddler(j,true)}else{this.refreshTiddler(j,m,false,e)}}else{var c=this.getContainer();var h=this.positionTiddler(g);d=this.createTiddler(c,h,j,m,e)}if(l&&typeof l!=="string"){g=l}if(g&&typeof g!=="string"){if(config.options.chkAnimate&&(a==undefined||a==true)&&anim&&typeof Zoomer=="function"&&typeof Scroller=="function"){anim.startAnimating(new Zoomer(j,g,d),new Scroller(d))}else{window.scrollTo(0,ensureVisible(d))}}};Story.prototype.positionTiddler=function(b){var a=this.getContainer();var c=null;if(typeof b=="string"){switch(b){case"top":c=a.firstChild;break;case"bottom":c=null;break}}else{var d=this.findContainingTiddler(b);if(d==null){c=a.firstChild}else{if(d.nextSibling){c=d.nextSibling;if(c.nodeType!=1){c=null}}}}return c};Story.prototype.createTiddler=function(a,e,f,d,g){var c=createTiddlyElement(null,"div",this.tiddlerId(f),"tiddler");c.setAttribute("refresh","tiddler");if(g){c.setAttribute("tiddlyFields",g)}a.insertBefore(c,e);var b=null;if(!store.tiddlerExists(f)&&!store.isShadowTiddler(f)){b=this.loadMissingTiddler(f,g,c)}this.refreshTiddler(f,d,false,g,b);return c};Story.prototype.loadMissingTiddler=function(g,a,e){var d=new Tiddler(g);d.fields=typeof a=="string"?a.decodeHashMap():(a||{});var b=d.getServerType();var f=d.fields["server.host"];var c=d.fields["server.workspace"];if(!b||!f){return null}var h=new SyncMachine(b,{start:function(){return this.openHost(f,"openWorkspace")},openWorkspace:function(){return this.openWorkspace(c,"getTiddler")},getTiddler:function(){return this.getTiddler(g,"onGetTiddler")},onGetTiddler:function(k){var j=k.tiddler;if(j&&j.text){var l=new Date();if(!j.created){j.created=l}if(!j.modified){j.modified=j.created}store.saveTiddler(j.title,j.title,j.text,j.modifier,j.modified,j.tags,j.fields,true,j.created);autoSaveChanges()}delete this;return true},error:function(j){displayMessage("Error loading missing tiddler from %0: %1".format([f,j]))}});h.go();return config.messages.loadingMissingTiddler.format([g,b,f,c])};Story.prototype.chooseTemplateForTiddler=function(b,a){if(!a){a=DEFAULT_VIEW_TEMPLATE}if(a==DEFAULT_VIEW_TEMPLATE||a==DEFAULT_EDIT_TEMPLATE){a=config.tiddlerTemplates[a]}return a};Story.prototype.getTemplateForTiddler=function(c,b,a){return store.getRecursiveTiddlerText(b,null,10)};Story.prototype.refreshTiddler=function(f,h,a,c,e){var b=this.getTiddler(f);if(b){if(b.getAttribute("dirty")=="true"&&!a){return b}h=this.chooseTemplateForTiddler(f,h);var j=b.getAttribute("template");if((h!=j)||a){var g=store.getTiddler(f);if(!g){g=new Tiddler();if(store.isShadowTiddler(f)){g.set(f,store.getTiddlerText(f),config.views.wikified.shadowModifier,version.date,[],version.date)}else{var k=h=="EditTemplate"?config.views.editor.defaultText.format([f]):config.views.wikified.defaultText.format([f]);k=e||k;var d=c?c.decodeHashMap():null;g.set(f,k,config.views.wikified.defaultModifier,version.date,[],version.date,d)}}b.setAttribute("tags",g.tags.join(" "));b.setAttribute("tiddler",f);b.setAttribute("template",h);b.onmouseover=this.onTiddlerMouseOver;b.onmouseout=this.onTiddlerMouseOut;b.ondblclick=this.onTiddlerDblClick;b[window.event?"onkeydown":"onkeypress"]=this.onTiddlerKeyPress;b.innerHTML=this.getTemplateForTiddler(f,h,g);applyHtmlMacros(b,g);if(store.getTaggedTiddlers(f).length>0){addClass(b,"isTag")}else{removeClass(b,"isTag")}if(store.tiddlerExists(f)){removeClass(b,"shadow");removeClass(b,"missing")}else{addClass(b,store.isShadowTiddler(f)?"shadow":"missing")}if(c){this.addCustomFields(b,c)}forceReflow()}}return b};Story.prototype.addCustomFields=function(c,g){var a=g.decodeHashMap();var b=document.createElement("div");b.style.display="none";c.appendChild(b);for(var d in a){var f=document.createElement("input");f.setAttribute("type","text");f.setAttribute("value",a[d]);b.appendChild(f);f.setAttribute("edit",d)}};Story.prototype.refreshAllTiddlers=function(b){var c=this.getContainer().firstChild;while(c){var a=c.getAttribute("template");if(a&&c.getAttribute("dirty")!="true"){this.refreshTiddler(c.getAttribute("tiddler"),b?null:a,true)}c=c.nextSibling}};Story.prototype.onTiddlerMouseOver=function(a){if(window.addClass instanceof Function){addClass(this,"selected")}};Story.prototype.onTiddlerMouseOut=function(a){if(window.removeClass instanceof Function){removeClass(this,"selected")}};Story.prototype.onTiddlerDblClick=function(a){var c=a||window.event;var b=resolveTarget(c);if(b&&b.nodeName.toLowerCase()!="input"&&b.nodeName.toLowerCase()!="textarea"){if(document.selection&&document.selection.empty){document.selection.empty()}config.macros.toolbar.invokeCommand(this,"defaultCommand",c);c.cancelBubble=true;if(c.stopPropagation){c.stopPropagation()}return true}return false};Story.prototype.onTiddlerKeyPress=function(b){var d=b||window.event;clearMessage();var a=false;var f=this.getAttribute("tiddler");var c=resolveTarget(d);switch(d.keyCode){case 9:if(config.options.chkInsertTabs&&c.tagName.toLowerCase()=="textarea"){replaceSelection(c,String.fromCharCode(9));a=true}if(config.isOpera){c.onblur=function(){this.focus();this.onblur=null}}break;case 13:case 10:case 77:if(d.ctrlKey){blurElement(this);config.macros.toolbar.invokeCommand(this,"defaultCommand",d);a=true}break;case 27:blurElement(this);config.macros.toolbar.invokeCommand(this,"cancelCommand",d);a=true;break}d.cancelBubble=a;if(a){if(d.stopPropagation){d.stopPropagation()}d.returnValue=true;if(d.preventDefault){d.preventDefault()}}return !a};Story.prototype.getTiddlerField=function(h,g){var d=this.getTiddler(h);var f=null;if(d){var b=d.getElementsByTagName("*");for(var a=0;a<b.length;a++){var j=b[a];if(j.tagName.toLowerCase()=="input"||j.tagName.toLowerCase()=="textarea"){if(!f){f=j}if(j.getAttribute("edit")==g){f=j}}}}return f};Story.prototype.focusTiddler=function(c,b){var a=this.getTiddlerField(c,b);if(a){a.focus();a.select()}};Story.prototype.blurTiddler=function(b){var a=this.getTiddler(b);if(a&&a.focus&&a.blur){a.focus();a.blur()}};Story.prototype.setTiddlerField=function(f,a,e,d){var g=this.getTiddlerField(f,d);var b=g.value.readBracketedList();b.setItem(a,e);g.value=String.encodeTiddlyLinkList(b)};Story.prototype.setTiddlerTag=function(c,a,b){this.setTiddlerField(c,a,b,"tags")};Story.prototype.closeTiddler=function(d,b,a){var c=this.getTiddler(d);if(c){clearMessage();this.scrubTiddler(c);if(config.options.chkAnimate&&b&&anim&&typeof Slider=="function"){anim.startAnimating(new Slider(c,false,null,"all"))}else{removeNode(c);forceReflow()}}};Story.prototype.scrubTiddler=function(a){a.id=null};Story.prototype.setDirty=function(c,b){var a=this.getTiddler(c);if(a){a.setAttribute("dirty",b?"true":"false")}};Story.prototype.isDirty=function(b){var a=this.getTiddler(b);if(a){return a.getAttribute("dirty")=="true"}return null};Story.prototype.areAnyDirty=function(){var a=false;this.forEachTiddler(function(c,b){if(this.isDirty(c)){a=true}});return a};Story.prototype.closeAllTiddlers=function(a){clearMessage();this.forEachTiddler(function(c,b){if((c!=a)&&b.getAttribute("dirty")!="true"){this.closeTiddler(c)}});window.scrollTo(0,ensureVisible(this.container))};Story.prototype.isEmpty=function(){var a=this.getContainer();return a&&a.firstChild==null};Story.prototype.search=function(e,a,d){this.closeAllTiddlers();highlightHack=new RegExp(d?e:e.escapeRegExp(),a?"mg":"img");var c=store.search(highlightHack,"title","excludeSearch");this.displayTiddlers(null,c);highlightHack=null;var b=d?"/":"'";if(c.length>0){displayMessage(config.macros.search.successMsg.format([c.length.toString(),b+e+b]))}else{displayMessage(config.macros.search.failureMsg.format([b+e+b]))}};Story.prototype.findContainingTiddler=function(a){while(a&&!hasClass(a,"tiddler")){a=a.parentNode}return a};Story.prototype.gatherSaveFields=function(g,a){if(g&&g.getAttribute){var d=g.getAttribute("edit");if(d){a[d]=g.value.replace(/\r/mg,"")}if(g.hasChildNodes()){var h=g.childNodes;for(var b=0;b<h.length;b++){this.gatherSaveFields(h[b],a)}}}};Story.prototype.hasChanges=function(d){var c=this.getTiddler(d);if(c){var a={};this.gatherSaveFields(c,a);var b=store.fetchTiddler(d);if(!b){return false}for(var f in a){if(store.getValue(d,f)!=a[f]){return true}}}return false};Story.prototype.saveTiddler=function(h,f){var c=this.getTiddler(h);if(c){var e={};this.gatherSaveFields(c,e);var a=e.title||h;if(!store.tiddlerExists(a)){a=a.trim()}if(store.tiddlerExists(a)&&a!=h){if(!confirm(config.messages.overwriteWarning.format([a.toString()]))){return null}}if(a!=h){this.closeTiddler(a,false)}c.id=this.tiddlerId(a);c.setAttribute("tiddler",a);c.setAttribute("template",DEFAULT_VIEW_TEMPLATE);c.setAttribute("dirty","false");if(config.options.chkForceMinorUpdate){f=!f}if(!store.tiddlerExists(a)){f=false}var j=new Date();var d=store.tiddlerExists(a)?store.fetchTiddler(a).fields:(a!=h&&store.tiddlerExists(h)?store.fetchTiddler(h).fields:config.defaultCustomFields);for(var b in e){if(!TiddlyWiki.isStandardField(b)){d[b]=e[b]}}var g=store.saveTiddler(h,a,e.text,f?undefined:config.options.txtUserName,f?undefined:j,e.tags,d);autoSaveChanges(null,[g]);return a}return null};Story.prototype.permaView=function(){var a=[];this.forEachTiddler(function(d,c){a.push(String.encodeTiddlyLink(d))});var b=encodeURIComponent(a.join(" "));if(b==""){b="#"}if(window.location.hash!=b){window.location.hash=b}};Story.prototype.switchTheme=function(h){if(safeMode){return}var c=function(n){var m=n?n.indexOf(config.textPrimitives.sectionSeparator):-1;if(m!=-1){n=n.substr(0,m)}return store.tiddlerExists(n)||store.isShadowTiddler(n)};var f=function(n,o){var m;if(readOnly){m=store.getTiddlerSlice(n,o+"ReadOnly")||store.getTiddlerSlice(n,"Web"+o)}m=m||store.getTiddlerSlice(n,o);if(m&&m.indexOf(config.textPrimitives.sectionSeparator)==0){m=n+m}return c(m)?m:o};var b=function(o,n,p,q){var m=f(p,q);if(n!=m&&store.namedNotifications[o].name==n){store.namedNotifications[o].name=m;return m}return n};var l=config.refresherData.pageTemplate;var e=DEFAULT_VIEW_TEMPLATE;var k=config.tiddlerTemplates[e];var d=DEFAULT_EDIT_TEMPLATE;var j=config.tiddlerTemplates[d];for(var g=0;g<config.notifyTiddlers.length;g++){var a=config.notifyTiddlers[g].name;switch(a){case"PageTemplate":config.refresherData.pageTemplate=b(g,config.refresherData.pageTemplate,h,a);break;case"StyleSheet":removeStyleSheet(config.refresherData.styleSheet);config.refresherData.styleSheet=b(g,config.refresherData.styleSheet,h,a);break;case"ColorPalette":config.refresherData.colorPalette=b(g,config.refresherData.colorPalette,h,a);break;default:break}}config.tiddlerTemplates[e]=f(h,"ViewTemplate");config.tiddlerTemplates[d]=f(h,"EditTemplate");if(!startingUp){if(config.refresherData.pageTemplate!=l||config.tiddlerTemplates[e]!=k||config.tiddlerTemplates[d]!=j){refreshAll();this.refreshAllTiddlers(true)}else{setStylesheet(store.getRecursiveTiddlerText(config.refresherData.styleSheet,"",10),config.refreshers.styleSheet)}config.options.txtTheme=h;saveOptionCookie("txtTheme")}};var backstage={area:null,toolbar:null,button:null,showButton:null,hideButton:null,cloak:null,panel:null,panelBody:null,panelFooter:null,currTabName:null,currTabElem:null,content:null,init:function(){var g=config.messages.backstage;this.area=document.getElementById("backstageArea");this.toolbar=document.getElementById("backstageToolbar");this.button=document.getElementById("backstageButton");this.button.style.display="block";var d=g.open.text+" "+glyph("bentArrowLeft");this.showButton=createTiddlyButton(this.button,d,g.open.tooltip,function(h){backstage.show();return false},null,"backstageShow");d=glyph("bentArrowRight")+" "+g.close.text;this.hideButton=createTiddlyButton(this.button,d,g.close.tooltip,function(h){backstage.hide();return false},null,"backstageHide");this.cloak=document.getElementById("backstageCloak");this.panel=document.getElementById("backstagePanel");this.panelFooter=createTiddlyElement(this.panel,"div",null,"backstagePanelFooter");this.panelBody=createTiddlyElement(this.panel,"div",null,"backstagePanelBody");this.cloak.onmousedown=function(h){backstage.switchTab(null)};createTiddlyText(this.toolbar,g.prompt);for(d=0;d<config.backstageTasks.length;d++){var a=config.backstageTasks[d];var b=config.tasks[a];var e=b.action?this.onClickCommand:this.onClickTab;var f=b.text+(b.action?"":glyph("downTriangle"));var c=createTiddlyButton(this.toolbar,f,b.tooltip,e,"backstageTab");c.setAttribute("task",a);addClass(c,b.action?"backstageAction":"backstageTask")}this.content=document.getElementById("contentWrapper");if(config.options.chkBackstage){this.show()}else{this.hide()}},isVisible:function(){return this.area?this.area.style.display=="block":false},show:function(){this.area.style.display="block";if(anim&&config.options.chkAnimate){backstage.toolbar.style.left=findWindowWidth()+"px";var a=[{style:"left",start:findWindowWidth(),end:0,template:"%0px"}];anim.startAnimating(new Morpher(backstage.toolbar,config.animDuration,a))}else{backstage.area.style.left="0px"}this.showButton.style.display="none";this.hideButton.style.display="block";config.options.chkBackstage=true;saveOptionCookie("chkBackstage");addClass(this.content,"backstageVisible")},hide:function(){if(this.currTabElem){this.switchTab(null)}else{backstage.toolbar.style.left="0px";if(anim&&config.options.chkAnimate){var a=[{style:"left",start:0,end:findWindowWidth(),template:"%0px"}];var b=function(d,c){backstage.area.style.display="none"};anim.startAnimating(new Morpher(backstage.toolbar,config.animDuration,a,b))}else{this.area.style.display="none"}this.showButton.style.display="block";this.hideButton.style.display="none";config.options.chkBackstage=false;saveOptionCookie("chkBackstage");removeClass(this.content,"backstageVisible")}},onClickCommand:function(b){var a=config.tasks[this.getAttribute("task")];displayMessage(a);if(a.action){backstage.switchTab(null);a.action()}return false},onClickTab:function(a){backstage.switchTab(this.getAttribute("task"));return false},switchTab:function(b){var d=null;var c=this.toolbar.firstChild;while(c){if(c.getAttribute&&c.getAttribute("task")==b){d=c}c=c.nextSibling}if(b==backstage.currTabName){return}if(backstage.currTabElem){removeClass(this.currTabElem,"backstageSelTab")}if(d&&b){backstage.preparePanel();addClass(d,"backstageSelTab");var a=config.tasks[b];wikify(a.content,backstage.panelBody,null,null);backstage.showPanel()}else{if(backstage.currTabElem){backstage.hidePanel()}}backstage.currTabName=b;backstage.currTabElem=d},isPanelVisible:function(){return backstage.panel?backstage.panel.style.display=="block":false},preparePanel:function(){backstage.cloak.style.height=findWindowHeight()+"px";backstage.cloak.style.display="block";removeChildren(backstage.panelBody);return backstage.panelBody},showPanel:function(){backstage.panel.style.display="block";if(anim&&config.options.chkAnimate){backstage.panel.style.top=(-backstage.panel.offsetHeight)+"px";var a=[{style:"top",start:-backstage.panel.offsetHeight,end:0,template:"%0px"}];anim.startAnimating(new Morpher(backstage.panel,config.animDuration,a),new Scroller(backstage.panel,false))}else{backstage.panel.style.top="0px"}return backstage.panelBody},hidePanel:function(){if(backstage.currTabElem){removeClass(backstage.currTabElem,"backstageSelTab")}backstage.currTabElem=null;backstage.currTabName=null;if(anim&&config.options.chkAnimate){var a=[{style:"top",start:0,end:-(backstage.panel.offsetHeight),template:"%0px"},{style:"display",atEnd:"none"}];var b=function(d,c){backstage.cloak.style.display="none"};anim.startAnimating(new Morpher(backstage.panel,config.animDuration,a,b))}else{backstage.panel.style.display="none";backstage.cloak.style.display="none"}}};config.macros.backstage={};config.macros.backstage.handler=function(a,c,d){var b=config.tasks[d[0]];if(b){createTiddlyButton(a,b.text,b.tooltip,function(f){backstage.switchTab(d[0]);return false})}};config.macros.importTiddlers.handler=function(b,e,g,d,f,c){if(readOnly){createTiddlyElement(b,"div",null,"marked",this.readOnlyWarning);return}var a=new Wizard();a.createWizard(b,this.wizardTitle);this.restart(a)};config.macros.importTiddlers.onCancel=function(c){var b=new Wizard(this);var a=b.clear();config.macros.importTiddlers.restart(b);return false};config.macros.importTiddlers.onClose=function(a){backstage.hidePanel();return false};config.macros.importTiddlers.restart=function(f){f.addStep(this.step1Title,this.step1Html);var c=f.getElement("selTypes");for(var b in config.adaptors){var g=createTiddlyElement(c,"option",null,null,config.adaptors[b].serverLabel?config.adaptors[b].serverLabel:b);g.value=b}if(config.defaultAdaptor){c.value=config.defaultAdaptor}c=f.getElement("selFeeds");var a=this.getFeeds();for(b in a){g=createTiddlyElement(c,"option",null,null,b);g.value=b}f.setValue("feeds",a);c.onchange=config.macros.importTiddlers.onFeedChange;var d=f.getElement("txtBrowse");d.onchange=config.macros.importTiddlers.onBrowseChange;d.onkeyup=config.macros.importTiddlers.onBrowseChange;f.setButtons([{caption:this.openLabel,tooltip:this.openPrompt,onClick:config.macros.importTiddlers.onOpen}]);f.formElem.action="javascript:;";f.formElem.onsubmit=function(){if(this.txtPath.value.length){this.lastChild.firstChild.onclick()}}};config.macros.importTiddlers.getFeeds=function(){var a={};var c=store.getTaggedTiddlers("systemServer","title");for(var d=0;d<c.length;d++){var e=c[d].title;var b=store.getTiddlerSlice(e,"Type");if(!b){b="file"}a[e]={title:e,url:store.getTiddlerSlice(e,"URL"),workspace:store.getTiddlerSlice(e,"Workspace"),workspaceList:store.getTiddlerSlice(e,"WorkspaceList"),tiddlerFilter:store.getTiddlerSlice(e,"TiddlerFilter"),serverType:b,description:store.getTiddlerSlice(e,"Description")}}return a};config.macros.importTiddlers.onFeedChange=function(h){var g=new Wizard(this);var b=g.getElement("selTypes");var c=g.getElement("txtPath");var a=g.getValue("feeds");var d=a[this.value];if(d){b.value=d.serverType;c.value=d.url;g.setValue("feedName",d.serverType);g.setValue("feedHost",d.url);g.setValue("feedWorkspace",d.workspace);g.setValue("feedWorkspaceList",d.workspaceList);g.setValue("feedTiddlerFilter",d.tiddlerFilter)}return false};config.macros.importTiddlers.onBrowseChange=function(d){var c=new Wizard(this);var b=c.getElement("txtPath");b.value=config.macros.importTiddlers.getURLFromLocalPath(this.value);var a=c.getElement("selTypes");a.value="file";return true};config.macros.importTiddlers.getURLFromLocalPath=function(a){if(!a||!a.length){return a}a=a.replace(/\\/g,"/");var b;var d=a.split(":");var e=d[1]||d[0];if(d[1]&&(d[0]=="http"||d[0]=="https"||d[0]=="file")){b=a}else{if(e.substr(0,1)=="/"){b=document.location.protocol+"//"+document.location.hostname+(d[1]?"/":"")+a}else{var g=document.location.href.replace(/\\/g,"/");var f=g.lastIndexOf("/");if(f!=-1){g=g.substr(0,f)}b=g+"/"+e}}return b};config.macros.importTiddlers.onOpen=function(g){var f=new Wizard(this);var d=f.getElement("txtPath");var c=d.value;var a=f.getElement("selTypes").value||config.defaultAdaptor;var h=new config.adaptors[a]();f.setValue("adaptor",h);f.setValue("serverType",a);f.setValue("host",c);var b=h.openHost(c,null,f,config.macros.importTiddlers.onOpenHost);if(b!==true){displayMessage(b)}f.setButtons([{caption:config.macros.importTiddlers.cancelLabel,tooltip:config.macros.importTiddlers.cancelPrompt,onClick:config.macros.importTiddlers.onCancel}],config.macros.importTiddlers.statusOpenHost);return false};config.macros.importTiddlers.onOpenHost=function(b,c){var d=c.getValue("adaptor");if(b.status!==true){displayMessage("Error in importTiddlers.onOpenHost: "+b.statusText)}var a=d.getWorkspaceList(b,c,config.macros.importTiddlers.onGetWorkspaceList);if(a!==true){displayMessage(a)}c.setButtons([{caption:config.macros.importTiddlers.cancelLabel,tooltip:config.macros.importTiddlers.cancelPrompt,onClick:config.macros.importTiddlers.onCancel}],config.macros.importTiddlers.statusGetWorkspaceList)};config.macros.importTiddlers.onGetWorkspaceList=function(a,g){if(a.status!==true){displayMessage("Error in importTiddlers.onGetWorkspaceList: "+a.statusText)}g.setValue("context",a);var c=g.getValue("feedWorkspace");if(!c&&a.workspaces.length==1){c=a.workspaces[0].title}if(c){var h=a.adaptor.openWorkspace(c,a,g,config.macros.importTiddlers.onOpenWorkspace);if(h!==true){displayMessage(h)}g.setValue("workspace",c);g.setButtons([{caption:config.macros.importTiddlers.cancelLabel,tooltip:config.macros.importTiddlers.cancelPrompt,onClick:config.macros.importTiddlers.onCancel}],config.macros.importTiddlers.statusOpenWorkspace);return}g.addStep(config.macros.importTiddlers.step2Title,config.macros.importTiddlers.step2Html);var l=g.getElement("selWorkspace");l.onchange=config.macros.importTiddlers.onWorkspaceChange;for(var k=0;k<a.workspaces.length;k++){var f=createTiddlyElement(l,"option",null,null,a.workspaces[k].title);f.value=a.workspaces[k].title}var j=g.getValue("feedWorkspaceList");if(j){var d=j.parseParams("workspace",null,false,true);for(var b=1;b<d.length;b++){if(a.workspaces.findByField("title",d[b].value)==null){f=createTiddlyElement(l,"option",null,null,d[b].value);f.value=d[b].value}}}if(c){k=g.getElement("txtWorkspace");k.value=c}g.setButtons([{caption:config.macros.importTiddlers.openLabel,tooltip:config.macros.importTiddlers.openPrompt,onClick:config.macros.importTiddlers.onChooseWorkspace}])};config.macros.importTiddlers.onWorkspaceChange=function(c){var b=new Wizard(this);var a=b.getElement("txtWorkspace");a.value=this.value;this.selectedIndex=0;return false};config.macros.importTiddlers.onChooseWorkspace=function(f){var d=new Wizard(this);var g=d.getValue("adaptor");var a=d.getElement("txtWorkspace").value;d.setValue("workspace",a);var c=d.getValue("context");var b=g.openWorkspace(a,c,d,config.macros.importTiddlers.onOpenWorkspace);if(b!==true){displayMessage(b)}d.setButtons([{caption:config.macros.importTiddlers.cancelLabel,tooltip:config.macros.importTiddlers.cancelPrompt,onClick:config.macros.importTiddlers.onCancel}],config.macros.importTiddlers.statusOpenWorkspace);return false};config.macros.importTiddlers.onOpenWorkspace=function(b,c){if(b.status!==true){displayMessage("Error in importTiddlers.onOpenWorkspace: "+b.statusText)}var d=c.getValue("adaptor");var a=d.getTiddlerList(b,c,config.macros.importTiddlers.onGetTiddlerList,c.getValue("feedTiddlerFilter"));if(a!==true){displayMessage(a)}c.setButtons([{caption:config.macros.importTiddlers.cancelLabel,tooltip:config.macros.importTiddlers.cancelPrompt,onClick:config.macros.importTiddlers.onCancel}],config.macros.importTiddlers.statusGetTiddlerList)};config.macros.importTiddlers.onGetTiddlerList=function(a,e){if(a.status!==true){e.setButtons([{caption:config.macros.importTiddlers.cancelLabel,tooltip:config.macros.importTiddlers.cancelPrompt,onClick:config.macros.importTiddlers.onCancel}],config.macros.importTiddlers.errorGettingTiddlerList);return}var d=[];if(a.tiddlers){for(var b=0;b<a.tiddlers.length;b++){var g=a.tiddlers[b];d.push({title:g.title,modified:g.modified,modifier:g.modifier,text:g.text?wikifyPlainText(g.text,100):"",tags:g.tags,size:g.text?g.text.length:0,tiddler:g})}}d.sort(function(l,k){return l.title<k.title?-1:(l.title==k.title?0:+1)});e.addStep(config.macros.importTiddlers.step3Title,config.macros.importTiddlers.step3Html);var f=e.getElement("markList");var c=document.createElement("div");f.parentNode.insertBefore(c,f);var j=ListView.create(c,d,config.macros.importTiddlers.listViewTemplate);e.setValue("listView",j);var h=e.getElement("txtSaveTiddler");h.value=config.macros.importTiddlers.generateSystemServerName(e);e.setButtons([{caption:config.macros.importTiddlers.cancelLabel,tooltip:config.macros.importTiddlers.cancelPrompt,onClick:config.macros.importTiddlers.onCancel},{caption:config.macros.importTiddlers.importLabel,tooltip:config.macros.importTiddlers.importPrompt,onClick:config.macros.importTiddlers.doImport}])};config.macros.importTiddlers.generateSystemServerName=function(e){var a=e.getValue("serverType");var c=e.getValue("host");var b=e.getValue("workspace");var d=config.macros.importTiddlers[b?"systemServerNamePattern":"systemServerNamePatternNoWorkspace"];return d.format([a,c,b])};config.macros.importTiddlers.saveServerTiddler=function(e){var c=e.getElement("txtSaveTiddler").value;if(store.tiddlerExists(c)){if(!confirm(config.macros.importTiddlers.confirmOverwriteSaveTiddler.format([c]))){return}store.suspendNotifications();store.removeTiddler(c);store.resumeNotifications()}var a=e.getValue("serverType");var d=e.getValue("host");var b=e.getValue("workspace");var f=config.macros.importTiddlers.serverSaveTemplate.format([a,d,b]);store.saveTiddler(c,c,f,config.macros.importTiddlers.serverSaveModifier,new Date(),["systemServer"])};config.macros.importTiddlers.doImport=function(g){var h=new Wizard(this);if(h.getElement("chkSave").checked){config.macros.importTiddlers.saveServerTiddler(h)}var d=h.getElement("chkSync").checked;h.setValue("sync",d);var k=h.getValue("listView");var l=ListView.getSelectedRows(k);var b=h.getValue("adaptor");var f=[];var n;for(n=0;n<l.length;n++){if(store.tiddlerExists(l[n])){f.push(l[n])}}if(f.length>0){if(!confirm(config.macros.importTiddlers.confirmOverwriteText.format([f.join(", ")]))){return false}}h.addStep(config.macros.importTiddlers.step4Title.format([l.length]),config.macros.importTiddlers.step4Html);for(n=0;n<l.length;n++){var j=document.createElement("div");createTiddlyLink(j,l[n],true);var c=h.getElement("markReport");c.parentNode.insertBefore(j,c)}h.setValue("remainingImports",l.length);h.setButtons([{caption:config.macros.importTiddlers.cancelLabel,tooltip:config.macros.importTiddlers.cancelPrompt,onClick:config.macros.importTiddlers.onCancel}],config.macros.importTiddlers.statusDoingImport);for(n=0;n<l.length;n++){var a={};a.allowSynchronous=true;var m=b.getTiddler(l[n],a,h,config.macros.importTiddlers.onGetTiddler)}return false};config.macros.importTiddlers.onGetTiddler=function(c,d){if(!c.status){displayMessage("Error in importTiddlers.onGetTiddler: "+c.statusText)}var b=c.tiddler;store.suspendNotifications();store.saveTiddler(b.title,b.title,b.text,b.modifier,b.modified,b.tags,b.fields,true,b.created);if(!d.getValue("sync")){store.setValue(b.title,"server",null)}store.resumeNotifications();if(!c.isSynchronous){store.notify(b.title,true)}var a=d.getValue("remainingImports")-1;d.setValue("remainingImports",a);if(a==0){if(c.isSynchronous){store.notifyAll();refreshDisplay()}d.setButtons([{caption:config.macros.importTiddlers.doneLabel,tooltip:config.macros.importTiddlers.donePrompt,onClick:config.macros.importTiddlers.onClose}],config.macros.importTiddlers.statusDoneImport);autoSaveChanges()}};config.macros.upgrade.handler=function(b){var a=new Wizard();a.createWizard(b,this.wizardTitle);a.addStep(this.step1Title,this.step1Html.format([this.source,this.source]));a.setButtons([{caption:this.upgradeLabel,tooltip:this.upgradePrompt,onClick:this.onClickUpgrade}])};config.macros.upgrade.onClickUpgrade=function(j){var f=config.macros.upgrade;var a=new Wizard(this);if(window.location.protocol!="file:"){alert(f.errorCantUpgrade);return false}if(story.areAnyDirty()||store.isDirty()){alert(f.errorNotSaved);return false}var h=getLocalPath(document.location.toString());var d=getBackupPath(h,f.backupExtension);a.setValue("backupPath",d);a.setButtons([],f.statusPreparingBackup);var c=loadOriginal(h);a.setButtons([],f.statusSavingBackup);var b=config.browser.isIE?ieCopyFile(d,h):saveFile(d,c);if(b!=true){a.setButtons([],f.errorSavingBackup);alert(f.errorSavingBackup);return false}a.setButtons([],f.statusLoadingCore);var g=loadRemoteFile(f.source,f.onLoadCore,a);if(typeof g=="string"){a.setButtons([],f.errorLoadingCore);alert(f.errorLoadingCore);return false}return false};config.macros.upgrade.onLoadCore=function(c,b,g,a,l){var h=config.macros.upgrade;var k=b;var f;if(!c){f=h.errorLoadingCore}var d=h.extractVersion(g);if(!d){f=h.errorCoreFormat}if(f){k.setButtons([],f);alert(f);return}var j=function(p){k.setButtons([],h.statusSavingCore);var o=getLocalPath(document.location.toString());saveFile(o,g);k.setButtons([],h.statusReloadingCore);var n=k.getValue("backupPath");var m=document.location.toString()+"?time="+new Date().convertToYYYYMMDDHHMM()+"#upgrade:[["+encodeURI(n)+"]]";window.setTimeout(function(){window.location=m},10)};var e=[h.step2Html_downgrade,h.step2Html_restore,h.step2Html_upgrade][compareVersions(version,d)+1];k.addStep(h.step2Title,e.format([formatVersion(d),formatVersion(version)]));k.setButtons([{caption:h.startLabel,tooltip:h.startPrompt,onClick:j},{caption:h.cancelLabel,tooltip:h.cancelPrompt,onClick:h.onCancel}])};config.macros.upgrade.onCancel=function(c){var b=config.macros.upgrade;var a=new Wizard(this);a.addStep(b.step3Title,b.step3Html);a.setButtons([]);return false};config.macros.upgrade.extractVersion=function(c){var b=/^var version = \{title: "([^"]+)", major: (\d+), minor: (\d+), revision: (\d+)(, beta: (\d+)){0,1}, date: new Date\("([^"]+)"\)/mg;var a=b.exec(c);return a?{title:a[1],major:a[2],minor:a[3],revision:a[4],beta:a[6],date:new Date(a[7])}:null};function upgradeFrom(c){var b=new TiddlyWiki();var a=loadFile(c);if(window.netscape!==undefined){a=convertUTF8ToUnicode(a)}b.importTiddlyWiki(a);b.forEachTiddler(function(e,d){if(!store.getTiddler(e)){store.addTiddler(d)}});refreshDisplay();saveChanges();alert(config.messages.upgradeDone.format([formatVersion()]));window.location=window.location.toString().substr(0,window.location.toString().lastIndexOf("?"))}config.syncers={};var currSync=null;config.macros.sync.handler=function(a,d,f,c,e,b){if(!c.isStatic){this.startSync(a)}};config.macros.sync.cancelSync=function(){currSync=null};config.macros.sync.startSync=function(b){if(currSync){config.macros.sync.cancelSync()}currSync={};currSync.syncList=this.getSyncableTiddlers();currSync.syncTasks=this.createSyncTasks(currSync.syncList);this.preProcessSyncableTiddlers(currSync.syncList);var c=new Wizard();currSync.wizard=c;c.createWizard(b,this.wizardTitle);c.addStep(this.step1Title,this.step1Html);var d=c.getElement("markList");var a=document.createElement("div");d.parentNode.insertBefore(a,d);currSync.listView=ListView.create(a,currSync.syncList,this.listViewTemplate);this.processSyncableTiddlers(currSync.syncList);c.setButtons([{caption:this.syncLabel,tooltip:this.syncPrompt,onClick:this.doSync}])};config.macros.sync.getSyncableTiddlers=function(){var a=[];store.forEachTiddler(function(d,b){var c={};c.serverType=b.getServerType();c.serverHost=b.fields["server.host"];if(c.serverType&&c.serverHost){c.serverWorkspace=b.fields["server.workspace"];c.tiddler=b;c.title=b.title;c.isTouched=b.isTouched();c.selected=c.isTouched;c.syncStatus=config.macros.sync.syncStatusList[c.isTouched?"changedLocally":"none"];c.status=c.syncStatus.text;a.push(c)}});a.sort(function(d,c){return d.title<c.title?-1:(d.title==c.title?0:+1)});return a};config.macros.sync.preProcessSyncableTiddlers=function(c){for(var b=0;b<c.length;b++){var a=c[b];a.serverUrl=a.syncTask.syncMachine.generateTiddlerInfo(a.tiddler).uri}};config.macros.sync.processSyncableTiddlers=function(c){for(var b=0;b<c.length;b++){var a=c[b];a.rowElement.style.display=a.syncStatus.display;if(a.syncStatus.className){a.rowElement.className=a.syncStatus.className}}};config.macros.sync.createSyncTasks=function(g){var f=[];for(var d=0;d<g.length;d++){var c=g[d];var e=null;for(var b=0;b<f.length;b++){var a=f[b];if(c.serverType==a.serverType&&c.serverHost==a.serverHost&&c.serverWorkspace==a.serverWorkspace){e=a}}if(e){c.syncTask=e;e.syncItems.push(c)}else{c.syncTask=this.createSyncTask(c);f.push(c.syncTask)}}return f};config.macros.sync.createSyncTask=function(b){var a={};a.serverType=b.serverType;a.serverHost=b.serverHost;a.serverWorkspace=b.serverWorkspace;a.syncItems=[b];a.syncMachine=new SyncMachine(a.serverType,{start:function(){return this.openHost(a.serverHost,"openWorkspace")},openWorkspace:function(){return this.openWorkspace(a.serverWorkspace,"getTiddlerList")},getTiddlerList:function(){return this.getTiddlerList("onGetTiddlerList")},onGetTiddlerList:function(e){var g=e.tiddlers;for(var d=0;d<a.syncItems.length;d++){var c=a.syncItems[d];var h=g.findByField("title",c.title);if(h!==null){if(g[h].fields["server.page.revision"]>c.tiddler.fields["server.page.revision"]){c.syncStatus=config.macros.sync.syncStatusList[c.isTouched?"changedBoth":"changedServer"]}}else{c.syncStatus=config.macros.sync.syncStatusList.notFound}config.macros.sync.updateSyncStatus(c)}},getTiddler:function(c){return this.getTiddler(c,"onGetTiddler")},onGetTiddler:function(d){var c=d.tiddler;var e=a.syncItems.findByField("title",c.title);if(e!==null){e=a.syncItems[e];store.saveTiddler(c.title,c.title,c.text,c.modifier,c.modified,c.tags,c.fields,true,c.created);e.syncStatus=config.macros.sync.syncStatusList.gotFromServer;config.macros.sync.updateSyncStatus(e)}},putTiddler:function(c){return this.putTiddler(c,"onPutTiddler")},onPutTiddler:function(c){var e=c.title;var d=a.syncItems.findByField("title",e);if(d!==null){d=a.syncItems[d];store.resetTiddler(e);if(c.status){d.syncStatus=config.macros.sync.syncStatusList.putToServer;config.macros.sync.updateSyncStatus(d)}}}});a.syncMachine.go();return a};config.macros.sync.updateSyncStatus=function(a){var b=a.colElements.status;removeChildren(b);createTiddlyText(b,a.syncStatus.text);a.rowElement.style.display=a.syncStatus.display;if(a.syncStatus.className){a.rowElement.className=a.syncStatus.className}};config.macros.sync.doSync=function(g){var d=ListView.getSelectedRows(currSync.listView);var a=config.macros.sync.syncStatusList;for(var c=0;c<currSync.syncList.length;c++){var b=currSync.syncList[c];if(d.indexOf(b.title)!=-1){var f=true;switch(b.syncStatus){case a.changedServer:f=b.syncTask.syncMachine.go("getTiddler",b.title);break;case a.notFound:case a.changedLocally:case a.changedBoth:f=b.syncTask.syncMachine.go("putTiddler",b.tiddler);break;default:break}if(!f){displayMessage("Error in doSync: "+f)}}}return false};function SyncMachine(a,b){this.serverType=a;this.adaptor=new config.adaptors[a]();this.steps=b}SyncMachine.prototype.go=function(d,a){var c=a?a.status:null;if(typeof c=="string"){this.invokeError(c);return c}var b=this.steps[d?d:"start"];if(!b){return null}c=b.call(this,a);if(typeof c=="string"){this.invokeError(c)}return c};SyncMachine.prototype.invokeError=function(a){if(this.steps.error){this.steps.error(a)}};SyncMachine.prototype.openHost=function(c,a){var b=this;return b.adaptor.openHost(c,null,null,function(d){b.go(a,d)})};SyncMachine.prototype.getWorkspaceList=function(a){var b=this;return b.adaptor.getWorkspaceList(null,null,function(c){b.go(a,c)})};SyncMachine.prototype.openWorkspace=function(b,a){var c=this;return c.adaptor.openWorkspace(b,null,null,function(d){c.go(a,d)})};SyncMachine.prototype.getTiddlerList=function(a){var b=this;return b.adaptor.getTiddlerList(null,null,function(c){b.go(a,c)})};SyncMachine.prototype.generateTiddlerInfo=function(a){return this.adaptor.generateTiddlerInfo(a)};SyncMachine.prototype.getTiddler=function(c,a){var b=this;return b.adaptor.getTiddler(c,null,null,function(d){b.go(a,d)})};SyncMachine.prototype.putTiddler=function(b,a){var c=this;return c.adaptor.putTiddler(b,null,null,function(d){c.go(a,d)})};config.macros.plugins.handler=function(b,e,h,c,g){var d=new Wizard();d.createWizard(b,this.wizardTitle);d.addStep(this.step1Title,this.step1Html);var f=d.getElement("markList");var a=document.createElement("div");f.parentNode.insertBefore(a,f);a.setAttribute("refresh","macro");a.setAttribute("macroName","plugins");a.setAttribute("params",g);this.refresh(a,g)};config.macros.plugins.refresh=function(e,c){var f=new Wizard(e);var b=[];ListView.forEachSelector(e,function(m,l){if(m.checked){b.push(m.getAttribute("rowName"))}});removeChildren(e);c=c.parseParams("anon");var d=installedPlugins.slice(0);var k,g,a;var j=store.getTaggedTiddlers("systemConfig");for(k=0;k<j.length;k++){g=j[k];if(d.findByField("title",g.title)==null){a=getPluginInfo(g);a.executed=false;a.log.splice(0,0,this.skippedText);d.push(a)}}for(k=0;k<d.length;k++){a=d[k];a.size=a.tiddler.text?a.tiddler.text.length:0;a.forced=a.tiddler.isTagged("systemConfigForce");a.disabled=a.tiddler.isTagged("systemConfigDisable");a.Selected=b.indexOf(d[k].title)!=-1}if(d.length==0){createTiddlyElement(e,"em",null,null,this.noPluginText);f.setButtons([])}else{var h=ListView.create(e,d,this.listViewTemplate,this.onSelectCommand);f.setValue("listView",h);f.setButtons([{caption:config.macros.plugins.removeLabel,tooltip:config.macros.plugins.removePrompt,onClick:config.macros.plugins.doRemoveTag},{caption:config.macros.plugins.deleteLabel,tooltip:config.macros.plugins.deletePrompt,onClick:config.macros.plugins.doDelete}])}};config.macros.plugins.doRemoveTag=function(f){var d=new Wizard(this);var a=d.getValue("listView");var c=ListView.getSelectedRows(a);if(c.length==0){alert(config.messages.nothingSelected)}else{for(var b=0;b<c.length;b++){store.setTiddlerTag(c[b],false,"systemConfig")}}};config.macros.plugins.doDelete=function(f){var d=new Wizard(this);var a=d.getValue("listView");var c=ListView.getSelectedRows(a);if(c.length==0){alert(config.messages.nothingSelected)}else{if(confirm(config.macros.plugins.confirmDeleteText.format([c.join(", ")]))){for(var b=0;b<c.length;b++){store.removeTiddler(c[b]);story.closeTiddler(c[b],true)}}}};function getMessageDiv(){var a=document.getElementById("messageArea");if(!a){return null}if(!a.hasChildNodes()){createTiddlyButton(createTiddlyElement(a,"div",null,"messageToolbar"),config.messages.messageClose.text,config.messages.messageClose.tooltip,clearMessage)}a.style.display="block";return createTiddlyElement(a,"div")}function displayMessage(d,a){var c=getMessageDiv();if(!c){alert(d);return}if(a){var b=createTiddlyElement(c,"a",null,null,d);b.href=a;b.target="_blank"}else{c.appendChild(document.createTextNode(d))}}function clearMessage(){var a=document.getElementById("messageArea");if(a){removeChildren(a);a.style.display="none"}return false}config.notifyTiddlers=[{name:"StyleSheetLayout",notify:refreshStyles},{name:"StyleSheetColors",notify:refreshStyles},{name:"StyleSheet",notify:refreshStyles},{name:"StyleSheetPrint",notify:refreshStyles},{name:"PageTemplate",notify:refreshPageTemplate},{name:"SiteTitle",notify:refreshPageTitle},{name:"SiteSubtitle",notify:refreshPageTitle},{name:"ColorPalette",notify:refreshColorPalette},{name:null,notify:refreshDisplay}];config.refreshers={link:function(b,a){var c=b.getAttribute("tiddlyLink");refreshTiddlyLink(b,c);return true},tiddler:function(c,a){var d=c.getAttribute("tiddler");var b=c.getAttribute("template");if(a&&a.indexOf(d)!=-1&&!story.isDirty(d)){story.refreshTiddler(d,b,true)}else{refreshElements(c,a)}return true},content:function(c,a){var d=c.getAttribute("tiddler");var b=c.getAttribute("force");if(b!=null||a==null||a.indexOf(d)!=-1){removeChildren(c);wikify(store.getTiddlerText(d,""),c,null,store.fetchTiddler(d));return true}else{return false}},macro:function(c,a){var b=c.getAttribute("macroName");var d=c.getAttribute("params");if(b){b=config.macros[b]}if(b&&b.refresh){b.refresh(c,d)}return true}};config.refresherData={styleSheet:"StyleSheet",defaultStyleSheet:"StyleSheet",pageTemplate:"PageTemplate",defaultPageTemplate:"PageTemplate",colorPalette:"ColorPalette",defaultColorPalette:"ColorPalette"};function refreshElements(a,d){var b=a.childNodes;for(var k=0;k<b.length;k++){var j=b[k],g=null;if(j.getAttribute&&(j.tagName?j.tagName!="IFRAME":true)){g=j.getAttribute("refresh")}var f=config.refreshers[g];var h=false;if(f!=undefined){h=f(j,d)}if(j.hasChildNodes()&&!h){refreshElements(j,d)}}}function applyHtmlMacros(a,b){var g=a.firstChild;while(g){var d=g.nextSibling;if(g.getAttribute){var c=g.getAttribute("macro");if(c){g.removeAttribute("macro");var h="";var f=c.indexOf(" ");if(f!=-1){h=c.substr(f+1);c=c.substr(0,f)}invokeMacro(g,c,h,null,b)}}if(g.hasChildNodes()){applyHtmlMacros(g,b)}g=d}}function refreshPageTemplate(f){var c=createTiddlyElement(document.body,"div");c.style.display="none";var e=story.getContainer();var b,d;if(e){b=e.childNodes;for(d=b.length-1;d>=0;d--){c.appendChild(b[d])}}var g=document.getElementById("contentWrapper");var a=function(j){var h=j?j.indexOf(config.textPrimitives.sectionSeparator):-1;if(h!=-1){j=j.substr(0,h)}return store.tiddlerExists(j)||store.isShadowTiddler(j)};if(!f||!a(f)){f=config.refresherData.pageTemplate}if(!a(f)){f=config.refresherData.defaultPageTemplate}g.innerHTML=store.getRecursiveTiddlerText(f,null,10);applyHtmlMacros(g);refreshElements(g);e=story.getContainer();removeChildren(e);if(!e){e=createTiddlyElement(g,"div",story.containerId())}b=c.childNodes;for(d=b.length-1;d>=0;d--){e.appendChild(b[d])}removeNode(c)}function refreshDisplay(b){if(typeof b=="string"){b=[b]}var a=document.getElementById("contentWrapper");refreshElements(a,b);if(backstage.isPanelVisible()){a=document.getElementById("backstage");refreshElements(a,b)}}function refreshPageTitle(){document.title=getPageTitle()}function getPageTitle(){var a=wikifyPlain("SiteTitle");var b=wikifyPlain("SiteSubtitle");return a+((a==""||b=="")?"":" - ")+b}function refreshStyles(b,a){setStylesheet(b==null?"":store.getRecursiveTiddlerText(b,"",10),b,a||document)}function refreshColorPalette(a){if(!startingUp){refreshAll()}}function refreshAll(){refreshPageTemplate();refreshDisplay();refreshStyles("StyleSheetLayout");refreshStyles("StyleSheetColors");refreshStyles(config.refresherData.styleSheet);refreshStyles("StyleSheetPrint")}config.optionHandlers={txt:{get:function(a){return encodeCookie(config.options[a].toString())},set:function(a,b){config.options[a]=decodeCookie(b)}},chk:{get:function(a){return config.options[a]?"true":"false"},set:function(a,b){config.options[a]=b=="true"}}};function loadOptionsCookie(){if(safeMode){return}var d=document.cookie.split(";");for(var g=0;g<d.length;g++){var f=d[g].indexOf("=");if(f!=-1){var b=d[g].substr(0,f).trim();var e=d[g].substr(f+1).trim();var a=b.substr(0,3);if(config.optionHandlers[a]&&config.optionHandlers[a].set){config.optionHandlers[a].set(b,e)}}}}function saveOptionCookie(b){if(safeMode){return}var d=b+"=";var a=b.substr(0,3);if(config.optionHandlers[a]&&config.optionHandlers[a].get){d+=config.optionHandlers[a].get(b)}d+="; expires=Fri, 1 Jan 2038 12:00:00 UTC; path=/";document.cookie=d}function encodeCookie(a){return escape(convertUnicodeToHtmlEntities(a))}function decodeCookie(s){s=unescape(s);var re=/&#[0-9]{1,5};/g;return s.replace(re,function($0){return String.fromCharCode(eval($0.replace(/[&#;]/g,"")))})}config.macros.option.genericCreate=function(a,e,b,d,g){var f=config.macros.option.types[e];var h=document.createElement(f.elementType);if(f.typeValue){h.setAttribute("type",f.typeValue)}h[f.eventName]=f.onChange;h.setAttribute("option",b);h.className=d||f.className;if(config.optionsDesc[b]){h.setAttribute("title",config.optionsDesc[b])}a.appendChild(h);if(g!="no"){createTiddlyText(a,config.optionsDesc[b]||b)}h[f.valueField]=config.options[b];return h};config.macros.option.genericOnChange=function(d){var b=this.getAttribute("option");if(b){var a=b.substr(0,3);var c=config.macros.option.types[a];if(c.elementType&&c.valueField){config.macros.option.propagateOption(b,c.valueField,this[c.valueField],c.elementType,this)}}return true};config.macros.option.types={txt:{elementType:"input",valueField:"value",eventName:"onchange",className:"txtOptionInput",create:config.macros.option.genericCreate,onChange:config.macros.option.genericOnChange},chk:{elementType:"input",valueField:"checked",eventName:"onclick",className:"chkOptionInput",typeValue:"checkbox",create:config.macros.option.genericCreate,onChange:config.macros.option.genericOnChange}};config.macros.option.propagateOption=function(f,d,h,c,g){config.options[f]=h;saveOptionCookie(f);var b=document.getElementsByTagName(c);for(var e=0;e<b.length;e++){var a=b[e].getAttribute("option");if(f==a&&b[e]!=g){b[e][d]=h}}};config.macros.option.handler=function(e,b,d,f,c){d=c.parseParams("anon",null,true,false,false);var a=(d[1]&&d[1].name=="anon")?d[1].value:getParam(d,"name",null);var k=(d[2]&&d[2].name=="anon")?d[2].value:getParam(d,"class",null);var j=getParam(d,"desc","no");var l=a.substr(0,3);var g=config.macros.option.types[l];if(g&&g.create){g.create(e,l,a,k,j)}};config.macros.options.handler=function(f,b,e,g,d){e=d.parseParams("anon",null,true,false,false);var c=getParam(e,"showUnknown","no");var j=new Wizard();j.createWizard(f,this.wizardTitle);j.addStep(this.step1Title,this.step1Html);var k=j.getElement("markList");var a=j.getElement("chkUnknown");a.checked=c=="yes";a.onchange=this.onChangeUnknown;var h=document.createElement("div");k.parentNode.insertBefore(h,k);j.setValue("listWrapper",h);this.refreshOptions(h,c=="yes")};config.macros.options.refreshOptions=function(a,b){var g=[];for(var j in config.options){var d={};d.option="";d.name=j;d.lowlight=!config.optionsDesc[j];d.description=d.lowlight?this.unknownDescription:config.optionsDesc[j];if(!d.lowlight||b){g.push(d)}}g.sort(function(k,h){return k.name.substr(3)<h.name.substr(3)?-1:(k.name.substr(3)==h.name.substr(3)?0:+1)});var c=ListView.create(a,g,this.listViewTemplate);for(j=0;j<g.length;j++){var f=g[j].name.substr(0,3);var e=config.macros.option.types[f];if(e&&e.create){e.create(g[j].colElements.option,f,g[j].name,null,"no")}}};config.macros.options.onChangeUnknown=function(c){var b=new Wizard(this);var a=b.getValue("listWrapper");removeChildren(a);config.macros.options.refreshOptions(a,this.checked);return false};var saveUsingSafari=false;var startSaveArea='<div id="storeArea">';var endSaveArea="</div>";function confirmExit(){hadConfirmExit=true;if((store&&store.isDirty&&store.isDirty())||(story&&story.areAnyDirty&&story.areAnyDirty())){return config.messages.confirmExit}}function checkUnsavedChanges(){if(store&&store.isDirty&&store.isDirty()&&window.hadConfirmExit===false){if(confirm(config.messages.unsavedChangesWarning)){saveChanges()}}}function updateLanguageAttribute(c){if(config.locale){var d=/(<html(?:.*?)?)(?: xml:lang\="([a-z]+)")?(?: lang\="([a-z]+)")?>/;var a=d.exec(c);if(a){var b=a[1];if(a[2]){b+=' xml:lang="'+config.locale+'"'}if(a[3]){b+=' lang="'+config.locale+'"'}b+=">";c=c.substr(0,a.index)+b+c.substr(a.index+a[0].length)}}return c}function updateMarkupBlock(c,b,a){return c.replaceChunk("<!--%0-START-->".format([b]),"<!--%0-END-->".format([b]),"\n"+convertUnicodeToFileFormat(store.getRecursiveTiddlerText(a,""))+"\n")}function updateOriginal(b,d,c){if(!d){d=locateStoreArea(b)}if(!d){alert(config.messages.invalidFileError.format([c]));return null}var a=b.substr(0,d[0]+startSaveArea.length)+"\n"+convertUnicodeToFileFormat(store.allTiddlersAsHtml())+"\n"+b.substr(d[1]);var e=convertUnicodeToFileFormat(getPageTitle()).htmlEncode();a=a.replaceChunk("<title>","</title>"," "+e+" ");a=updateLanguageAttribute(a);a=updateMarkupBlock(a,"PRE-HEAD","MarkupPreHead");a=updateMarkupBlock(a,"POST-HEAD","MarkupPostHead");a=updateMarkupBlock(a,"PRE-BODY","MarkupPreBody");a=updateMarkupBlock(a,"POST-SCRIPT","MarkupPostBody");return a}function locateStoreArea(c){var d=c.indexOf(startSaveArea);var b=c.indexOf("<!--POST-STOREAREA-->");if(b==-1){b=c.indexOf("<!--POST-BODY-START-->")}var a=c.lastIndexOf(endSaveArea,b==-1?c.length:b);return(d!=-1&&a!=-1)?[d,a]:null}function autoSaveChanges(a,b){if(config.options.chkAutoSave){saveChanges(a,b)}}function loadOriginal(a){return loadFile(a)}function saveChanges(b,c){if(b&&!store.isDirty()){return}clearMessage();var e=new Date();var g=document.location.toString();if(g.substr(0,5)!="file:"){alert(config.messages.notFileUrlError);if(store.tiddlerExists(config.messages.saveInstructions)){story.displayTiddler(null,config.messages.saveInstructions)}return}var d=getLocalPath(g);var a=loadOriginal(d);if(a==null){alert(config.messages.cantSaveError);if(store.tiddlerExists(config.messages.saveInstructions)){story.displayTiddler(null,config.messages.saveInstructions)}return}var f=locateStoreArea(a);if(!f){alert(config.messages.invalidFileError.format([d]));return}saveMain(d,a,f);if(config.options.chkSaveBackups){saveBackup(d,a)}if(config.options.chkSaveEmptyTemplate){saveEmpty(d,a,f)}if(config.options.chkGenerateAnRssFeed&&saveRss instanceof Function){saveRss(d)}if(config.options.chkDisplayInstrumentation){displayMessage("saveChanges "+(new Date()-e)+" ms")}}function saveMain(e,c,f){var d;try{var b=updateOriginal(c,f,e);d=saveFile(e,b)}catch(a){showException(a)}if(d){displayMessage(config.messages.mainSaved,"file://"+e);store.setDirty(false)}else{alert(config.messages.mainFailed)}}function saveBackup(d,b){var c=getBackupPath(d);var a=copyFile(c,d);if(!a){a=saveFile(c,b)}if(a){displayMessage(config.messages.backupSaved,"file://"+c)}else{alert(config.messages.backupFailed)}}function saveEmpty(c,a,f){var g,e;if((e=c.lastIndexOf("/"))!=-1){g=c.substr(0,e)+"/"}else{if((e=c.lastIndexOf("\\"))!=-1){g=c.substr(0,e)+"\\"}else{g=c+"."}}g+="empty.html";var b=a.substr(0,f[0]+startSaveArea.length)+a.substr(f[1]);var d=saveFile(g,b);if(d){displayMessage(config.messages.emptySaved,"file://"+g)}else{alert(config.messages.emptyFailed)}}function getLocalPath(e){var d=convertUriToUTF8(e,config.options.txtFileSystemCharSet);var b=d.indexOf("?");if(b!=-1){d=d.substr(0,b)}var a=d.indexOf("#");if(a!=-1){d=d.substr(0,a)}if(d.indexOf("file://localhost/")==0){d="file://"+d.substr(16)}var c;if(d.charAt(9)==":"){c=unescape(d.substr(8)).replace(new RegExp("/","g"),"\\")}else{if(d.indexOf("file://///")==0){c="\\\\"+unescape(d.substr(10)).replace(new RegExp("/","g"),"\\")}else{if(d.indexOf("file:///")==0){c=unescape(d.substr(7))}else{if(d.indexOf("file:/")==0){c=unescape(d.substr(5))}else{c="\\\\"+unescape(d.substr(7)).replace(new RegExp("/","g"),"\\")}}}}return c}function getBackupPath(d,f,g){var b="\\";var a=d.lastIndexOf("\\");if(a==-1){a=d.lastIndexOf("/");b="/"}var e=config.options.txtBackupFolder;if(!e||e==""){e="."}var c=d.substr(0,a)+b+e+d.substr(a);c=c.substr(0,c.lastIndexOf("."))+".";if(f){c+=f.replace(/[\\\/\*\?\":<> ]/g,"_")+"."}c+=(new Date()).convertToYYYYMMDDHHMMSSMMM()+"."+(g||"html");return c}function saveRss(b){var a=b.substr(0,b.lastIndexOf("."))+".xml";if(saveFile(a,convertUnicodeToFileFormat(generateRss()))){displayMessage(config.messages.rssSaved,"file://"+a)}else{alert(config.messages.rssFailed)}}function generateRss(){var c=[];var f=new Date();var a=store.getTiddlerText("SiteUrl");c.push('<?xml version="1.0"?>');c.push('<rss version="2.0">');c.push("<channel>");c.push("<title>"+wikifyPlain("SiteTitle").htmlEncode()+"</title>");if(a){c.push("<link>"+a.htmlEncode()+"</link>")}c.push("<description>"+wikifyPlain("SiteSubtitle").htmlEncode()+"</description>");c.push("<language>"+config.locale+"</language>");c.push("<copyright>Copyright "+f.getFullYear()+" "+config.options.txtUserName.htmlEncode()+"</copyright>");c.push("<pubDate>"+f.toGMTString()+"</pubDate>");c.push("<lastBuildDate>"+f.toGMTString()+"</lastBuildDate>");c.push("<docs>http://blogs.law.harvard.edu/tech/rss</docs>");c.push("<generator>TiddlyWiki "+formatVersion()+"</generator>");var e=store.getTiddlers("modified","excludeLists");var g=config.numRssItems>e.length?0:e.length-config.numRssItems;for(var b=e.length-1;b>=g;b--){c.push("<item>\n"+e[b].toRssItem(a)+"\n</item>")}c.push("</channel>");c.push("</rss>");return c.join("\n")}function convertUTF8ToUnicode(a){return config.browser.isOpera||!window.netscape?manualConvertUTF8ToUnicode(a):mozConvertUTF8ToUnicode(a)}function manualConvertUTF8ToUnicode(d){var g=d;var f=0;var j=0;var e,b,a;var h;while(f<d.length){e=d.charCodeAt(f++);if(e<128){j++}else{if(e<224){b=d.charCodeAt(f++);h=String.fromCharCode(((e&31)<<6)|(b&63));g=g.substring(0,j++).concat(h,d.substr(f))}else{b=d.charCodeAt(f++);a=d.charCodeAt(f++);h=String.fromCharCode(((e&15)<<12)|((b&63)<<6)|(a&63));g=g.substring(0,j++).concat(h,d.substr(f))}}}return g}function mozConvertUTF8ToUnicode(a){try{netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");var d=Components.classes["@mozilla.org/intl/scriptableunicodeconverter"].createInstance(Components.interfaces.nsIScriptableUnicodeConverter);d.charset="UTF-8"}catch(b){return manualConvertUTF8ToUnicode(a)}var c=d.ConvertToUnicode(a);var e=d.Finish();return e.length>0?c+e:c}function convertUnicodeToFileFormat(a){return config.browser.isOpera||!window.netscape?convertUnicodeToHtmlEntities(a):mozConvertUnicodeToUTF8(a)}function convertUnicodeToHtmlEntities(b){var a=/[^\u0000-\u007F]/g;return b.replace(a,function(c){return"&#"+c.charCodeAt(0).toString()+";"})}function convertUnicodeToUTF8(a){return convertUnicodeToFileFormat(a)}function manualConvertUnicodeToUTF8(a){return unescape(encodeURIComponent(a))}function mozConvertUnicodeToUTF8(d){try{netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");var c=Components.classes["@mozilla.org/intl/scriptableunicodeconverter"].createInstance(Components.interfaces.nsIScriptableUnicodeConverter);c.charset="UTF-8"}catch(b){return manualConvertUnicodeToUTF8(d)}var a=c.ConvertFromUnicode(d);var e=c.Finish();return e.length>0?a+e:a}function convertUriToUTF8(d,c){if(window.netscape==undefined||c==undefined||c==""){return d}try{netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");var b=Components.classes["@mozilla.org/intl/utf8converterservice;1"].getService(Components.interfaces.nsIUTF8ConverterService)}catch(a){return d}return b.convertURISpecToUTF8(d,c)}function copyFile(a,b){return config.browser.isIE?ieCopyFile(a,b):false}function saveFile(a,c){var b=mozillaSaveFile(a,c);if(!b){b=ieSaveFile(a,c)}if(!b){b=javaSaveFile(a,c)}return b}function loadFile(a){var b=mozillaLoadFile(a);if((b==null)||(b==false)){b=ieLoadFile(a)}if((b==null)||(b==false)){b=javaLoadFile(a)}return b}function ieCreatePath(e){try{var d=new ActiveXObject("Scripting.FileSystemObject")}catch(b){return null}var f=e.lastIndexOf("\\");if(f!=-1){e=e.substring(0,f+1)}var a=[e];var c=d.GetParentFolderName(e);while(c&&!d.FolderExists(c)){a.push(c);c=d.GetParentFolderName(c)}for(i=a.length-1;i>=0;i--){if(!d.FolderExists(a[i])){d.CreateFolder(a[i])}}return true}function ieSaveFile(c,d){ieCreatePath(c);try{var e=new ActiveXObject("Scripting.FileSystemObject")}catch(b){return null}var a=e.OpenTextFile(c,2,-1,0);a.Write(d);a.Close();return true}function ieLoadFile(c){try{var e=new ActiveXObject("Scripting.FileSystemObject");var b=e.OpenTextFile(c,1);var d=b.ReadAll();b.Close()}catch(a){return null}return d}function ieCopyFile(a,d){ieCreatePath(a);try{var c=new ActiveXObject("Scripting.FileSystemObject");c.GetFile(d).Copy(a)}catch(b){return false}return true}function mozillaSaveFile(d,e){if(window.Components){try{netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");var c=Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);c.initWithPath(d);if(!c.exists()){c.create(0,436)}var a=Components.classes["@mozilla.org/network/file-output-stream;1"].createInstance(Components.interfaces.nsIFileOutputStream);a.init(c,32|2,4,null);a.write(e,e.length);a.flush();a.close();return true}catch(b){return false}}return null}function mozillaLoadFile(d){if(window.Components){try{netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");var c=Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);c.initWithPath(d);if(!c.exists()){return null}var b=Components.classes["@mozilla.org/network/file-input-stream;1"].createInstance(Components.interfaces.nsIFileInputStream);b.init(c,1,4,null);var f=Components.classes["@mozilla.org/scriptableinputstream;1"].createInstance(Components.interfaces.nsIScriptableInputStream);f.init(b);var e=f.read(f.available());f.close();b.close();return e}catch(a){return false}}return null}function javaUrlToFilename(a){var c="//localhost";if(a.indexOf(c)==0){return a.substring(c.length)}var b=a.indexOf(":");return b>0?a.substring(b-1):a}function javaSaveFile(b,d){try{if(document.applets.TiddlySaver){return document.applets.TiddlySaver.saveFile(javaUrlToFilename(b),"UTF-8",d)}}catch(a){}try{var c=new java.io.PrintStream(new java.io.FileOutputStream(javaUrlToFilename(b)));c.print(d);c.close()}catch(a){return null}return true}function javaLoadFile(c){try{if(document.applets.TiddlySaver){return String(document.applets.TiddlySaver.loadFile(javaUrlToFilename(c),"UTF-8"))}}catch(b){}var e=[];try{var d=new java.io.BufferedReader(new java.io.FileReader(javaUrlToFilename(c)));var a;while((a=d.readLine())!=null){e.push(new String(a))}d.close()}catch(b){return null}return e.join("\n")}function AdaptorBase(){this.host=null;this.store=null;return this}AdaptorBase.prototype.close=function(){return true};AdaptorBase.prototype.fullHostName=function(a){if(!a){return""}a=a.trim();if(!a.match(/:\/\//)){a="http://"+a}if(a.substr(a.length-1)=="/"){a=a.substr(0,a.length-1)}return a};AdaptorBase.minHostName=function(a){return a?a.replace(/^http:\/\//,"").replace(/\/$/,""):""};AdaptorBase.prototype.setContext=function(b,a,c){if(!b){b={}}b.userParams=a;if(c){b.callback=c}b.adaptor=this;if(!b.host){b.host=this.host}b.host=this.fullHostName(b.host);if(!b.workspace){b.workspace=this.workspace}return b};AdaptorBase.prototype.openHost=function(c,b,a,d){this.host=c;b=this.setContext(b,a,d);b.status=true;if(d){window.setTimeout(function(){b.callback(b,a)},10)}return true};AdaptorBase.prototype.openWorkspace=function(b,c,a,d){this.workspace=b;c=this.setContext(c,a,d);c.status=true;if(d){window.setTimeout(function(){d(c,a)},10)}return true};function FileAdaptor(){}FileAdaptor.prototype=new AdaptorBase();FileAdaptor.serverType="file";FileAdaptor.serverLabel="TiddlyWiki";FileAdaptor.loadTiddlyWikiCallback=function(a,c,d,b,e){c.status=a;if(!a){c.statusText="Error reading file"}else{c.adaptor.store=new TiddlyWiki();if(!c.adaptor.store.importTiddlyWiki(d)){c.statusText=config.messages.invalidFileError.format([b]);c.status=false}}c.complete(c,c.userParams)};FileAdaptor.prototype.getWorkspaceList=function(b,a,c){b=this.setContext(b,a,c);b.workspaces=[{title:"(default)"}];b.status=true;if(c){window.setTimeout(function(){c(b,a)},10)}return true};FileAdaptor.prototype.getTiddlerList=function(c,a,e,d){c=this.setContext(c,a,e);if(!c.filter){c.filter=d}c.complete=FileAdaptor.getTiddlerListComplete;if(this.store){var b=c.complete(c,c.userParams)}else{b=loadRemoteFile(c.host,FileAdaptor.loadTiddlyWikiCallback,c);if(typeof b!="string"){b=true}}return b};FileAdaptor.getTiddlerListComplete=function(c,a){if(c.status){if(c.filter){c.tiddlers=c.adaptor.store.filterTiddlers(c.filter)}else{c.tiddlers=[];c.adaptor.store.forEachTiddler(function(e,d){c.tiddlers.push(d)})}for(var b=0;b<c.tiddlers.length;b++){c.tiddlers[b].fields["server.type"]=FileAdaptor.serverType;c.tiddlers[b].fields["server.host"]=AdaptorBase.minHostName(c.host);c.tiddlers[b].fields["server.page.revision"]=c.tiddlers[b].modified.convertToYYYYMMDDHHMM()}c.status=true}if(c.callback){window.setTimeout(function(){c.callback(c,a)},10)}return true};FileAdaptor.prototype.generateTiddlerInfo=function(a){var b={};b.uri=a.fields["server.host"]+"#"+a.title;return b};FileAdaptor.prototype.getTiddler=function(c,b,a,d){b=this.setContext(b,a,d);b.title=c;b.complete=FileAdaptor.getTiddlerComplete;return b.adaptor.store?b.complete(b,b.userParams):loadRemoteFile(b.host,FileAdaptor.loadTiddlyWikiCallback,b)};FileAdaptor.getTiddlerComplete=function(c,a){var b=c.adaptor.store.fetchTiddler(c.title);b.fields["server.type"]=FileAdaptor.serverType;b.fields["server.host"]=AdaptorBase.minHostName(c.host);b.fields["server.page.revision"]=b.modified.convertToYYYYMMDDHHMM();c.tiddler=b;c.status=true;if(c.allowSynchronous){c.isSynchronous=true;c.callback(c,a)}else{window.setTimeout(function(){c.callback(c,a)},10)}return true};FileAdaptor.prototype.close=function(){delete this.store;this.store=null};config.adaptors[FileAdaptor.serverType]=FileAdaptor;config.defaultAdaptor=FileAdaptor.serverType;function loadRemoteFile(a,c,b){return httpReq("GET",a,c,b)}function httpReq(j,b,p,e,d,g,o,f,m,l){var k=null;try{k=new XMLHttpRequest()}catch(h){try{k=new ActiveXObject("Msxml2.XMLHTTP")}catch(a){}}if(!k){return"Can't create XMLHttpRequest object"}k.onreadystatechange=function(){try{var n=k.status}catch(q){n=false}if(k.readyState==4&&p&&(n!==undefined)){if([0,200,201,204,207].contains(n)){p(true,e,k.responseText,b,k)}else{p(false,e,null,b,k)}k.onreadystatechange=function(){};k=null}};if(window.Components&&window.netscape&&window.netscape.security&&document.location.protocol.indexOf("http")==-1){window.netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead")}try{if(!l){b=b+(b.indexOf("?")<0?"?":"&")+"nocache="+Math.random()}k.open(j,b,true,f,m);if(g){k.setRequestHeader("Content-Type",o||"application/x-www-form-urlencoded")}if(k.overrideMimeType){k.setRequestHeader("Connection","close")}if(d){for(var c in d){k.setRequestHeader(c,d[c])}}k.setRequestHeader("X-Requested-With","TiddlyWiki "+formatVersion());k.send(g)}catch(h){return exceptionText(h)}return k}function getXMLHttpRequest(){try{var a=new XMLHttpRequest()}catch(b){try{a=new ActiveXObject("Msxml2.XMLHTTP")}catch(c){return null}}return a}function doHttp(f,a,e,h,d,j,k,c,b,g){return httpReq(f,a,k,c,b,e,h,d,j,g)}function formatVersion(a){a=a||version;return a.major+"."+a.minor+"."+a.revision+(a.beta?" (beta "+a.beta+")":"")}function compareVersions(g,f){var b=["major","minor","revision"];for(var e=0;e<b.length;e++){var d=g[b[e]]||0;var c=f[b[e]]||0;if(d<c){return 1}if(d>c){return -1}}d=g.beta||9999;c=f.beta||9999;if(d<c){return 1}return d>c?-1:0}function createTiddlyButton(g,h,k,d,f,b,j,a){var c=document.createElement("a");if(d){c.onclick=d;c.setAttribute("href","javascript:;")}if(k){c.setAttribute("title",k)}if(h){c.appendChild(document.createTextNode(h))}c.className=f||"button";if(b){c.id=b}if(a){for(var e in a){c.setAttribute(e,a[e])}}if(g){g.appendChild(c)}if(j){c.setAttribute("accessKey",j)}return c}function createTiddlyLink(d,h,j,g,k,c,b){var l=j?h:null;var e=getTiddlyLinkInfo(h,g);var a=k?createExternalLink(d,store.getTiddlerText("SiteUrl",null)+"#"+h):createTiddlyButton(d,l,e.subTitle,onClickTiddlerLink,e.classes);if(k){a.className+=" "+g}a.setAttribute("refresh","link");a.setAttribute("tiddlyLink",h);if(b){a.setAttribute("noToggle","true")}if(c){var f=c.getInheritedFields();if(f){a.setAttribute("tiddlyFields",f)}}return a}function refreshTiddlyLink(b,c){var a=getTiddlyLinkInfo(c,b.className);b.className=a.classes;b.title=a.subTitle}function getTiddlyLinkInfo(e,d){var b=d?d.split(" "):[];b.pushUnique("tiddlyLink");var a=store.fetchTiddler(e);var c;if(a){c=a.getSubtitle();b.pushUnique("tiddlyLinkExisting");b.remove("tiddlyLinkNonExisting");b.remove("shadow")}else{b.remove("tiddlyLinkExisting");b.pushUnique("tiddlyLinkNonExisting");if(store.isShadowTiddler(e)){c=config.messages.shadowedTiddlerToolTip.format([e]);b.pushUnique("shadow")}else{c=config.messages.undefinedTiddlerToolTip.format([e]);b.remove("shadow")}}if(typeof config.annotations[e]=="string"){c=config.annotations[e]}return{classes:b.join(" "),subTitle:c}}function createExternalLink(a,b){var c=document.createElement("a");c.className="externalLink";c.href=b;c.title=config.messages.externalLinkTooltip.format([b]);if(config.options.chkOpenInNewWindow){c.target="_blank"}a.appendChild(c);return c}function onClickTiddlerLink(h){var d=h||window.event;var g=resolveTarget(d);var j=g;var k=null;var b=null;var a=null;do{k=j.getAttribute("tiddlyLink");b=j.getAttribute("tiddlyFields");a=j.getAttribute("noToggle");j=j.parentNode}while(k==null&&j!=null);if(!store.isShadowTiddler(k)){var c=b?b.decodeHashMap():{};b=String.encodeHashMap(merge(c,config.defaultCustomFields,true))}if(k){var l=d.metaKey||d.ctrlKey;if(config.options.chkToggleLinks){l=!l}if(a){l=false}if(store.getTiddler(k)){b=null}story.displayTiddler(g,k,null,true,null,b,l)}clearMessage();return false}function createTagButton(b,a,f,e,d){var c=createTiddlyButton(b,e||a,(d||config.views.wikified.tag.tooltip).format([a]),onClickTag);c.setAttribute("tag",a);if(f){c.setAttribute("tiddler",f)}return c}function onClickTag(k){var j=k||window.event;var b=Popup.create(this);var o=this.getAttribute("tag");var l=this.getAttribute("tiddler");if(b&&o){var c=store.getTaggedTiddlers(o);var g=[];var m,a;for(a=0;a<c.length;a++){if(c[a].title!=l){g.push(c[a].title)}}var f=config.views.wikified.tag;if(g.length>0){var n=createTiddlyButton(createTiddlyElement(b,"li"),f.openAllText.format([o]),f.openAllTooltip,onClickTagOpenAll);n.setAttribute("tag",o);createTiddlyElement(createTiddlyElement(b,"li",null,"listBreak"),"div");for(a=0;a<g.length;a++){createTiddlyLink(createTiddlyElement(b,"li"),g[a],true)}}else{createTiddlyText(createTiddlyElement(b,"li",null,"disabled"),f.popupNone.format([o]))}createTiddlyElement(createTiddlyElement(b,"li",null,"listBreak"),"div");var d=createTiddlyLink(createTiddlyElement(b,"li"),o,false);createTiddlyText(d,f.openTag.format([o]))}Popup.show();j.cancelBubble=true;if(j.stopPropagation){j.stopPropagation()}return false}function onClickTagOpenAll(b){var a=store.getTaggedTiddlers(this.getAttribute("tag"));story.displayTiddlers(this,a);return false}function onClickError(d){var f=d||window.event;var b=Popup.create(this);var a=this.getAttribute("errorText").split("\n");for(var c=0;c<a.length;c++){createTiddlyElement(b,"li",null,null,a[c])}Popup.show();f.cancelBubble=true;if(f.stopPropagation){f.stopPropagation()}return false}function createTiddlyDropDown(b,d,c,a){var g=createTiddlyElement(b,"select");g.onchange=d;for(var f=0;f<c.length;f++){var h=createTiddlyElement(g,"option",null,null,c[f].caption);h.value=c[f].name;if(c[f].name==a){h.selected=true}}return g}function createTiddlyPopup(a,b,e,d){if(d.text){createTiddlyLink(a,b,true);var c=createTiddlyButton(a,glyph("downArrow"),e,onClickTiddlyPopup,"tiddlerPopupButton");c.tiddler=d}else{createTiddlyText(a,b)}}function onClickTiddlyPopup(c){var d=c||window.event;var b=this.tiddler;if(b.text){var a=Popup.create(this,"div","popupTiddler");wikify(b.text,a,null,b);Popup.show()}if(d){d.cancelBubble=true}if(d&&d.stopPropagation){d.stopPropagation()}return false}function createTiddlyError(a,d,c){var b=createTiddlyButton(a,d,null,onClickError,"errorButton");if(c){b.setAttribute("errorText",c)}}function merge(d,c,a){for(var b in c){if(!a||d[b]===undefined){d[b]=c[b]}}return d}function exceptionText(c,b){var a=c.description||c.toString();return b?"%0:\n%1".format([b,a]):a}function showException(b,a){alert(exceptionText(b,a))}function alertAndThrow(a){alert(a);throw (a)}function glyph(c){var d=config.glyphs;var a=d.currBrowser;if(a==null){a=0;while(!d.browsers[a]()&&a<d.browsers.length-1){a++}d.currBrowser=a}if(!d.codes[c]){return""}return d.codes[c][a]}if(!window.console){console={log:function(a){displayMessage(a)}}}function Animator(){this.running=0;this.timerID=0;this.animations=[];return this}Animator.prototype.startAnimating=function(){for(var a=0;a<arguments.length;a++){this.animations.push(arguments[a])}if(this.running==0){var b=this;this.timerID=window.setInterval(function(){b.doAnimate(b)},10)}this.running+=arguments.length};Animator.prototype.doAnimate=function(c){var b=0;while(b<c.animations.length){var d=c.animations[b];if(d.tick()){b++}else{c.animations.splice(b,1);if(--c.running==0){window.clearInterval(c.timerID)}}}};Animator.slowInSlowOut=function(a){return(1-((Math.cos(a*Math.PI)+1)/2))};function Morpher(b,c,a,d){this.element=b;this.duration=c;this.properties=a;this.startTime=new Date();this.endTime=Number(this.startTime)+c;this.callback=d;this.tick();return this}Morpher.prototype.assignStyle=function(a,b,c){switch(b){case"-tw-vertScroll":window.scrollTo(findScrollX(),c);break;case"-tw-horizScroll":window.scrollTo(c,findScrollY());break;default:a.style[b]=c;break}};Morpher.prototype.stop=function(){for(var a=0;a<this.properties.length;a++){var b=this.properties[a];if(b.atEnd!==undefined){this.assignStyle(this.element,b.style,b.atEnd)}}if(this.callback){this.callback(this.element,this.properties)}};Morpher.prototype.tick=function(){var b=Number(new Date());var c=Animator.slowInSlowOut(Math.min(1,(b-this.startTime)/this.duration));for(var d=0;d<this.properties.length;d++){var f=this.properties[d];if(f.start!==undefined&&f.end!==undefined){var e=f.template||"%0";switch(f.format){case undefined:case"style":var a=f.start+(f.end-f.start)*c;this.assignStyle(this.element,f.style,e.format([a]));break;case"color":break}}}if(b>=this.endTime){this.stop();return false}return true};function Zoomer(l,k,h,d){var g=createTiddlyElement(document.body,"div",null,"zoomer");createTiddlyElement(g,"div",null,null,l);var b=findWindowWidth();var f=findWindowHeight();var a=[{style:"left",start:findPosX(k),end:findPosX(h),template:"%0px"},{style:"top",start:findPosY(k),end:findPosY(h),template:"%0px"},{style:"width",start:Math.min(k.scrollWidth,b),end:Math.min(h.scrollWidth,b),template:"%0px",atEnd:"auto"},{style:"height",start:Math.min(k.scrollHeight,f),end:Math.min(h.scrollHeight,f),template:"%0px",atEnd:"auto"},{style:"fontSize",start:8,end:24,template:"%0pt"}];var j=function(e,c){removeNode(e)};return new Morpher(g,config.animDuration,a,j)}function Scroller(a){var b=[{style:"-tw-vertScroll",start:findScrollY(),end:ensureVisible(a)}];return new Morpher(a,config.animDuration,b)}function Slider(h,d,g,k){h.style.overflow="hidden";if(d){h.style.height="0px"}h.style.display="block";var e=findPosX(h);var b=h.scrollWidth;var l=h.scrollHeight;var f=findWindowWidth();var a=[];var j=null;if(d){a.push({style:"height",start:0,end:l,template:"%0px",atEnd:"auto"});a.push({style:"opacity",start:0,end:1,template:"%0"});a.push({style:"filter",start:0,end:100,template:"alpha(opacity:%0)"})}else{a.push({style:"height",start:l,end:0,template:"%0px"});a.push({style:"display",atEnd:"none"});a.push({style:"opacity",start:1,end:0,template:"%0"});a.push({style:"filter",start:100,end:0,template:"alpha(opacity:%0)"});switch(k){case"all":j=function(m,c){removeNode(m)};break;case"children":j=function(m,c){removeChildren(m)};break}}return new Morpher(h,config.animDuration,a,j)}var Popup={stack:[]};Popup.create=function(b,d,c){var e=this.find(b,"popup");Popup.remove(e+1);var a=createTiddlyElement(document.body,d||"ol","popup",c||"popup");a.stackPosition=e;Popup.stack.push({root:b,popup:a});return a};Popup.onDocumentClick=function(a){var b=a||window.event;if(b.eventPhase==undefined){Popup.remove()}else{if(b.eventPhase==Event.BUBBLING_PHASE||b.eventPhase==Event.AT_TARGET){Popup.remove()}}return true};Popup.show=function(a,b,d){var c=Popup.stack[Popup.stack.length-1];this.place(c.root,c.popup,a,b,d);addClass(c.root,"highlight");if(config.options.chkAnimate&&anim&&typeof Scroller=="function"){anim.startAnimating(new Scroller(c.popup))}else{window.scrollTo(0,ensureVisible(c.popup))}};Popup.place=function(h,a,k,f,d){if(!d){var d={x:0,y:0}}if(a.stackPosition>=0&&!k&&!f){d.x=d.x+h.offsetWidth}else{d.x=(f=="right")?d.x+h.offsetWidth:d.x;d.y=(k=="top")?d.y:d.y+h.offsetHeight}var b=findPosX(h);var g=findPosY(h);var m=b+d.x;var l=g+d.y;var c=findWindowWidth();if(a.offsetWidth>c*0.75){a.style.width=c*0.75+"px"}var j=a.offsetWidth;var e=c-document.body.offsetWidth;if(m+j>c-e-1){if(f=="right"){m=m-h.offsetWidth-j}else{m=c-j-e-1}}a.style.left=m+"px";a.style.top=l+"px";a.style.display="block"};Popup.find=function(b){var c=-1;for(var a=this.stack.length-1;a>=0;a--){if(isDescendant(b,this.stack[a].popup)){c=a}}return c};Popup.remove=function(a){if(!a){var a=0}if(Popup.stack.length>a){Popup.removeFrom(a)}};Popup.removeFrom=function(c){for(var a=Popup.stack.length-1;a>=c;a--){var b=Popup.stack[a];removeClass(b.root,"highlight");removeNode(b.popup)}Popup.stack=Popup.stack.slice(0,c)};function Wizard(a){if(a){this.formElem=findRelated(a,"wizard","className");this.bodyElem=findRelated(this.formElem.firstChild,"wizardBody","className","nextSibling");this.footElem=findRelated(this.formElem.firstChild,"wizardFooter","className","nextSibling")}else{this.formElem=null;this.bodyElem=null;this.footElem=null}}Wizard.prototype.setValue=function(a,b){if(this.formElem){this.formElem[a]=b}};Wizard.prototype.getValue=function(a){return this.formElem?this.formElem[a]:null};Wizard.prototype.createWizard=function(a,b){this.formElem=createTiddlyElement(a,"form",null,"wizard");createTiddlyElement(this.formElem,"h1",null,null,b);this.bodyElem=createTiddlyElement(this.formElem,"div",null,"wizardBody");this.footElem=createTiddlyElement(this.formElem,"div",null,"wizardFooter")};Wizard.prototype.clear=function(){removeChildren(this.bodyElem)};Wizard.prototype.setButtons=function(c,a){removeChildren(this.footElem);for(var b=0;b<c.length;b++){createTiddlyButton(this.footElem,c[b].caption,c[b].tooltip,c[b].onClick);insertSpacer(this.footElem)}if(typeof a=="string"){createTiddlyElement(this.footElem,"span",null,"status",a)}};Wizard.prototype.addStep=function(b,c){removeChildren(this.bodyElem);var a=createTiddlyElement(this.bodyElem,"div");createTiddlyElement(a,"h2",null,null,b);var d=createTiddlyElement(a,"div",null,"wizardStep");d.innerHTML=c;applyHtmlMacros(d,tiddler)};Wizard.prototype.getElement=function(a){return this.formElem.elements[a]};var ListView={};ListView.create=function(j,b,m,g,f){var u=createTiddlyElement(j,"table",null,f||"listView twtable");var s=createTiddlyElement(u,"thead");var n=createTiddlyElement(s,"tr");for(var l=0;l<m.columns.length;l++){var h=m.columns[l];var v=createTiddlyElement(n,"th");var q=ListView.columnTypes[h.type];if(q&&q.createHeader){q.createHeader(v,h,l);if(h.className){addClass(v,h.className)}}}var d=createTiddlyElement(u,"tbody");for(var p=0;p<b.length;p++){var k=b[p];n=createTiddlyElement(d,"tr");for(v=0;v<m.rowClasses.length;v++){if(k[m.rowClasses[v].field]){addClass(n,m.rowClasses[v].className)}}k.rowElement=n;k.colElements={};for(var o=0;o<m.columns.length;o++){v=createTiddlyElement(n,"td");h=m.columns[o];var e=h.field;q=ListView.columnTypes[h.type];if(q&&q.createItem){q.createItem(v,k,e,h,o,p);if(h.className){addClass(v,h.className)}}k.colElements[e]=v}}if(g&&m.actions){createTiddlyDropDown(j,ListView.getCommandHandler(g),m.actions)}if(g&&m.buttons){for(l=0;l<m.buttons.length;l++){var w=m.buttons[l];if(w&&w.name!=""){createTiddlyButton(j,w.caption,null,ListView.getCommandHandler(g,w.name,w.allowEmptySelection))}}}return u};ListView.getCommandHandler=function(c,a,b){return function(g){var d=findRelated(this,"TABLE",null,"previousSibling");var f=[];ListView.forEachSelector(d,function(j,h){if(j.checked){f.push(h)}});if(f.length==0&&!b){alert(config.messages.nothingSelected)}else{if(this.nodeName.toLowerCase()=="select"){c(d,this.value,f);this.selectedIndex=0}else{c(d,a,f)}}}};ListView.forEachSelector=function(b,g){var f=b.getElementsByTagName("input");var d=false;for(var c=0;c<f.length;c++){var a=f[c];if(a.getAttribute("type")=="checkbox"){var e=a.getAttribute("rowName");if(e){g(a,e);d=true}}}return d};ListView.getSelectedRows=function(a){var b=[];ListView.forEachSelector(a,function(d,c){if(d.checked){b.push(c)}});return b};ListView.columnTypes={};ListView.columnTypes.String={createHeader:function(a,b,c){createTiddlyText(a,b.title)},createItem:function(a,e,f,c,d,g){var b=e[f];if(b!=undefined){createTiddlyText(a,b)}}};ListView.columnTypes.WikiText={createHeader:ListView.columnTypes.String.createHeader,createItem:function(a,e,f,c,d,g){var b=e[f];if(b!=undefined){wikify(b,a,null,null)}}};ListView.columnTypes.Tiddler={createHeader:ListView.columnTypes.String.createHeader,createItem:function(a,e,f,c,d,g){var b=e[f];if(b!=undefined&&b.title){createTiddlyPopup(a,b.title,config.messages.listView.tiddlerTooltip,b)}}};ListView.columnTypes.Size={createHeader:ListView.columnTypes.String.createHeader,createItem:function(a,f,g,c,d,h){var b=f[g];if(b!=undefined){var e=0;while(e<config.messages.sizeTemplates.length-1&&b<config.messages.sizeTemplates[e].unit){e++}createTiddlyText(a,config.messages.sizeTemplates[e].template.format([Math.round(b/config.messages.sizeTemplates[e].unit)]))}}};ListView.columnTypes.Link={createHeader:ListView.columnTypes.String.createHeader,createItem:function(a,f,g,d,e,h){var b=f[g];var j=d.text;if(b!=undefined){createTiddlyText(createExternalLink(a,b),j||b)}}};ListView.columnTypes.Date={createHeader:ListView.columnTypes.String.createHeader,createItem:function(a,e,f,c,d,g){var b=e[f];if(b!=undefined){createTiddlyText(a,b.formatString(c.dateFormat))}}};ListView.columnTypes.StringList={createHeader:ListView.columnTypes.String.createHeader,createItem:function(a,f,g,c,d,h){var b=f[g];if(b!=undefined){for(var e=0;e<b.length;e++){createTiddlyText(a,b[e]);createTiddlyElement(a,"br")}}}};ListView.columnTypes.Selector={createHeader:function(a,b,c){createTiddlyCheckbox(a,null,false,this.onHeaderChange)},createItem:function(a,d,g,b,c,h){var f=createTiddlyCheckbox(a,null,d[g],null);f.setAttribute("rowName",d[b.rowName])},onHeaderChange:function(c){var b=this.checked;var a=findRelated(this,"TABLE");if(!a){return}ListView.forEachSelector(a,function(f,d){f.checked=b})}};ListView.columnTypes.Tags={createHeader:ListView.columnTypes.String.createHeader,createItem:function(a,e,f,b,d,g){var c=e[f];createTiddlyText(a,String.encodeTiddlyLinkList(c))}};ListView.columnTypes.Boolean={createHeader:ListView.columnTypes.String.createHeader,createItem:function(a,d,e,b,c,f){if(d[e]==true){createTiddlyText(a,b.trueText)}if(d[e]==false){createTiddlyText(a,b.falseText)}}};ListView.columnTypes.TagCheckbox={createHeader:ListView.columnTypes.String.createHeader,createItem:function(a,d,g,b,c,h){var f=createTiddlyCheckbox(a,null,d[g],this.onChange);f.setAttribute("tiddler",d.title);f.setAttribute("tag",b.tag)},onChange:function(c){var a=this.getAttribute("tag");var b=this.getAttribute("tiddler");store.setTiddlerTag(b,this.checked,a)}};ListView.columnTypes.TiddlerLink={createHeader:ListView.columnTypes.String.createHeader,createItem:function(a,f,g,c,d,h){var b=f[g];if(b!=undefined){var e=createTiddlyLink(a,f[c.tiddlerLink],false,null);createTiddlyText(e,f[g])}}};Number.prototype.clamp=function(b,a){var d=this;if(d<b){d=b}if(d>a){d=a}return d};if(!Array.indexOf){Array.prototype.indexOf=function(b,c){if(!c){c=0}for(var a=c;a<this.length;a++){if(this[a]===b){return a}}return -1}}Array.prototype.findByField=function(c,b){for(var a=0;a<this.length;a++){if(this[a][c]==b){return a}}return null};Array.prototype.contains=function(a){return this.indexOf(a)!=-1};Array.prototype.setItem=function(a,c){var b=this.indexOf(a);if(c==0){c=(b==-1)?+1:-1}if(c==+1){if(b==-1){this.push(a)}}else{if(c==-1){if(b!=-1){this.splice(b,1)}}}};Array.prototype.containsAny=function(a){for(var b=0;b<a.length;b++){if(this.indexOf(a[b])!=-1){return true}}return false};Array.prototype.containsAll=function(a){for(var b=0;b<a.length;b++){if(this.indexOf(a[b])==-1){return false}}return true};Array.prototype.pushUnique=function(a,b){if(b===false){this.push(a)}else{if(this.indexOf(a)==-1){this.push(a)}}};Array.prototype.remove=function(a){var b=this.indexOf(a);if(b!=-1){this.splice(b,1)}};if(!Array.prototype.map){Array.prototype.map=function(f,g){var e=g||window;var b=[];for(var d=0,c=this.length;d<c;++d){b.push(f.call(e,this[d],d,this))}return b}}String.prototype.right=function(a){return a<this.length?this.slice(this.length-a):this};String.prototype.trim=function(){return this.replace(/^\s*|\s*$/g,"")};String.prototype.unDash=function(){var b=this.split("-");if(b.length>1){for(var a=1;a<b.length;a++){b[a]=b[a].substr(0,1).toUpperCase()+b[a].substr(1)}}return b.join("")};String.prototype.format=function(e){var a=/(?:%(\d+))/mg;var d=0;var c=[];do{var b=a.exec(this);if(b&&b[1]){if(b.index>d){c.push(this.substring(d,b.index))}c.push(e[parseInt(b[1])]);d=a.lastIndex}}while(b);if(d<this.length){c.push(this.substring(d,this.length))}return c.join("")};String.prototype.escapeRegExp=function(){var b="\\^$*+?()=!|,{}[].";var d=this;for(var a=0;a<b.length;a++){d=d.replace(new RegExp("\\"+b.substr(a,1),"g"),"\\"+b.substr(a,1))}return d};String.prototype.escapeLineBreaks=function(){return this.replace(/\\/mg,"\\s").replace(/\n/mg,"\\n").replace(/\r/mg,"")};String.prototype.unescapeLineBreaks=function(){return this.replace(/\\n/mg,"\n").replace(/\\b/mg," ").replace(/\\s/mg,"\\").replace(/\r/mg,"")};String.prototype.htmlEncode=function(){return this.replace(/&/mg,"&amp;").replace(/</mg,"&lt;").replace(/>/mg,"&gt;").replace(/\"/mg,"&quot;")};String.prototype.htmlDecode=function(){return this.replace(/&lt;/mg,"<").replace(/&gt;/mg,">").replace(/&quot;/mg,'"').replace(/&amp;/mg,"&")};String.prototype.toJSONString=function(){var a={"\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t",'"':'\\"',"\\":"\\\\"};var b=function(e,d){var f=a[d];if(f){return f}f=d.charCodeAt();return"\\u00"+Math.floor(f/16).toString(16)+(f%16).toString(16)};if(/["\\\x00-\x1f]/.test(this)){return'"'+this.replace(/([\x00-\x1f\\"])/g,b)+'"'}return'"'+this+'"'};String.prototype.parseParams=function(defaultName,defaultValue,allowEval,noNames,cascadeDefaults){var parseToken=function(match,p){var n;if(match[p]){n=match[p]}else{if(match[p+1]){n=match[p+1]}else{if(match[p+2]){n=match[p+2]}else{if(match[p+3]){try{n=match[p+3];if(allowEval){n=window.eval(n)}}catch(ex){throw"Unable to evaluate {{"+match[p+3]+"}}: "+exceptionText(ex)}}else{if(match[p+4]){n=match[p+4]}else{if(match[p+5]){n=""}}}}}}return n};var r=[{}];var dblQuote='(?:"((?:(?:\\\\")|[^"])+)")';var sngQuote="(?:'((?:(?:\\\\')|[^'])+)')";var dblSquare="(?:\\[\\[((?:\\s|\\S)*?)\\]\\])";var dblBrace="(?:\\{\\{((?:\\s|\\S)*?)\\}\\})";var unQuoted=noNames?"([^\"'\\s]\\S*)":"([^\"':\\s][^\\s:]*)";var emptyQuote="((?:\"\")|(?:''))";var skipSpace="(?:\\s*)";var token="(?:"+dblQuote+"|"+sngQuote+"|"+dblSquare+"|"+dblBrace+"|"+unQuoted+"|"+emptyQuote+")";var re=noNames?new RegExp(token,"mg"):new RegExp(skipSpace+token+skipSpace+"(?:(\\:)"+skipSpace+token+")?","mg");var params=[];do{var match=re.exec(this);if(match){var n=parseToken(match,1);if(noNames){r.push({name:"",value:n})}else{var v=parseToken(match,8);if(v==null&&defaultName){v=n;n=defaultName}else{if(v==null&&defaultValue){v=defaultValue}}r.push({name:n,value:v});if(cascadeDefaults){defaultName=n;defaultValue=v}}}}while(match);for(var t=1;t<r.length;t++){if(r[0][r[t].name]){r[0][r[t].name].push(r[t].value)}else{r[0][r[t].name]=[r[t].value]}}return r};String.prototype.readMacroParams=function(){var b=this.parseParams("list",null,true,true);var c=[];for(var a=1;a<b.length;a++){c.push(b[a].value)}return c};String.prototype.readBracketedList=function(c){var b=this.parseParams("list",null,false,true);var d=[];for(var a=1;a<b.length;a++){if(b[a].value){d.pushUnique(b[a].value,c)}}return d};String.prototype.getChunkRange=function(d,a){var b=this.indexOf(d);if(b!=-1){b+=d.length;var c=this.indexOf(a,b);if(c!=-1){return[b,c]}}};String.prototype.replaceChunk=function(d,a,b){var c=this.getChunkRange(d,a);return c?this.substring(0,c[0])+b+this.substring(c[1]):this};String.prototype.getChunk=function(c,a){var b=this.getChunkRange(c,a);if(b){return this.substring(b[0],b[1])}};String.encodeTiddlyLink=function(a){return a.indexOf(" ")==-1?a:"[["+a+"]]"};String.encodeTiddlyLinkList=function(c){if(c){var b=[];for(var a=0;a<c.length;a++){b.push(String.encodeTiddlyLink(c[a]))}return b.join(" ")}else{return""}};String.prototype.decodeHashMap=function(){var a=this.parseParams("anon","",false);var c={};for(var b=1;b<a.length;b++){c[a[b].name]=a[b].value}return c};String.encodeHashMap=function(a){var c=[];for(var b in a){c.push(b+':"'+a[b]+'"')}return c.join(" ")};String.zeroPad=function(c,b){var a=c.toString();if(a.length<b){a="000000000000000000000000000".substr(0,b-a.length)+a}return a};String.prototype.startsWith=function(a){return !a||this.substring(0,a.length)==a};function getParam(d,b,a){if(!d){return a}var c=d[0][b];return c?c[0]:a}function getFlag(c,b,a){return !!getParam(c,b,a)}Date.prototype.formatString=function(b){var a=b.replace(/0hh12/g,String.zeroPad(this.getHours12(),2));a=a.replace(/hh12/g,this.getHours12());a=a.replace(/0hh/g,String.zeroPad(this.getHours(),2));a=a.replace(/hh/g,this.getHours());a=a.replace(/mmm/g,config.messages.dates.shortMonths[this.getMonth()]);a=a.replace(/0mm/g,String.zeroPad(this.getMinutes(),2));a=a.replace(/mm/g,this.getMinutes());a=a.replace(/0ss/g,String.zeroPad(this.getSeconds(),2));a=a.replace(/ss/g,this.getSeconds());a=a.replace(/[ap]m/g,this.getAmPm().toLowerCase());a=a.replace(/[AP]M/g,this.getAmPm().toUpperCase());a=a.replace(/wYYYY/g,this.getYearForWeekNo());a=a.replace(/wYY/g,String.zeroPad(this.getYearForWeekNo()-2000,2));a=a.replace(/YYYY/g,this.getFullYear());a=a.replace(/YY/g,String.zeroPad(this.getFullYear()-2000,2));a=a.replace(/MMM/g,config.messages.dates.months[this.getMonth()]);a=a.replace(/0MM/g,String.zeroPad(this.getMonth()+1,2));a=a.replace(/MM/g,this.getMonth()+1);a=a.replace(/0WW/g,String.zeroPad(this.getWeek(),2));a=a.replace(/WW/g,this.getWeek());a=a.replace(/DDD/g,config.messages.dates.days[this.getDay()]);a=a.replace(/ddd/g,config.messages.dates.shortDays[this.getDay()]);a=a.replace(/0DD/g,String.zeroPad(this.getDate(),2));a=a.replace(/DDth/g,this.getDate()+this.daySuffix());a=a.replace(/DD/g,this.getDate());var d=this.getTimezoneOffset();var c=Math.abs(d);a=a.replace(/TZD/g,(d<0?"+":"-")+String.zeroPad(Math.floor(c/60),2)+":"+String.zeroPad(c%60,2));a=a.replace(/\\/g,"");return a};Date.prototype.getWeek=function(){var a=new Date(this.getTime());var b=a.getDay();if(b==0){b=7}a.setTime(a.getTime()+(4-b)*86400000);var c=Math.floor((a.getTime()-new Date(a.getFullYear(),0,1)+3600000)/86400000);return Math.floor(c/7)+1};Date.prototype.getYearForWeekNo=function(){var a=new Date(this.getTime());var b=a.getDay();if(b==0){b=7}a.setTime(a.getTime()+(4-b)*86400000);return a.getFullYear()};Date.prototype.getHours12=function(){var a=this.getHours();return a>12?a-12:(a>0?a:12)};Date.prototype.getAmPm=function(){return this.getHours()>=12?config.messages.dates.pm:config.messages.dates.am};Date.prototype.daySuffix=function(){return config.messages.dates.daySuffixes[this.getDate()-1]};Date.prototype.convertToLocalYYYYMMDDHHMM=function(){return this.getFullYear()+String.zeroPad(this.getMonth()+1,2)+String.zeroPad(this.getDate(),2)+String.zeroPad(this.getHours(),2)+String.zeroPad(this.getMinutes(),2)};Date.prototype.convertToYYYYMMDDHHMM=function(){return this.getUTCFullYear()+String.zeroPad(this.getUTCMonth()+1,2)+String.zeroPad(this.getUTCDate(),2)+String.zeroPad(this.getUTCHours(),2)+String.zeroPad(this.getUTCMinutes(),2)};Date.prototype.convertToYYYYMMDDHHMMSSMMM=function(){return this.getUTCFullYear()+String.zeroPad(this.getUTCMonth()+1,2)+String.zeroPad(this.getUTCDate(),2)+"."+String.zeroPad(this.getUTCHours(),2)+String.zeroPad(this.getUTCMinutes(),2)+String.zeroPad(this.getUTCSeconds(),2)+String.zeroPad(this.getUTCMilliseconds(),4)};Date.convertFromYYYYMMDDHHMM=function(c){var a=c.substr(8,2)||"00";var b=c.substr(10,2)||"00";return new Date(Date.UTC(parseInt(c.substr(0,4),10),parseInt(c.substr(4,2),10)-1,parseInt(c.substr(6,2),10),parseInt(a,10),parseInt(b,10),0,0))};function Crypto(){}Crypto.strToBe32s=function(e){var d=[];var a=Math.floor(e.length/4);var c,b;for(c=0,b=0;c<a;c++,b+=4){d[c]=((e.charCodeAt(b)&255)<<24)|((e.charCodeAt(b+1)&255)<<16)|((e.charCodeAt(b+2)&255)<<8)|(e.charCodeAt(b+3)&255)}while(b<e.length){d[b>>2]|=(e.charCodeAt(b)&255)<<(24-(b*8)%32);b++}return d};Crypto.be32sToStr=function(b){var c="";for(var a=0;a<b.length*32;a+=8){c+=String.fromCharCode((b[a>>5]>>>(24-a%32))&255)}return c};Crypto.be32sToHex=function(c){var b="0123456789ABCDEF";var d="";for(var a=0;a<c.length*4;a++){d+=b.charAt((c[a>>2]>>((3-a%4)*8+4))&15)+b.charAt((c[a>>2]>>((3-a%4)*8))&15)}return d};Crypto.hexSha1Str=function(a){return Crypto.be32sToHex(Crypto.sha1Str(a))};Crypto.sha1Str=function(a){return Crypto.sha1(Crypto.strToBe32s(a),a.length)};Crypto.sha1=function(u,q){function p(d,c){var j=(d&65535)+(c&65535);var e=(d>>16)+(c>>16)+(j>>16);return(e<<16)|(j&65535)}function A(t,j,K,J,I){j=(j>>>27)|(j<<5);var x=(t&65535)+(j&65535)+(K&65535)+(J&65535)+(I&65535);var w=(t>>16)+(j>>16)+(K>>16)+(J>>16)+(I>>16)+(x>>16);return(w<<16)|(x&65535)}function f(a,b){var c=a[b-3]^a[b-8]^a[b-14]^a[b-16];return(c>>>31)|(c<<1)}var C=q*8;u[C>>5]|=128<<(24-C%32);u[((C+64>>9)<<4)+15]=C;var v=new Array(80);var s=1518500249;var o=1859775393;var m=2400959708;var k=3395469782;var r=1732584193;var n=4023233417;var l=2562383102;var h=271733878;var g=3285377520;for(var B=0;B<u.length;B+=16){var z=0;var y;var H=r;var G=n;var F=l;var E=h;var D=g;while(z<16){v[z]=u[B+z];y=A(D,H,E^(G&(F^E)),v[z],s);D=E;E=F;F=(G>>>2)|(G<<30);G=H;H=y;z++}while(z<20){v[z]=f(v,z);y=A(D,H,E^(G&(F^E)),v[z],s);D=E;E=F;F=(G>>>2)|(G<<30);G=H;H=y;z++}while(z<40){v[z]=f(v,z);y=A(D,H,G^F^E,v[z],o);D=E;E=F;F=(G>>>2)|(G<<30);G=H;H=y;z++}while(z<60){v[z]=f(v,z);y=A(D,H,(G&F)|(E&(G|F)),v[z],m);D=E;E=F;F=(G>>>2)|(G<<30);G=H;H=y;z++}while(z<80){v[z]=f(v,z);y=A(D,H,G^F^E,v[z],k);D=E;E=F;F=(G>>>2)|(G<<30);G=H;H=y;z++}r=p(r,H);n=p(n,G);l=p(l,F);h=p(h,E);g=p(g,D)}return[r,n,l,h,g]};function RGB(f,e,a){this.r=0;this.g=0;this.b=0;if(typeof f=="string"){if(f.substr(0,1)=="#"){if(f.length==7){this.r=parseInt(f.substr(1,2),16)/255;this.g=parseInt(f.substr(3,2),16)/255;this.b=parseInt(f.substr(5,2),16)/255}else{this.r=parseInt(f.substr(1,1),16)/15;this.g=parseInt(f.substr(2,1),16)/15;this.b=parseInt(f.substr(3,1),16)/15}}else{var d=/rgb\s*\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/;var h=f.match(d);if(h){this.r=parseInt(h[1],10)/255;this.g=parseInt(h[2],10)/255;this.b=parseInt(h[3],10)/255}}}else{this.r=f;this.g=e;this.b=a}return this}RGB.prototype.mix=function(b,a){return new RGB(this.r+(b.r-this.r)*a,this.g+(b.g-this.g)*a,this.b+(b.b-this.b)*a)};RGB.prototype.toString=function(){return"#"+("0"+Math.floor(this.r.clamp(0,1)*255).toString(16)).right(2)+("0"+Math.floor(this.g.clamp(0,1)*255).toString(16)).right(2)+("0"+Math.floor(this.b.clamp(0,1)*255).toString(16)).right(2)};function drawGradient(a,g,f,d){if(!d){d=f}for(var b=0;b<=100;b+=2){var c=document.createElement("div");a.appendChild(c);c.style.position="absolute";c.style.left=g?b+"%":0;c.style.top=g?0:b+"%";c.style.width=g?(101-b)+"%":"100%";c.style.height=g?"100%":(101-b)+"%";c.style.zIndex=-1;var e=b/100*(f.length-1);c.style.backgroundColor=d[Math.floor(e)].mix(f[Math.ceil(e)],e-Math.floor(e)).toString()}}function createTiddlyText(a,b){return a.appendChild(document.createTextNode(b))}function createTiddlyCheckbox(d,c,e,b){var a=document.createElement("input");a.setAttribute("type","checkbox");a.onclick=b;d.appendChild(a);a.checked=e;a.className="chkOptionInput";if(c){wikify(c,d)}return a}function createTiddlyElement(c,a,j,b,g,f){var d=document.createElement(a);if(b!=null){d.className=b}if(j!=null){d.setAttribute("id",j)}if(g!=null){d.appendChild(document.createTextNode(g))}if(f){for(var h in f){d.setAttribute(h,f[h])}}if(c!=null){c.appendChild(d)}return d}function addEvent(c,b,a){if(c.attachEvent){c["e"+b+a]=a;c[b+a]=function(){c["e"+b+a](window.event)};c.attachEvent("on"+b,c[b+a])}else{c.addEventListener(b,a,false)}}function removeEvent(c,b,a){if(c.detachEvent){c.detachEvent("on"+b,c[b+a]);c[b+a]=null}else{c.removeEventListener(b,a,false)}}function addClass(c,b){var a=c.className.split(" ");if(a.indexOf(b)==-1){c.className+=" "+b}}function removeClass(d,c){var a=d.className.split(" ");var b=a.indexOf(c);while(b!=-1){a.splice(b,1);b=a.indexOf(c)}d.className=a.join(" ")}function hasClass(b,a){if(b.className&&b.className.split(" ").indexOf(a)!=-1){return true}return false}function findRelated(d,c,a,b){a=a||"tagName";b=b||"parentNode";if(a=="className"){while(d&&!hasClass(d,c)){d=d[b]}}else{while(d&&d[a]!=c){d=d[b]}}return d}function resolveTarget(b){var a;if(b.target){a=b.target}else{if(b.srcElement){a=b.srcElement}}if(a.nodeType==3){a=a.parentNode}return a}function stopEvent(b){var a=b||window.event;a.cancelBubble=true;if(a.stopPropagation){a.stopPropagation()}return false}function getPlainText(a){var b="";if(a.innerText){b=a.innerText}else{if(a.textContent){b=a.textContent}}return b}function ensureVisible(g){var d=findPosY(g);var f=d+g.offsetHeight;var a=findScrollY();var b=findWindowHeight();var c=a+b;if(d<a){return d}else{if(f>c){if(g.offsetHeight<b){return d-(b-g.offsetHeight)}else{return d}}else{return a}}}function findWindowWidth(){return window.innerWidth||document.documentElement.clientWidth}function findWindowHeight(){return window.innerHeight||document.documentElement.clientHeight}function findScrollX(){return window.scrollX||document.documentElement.scrollLeft}function findScrollY(){return window.scrollY||document.documentElement.scrollTop}function findPosX(a){var b=0;while(a.offsetParent){b+=a.offsetLeft;a=a.offsetParent}return b}function findPosY(b){var a=0;while(b.offsetParent){a+=b.offsetTop;b=b.offsetParent}return a}function blurElement(a){if(a&&a.focus&&a.blur){a.focus();a.blur()}}function insertSpacer(a){var b=document.createTextNode(String.fromCharCode(160));if(a){a.appendChild(b)}return b}function removeChildren(a){while(a&&a.hasChildNodes()){removeNode(a.firstChild)}}function removeNode(a){scrubNode(a);a.parentNode.removeChild(a)}function scrubNode(f){if(!config.browser.isIE){return}var a=f.attributes;if(a){for(var d=0;d<a.length;d++){var h=a[d].name;if(h!=="style"&&(typeof f[h]==="function"||(typeof f[h]==="object"&&f[h]!=null))){try{f[h]=null}catch(b){}}}}var g=f.firstChild;while(g){scrubNode(g);g=g.nextSibling}}function setStylesheet(a,d,b){if(!d){d="customStyleSheet"}if(!b){b=document}var c=b.getElementById(d);if(b.createStyleSheet){if(c){c.parentNode.removeChild(c)}b.getElementsByTagName("head")[0].insertAdjacentHTML("beforeEnd","&nbsp;<style id='"+d+"'>"+a+"</style>")}else{if(c){c.replaceChild(b.createTextNode(a),c.firstChild)}else{c=b.createElement("style");c.type="text/css";c.id=d;c.appendChild(b.createTextNode(a));b.getElementsByTagName("head")[0].appendChild(c)}}}function removeStyleSheet(b){var a=document.getElementById(b);if(a){a.parentNode.removeChild(a)}}function forceReflow(){if(config.browser.isGecko){setStylesheet("body {top:0px;margin-top:0px;}","forceReflow");setTimeout(function(){setStylesheet("","forceReflow")},1)}}function replaceSelection(h,j){if(h.setSelectionRange){var g=h.selectionStart;var d=h.selectionEnd>h.selectionStart;h.value=h.value.substr(0,h.selectionStart)+j+h.value.substr(h.selectionEnd);h.setSelectionRange(d?g:g+j.length,g+j.length);var f=h.value.split("\n").length;var c=h.value.substr(0,h.selectionStart).split("\n").length-1;h.scrollTop=Math.floor((c-h.rows/2)*h.scrollHeight/f)}else{if(document.selection){var b=document.selection.createRange();if(b.parentElement()==h){var a=b.text=="";b.text=j;if(!a){b.moveStart("character",-j.length);b.select()}}}}}function getNodeText(b){var a="";while(b&&b.nodeName=="#text"){a+=b.nodeValue;b=b.nextSibling}return a}function isDescendant(b,a){while(b){if(b===a){return true}b=b.parentNode}return false}function LoaderBase(){}LoaderBase.prototype.loadTiddler=function(a,d,c){var e=this.getTitle(a,d);if(safeMode&&a.isShadowTiddler(e)){return}if(e){var b=a.createTiddler(e);this.internalizeTiddler(a,b,e,d);c.push(b)}};LoaderBase.prototype.loadTiddlers=function(b,a){var e=[];for(var d=0;d<a.length;d++){try{this.loadTiddler(b,a[d],e)}catch(c){showException(c,config.messages.tiddlerLoadError.format([this.getTitle(b,a[d])]))}}return e};function SaverBase(){}SaverBase.prototype.externalize=function(a){var c=[];var d=a.getTiddlers("title");for(var b=0;b<d.length;b++){if(!d[b].doNotSave()){c.push(this.externalizeTiddler(a,d[b]))}}return c.join("\n")};function TW21Loader(){}TW21Loader.prototype=new LoaderBase();TW21Loader.prototype.getTitle=function(a,c){var d=null;if(c.getAttribute){d=c.getAttribute("title");if(!d){d=c.getAttribute("tiddler")}}if(!d&&c.id){var b=a.idPrefix.length;if(c.id.substr(0,b)==a.idPrefix){d=c.id.substr(b)}}return d};TW21Loader.prototype.internalizeTiddler=function(p,o,n,d){var k=d.firstChild;var s=null;if(d.getAttribute("tiddler")){s=getNodeText(k).unescapeLineBreaks()}else{while(k.nodeName!="PRE"&&k.nodeName!="pre"){k=k.nextSibling}s=k.innerHTML.replace(/\r/mg,"").htmlDecode()}var f=d.getAttribute("modifier");var l=d.getAttribute("created");var b=d.getAttribute("modified");var g=l?Date.convertFromYYYYMMDDHHMM(l):version.date;var r=b?Date.convertFromYYYYMMDDHHMM(b):g;var t=d.getAttribute("tags");var j={};var q=d.attributes;for(var h=q.length-1;h>=0;h--){var a=q[h].name;if(q[h].specified&&!TiddlyWiki.isStandardField(a)){j[a]=q[h].value.unescapeLineBreaks()}}o.assign(n,s,f,r,t,g,j);return o};function TW21Saver(){}TW21Saver.prototype=new SaverBase();TW21Saver.prototype.externalizeTiddler=function(f,e){try{var a="";var h=config.options.chkUsePreForStorage;f.forEachField(e,function(k,m,l){if(typeof l!="string"){l=""}if(!m.match(/^temp\./)){a+=' %0="%1"'.format([m,l.escapeLineBreaks().htmlEncode()])}},true);var b=e.created;var g=e.modified;var c=e.modifier?' modifier="'+e.modifier.htmlEncode()+'"':"";c+=(h&&b==version.date)?"":' created="'+b.convertToYYYYMMDDHHMM()+'"';c+=(h&&g==b)?"":' modified="'+g.convertToYYYYMMDDHHMM()+'"';var j=e.getTags();if(!h||j){c+=' tags="'+j.htmlEncode()+'"'}return('<div %0="%1"%2%3>%4</div>').format([h?"title":"tiddler",e.title.htmlEncode(),c,a,h?"\n<pre>"+e.text.htmlEncode()+"</pre>\n":e.text.escapeLineBreaks().htmlEncode()])}catch(d){throw exceptionText(d,config.messages.tiddlerSaveError.format([e.title]))}};